Disable the gathering facts task in the test cases

While running the test cases sometimes gathering facts task gives time out error as it doesn't gathers all the facts in default gathering time

TASK [Gathering Facts] *********************************************************
2020-07-08T22:19:40.138535 (delta: 0.077119)         elapsed: 0.380455 ********
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TimeoutError: Timer expired after 10 seconds
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "cmd": "/bin/lsblk --list --noheadings --paths --output NAME,UUID --exclude 2", "msg": "Timer expired after 10 seconds", "rc": 257}
	to retry, use: --limit @/apps/busybox/deployers/test.retry

To avoid this disable the facts. Disabling facts as mostly no system info is being used in ansible-playbooks, As the test cases using local host no need to have all the facts
gather_facts: False

PR ref:  https://github.com/openebs/e2e-tests/pull/441

@nsathyaseelan Can we close this as the above PR has already merged.


CU-86bxj2ctb - Create logging constants

Created logging constants for IssueController, ProjectController, ConfirmationEmailSenderService, NotificationEmailSenderService and ProjectService
Created Issue Logging Messages class
Created Project Logging Messages class
Created Database Logging Messages class
Refactored the DatabaseLoggingMessages
Created DataAccessServiceException
Refactored EntityExceptionHandler
Refactored JPADataAccessServices
Deleted UserService
Refactored AppUserDetailsService
Refactored AuthenticationService
Refactored ConfirmationTokenService
Refactored IssueService
Refactored ProjectService
Refactored TeamService
Created UserLoggingMessages
Refactored UserController
Refactored AppUserDetailsService
Refactored ProjectService

Task linked: CU-86bxj2ctb Create logging constants


chirp: 20200213 -> 20200227

Motivation for this change
Fix for this Yaesu bug.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

r? @the-kenny

@the-kenny - Ping! Anything I can do to help get this approved?

Superseded by #85309


About the design of neural network controller

Hi, I have read your code, but I still have some doubts. In these practical examples of inverted pendulum, I think the way you design the neural network controller is as follows:

first design the simple LQR controller;
then calculate the optimal controller gain matrix by minimizing the state error and the quadratic cost function of the control action;
finally use a neural network to approximate this optimal LQR controller.
I am not sure if my understanding is correct?
Thank you for reading and I look forward to your response!

Hi @Yngjx ,
We search two quantities, the controller u = π(x) and the Lyapunov function V(x). Both the controller and the Lyapunov function contain neural networks, and require initialization. Here is how we do it.

First linearize the dynamics around the equilibrium, and find the LQR controller, with gain u = K*x, and a quadratic cost-to-go function J(x) = x' * Q * x.
Approximate the LQR controller u = K*x and the quadratic cost-to-go function with the neural network controller and Lyapunov functions through regression. Use this approximation as the initial guess.
Apply our algorithm to search for the neural network controller and Lyapunov functions, starting from the initial guess in step 2.

For more details, you can refer to our paper . Let me know if you find it unclear.
Best,
Hongkai

Hi @hongkai-dai  ,
Thanks for your reply!
Regarding the third point you brought up, how exactly do you go about searching for neural network controllers?
I read your literature and the literature uses MIP, is this the method you use to search for neural network controllers? But this part emphasizes more on satisfying the lyapunov condition.
I am a bit confused.
Best，
Yngjx

We solve an MIP to certify the Lyapunov condition, not to search for neural network controller/Lyapunov functions. Instead, we search for neural network controller/Lyapunov functions through gradient based optimization.
To elaborate on this, we solve an MIP to find the counter examples that violate the Lyapunov condition for a given neural network controller and Lyapunov function. Mathematically, we define J(θ, π) as
J(θ, π)  = max_xₜ  V_θ(f(xₜ, π(xₜ)) − (1−κ)V_θ(xₜ)

Namely the Lyapunov function is parameterized by θ, and the controller is u = π(x). J(θ, π) is the maximal violation of the Lyapunov condition V(xₜ₊₁) − V(xₜ) ≤ −κ V(xₜ) for a given controller and Lyapunov function candidate. We can compute this maximal violation through an MIP.
We then want to search for the controller and the Lyapunov function through the gradient-based minimization
min_{θ, π} J(θ, π)

where we have two algorithms to do this gradient based minimization:

We can minimize this cost on a training set of states, where the training set contains the counter example states found through MIP.
We can compute the gradient of J w.r.t θ, π through the KKT condition of the inner maximizing problem.

For more details on these two algorithms, please refer to section IV.B of the paper.

Thank you for your brilliant answer!
I understand the whole process of this design, you are really a serious and responsible researcher.
I will read your paper more carefully in my follow-up work.
I wish you a happy life!

Thanks @Yngjx , good luck with your research, and let me know if you have questions about our work.
I will mark this issue as closed.

OK, I'll ask you for advice if I have any follow-up questions.


[HELP] Filter warnings

Is there a way to filter warnings from specific rubygems? I see you can filter them for backtraces, but it doesn't seem to apply to warnings.
The problem is that there are too many 3rd party libs that I don't have any control over, and they can literally cause Travis to bomb.

:wave: I'm afraid warning output is from Ruby, a quick google found this, https://github.com/jeremyevans/ruby-warning maybe give it a go?
This is also a meta repo for bringing other gems together.

@JonRowe Did I do something wrong?

No! See comment above, this just isn't an RSpec issue (and even if it was this repo contains no code).


async rendered descriptions do not update height properly

Ref https://github.com/microsoft/vscode/issues/134001

Search for "inlay" in the Settings editor
Scroll down to some settings that include rendered code blocks
Zoom out and zoom back in
:bug: The Settings editor shows overlapping settings

The issue also occurs when one resizes the window.

Resolved


pindel works?

Hi,
Could not find much documentation about pindel. Is the bcbio wrapper working for pindel? I don't see anything related to pindel in the log files.
Thanks!
Segun

Hi!
I was not able to run (mutect1/pindel) with the latest gatk3.x and java1.8 or 1.7 in bcbio1.2.5.
The configuration snippet should be:
variantcaller: mutect
indelscaller: pindel
tools_off: gatk4

Have you tried installing an older version of gatk and run with java1.7 in PATH similar to #2861?
Sergey

Hi!
I was not able to run (mutect1/pindel) with the latest gatk3.x and java1.8 or 1.7 in bcbio1.2.5.
The configuration snippet should be:
variantcaller: mutect
indelscaller: pindel
tools_off: gatk4

Have you tried installing an older version of gatk and run with java1.7 in PATH similar to #2861?
Sergey


Custom tutorial notebooks

New PR for the custom tutorial notebooks solution.
Adds jq/yq installation which is required to run the deploy-data-specific-image script from birdhouse-deploy repo.
Please refer to the other PR for more details
New solution that tries to solve what was tried to be done on this earlier PR.

Updated : deploy script and related env file added to the repo, and removed from birdhouse-deploy

Updated PR :

moved the env file from birdhouse-deploy to this repo
added a dest_sub_dir parameter to specify a subdirectory destination where to download the data

Also, you've manually enabled this on a real PAVICS deployment and see it works properly?

It worked on a local setup, but I will try to do a test with the iac too eventually.

..but I will try to do a test with the iac too eventually.

@ChaamC Eventually like before merging this PR? :)


Clean tutorial 3

Note: please ignore the name of the branch, its for tutorial 3, not 4

wrapped lines
replaced .lammps by .lmp
corrected first input (9 atom types --> 8 atom types)

@jrgissing there is a PARM.lmp in (files/tutorial3/PARM.lmp) file that is present in the repository. Shouldn't this PARM.lmp file also use type label?
Note: I've decided to host the required files for the article in the same repository as the text file as its seems simpler for ensuring continuity of the results; In the future, the website is likely to get updated way more often than the article.

Yes. Note that I have not pushed any changes to the tutorial files yet, I have only been pushing changes to the article so far.

Yes. Note that I have not pushed any changes to the tutorial files yet, I have only been pushing changes to the article so far.

Yes,  I am referring to the file within the lammpstutorials-article repo


Read a markdown file line by line in sync

Hello,
I have a big tree of markdown files that I walk through and turn into a single markdown file. I would like to make an "h1" title in depth 0 stay in h1 but an "h1" title in depth 1 becomes an h2. I managed to do it like this:
//Variable super globale
let stockProf = [];//array that stores all depths

// library
const glob = require("glob");
const fs = require('graceful-fs');

// Function that allows you to count the number of times a character is present
// Lets you know the depth
String.prototype.count = function (c) {
    var result = 0, i = 0; // Initialize the result and i to zero
    for (i; i < this.length; i++)if (this[i] == c) result++; //Add +1 each time there is the character you are looking for
    return result; //We return the result which is the number of times there is the character
};

function parcoursDossier(src, callback) {
    glob(src + '/**/*', callback);
};

parcoursDossier('SpringCore', function (err, tabFichiers) {
    if (err) {
        console.log('Erreur', err);
    } else {
        let tailleTab = tabFichiers.length; //Takes the size of the arrFiles array

        if (!tailleTab >= 1) { //If there is not 1 or more folders/files in it then the folder does not exist so ERROR
            console.log("Dossier à parcourir non trouvé ou vide !")
        } else { //If the file given in the parameters of the pathFolder function then exists:
            for (let i = 0; i < tailleTab; i++) { //Browse files/folders
                let profondeur = 0; //Initialize the depth to 0

                try {
                    //If (tabFichiers[i]) is a Markdown file or a folder
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md") || fs.lstatSync(tabFichiers[i]).isDirectory()) {
                        profondeur += tabFichiers[i].count("/"); //Take the number of "/" there are in the name of the current folder / file
                        stockProf.push(profondeur); // Add a depth in array that stores all depths
                    }

                    //If it's a Markdown file
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) {

                        var lineReader = require('readline').createInterface({
                            input: require('fs').createReadStream(tabFichiers[i]) //Open the file in which we are "tabFichiers[i]" in the form of a readable stream
                        });

                        fs.open('fichierConcath7.md', 'w', function (err, file) { // Creation of an empty markdown file which will contain the whole tree
                            if (err) throw err;
                        });

                        lineReader.on('line', function (line) {  //Read line by line
                            let dieses = '#'.repeat(profondeur - 1); //Repeat # according to depth (EX: depth 2 = ##)
                            //If the line contains a # and the depth is greater than one and it is not an index.md
                            if (line.includes('#') && profondeur >= 1 && !tabFichiers[i].includes('_index.md')){
                                line = dieses.concat(line); //We concatenate with sharps
                                let hCombien = line.count("#"); //We count the number of #

                            //If the line contains a # and the depth is greater than one and it is an index.md
                            }else if (line.includes('#') && profondeur >= 1 && tabFichiers[i].includes('_index.md')){
                                line = dieses.concat(line); //We concatenate with sharps
                                line = line.replace(/^./, ""); // We remove the first character which is a # since index is always one hash less
                                let hCombien = line.count("#"); //We count the number of #
                            }

                            fs.appendFileSync('fichierConcath7.md', line + "\n", function (err) { //appendFile() adds content to the end of a file
                                if (err) throw err;
                            });
                        });
                    }
                } catch (err) {
                    console.error("Erreur" + err);
                }
            }
            console.log("Profondeur max : " + Math.max(...stockProf)); //Returns the maximum value of the array that stores all depths
        }
    }
});

Everything is almost perfect. However readline is asynchronous :
var lineReader = require('**### readline**').createInterface({
                            input: require('fs').createReadStream(tabFichiers[i])
                        });

so in my file the elements are not in the right place. I would like to know if it's possible with readline-sync and if so how?
I am new to NodeJS, Thx

Hi @DEYROS, thank you for the comment.
Now you can use await operator to get it from Promise instance like a synchronous execution style.
Also, you can specify crlfDelay option for reading line by line.
const rl = readline.createInterface({
  input: fileStream,
  crlfDelay: Infinity
});

for await (const line of rl) {
  // Do something
  console.log(line);
}

https://nodejs.org/api/readline.html

Hi @anseki thx for your help,
I tried this :
var lineReader = require('readline').createInterface({ //Readline = module natif à NodeJS
    input: require('fs').createReadStream(tabFichiers[i]), //Open the file in which we are "tabFichiers[i]" in the form of a readable stream
    crlfDelay: Infinity
});

fs.open('fichierConcath7.md', 'w', function (err, file) { // Creation of an empty markdown file which will contain the whole tree
    if (err) throw err;
});

for await (const line of lineReader) {
    let dieses = '#'.repeat(profondeur - 1); //Repeat # according to depth (EX: depth 2 = ##)
    //If the line contains a # and the depth is greater than one and it is not an index.md
    if (line.includes('#') && profondeur >= 1 && !tabFichiers[i].includes('_index.md')){
        line = dieses.concat(line); //We concatenate with sharps
        let hCombien = line.count("#"); //We count the number of #

    //If the line contains a # and the depth is greater than one and it is an index.md
    }else if (line.includes('#') && profondeur >= 1 && tabFichiers[i].includes('_index.md')){
        line = dieses.concat(line); //We concatenate with sharps
        line = line.replace(/^./, ""); // We remove the first character which is a # since index is always one hash less
        let hCombien = line.count("#"); //We count the number of #
    }

    fs.appendFileSync('fichierConcath7.md', line + "\n", function (err) { //appendFile() adds content to the end of a file
        if (err) throw err;
    });
}

But it doesn't work. I did something wrong ?

That is JavaScript syntax error.
You mistook usage await operator.
Replace the for await (const line of lineReader) {...} with:
(async () => {
  for await (const line of lineReader) {
    ...
  }
})();

See document for the await operator:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await

🤔

`javascript
async () => {
for await (const line of lineReader) {
let dieses = '#'.repeat(profondeur - 1); //Repeat # according to depth (EX: depth 2 = ##)
//If the line contains a # and the depth is greater than one and it is not an index.md
if (line.includes('#') && profondeur >= 1 && !tabFichiers[i].includes('_index.md')){
line = dieses.concat(line); //We concatenate with sharps
let hCombien = line.count("#"); //We count the number of #
    //If the line contains a # and the depth is greater than one and it is an index.md
    }else if (line.includes('#') && profondeur >= 1 && tabFichiers[i].includes('_index.md')){
        line = dieses.concat(line); //We concatenate with sharps
        line = line.replace(/^./, ""); // We remove the first character which is a # since index is always one hash less
        let hCombien = line.count("#"); //We count the number of #
    }

    fs.appendFileSync('fichierConcath7.md', line + "\n", function (err) { //appendFile() adds content to the end of a file
        if (err) throw err;
    });
}

};
`
I don't have any error with that but my file "fichierConcath7.md" is empty

No, read this again:
https://github.com/anseki/readline-sync/issues/112#issuecomment-1158894126

Ok I'll do my best to figure it out on my own.
If I still block Monday I will come back to you. Anyway, thank you very much for your help, but could you be a little clearer on what I should do?
I have to wait for the promise to be fulfilled as in the example below : ?

But how to adapt it with my code ?

Ok so, I've done this :

let stockProf = [];//array that stores all depths

// library
const glob = require("glob");
const fs = require('graceful-fs');

// Function that allows you to count the number of times a character is present
// Lets you know the depth
String.prototype.count = function (c) {
    var result = 0, i = 0; // Initialize the result and i to zero
    for (i; i < this.length; i++)if (this[i] == c) result++; //Add +1 each time there is the character you are looking for
    return result; //We return the result which is the number of times there is the character
};

function parcoursDossier(src, callback) {
    glob(src + '/**/*', callback);
};

parcoursDossier('SpringCore', function (err, tabFichiers) {
    if (err) {
        console.log('Erreur', err);
    } else {
        let tailleTab = tabFichiers.length; //Takes the size of the arrFiles array

        if (!tailleTab >= 1) { //If there is not 1 or more folders/files in it then the folder does not exist so ERROR
            console.log("Dossier à parcourir non trouvé ou vide !")
        } else { //If the file given in the parameters of the pathFolder function then exists:
            for (let i = 0; i < tailleTab; i++) { //Browse files/folders
                let profondeur = 0; //Initialize the depth to 0

                try {
                    //If (tabFichiers[i]) is a Markdown file or a folder
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md") || fs.lstatSync(tabFichiers[i]).isDirectory()) {
                        profondeur += tabFichiers[i].count("/"); //Take the number of "/" there are in the name of the current folder / file
                        stockProf.push(profondeur); // Add a depth in array that stores all depths
                    }

                    //If it's a Markdown file
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) {

                        var lineReader = require('readline').createInterface({ //Readline = module natif à NodeJS
                            input: require('fs').createReadStream(tabFichiers[i]), //Open the file in which we are "tabFichiers[i]" in the form of a readable stream
                            crlfDelay: Infinity
                        });

                        fs.open('fichierConcath7.md', 'w', function (err, file) { // Creation of an empty markdown file which will contain the whole tree
                            if (err) throw err;
                        });

                        (async () => {
                            for await (var line of lineReader) {
                                let dieses = '#'.repeat(profondeur - 1); //Repeat # according to depth (EX: depth 2 = ##)
                                //If the line contains a # and the depth is greater than one and it is not an index.md
                                if (line.includes('#') && profondeur >= 1 && !tabFichiers[i].includes('_index.md')){
                                    line = dieses.concat(line); //We concatenate with sharps
                                    let hCombien = line.count("#"); //We count the number of #

                                //If the line contains a # and the depth is greater than one and it is an index.md
                                }else if (line.includes('#') && profondeur >= 1 && tabFichiers[i].includes('_index.md')){
                                    line = dieses.concat(line); //We concatenate with sharps
                                    line = line.replace(/^./, ""); // We remove the first character which is a # since index is always one hash less
                                    let hCombien = line.count("#"); //We count the number of #
                                }

                                fs.appendFileSync('fichierConcath7.md', line + "\n", function (err) { //appendFile() adds content to the end of a file
                                    if (err) throw err;
                                });
                            }
                        })();

                    }
                } catch (err) {
                    console.error("Erreur" + err);
                }
            }
            console.log("Profondeur max : " + Math.max(...stockProf)); //Returns the maximum value of the array that stores all depths
        }
    }
});

But I get the same result as before(which is not good). Did I make a mistake somewhere?

The last file in my tree looks like this :

When I don't read line by line I get this:

Which is prefect and I was doing it like that :
for (let i = 0; i < tailleTab; i++) {
        let profondeur = -2; //Initialise la profondeur à -2

        try {
          if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md") || fs.lstatSync(tabFichiers[i]).isDirectory()) { //Si c'est un fichier Markdown ou un dossier
            profondeur += tabFichiers[i].count("/"); //Prend le nombre de / qu'il y a dans le nom du dossier

            stockProf.push(profondeur); // Ajouter une profondeur dans tableau qui stocks toutes les profondeurs
          }
          if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) { //Si c'est un fichier Markdown
            let contenu = fs.readFileSync(tabFichiers[i], 'utf8'); //Prend le contenu du fichier et ajoute dans contenuFichiers
            contenuFichiers += contenu + "\n"; //Prend le contenu du fichier et ajoute dans variable super globale contenuFichiers
          }
        } catch (err) {
          console.error("Erreur" + err); //Affiche l'erreur qu'on catch
        }
      }
      console.log("Profondeur max : " + Math.max(...stockProf)); // Renvoie la valeur maximum du tableau qui stocks toutes les profondeurs
      fs.writeFile('fichierConcat.md', contenuFichiers, function (err) { //Créer un fichier avec "contenuFichiers" ou remplace le contenu avec "contenuFichiers" si le fichier est déjà créé
        if (err) throw err; // Si il y a une erreur renvoie erreur
        console.log("Fichier .Md Créé, création du Pdf depuis le Markdown..."); //Affiche que le fichier est créé et que le pdf ce créé
        //exec('npx mdpdf fichierConcat.md'); //Execute la commande de la biblio mdpdf sur le fichier qu'on a créé avec writeFile
      });

But as I said I need to reed it line by line to make an "h1" title in depth 0 stay in h1 but an "h1" title in depth 1 becomes an h2.
But when I read it line by line here is what I get at the last lines :

But this lines are here in my tree :

Hello, not at all. Even with await that you gave me :
 (async () => {
                            for await (var line of lineReader) {
                                let dieses = '#'.repeat(profondeur - 1); //Repeat # according to depth (EX: depth 2 = ##)
                                //If the line contains a # and the depth is greater than one and it is not an index.md
                                if (line.includes('#') && profondeur >= 1 && !tabFichiers[i].includes('_index.md')){
                                    line = dieses.concat(line); //We concatenate with sharps
                                    let hCombien = line.count("#"); //We count the number of #

                                //If the line contains a # and the depth is greater than one and it is an index.md
                                }else if (line.includes('#') && profondeur >= 1 && tabFichiers[i].includes('_index.md')){
                                    line = dieses.concat(line); //We concatenate with sharps
                                    line = line.replace(/^./, ""); // We remove the first character which is a # since index is always one hash less
                                    let hCombien = line.count("#"); //We count the number of #
                                }

                                fs.appendFileSync('fichierConcath7.md', line + "\n", function (err) { //appendFile() adds content to the end of a file
                                    if (err) throw err;
                                });
                            }
                        })();

It's async because I have the same result with "readline" which is async. And I want it sync to read line by line my files to put them in one markdown file in order. Thx !

Hmm... Why did you regard that as async by only the result?
Sorry, I couldn't understand what you want to do, but your code has several bugs maybe because that has many strange lines, e.g. fs.appendFileSync(s1, s2, func), strange style, includes instead of endsWith, etc.
Also, why do you want the sync?

Hello @anseki !
I have a big tree of markdown files that I walk through and turn into a single markdown file. I would like to make an "h1" title in depth 0 stay in h1 but an "h1" title in depth 1 becomes an h2.
First I was doing it like this :
//Superglobal variable called contenuFichiers
let contenuFichiers = "";

const fs = require('fs');
const glob = require("glob"); //Utilise la biblio "glob" pour l'installer :  >npm i glob

// Function that allows you to count the number of times a character is present
// Lets you know the depth
String.prototype.count = function (c) {
  var result = 0, i = 0;// Initialize the result and i to zero
  for (i; i < this.length; i++)if (this[i] == c) result++;//Add +1 each time there is the character you are looking for
  return result;//We return the result which is the number of times there is the character
};

function parcoursDossier(src, callback) {
  glob(src + '/**/*', callback);
};
let stockProf = [];//array that stores all depths
parcoursDossier('springcore', function (err, tabFichiers) {
  if (err) {
    console.log('Erreur', err);
  } else {
    let tailleTab = tabFichiers.length; //Takes the size of the array tabFichiers
    if (!tailleTab >= 1) { //If there is not 1 or more folders/files in it then the folder does not exist so ERROR
      console.log("Dossier à parcourir non trouvé !")
    } else { //If the file given in the parameters of the pathFolder function exist:
      for (let i = 0; i < tailleTab; i++) {
        let profondeur = 0; //Initialize the depth to 0

        try {
          if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md") || fs.lstatSync(tabFichiers[i]).isDirectory()) { //If it's a Markdown file or a folder
            profondeur += tabFichiers[i].count("/"); //Take the number of "/" there are in the name of the current folder / file
            stockProf.push(profondeur); // Add a depth in array that stores all depths
          }

          if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) { //If it's a Markdown file
            let contenu = fs.readFileSync(tabFichiers[i], 'utf8'); //Takes the content of the file and adds in "contenu"
            contenuFichiers += contenu + "\n"; //Take the content of the file and add it to the super global variable contenuFichiers
          }
        } catch (err) {
          console.error("Erreur" + err); //Displays the error we catch
        }
      }
      console.log("Profondeur max : " + Math.max(...stockProf)); //Returns the maximum value of the array that stores all depths
      fs.writeFile('fichierConcat.md', contenuFichiers, function (err) { //Create a file with "contenuFichiers" or replace the content with "contenuFichiers" if the file is already created
        if (err) throw err;
      });
    }
  }
});

Everything is perfect, I have the elements in the right order but then I realized that I had to go through the contents of the files in my tree structure line by line to have the depth and to detect the titles (when there was "#"). So I did this :

let stockProf = [];//array that stores all depths

// library
const glob = require("glob");
const fs = require('graceful-fs');

// Function that allows you to count the number of times a character is present
// Lets you know the depth
String.prototype.count = function (c) {
    var result = 0, i = 0; // Initialize the result and i to zero
    for (i; i < this.length; i++)if (this[i] == c) result++; //Add +1 each time there is the character you are looking for
    return result; //We return the result which is the number of times there is the character
};

function parcoursDossier(src, callback) {
    glob(src + '/**/*', callback);
};

parcoursDossier('SpringCore', function (err, tabFichiers) {
    if (err) {
        console.log('Erreur', err);
    } else {
        let tailleTab = tabFichiers.length; //Takes the size of the arrFiles array

        if (!tailleTab >= 1) { //If there is not 1 or more folders/files in it then the folder does not exist so ERROR
            console.log("Dossier à parcourir non trouvé ou vide !")
        } else { //If the file given in the parameters of the pathFolder function then exists:
            for (let i = 0; i < tailleTab; i++) { //Browse files/folders
                let profondeur = 0; //Initialize the depth to 0

                try {
                    //If (tabFichiers[i]) is a Markdown file or a folder
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md") || fs.lstatSync(tabFichiers[i]).isDirectory()) {
                        profondeur += tabFichiers[i].count("/"); //Take the number of "/" there are in the name of the current folder / file
                        stockProf.push(profondeur); // Add a depth in array that stores all depths
                    }

                    //If it's a Markdown file
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) {

                        var lineReader = require('readline').createInterface({ //Readline = module natif à NodeJS
                            input: require('fs').createReadStream(tabFichiers[i]), //Open the file in which we are "tabFichiers[i]" in the form of a readable stream
                            crlfDelay: Infinity
                        });

                        fs.open('fichierConcath7.md', 'w', function (err, file) { // Creation of an empty markdown file which will contain the whole tree
                            if (err) throw err;
                        });

                        (async () => {
                            for await (var line of lineReader) {
                                let dieses = '#'.repeat(profondeur - 1); //Repeat # according to depth (EX: depth 2 = ##)
                                //If the line contains a # and the depth is greater than one and it is not an index.md
                                if (line.includes('#') && profondeur >= 1 && !tabFichiers[i].includes('_index.md')){
                                    line = dieses.concat(line); //We concatenate with sharps
                                    let hCombien = line.count("#"); //We count the number of #

                                //If the line contains a # and the depth is greater than one and it is an index.md
                                }else if (line.includes('#') && profondeur >= 1 && tabFichiers[i].includes('_index.md')){
                                    line = dieses.concat(line); //We concatenate with sharps
                                    line = line.replace(/^./, ""); // We remove the first character which is a # since index is always one hash less
                                    let hCombien = line.count("#"); //We count the number of #
                                }

                                fs.appendFileSync('fichierConcath7.md', line + "\n", function (err) { //appendFile() adds content to the end of a file
                                    if (err) throw err;
                                });
                            }
                        })();

                    }
                } catch (err) {
                    console.error("Erreur" + err);
                }
            }
            console.log("Profondeur max : " + Math.max(...stockProf)); //Returns the maximum value of the array that stores all depths
        }
    }
});

But when I read it line by line here is what I get at the last lines :

But this lines are here in my tree :

It should not be at the end of my file. I don't know what am I supposed to do, I am completly new to the async and sync function.

And I don't understand where are the strange lines ? Why "fs.appendFileSync(s1, s2, func)" is a "strange style" ? And I wan't to know if there is a # in my line so includes is great isn't it ?

I tried this :
//If it's a Markdown file
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) {

                        var rd = readline.createInterface({
                            input: fs.createReadStream(tabFichiers[i])
                        });

                        rd.on('line', function(line) {
                            console.log(line);
                        });
                    }

which gave me this :

So it's not working If i am writing into the console because I should have this :

But if i am doing only this :
//If it's a Markdown file
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) {

                        var rd = readline.createInterface({
                            input: fs.createReadStream(tabFichiers[i]),
                            output: process.stdout,
                            console: false
                        });
                    }

It will work because I got this in the console :

I see...
First of all, you seem to be mistaking the synchronous execution.
Try this:

Save this text to a file named test01.txt.

A
B
C
D
E

Save this code to a file named test01.js at same directory.

'use strict';

const fs = require('fs'),
  readline = require('readline');

console.log('CALL async function');
(async () => {

  const rl = readline.createInterface({
    input: fs.createReadStream('test01.txt'),
    crlfDelay: Infinity
  });

  console.log('START');

  let cnt = 0;
  for await (const line of rl) {
    console.log(`L#${++cnt}: ${line}`);
  }

  console.log('FINISH Lines:', cnt);

})();
console.log('CALLED async function');

Do this command at same directory:

node test01.js

Then, result should be:
CALL async function
START
CALLED async function
L#1: A
L#2: B
L#3: C
L#4: D
L#5: E
FINISH Lines: 5

This means the code was executed synchronously. If the result was another, it was not synchronously.
So, your code is strange structure, and it seems that the writing each file is executed synchronously, and reading files is executed asynchronously. That is, there is the code out of the async function.
Read the example code above, and find the await operator in async function is synchronous. The reading files in your code is not. Also, note that the "CALLED async function" is not the last.
fs.appendFileSync doesn't work with invalid arguments.
See document: https://nodejs.org/api/fs.html#fsappendfilesyncpath-data-options
Also, there are many errors in your code. If you are using VS Code, you can check the report of the errors. In my environment, VS Code reported 132 errors in your code. E.g. push Ctrl + Shift + M keys.
And also, the String.prototype.count is very wrong way... BTW, don't you want to count # only at start of line?
And also, why you don't use "glob" to find ".md" files? You got all files by using the "glob", and after that, you found ".md" files by using includes (you should use endsWith instead). That is, the "glob" is not required for your code.
And also, and also, and also... Sorry, I couldn't understand all of your code...

Ok so I got this result :
CALL async function
START
CALLED async function
L#1: A
L#2: B
L#3: C
L#4: D
L#5: E
FINISH Lines: 5
So the code was executed synchronously ! When I push Ctrl + Shift + M keys I have this :

I tried this but i got the same issue and as you can see in my code appendFileSync have the same result as console.log.
'use strict';
let stockProf = [];//array that stores all depths

// library
const glob = require("glob");
const fs = require('fs'),
  readline = require('readline');

// Function that allows you to count the number of times a character is present
// Lets you know the depth
String.prototype.count = function (c) {
    var result = 0, i = 0; // Initialize the result and i to zero
    for (i; i < this.length; i++)if (this[i] == c) result++; //Add +1 each time there is the character you are looking for
    return result; //We return the result which is the number of times there is the character
};

function parcoursDossier(src, callback) {
    glob(src + '/**/*', callback);
};

parcoursDossier('SpringCore', function (err, tabFichiers) {
    if (err) {
        console.log('Erreur', err);
    } else {
        let tailleTab = tabFichiers.length; //Takes the size of the "tabFichiers" array which is the array with all the files of SpringCore

        fs.open('fichierConcatTest.md', 'w', function (err, file) {
            if (err) throw err;
        });

        if (!tailleTab >= 1) { //If there is not 1 or more folders/files in it then the folder does not exist so ERROR
            console.log("Dossier à parcourir non trouvé ou vide !")
        } else { //If the file given in the parameters of the pathFolder function then exists:
            for (let i = 0; i < tailleTab; i++) { //Browse files/folders
                let profondeur = 0; //Initialize the depth to 0

                try {
                    //If (tabFichiers[i]) is a Markdown file or a folder
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md") || fs.lstatSync(tabFichiers[i]).isDirectory()) {
                        profondeur += tabFichiers[i].count("/"); //Take the number of "/" there are in the name of the current folder / file
                        stockProf.push(profondeur); // Add a depth in array that stores all depths
                    }

                    //If it's a Markdown file
                    if (fs.lstatSync(tabFichiers[i]).isFile() && tabFichiers[i].includes(".md")) {

                        (async () => {

                            const rl = readline.createInterface({
                              input: fs.createReadStream(tabFichiers[i]),
                              crlfDelay: Infinity
                            });

                            let cnt = 0;
                            for await (const line of rl) {
                                /* console.log(`L#${++cnt}: ${line}`);  */// same result as appendFileSync()
                                fs.appendFileSync('fichierConcatTest.md', line + "\n", function (err) {
                                 if (err) throw err;
                                });
                            }

                        })();

                    }
                } catch (err) {
                    console.error("Erreur" + err);
                }
            }
            console.log("Profondeur max : " + Math.max(...stockProf)); //Returns the maximum value of the array that stores all depths
        }
    }
});

Yes I would like to count the # at the beginning of the lines but why is String.prototype.count a bad way to do it?
I don't understand why the library "glob" isn't required ? Without it I can't take all the folders/files of my folder "SpringCore".
How would you use "glob" to find ".md" files?
Do you have any idea how I could do to get the code in order?
I really appreciate your help, I'm starting to understand a little better THANK YOU!

If the await is hard for you, you can read all lines of each file and process it line by line.
For example:
const fs = require('fs');
// Read a file
const path = './test01.txt',
  contents = fs.readFileSync(path, {encoding: 'utf8'});
console.log('START');
contents.split(/[\n\r]+/).forEach(line => {
  // Do something
  console.log(`LINE: ${line}`);
});
console.log('FINISH');

I have done this which work as I wan't but there is no more spaces between the lines as I said it.
const contents = fs.readFileSync(tabFichiers[i], {encoding: 'utf8'});
                        contents.split(/[\n\r]+/).forEach(line => {
                            /* console.log(`LINE: ${line}`); */
                            let dieses = '#'.repeat(profondeur - 2); //Répète # en fonction de la profondeur (EX : profondeur 2 = ##)
                            if (/^(#*)/.exec(line)[1].length && profondeur >= 1 && !tabFichiers[i].includes('_index.md')){
                                line = dieses.concat(line); //On concatene avec dieses

                            //Si la ligne contient une # et que la profondeur est supérieur à un et que c'est un index.md
                            }else if (/^(#*)/.exec(line)[1].length && profondeur >= 1 && tabFichiers[i].includes('_index.md')){
                                line = dieses.concat(line); //On concatene avec dieses
                                line = line.replace(/^./, ""); //On enlève le premier caractères qui est un # vu que index à toujours une dièse de moins
                            }
                            fs.appendFileSync('fichierConcatTest.md', line + "\n", function (err) { //appendFile() adds content to the end of a file
                                if (err) throw err;
                            });
                        });

If I am doing this instead :
contents.split(/[]+/).forEach(line => {

There will be spaces between lines but only the first title with # will be processed.

Thank you @anseki !

:smile:


Cannot use methods in block passed to CommandRegistry#try

Since the block passed to ROM::CommandRegistry#try is instance_eval'd, I cannot use methods visible to the caller inside the block. For example:
class TasksController < ApplicationController

  def create
    rom.command(:tasks).try { create(task_attributes) }
    redirect_to root_path
  end

private

  def task_attributes
    params.require(:task).permit(:title)
  end
end

raises
ROM::Registry::ElementNotFoundError:  :task_attributes doesn't exist in ROM::CommandRegistry registry
I think it'd be better if the eval context were a block param:
rom.command(:tasks).try {|c| c.create(task_attributes) }

What do you think?

Hi @alpardal,
actually we could do both depending on the context:
No args provided -> instance_eval
Current behaviour.
rom.command(:tasks).try { create(...) }

Args provided -> call with self
rom.command(:tasks).try { |command| command.create(...) }

One possible implementation might be yield_or_eval.
WDYT?

@splattael I love this idea. It's more flexible.
Let me just show you why I did it like it is now, here's how I use commands:
class CreateUser
  attr_reader :users

  def initialize(users)
    @users = users
  end

  def call(input)
     users.try { create(input) }
  end
end

create_user = CreateUser.new(rom.command(:users))
create_user.call(params[:user])

There a couple of things here:

I don't use strong params
I use virtus params object to deal with input (that's set on the create command using input dsl)
I always pass input to the method so it's visible within the block
I never call anything inside the block except the commands

Having said that - it's just me. I can see how and why people wouldn't prefer to use it differently.
I think yield_or_eval is a really simple and nice change so :+1: from me.
Thoughts? /cc @elskwid @adz

@solnic I agree with your points, it's just that instance_eval breaks, IMO, the "expected" behavior, and may surprise new users.
@splattael I like yield_or_eval: simple to change and doesn't break the current api.

Yep totally, hence :+1: for this change from my side :smile:

@alpardal Done. Mind trying master and give feedback? :smile:

@splattael Looking good, thank you :+1:


Migrate OpenJDK to Temurin

We should consider if the following lines of code should be migrated from OpenJDK to Temurin in order to continue to receive security updates.
For more information, see this blog post: https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/
These lines:
https://github.com/gradle/gradle-enterprise-build-validation-scripts/blob/main/components/fetch-build-scan-data-cmdline-tool/src/main/openapi/openapi.yaml#L252-L253
as well as:
https://github.com/gradle/gradle-enterprise-build-validation-scripts/blob/main/components/fetch-build-scan-data-cmdline-tool/src/main/openapi/openapi.yaml#L348-L349

Those lines only serve as an example of what a response could look like and do not control or influence anything.
That file is also direct copy of the Gradle Enterprise API specification found in our official documentation so I don't think we want to change it.
I think we can close this issue.

It's not clear to me why references to the openapi yaml are listed in the description when we have GH actions that should be investigated (not saying they need to be changed, but we should find out).

Good point. We shouldn't close the issue if we have references to adopt in our workflows. The description should be updated though.

Let's approach this holistically across all our repos and create issues for each repo once we intend to tackle it.


docs: extended README.md about gradle.properties

Extended README.md about gradle.properties to set variables for the build process without the file the project couldn't build.
The Variables are for the connection to Camunda EE Nexus.

You have a typo: ... with your ...


"Unexpected token ';'" error when running the build.

Reproduction
https://stackblitz.com/edit/github-tmvhj9?file=package.json
Steps to reproduce the bug
Go to the terminal and run

npm run clear-cache
npm run build
npm run preview

see the issue
refer => https://github.com/nuxt/nuxt/issues/28293
Expected behavior
The build preview should run without any errors.
Actual behavior
While running the build, I got an error
[nuxt] [request error] [unhandled] [500] Unexpected token ';'
at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:168:18)
at callTranslator (node:internal/modules/esm/loader:279:14)
at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:285:30)
at async link (node:internal/modules/esm/module_job:78:21)
[nuxt] [request error] [unhandled] [500] Unexpected token ';'
at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:168:18)
at callTranslator (node:internal/modules/esm/loader:279:14)
at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:285:30)
at async link (node:internal/modules/esm/module_job:78:21)
Additional information
While using Pinia with Nuxt, the production build throws an error: 'nuxt] [request error] [unhandled] [500] Unexpected token ';''.
Upon investigation, I found the error in .output/server/chunks/build/server.mjs.
However, I tried to fix the problem by downgrading packages using<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>Unfortunately, I was unable to resolve the issue.

By updating pinia @2.1.7 to @2.1.8-beta.0, the issue was resolved this issue.

It works with 2.2.0


Add ability to specify container name to impersonate

Today, we pick up the first container in the pod we impersonate. This might not be the case for service mesh setups or more elaborate setups, so we need to let the user specify container name and maybe add a warning when we just assume and use the first one.
Also, we should consider ignoring linkerd/envoy containers by default (unless specified?)
Edit:
Status:

[x]  @camerondurham added basic functionality controlled by env var.
[ ]  Need to expose that functionality from the cli
[ ]  ^^ VS Code Extension

I'd like to work on this issue. Thanks!

I'd like to work on this issue. Thanks!

Great! Let us know if you need any help 😊

Thanks @camerondurham . I'm updating the ticket to reflect what needs to be added.

@camerondurham Do you you wish to contribute the other open items as well? (making sure the assigned state is correct ;) )

Hey @aviramha, I'm interested in finishing the other tasks as well if that's alright! I was running into a bug with the extension selection so sending the draft PR for now and can provide more context in #dev too...

That's more than alright! Feel free to consult with us on #dev

@camerondurham
Hey, are you still working on this issue? No pressure :) Just so we can mark this as available for others if not.

@aviramha Following up from convo in#dev.
I can help with minor changes to fix existing features added but if it's more than a couple days work I probably won't have time.
What I've done so far:

(PR #182) Added a flag to the CLI in (here: https://github.com/metalbear-co/mirrord/pull/182/files#diff-e7e961df0a87503db868f6db719d10b5f06c962d7b1939079055514a118844bc)
(PR #185) Added another quickselect window to the VSCode extension when starting to debug (here: https://github.com/metalbear-co/mirrord/pull/185/files#diff-71da5b8ace00ececa231c3f58ec52d2876a05efaf23404acf1c24cbebbad2bea)

Thanks for following up, I should've asked this sooner!

Thanks @camerondurham - My fault for not tracking the issues/linking to this.


Pdf Render with Worng colors, Missing Images and Elements

hello,
this pdf file created with Adobe InDesign, alot of elements are missing, also wrong color are displaying:
http://tal-ram.co.il/images/products/orders/14265798291.pdf

I do not want to be rude , but there is a schedule when the bug will diminish

Not yet. Someone has to look into the exact cause of the problem.

We also see face this issue a lot. Working with different PDFs, we have no other choice then using muPDF for real rendering and PDF.js only for previews, where those artifacts are acceptable. I'd like to move everything to PDF.js and make most of the work in the browser, but it's not possible until this bug would be fixed :(


Can we please get ability to run at line where cursor is without having to select text and run selection?
merci,
Jason

Hey @jasonebox, thanks for reporting. If the line is a complete Python statement (e.g. a = 10), that's certainly possible.
If that's not the case, like the first line in this block:
for i in range(10):
    print(i)

You have to select the two lines in order to run a piece of code that is complete.
However, we'll try to improve that in the future.


when time support to upgrade webpack 3

I saw webpack 3 release for a while.I think that can imporve some feature for develope stage.I have some question for when time upgrade to webpack 3

We're working on it for the templates, but you should be able to easily upgrade your existing project if you have one. The upgrade path of webpack is easy

Why official not default offer webpack 3?If that is so easy?I can't understand for this.


Unable to retrieve compose file from disk

Bug description
After manually deploying roughly 40 stacks and hitting random errors about every 4-5 stacks - after 3 hours I finished adding all of my stacks. Portainer is using a docker volume backed by the default volume driver / local disk. Random errors "is a directory", "unable to clone repository", and odd compose file corruption issues when deploying stacks from custom templates.
Anyway. Back on topic with THIS bug. Portainer decided to wipe all of the compose files stored on disk. So I now have ~40 stacks and I can't edit them. They're gone.
Expected behavior
CONSISTENCY AND INTEGRITY PLEASE.
Steps to reproduce the issue:
Steps to reproduce the behavior:

I've been up for over 24 hours and I don't even know. Just try deploying stacks. Like over 10 stacks... Maybe try 40. Surely it can handle 40?
Random stuff happens and Portainer loses stored data.

Technical details:

Portainer version: 1.18.0
Docker version (managed by Portainer): 18.05.0-ce
Platform (windows/linux): linux
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): compose + portainer agent
Browser: Firefox

Additional context
This is the first time I tried Portainer for a SMALL production environment. Won't make that mistake again.
ETA: Going to have to dig into the code and see if I can manually place the compose files into the volume and hopefully Portainer will see them again?

external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 08:52:06 http error: invalid argument "/data/compose/\"/stacks/drupal7/docker-stack.yml" for "-c, --compose-file" flag: line 1, column 14: bare " in non-quoted-field
external_portainer.1.weq8ha1uyu58@scanlan    | See 'docker stack deploy --help'.
external_portainer.1.vec5arjz2qwt@scanlan    | ) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    |  (err=invalid argument "/data/compose/\"/stacks/drupal7/docker-stack.yml" for "-c, --compose-file" flag: line 1, column 14: bare " in non-quoted-field
external_portainer.1.weq8ha1uyu58@scanlan    | See 'docker stack deploy --help'.
external_portainer.1.weq8ha1uyu58@scanlan    | ) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 08:52:23 http error: invalid argument "/data/compose/\"/stacks/drupal7/docker-stack.yml" for "-c, --compose-file" flag: line 1, column 14: bare " in non-quoted-field
external_portainer.1.weq8ha1uyu58@scanlan    | See 'docker stack deploy --help'.
external_portainer.1.weq8ha1uyu58@scanlan    |  (err=invalid argument "/data/compose/\"/stacks/drupal7/docker-stack.yml" for "-c, --compose-file" flag: line 1, column 14: bare " in non-quoted-field
external_portainer.1.weq8ha1uyu58@scanlan    | See 'docker stack deploy --help'.
external_portainer.1.weq8ha1uyu58@scanlan    | ) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:04:22 http error: read /data/compose/: is a directory
external_portainer.1.weq8ha1uyu58@scanlan    |  (err=read /data/compose/: is a directory
external_portainer.1.weq8ha1uyu58@scanlan    | ) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:07:34 http error: Unable to clone git repository (err=repository already exists) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:07:41 http error: Unable to clone git repository (err=repository already exists) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:08:03 http error: Unable to clone git repository (err=repository already exists) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:08:34 http error: Unable to clone git repository (err=repository already exists) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:27:23 http error: Unable to retrieve Compose file from disk (err=open /data/compose/34/docker-compose.yml: no such file or directory) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:27:38 http error: Unable to retrieve Compose file from disk (err=open /data/compose/14/docker-compose.yml: no such file or directory) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:27:51 http error: Unable to retrieve Compose file from disk (err=open /data/compose//stacks/drupal7/docker-stack.yml: no such file or directory) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:28:08 http error: Unable to retrieve Compose file from disk (err=open /data/compose//stacks/drupal7/docker-stack.yml: no such file or directory) (code=500)
external_portainer.1.weq8ha1uyu58@scanlan    | 2018/06/25 09:33:38 http error: Unable to retrieve Compose file from disk (err=open /data/compose//stacks/drupal7/docker-stack.yml: no such file or directory) (code=500)```

drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 ?
drwxr-xr-x    5 root     root          4096 Jun 25 09:07
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 !
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 #
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 $
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 %
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 &
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 '
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 (
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 )
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 *
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 +
drwxr-xr-x    5 root     root          4096 Jun 25 09:07 -
drwx------   40 root     root          4096 Jun 25 09:17 .
drwxr-xr-x    4 root     root          4096 Jun 25 04:47 ..
drwxr-xr-x    4 root     root          4096 Jun 25 09:07 .git
-rw-r--r--    1 root     root           339 Jun 25 09:07 .gitignore
drwxr-xr-x    7 root     root          4096 Jun 25 09:11 0
drwxr-xr-x    7 root     root          4096 Jun 25 09:12 1
drwxr-xr-x    7 root     root          4096 Jun 25 09:13 2
drwxr-xr-x    7 root     root          4096 Jun 25 09:14 3
drwx------    7 root     root          4096 Jun 25 09:15 4
drwx------    2 root     root          4096 Jun 25 09:10 47
drwx------    2 root     root          4096 Jun 25 09:17 53
-rw-r--r--    1 root     root           653 Jun 25 09:07 README.md
-rw-r--r--    1 root     root           447 Jun 25 09:07 Vagrantfile
-rw-r--r--    1 root     root           151 Jun 25 09:07 config.tf.dist
drwxr-xr-x    2 root     root          4096 Jun 25 09:07 configs
-rw-r--r--    1 root     root           283 Jun 25 09:07 main.tf
drwxr-xr-x    4 root     root          4096 Jun 25 09:07 management-site
drwxr-xr-x    3 root     root          4096 Jun 25 09:07 playbooks
drwxr-xr-x    9 root     root          4096 Jun 25 09:07 stacks

OK... THIS.... is bad. WTF?

@salcedo I'm investigating, indeed looks like an issue related to an invalid folder on disk. Will keep you posted ASAP

There is an issue indeed with stacks created from a git repository (including templates). I'm working on a fix .

@salcedo it has been fixed via #2000
I'm going to release 1.18.1 that will include this fix.
In order to clean-up your instance, you can use the HTTP API:
# retrieve an auth token
$ http POST <server_ip>:9000/api/auth Username="adminuser" Password="adminpassword"

# for each stack, delete it using the API, it should remove the stack and remove the folder on disk
$ http DELETE :9000/api/stacks/<STACK_ID>?endpointId=<ENDPOINT_ID> \
"Authorization: Bearer <AUTH_TOKEN>"

Note that removing the stack will call docker stack rm behind the scenes, removing all the services associated to the stack.
Sorry again for this issue, it seems to have slipped through our tests.

Was so frustrated over this. Lost much sleep. Had to edit issue a couple times to cut back on the language. Thank you @deviantony :1st_place_medal:


Error: Could not prefetch mailalias provider 'augeas': Augeas didn't load /etc/aliases with Aliases.lns from /var/lib/puppet/lib/augeas/lenses: Iterated lens matched less than it should (line:6, character:0)

Hello i've a simple mailalias directive that throws this error :(
the full error is
Error: Could not prefetch mailalias provider 'augeas': Augeas didn't load /etc/aliases with Aliases.lns from /var/lib/puppet/lib/augeas/lenses: Iterated lens matched less than it should (line:6, character:0)
Error: Could not set 'present' on ensure: Augeas didn't load /etc/aliases with Aliases.lns from /var/lib/puppet/lib/augeas/lenses: Iterated lens matched less than it should (line:6, character:0) at 122:/etc/puppet/environments/production/manifests/monba.pp
Error: Could not set 'present' on ensure: Augeas didn't load /etc/aliases with Aliases.lns from /var/lib/puppet/lib/augeas/lenses: Iterated lens matched less than it should (line:6, character:0) at 122:/etc/puppet/environments/production/manifests/monba.pp
Wrapped exception:
Augeas didn't load /etc/aliases with Aliases.lns from /var/lib/puppet/lib/augeas/lenses: Iterated lens matched less than it should (line:6, character:0)
Error: /Stage[main]/Main/Node[monba]/Mailalias[root]/ensure: change from absent to present failed: Could not set 'present' on ensure: Augeas didn't load /etc/aliases with Aliases.lns from /var/lib/puppet/lib/augeas/lenses: Iterated lens matched less than it should (line:6, character:0) at 122:/etc/puppet/environments/production/manifests/monba.pp

the code is
mailalias { 'root':
		ensure    => 'present',
		recipient =><EMAIL_ADDRESS>	}

Can you tell me whats' wrong ?

/var/lib/puppet/lib/augeas/lenses contains only "known_hosts.aug"

Augeas didn't load /etc/aliases with Aliases.lns from /var/lib/puppet/lib/augeas/lenses: Iterated lens matched less than it should (line:6, character:0)

There's something in /etc/aliases on line 6 that the Augeas lens (provided by the package, not /var/lib/puppet) is unable to parse.  Check the contents of line 6, it might be a bug in Augeas that's fixed in a later version.

Indeed, I truncated /etc/aliases and re-run puppet now it works. The file was almost identical to what it is now. I'm a bit confused ....

@vekexasia Can you post the /etc/aliases lines that fail?

Unfortunately I already truncated the file :( i'm unsure how I might restore it. I believe, i had:
<EMAIL_ADDRESS>
without the space.

@vekexasia The lens knows how to parse that properly. So I'll close the bug then, if there's no trace of the line you truncated.

I confirm that if i've<EMAIL_ADDRESS>without the space i get that error.

https://github.com/hercules-team/augeas/commit/011a0ec09e4ed8c2f7cd848eaf799eee0838c356 - fixed in Augeas 1.3.0.


Check formatting on CI

I also added a clippy run, but it had a bunch of scary complaints, so I gave up.

I got clippy to run without complaining by not running it on all targets. Adding --all-targets makes it complain, but that's just tests and or benchmarks.

I just merged a fix for all the Clippy errors. Want to rebase? Also, can you pin the rust version on the CI? I'd like to avoid it breaking unexpectedly when new versions are released

Just rebased and fixed some warnings.
Regarding pinning rust to the latest version, I've found that unless you're enforcing a MSRV, it's on balance better to use stable. New versions of rust have often substantial improvements to compilation speed, and it's nice to get those without having to remember to upgrade. Breakages are infrequent enough that they're not particularly annoying. Your call of course!

That makes sense. Ok lets leave it on stable for now, and I'll pin it if it becomes annoying

Fixed the last of the warnings.

Merged. Thanks!


Swiper navigation positioning

I need help placing my swiper navigation outside the slider wrapper div.

If I add a div before the swiper wrapper, the swiper buttons (both the navigation and the pagination) disappears.
Note:  I am using nodej.js, EJS as the template and I have more than one swiper in the page giving the issue

Do you want to ask a question? Are you looking for support? Stack Overflow or Swiper Discussions is the best places for getting support

Please, don't use GitHub issues for questions


Add execution txs from send tokens and send NFT forms

When someone create execution txs using send token or send NFT we should store the transaction in an execution array. The format of the array should look like this:
https://gist.github.com/bonustrack/5d4551421ac570d472c07450f503eb21
Here is some explaination about the different fields:

"to" is the contract you interact with in the tx, most of the time its a ERC20 or NFT contract unless you send ETH in which case "to" is just the recipient.
"data" this is the encoded arguments of function called in the smart contract, for example for doing a transfer the args will be the recipient and amount, this is encoded using this function https://github.com/snapshot-labs/sx-ui/blob/db27536ad7ed659990d0c044ce2dc880f2e593a8/src/components/Modal/Transaction.vue#L29-L31 (It require the ABI of the contract function, for NFT and ERC20 it's standardized so you can use the same all the time). Here is for ERC20 transfer:
const abi = ["function transfer(address _to, uint256 _value) public returns (bool success)"]
For NFT const abi = ["function transferFrom(address _from, address _to, uint256 _tokenId) external payable"] (may need to confirm for NFT transfer)
"value" is the amount of ETH that you are sending in the tx, when sending ERC20 or NFT it would be 0, but if you transfer ETH the amount would be stored in this "value" field.

The others fields are just metadata that we can use to repopulate the Send Token or Send NFT forms.

When a tx is added it can be displayed like this in the execution section:


Access FormBuilderChipsInput suggestionsBoxController

Hello, awesome package!
I'm trying to control the opening of the suggestions box in the FormBuilderChipsWidget.
When I focus on the input field, I want the suggestions box to open instantly, without the need to press any keys.
Do you know if it can be done? I already looked through the documentation and source code, and think maybe exposing the _suggestionBoxController object from ChipsInput class could solve it.
If it's not possible, do you think it could be added?
Another issue I'm having is that after an option is selected, the input doesn't work properly, I type and the text doesn't appear.
Thanks!

Any updates on this issue? @danvick

This still a issue?

Due to lack of response and an old error, I will close this issue.
If the bug still exists, feel free to open a new issue


Enter doesn't work for on the Search  Page

When I go to the search page I can't press enter to search, I found out this is the way search by watching the demo on youtube. I can exit the "insert mode" from the search bar by pressing Ctrl + I but even then when I press enter nothing happens. Am I doing something wrong or am I invoking the search in the wrong way?

OS: Fedora 38
Application version: release
Application features: pulseaudio backend

Additional context
the following is my app.toml:
theme = "default"
client_id = "<-private-client-id->"
client_port = 8888
playack_format = "{track} • {artists}\n{album}\n{metadata}"
notify_format = { summary = "{track} • {artists}", body = "{album}" }
# the default `copy_command` is based on the OS
copy_command = { command = "pbcopy", args = [] } # macos
# copy_command = { command = "xclip", args = ["-sel", "c"] } # linux
# copy_command = { command = "clip", args = [] } # windows
app_refresh_duration_in_ms = 32
playback_refresh_duration_in_ms = 0
cover_image_refresh_duration_in_ms = 2000
page_size_in_rows = 20
track_table_item_max_len = 32
enable_media_control = false
enable_streaming = true
enable_cover_image_cache = true
default_device = "spotify-player"
play_icon = "▶"
pause_icon = "▌▌"
liked_icon = "♥"
playback_window_position = "Top"
cover_img_length = 9
cover_img_width = 5
playback_window_width = 6

[device]
name = "spotify-player"
device_type = "speaker"
volume = 100
bitrate = 160
audio_cache = false

and my keymap.toml:
[[keymaps]]
command = "FocusNextWindow"
key_sequence = "l"
[[keymaps]]
command = "FocusPreviousWindow"
key_sequence = "h"
[[keymaps]]
command = "PageSelectNextOrScrollDown"
key_sequence = "C-d"
[[keymaps]]
command = "PageSelectPreviousOrScrollUp"
key_sequence = "C-u"

@BinaryFly can you provide corresponding logs and any videos for demonstration? Without those, it's really hard to find the issue cause.

Sure! I tried again to get a clean log of the problem and these are the lines that are about the search bar:
2023-06-12T18:24:40.330100Z  INFO client_request{request=GetCurrentPlayback}: spotify_player::client: successfully handled the client request, took: 345ms
2023-06-12T18:24:47.361692Z ERROR client_request{request=Search("Take me home country roads")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found
2023-06-12T18:24:48.430237Z ERROR client_request{request=Search("Take me home country roads")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found
2023-06-12T18:24:49.500180Z ERROR client_request{request=Search("Take me home country roads")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found
2023-06-12T18:24:50.401271Z ERROR client_request{request=Search("Take me home country roads")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found
2023-06-12T18:24:51.261999Z ERROR client_request{request=Search("Take me home country roads")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found

which is weird because it can fetch my playlists and liked songs fine. Maybe I need to change my setup in spotify dashboard? (I copied over an old configuration for spotify-tui but since that isn't maintained anymore I thought I could use the same client id for this config)

(I copied over an old configuration for spotify-tui but since that isn't maintained anymore I thought I could use the same client id for this config)

It should be fine. The client ID is only needed if you want to use the Spotify connect feature.
I can still search the term "Take me home country roads". Does the search functionality work with other simple queries like "take" for example?

Nope nothing, i get to the search page type anything but it doesn't show anything when I press enter:

2023-06-12T19:19:07.077681Z  INFO client_request{request=GetCurrentPlayback}: spotify_player::client: successfully handled the client request, took: 337ms
2023-06-12T19:19:17.449729Z ERROR client_request{request=Search("take")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found
2023-06-12T19:19:17.649363Z ERROR client_request{request=Search("take")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found
2023-06-12T19:19:17.849225Z ERROR client_request{request=Search("take")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found

I tried running the application with RUST_LOG="spotify_player=TRACE" and the following is the last half of the log generated from this, maybe it helps if its a bit more verbose:
2023-06-12T19:34:59.726485Z  WARN spotify_player: Failed to run client socket for CLI: Address already in use (os error 98)
2023-06-12T19:35:00.099038Z  INFO client_request{request=GetUserPlaylists}: spotify_player::client: successfully handled the client request, took: 372ms
2023-06-12T19:35:00.127987Z  INFO client_request{request=GetCurrentUser}: spotify_player::client: successfully handled the client request, took: 401ms
2023-06-12T19:35:00.130173Z  INFO client_request{request=GetUserFollowedArtists}: spotify_player::client: successfully handled the client request, took: 403ms
2023-06-12T19:35:00.178632Z  INFO client_request{request=GetCurrentPlayback}: spotify_player::client: successfully handled the client request, took: 452ms
2023-06-12T19:35:00.286563Z  INFO client_request{request=GetUserSavedAlbums}: spotify_player::client: successfully handled the client request, took: 559ms
2023-06-12T19:35:01.766385Z  INFO client_request{request=GetUserSavedTracks}: spotify_player::client: successfully handled the client request, took: 2039ms
2023-06-12T19:35:02.368178Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('g'), modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('g'), modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Char('g'))] }
2023-06-12T19:35:02.570641Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('s'), modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('s'), modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Char('g')), None(Char('s'))] }
2023-06-12T19:35:04.090279Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('i'), modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('i'), modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Char('i'))] }
2023-06-12T19:35:04.742829Z DEBUG terminal_event{event=Key(KeyEvent { code: Backspace, modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Backspace, modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Backspace)] }
2023-06-12T19:35:04.892684Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('t'), modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('t'), modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Char('t'))] }
2023-06-12T19:35:05.062967Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('a'), modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('a'), modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Char('a'))] }
2023-06-12T19:35:05.159178Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('k'), modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('k'), modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Char('k'))] }
2023-06-12T19:35:05.297576Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('e'), modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('e'), modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Char('e'))] }
2023-06-12T19:35:05.643589Z DEBUG terminal_event{event=Key(KeyEvent { code: Enter, modifiers: NONE, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Enter, modifiers: NONE, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [None(Enter)] }
2023-06-12T19:35:05.691592Z ERROR client_request{request=Search("take")}: spotify_player::client::handlers: Failed to handle client request: http error: status code 404 Not Found
2023-06-12T19:35:09.203738Z DEBUG terminal_event{event=Key(KeyEvent { code: Char('c'), modifiers: CONTROL, kind: Press, state: NONE })}: spotify_player::event: Handling key event: KeyEvent { code: Char('c'), modifiers: CONTROL, kind: Press, state: NONE }, current key sequence: KeySequence { keys: [Ctrl(Char('c'))] }

Hey, just started to use spotify_player 1 hour ago. Great so far :)
But exactly the same thing happens to me.
Same 404 error message in the logs.

This is weird. I tried to reinstall spotify_player on both my M1 Mac and Ubuntu machines and search still works fine. Not sure if this is a temporary regional issue or something else.

I tried running the application with RUST_LOG="spotify_player=TRACE" and the following is the last half of the log generated from this, maybe it helps if its a bit more verbose:

Can you run with RUST_LOG=TRACE or RUST_LOG=DEBUG instead? I want to see the logs of the third-party libraries, which are disabled by default.

I tried again today and somehow it works now. Maybe an update to fedora or rebooting might have fixed it, not exactly sure. Do you still have this issue @b1rdhous3 ?

Great! Let's close this for now. Occasionally, Spotify APIs don't work because of regional issues (server down, etc).


Refactor create_endpoint for better error handling

I've made a few comments inline.  Most will be more obvious if you merge up to libnetwork-rebased before attempting to apply them.

LGTM


auth pages mobile view

implement mobile views for auth pages (login, register, forgot password, reset password)
closes #75

LGTM!

bro

LGTM!

don't delete my messages

Hi sorry for another review request lol I just updated the images to the uncropped ones that Justine sent me


x/tools/gopls: cannot handle large files

What version of Go are you using (go version)?

$ go version
go version go1.12.5 darwin/amd64

go version go1.12.7 darwin/amd64

$ gopls version
version v0.1.3, built in $GOPATH mode

Does this issue reproduce with the latest release?
Yes, but differently
What operating system and processor architecture are you using (go env)?
go env 1.12.5 Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/user/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/user/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.5/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.5/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/44/txz_wqq568n4lbh6014ft754hlbqxb/T/go-build952763620=/tmp/go-build -gno-record-gcc-switches -fno-common"

go env 1.12.7 Output
$go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/user/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/user/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.7/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.7/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/44/txz_wqq568n4lbh6014ft754hlbqxb/T/go-build057133603=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
1.12.5
I generated a 120k LOC with ANTLR, containing some actions (basically code that ANTLR copies from its grammar directly into the code).
I have to implement these actions in a separate file in the same package.
Every time this actions-file is changed and saved, gopls tries to reload the large (unchanged, generated) file, and thus autocompletion on any file is stuck for 10-20 seconds, after what
[Error - 8:49:39 PM] unable to check package: context canceled
	file = file:///Users/user/Development/github.com/gojisvm/gojis/internal/parser/antlr_actions.go

is printed multiple times, but the autocompletion does work again.
1.12.7
Does not print an error, but autocompletion is still stuck for at least 10 seconds.
What did you expect to see?
Pretty much that, but I would like a way to make gopls ignore specific - or in general, generated - files.
What did you see instead?
A practically unusable autocompletion while the file is reloaded.
Maybe related
#33221 , I installed latest instead of master, but it didn't solve the issue (for neither version).

Hi, Please set GO111MODULE=on and you can use go get golang.org/x/tools/gopls@latest for get gopls.
gopls version version v0.1.3, built in $GOPATH mode is probably obtained when GO111MODULE is off.

@sylba2050: This issue persists regardless of the version of gopls, so I don't think it would matter if the version of gopls is built in $GOPATH mode or not.
Thanks for reporting @TimSatke, I'll investigate this when I have a chance.

After some investigation of https://github.com/golang/go/issues/33003, it seems like this issue is quite similar. Closing in favor of that issue.
Duplicate of https://github.com/golang/go/issues/33003

Duplicate of https://github.com/golang/go/issues/33003


tar: Generalize a TarImportConfig

I plan to add another variant of this behavior in the future, and having a proper structure is better than a single bool.

Merged in https://github.com/ostreedev/ostree-rs-ext/pull/602


ibmcloud login password prompt not working

I was able to follow the tutorial successfully until step 5. I am having difficulty using the installed Cloud Annotation CLI. When I run ibmcloud login on Powershell the username prompt works fine, but the password prompt won't let me type in a password.
I'm running this on Windows 10 Home.

You don’t need to run ibmcloud login

Thanks for the quick reply. I was able to get past it. I am trying to run cacli train and while entering my credentials I must have made a typo because I get an error message saying Invalid Watson Machine Learning credentials. It does not appear to be letting me reenter the credentials. Do you know a way around this? Thanks!

Nevermind, figured it out!

haha okay :) I'll go ahead and close this then

Hello, I am getting an error when i type cacli train

Nevermind, figured it out!

i am also facing the same problem...can u please explain how u hv reset the credentials

Cacli init


Fix Sphinx reST parsing errors

We are trying to use Sphinx to build PyDocs for this project, to be
included in web-platform-tests.org. In the process, we encountered some
reST parsing errors.

cc @ricea
BTW, I'm not sure if the Travis failure is relevant.

Sorry for the delay. lgtm.
The Travis failure seems to be caused by a Python bug and is unrelated.

Could you help me merge this? I don't think I have the permission. Thanks!


Create reasonable in-mesh CIDR defaults

Search for this github issue in OSM source code for context
ref https://github.com/open-service-mesh/osm/pull/1223#discussion_r461206461

mesh CIDRs are no longer required for egress.


Ignore the file '/etc/board-release'

Adds board-release to ignored patterns, which is used by some Armbian based releases, such as the one used with the BigTreeTech CB1.
Full text search here:
https://github.com/bigtreetech/CB1-Kernel/search?q=board-release

Hi @pedrolamas ! Many thanks for your PR, one comment though : could you provide a "testing" rootfs under tests/resources/distros/ too ? 🙂

Thanks @HorlogeSkynet, I've now added a test for this specific case.

Thanks ! We'll have to wait for #355 and a proper rebase/merge of this branch 😉


KeeAnywhere not working with dropbox exception error IP <IP_ADDRESS>:443.

An unhandled exception in the application. When you click Continue, the application will ignore the error and try to continue. When you click the "Exit" button, the application will exit immediately.
An attempt to establish a connection was unsuccessful because the required response was not received from another computer within the required time, or an already established connection was terminated due to an incorrect response from an already connected computer <IP_ADDRESS>:443.
although before everything worked as it should without errors, what's the matter?.png)

incomplete report, can't reproduce.


Adding title tags on various therapy pages

I would like to add title tags on the therapy pages like Sukoon - Yoga Therapy on the yoga therapy page and so on on other pages as well.
Images:

.

Please assign


Fix "clang-format version 16.0.0"-bug

Use clang-format version 15.0.6
Use clang-format from package manager
Move run-clang-format script to everest-utils

The image is deployed here: https://github.com/orgs/EVerest/packages/container/everest-clang-format/184517158?tag=bugifx-use-stable-clang-format-version
And can be tested by using the corresponding tag


Case-sensitive enum type casts

PR Info

Closes https://github.com/SeaQL/sea-query/issues/725
Dependencies:

https://github.com/SeaQL/sea-query/pull/789

Bug Fixes

[x] Filtering on enum fields whose type name was declared case sensitive no longer crashes

Breaking Changes

[x] Enum names are now case sensitive, i.e. #[sea_orm(enum_name = "MyType")] will result in "MyType" instead of mytype for PostgreSQL.

Tests are only failing because they depend on https://github.com/SeaQL/sea-query/issues/725


Getting "OSError: [Errno 8] Exec format error" while infer'ring Hello.java

Hi,
I am having i686 openSUSE and have installed 64 bit binary from fb-infer website.
I dont know how to build 32 bit binary for fb-infer.
So, when I used 64 bit binary for infer'ring Hello.java, I got the following error.
Am I missing something? I had followed the steps provided in the 'Getting Started'
File "/home/gansai/Downloads/infer-linux64-v0.1.0/infer/infer/bin/inferJ", line 19, in
stats = analysis.start()
File "/home/gansai/Downloads/infer-linux64-v0.1.0/infer/infer/bin/inferlib.py", line 632, in start
if self.capture() == os.EX_OK:
File "/home/gansai/Downloads/infer-linux64-v0.1.0/infer/infer/bin/inferlib.py", line 400, in capture
return self.run_infer_frontend()
File "/home/gansai/Downloads/infer-linux64-v0.1.0/infer/infer/bin/inferlib.py", line 391, in run_infer_frontend
self.args.analyzer
File "/home/gansai/Downloads/infer-linux64-v0.1.0/infer/infer/bin/inferlib.py", line 309, in run_command
return subprocess.check_call(cmd)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
Apologize for verbose dump above. Thanks for the help in advance.

Hi @gansai, we don't provide 32 bit binaries for Infer at the moment. You can try building Infer from source.

Closing; the solution is to build Infer from source. @gansai, feel free to re-open if that doesn't solve your issue.


Mono Output

Hello,
I'm trying to configure raspotify to have a mono output.
I'm using a HIFIBERRY mini amp, I found some configurations, but I'm having a hard time to find how to use them in rapsotify.
Best regards

You're going to have to be more specific. Mono can mean a few different things on a 2 channel amp.
I'm going to assume you're not trying to bridge the amp.
The other 2 options are you're only going to use 1 of the 2 channels or you want dual mono. Which is it?

Hello,
I am sorry for the vagueness of my request.
My goal is to use only one channel of the soundcard. Not dual mono.
Best regards,

You'll want to use the Route alsa plugin.
Untested but something like this might do the trick:
pcm.!default {
    type route
    slave.pcm {
        type hw
        card 0
        channels 2
    }
    ttable.0.0 0.5
    ttable.0.1 0.5
    ttable.1.0 0.5
    ttable.1.1 0.5
}

This is for dual mono but I don't think it would hurt anything if one channel doesn't have a speaker connected to it.

You're giving up half your power only using one channel. You could use both channels with one speaker if it were dual voice coil or coaxial.

You're also going to have to use a pretty efficient speaker with only 3 x 2 watts. The specs don't say if 3 watts in the max or continuous so I'm going to assume it's the max so you're looking at maybe 2 watts clean. You'll need a speaker in the high 80's as far as SPL at least.

Thank you very much
One more question, which file should I modify with these settings?

Open /etc/asound.conf with nano:
sudo nano /etc/asound.conf
By default the file does not exist if there is anything in the file delete it.

Paste this into it:
pcm.!default {
    type route
    slave.pcm {
        type hw
        card 0
        channels 2
    }
    ttable.0.0 0.5
    ttable.0.1 0.5
    ttable.1.0 0.5
    ttable.1.1 0.5
}

Exit and save:
Ctrl+x y Enter

Restart raspotify:
sudo systemctl restart raspotify

Thanks ! It works
I had created the right file, but the instructions for ALSA must have been wrong.

@firewalkwithmetotwinpeaks if this solution works for you you can close the issue.


Can author add Folia support ?

I have try to make it support folia. but when i want to create the heatmap it show it has error.
the bluemap and squaremap and worldguard have support folia.
So can u add folia support for the great plugin?
the error report like this
org.bukkit.command.CommandException: Unhandled exception executing command 'heatmap' in plugin Heatmap v1.3.0
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[kaiiju-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[kaiiju-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(CraftServer.java:1048) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at org.bukkit.craftbukkit.v1_20_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:265) ~[kaiiju-1.20.1.jar:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:324) ~[?:?]
at net.minecraft.commands.Commands.performCommand(Commands.java:308) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2405) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$17(ServerGamePacketListenerImpl.java:2365) ~[?:?]
at io.papermc.paper.threadedregions.EntityScheduler.executeTick(EntityScheduler.java:173) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1523) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.UnsupportedOperationException
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.handle(CraftScheduler.java:533) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskTimerAsynchronously(CraftScheduler.java:257) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskTimerAsynchronously(CraftScheduler.java:244) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskLaterAsynchronously(CraftScheduler.java:189) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskAsynchronously(CraftScheduler.java:158) ~[kaiiju-1.20.1.jar:git-Kaiiju-"c2b7aec"]
at dev.arctic.heatmap.utility.H2StorageStrategy.saveHeatmaps(H2StorageStrategy.java:50) ~[Heatmap-1.3.0.jar:?]
at dev.arctic.heatmap.utility.DataManagement.saveHeatmaps(DataManagement.java:36) ~[Heatmap-1.3.0.jar:?]
at dev.arctic.heatmap.utility.HeatmapManager.addHeatmap(HeatmapManager.java:16) ~[Heatmap-1.3.0.jar:?]
at dev.arctic.heatmap.commands.CreateHeatMapCommand.execute(CreateHeatMapCommand.java:15) ~[Heatmap-1.3.0.jar:?]
at dev.arctic.heatmap.commands.CommandManager.onCommand(CommandManager.java:32) ~[Heatmap-1.3.0.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[kaiiju-api-1.20.1-R0.1-SNAPSHOT.jar:?]
... 14 more

Hey! I will look into it, but I've not worked with Folia before - so it'll be some Wild West level of implementation 🤪

Hey! I will look into it, but I've not worked with Folia before - so it'll be some Wild West level of implementation 🤪

thanks for listening my suggestion!

Update on this. There's not going to be a lot that I can do until WorldEdit officially supports Folia since I depend on WE for Region Definitions for now. Once that's updated, and Folia officially supports Async operations (likely what WE is waiting on) then we'll be in business. I've created a Folia fork for now as a placeholder for that implementation. It will come, but I need other things to catch up first.

Update on this. There's not going to be a lot that I can do until WorldEdit officially supports Folia since I depend on WE for Region Definitions for now. Once that's updated, and Folia officially supports Async operations (likely what WE is waiting on) then we'll be in business. I've created a Folia fork for now as a placeholder for that implementation. It will come, but I need other things to catch up first.

thanks for ur repliy!i saw the worldguard has been have the folia fork(https://github.com/Folia-Inquisitors/WorldGuard-Folia)
waiting for ur new achievement

Yeah I saw that too, however that is a 3rd party implementation, and I'm hesitant to rely on that.


Scrolling is broken in the Docs

None of the pages in the docs can be scrolled. This makes them basically unusable. The problem exists in all browsers.

Is this project still active? It looks like it's been broken for about six months...


Give error when we find a circular reference

This PR gives a parser error when the parser finds a circular reference among the named types. The old #315 only takes care of circular inheritance.
Note: It was a bit tricky to think about how to do this which is why it took me a bit of time.
@zdne @klokane Please review and merge.

Updated.

cc @kylef


Not an Issue

Hi Moritz, I was just curious to know if you have a PyTorch implementation of this repo.

I have chosen Tensorflow three years ago because complex number support wasn't there in PyTorch yet. The situation has changed now ( https://pytorch.org/docs/stable/complex_numbers.html ). I already have a Stiefel-optimizer in Pytorch, if you create a repository we could port the cell together.

Hi Moritz,
Thanks for the response. I haven’t worked on Stifel manifold optimization before. So it would be a learning process for me. I will create the repo today and add you. Let me know how I will be helpful to you so that we can port it.
Best,
Vinay Kothapally
On Oct 17, 2021, at 7:58 AM, Moritz Wolter @.***> wrote:

I have chosen Tensorflow three years ago because complex number support wasn't there in PyTorch yet. The situation has changed now ( https://pytorch.org/docs/stable/complex_numbers.htmlhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpytorch.org%2Fdocs%2Fstable%2Fcomplex_numbers.html&data=04|01|Vinay.Kothapally%40utdallas.edu|1ffd58fa2f3d4f5d56bc08d9916dd310|8d281d1d9c4d4bf7b16e032d15de9f6c|0|0|637700723186241892|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=IPVD8GSGjsPbrLmXAUpwVZvZme3%2Bys1J0dIPmmlCiPc%3D&reserved=0 ). I already have a Stiefel-optimizer in Pytorch, if you create a repository we could port the cell together.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fv0lta%2FComplex-gated-recurrent-neural-networks%2Fissues%2F8%23issuecomment-945115689&data=04|01|Vinay.Kothapally%40utdallas.edu|1ffd58fa2f3d4f5d56bc08d9916dd310|8d281d1d9c4d4bf7b16e032d15de9f6c|0|0|637700723186251887|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=UtCwHfwM3RgG5AvzdEah%2FyibsxjxhTaCK1QVLf5CDhE%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFTUQ7YCA3GMKSXCDLRWDA3UHLB7RANCNFSM5F6SXEUQ&data=04|01|Vinay.Kothapally%40utdallas.edu|1ffd58fa2f3d4f5d56bc08d9916dd310|8d281d1d9c4d4bf7b16e032d15de9f6c|0|0|637700723186251887|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=M6gj%2B%2FHN6z6baYsnvWh2uaQtFpo6FHVu95N4Tb1PTrU%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|Vinay.Kothapally%40utdallas.edu|1ffd58fa2f3d4f5d56bc08d9916dd310|8d281d1d9c4d4bf7b16e032d15de9f6c|0|0|637700723186261884|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=0o9%2B50DKng0JyNd8poaR07V5nkGoSlxr73rEvImSVv4%3D&reserved=0 or Androidhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|Vinay.Kothapally%40utdallas.edu|1ffd58fa2f3d4f5d56bc08d9916dd310|8d281d1d9c4d4bf7b16e032d15de9f6c|0|0|637700723186261884|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=9VDLFbrRmVM2unEJZOIL8vZHPHRgk9vgT8FCPDfiYWM%3D&reserved=0.