v4 third party extension building

I know this might technically belong in mathjax-docs but I thought it might be more useful to have it in the main tracker.
I'm in the process of upgrading some extensions to work with v4, e.g., https://github.com/pkra/mathjax-img/pull/24, https://github.com/AmerMathSoc/mathjax-unicode-math/pull/27.
Adjusting to generate ESM for server-side use was straight forward. But looking through mathjax-src, I don't understand how the build process for clients-side extension has to be adjusted.
The advice from https://docs.mathjax.org/en/latest/web/webpack.html#the-webpack-configuration-1 doesn't seem to work anymore. mathjax-full/components/bin/makeAll expects various CLI options now but I couldn't work out how to adjust.
If you had time for some short pointers, I'd be grateful.
[I'd prefer not to generate CJS but of course I'm happy to do the full adoption of mathjax-src's tsconfig setup if that's easier.]

Yes, the documentation hasn't been update for the changes to the configuration files for components.  There is information about it in the ESM pull request, in the section on "The new component control files".  The main change is that the individual build.json, copy.json, and webpack.config.js files have all been merged into a single config.json file with sections for each of the three actions.  These sections basically are just the data that would have been in the original .json file, with the webpack section being the values that would have been passed to the PACKAGE() function in the original webpack.config.js file.  You can look at the config.json files in the components/mjs directory for some examples.

I've had time to take stab at it.
For the mathjax-unicode-math extension, I've tried the following config.json
{
  "build": {
    "id": "unicode-math",
    "component": "js/unicode-math",
    "targets": ["js"]
  },
  "webpack": {
    "name": "unicode-math",
    "libs": [
      "components/src/input/tex-base/lib",
      "components/src/core/lib"
    ]
  }
}

(Even though the build block seemed superfluous - see below.)
Then ran
$ npx webpack --env dir=. --env bundle=../../browser -c node_modules/mathjax-full/components/webpack.config.mjs

First, I got an error that webpack couldn't find the extension. Turns out, it was looking for it in the main directory. While trying to work out where the path is passed along, I noticed that the build block didn't seem to do anything (for me). If I tried to run webpack from the ./js folder (where the ESM build lives), other things went wrong.
To get a little further I simply copied the ESM build to the root. That got me a build which looked ok.
However, using the result in the browser gave me silent failures (well, not completely silent -- there was a warning about a missing version info).
Here's the resulting build I got https://gist.github.com/pkra/5ec245db7831c265267518dbab0c1fb3 (which compared to https://github.com/AmerMathSoc/mathjax-unicode-math/tree/main/browser seems to include more mathjax code).
So if you have the time my first question would be: is there a way to specify the source of the ESM module?
The second question would be: what am I doing wrong? :sweat:

I noticed that the build block didn't seem to do anything (for me).

That is only used by the components/bin/build command (which is called by components/bin/makeAll).    I'm not sure the values are correct in the build block in any case, as id should be the name used in the loader.load array (e.g., [custom]/unicode-math), and component is the location within the bundle directory for the component.
You shouldn't call npx webpack by hand any longer, in most circumstances.  The components/bin/makeAll command should be used instead, which will call components/bin/pack which in turn does the npx webpack call with the proper arguments.
The build tools expect something like
component/
  config.json
  unicode-math.js
js/
  unicode-math.js
ts/
  unicode-math.ts

If you want users to define a path ams to be used for your extension, then I think you want config.json to be
{
  "build": {
    "id": "[ams]/unicode-math",
    "component": "input/tex/extension/unicode-math",
    "targets": ["js"]
  },
  "webpack": {
    "name": "unicode-math",
    "libs": [
      "components/src/input/tex-base/lib",
      "components/src/core/lib"
    ]
  }
}

and compoments/unicode-math.js to be
import './lib/unicode-math.js';

Then you should be able to use
node_modules/mathjax-full/components/bin/makeAll --mjs component

This is from memory, so I think it works but didn't test it.
It looks like you are wanting to put the webpacked file into a browser directory (rather than the bundle directory that makeAll expects to use).  There is no command-line option for specifying that, but you could do
cd component
../node_modules/mathjax-full/components/bin/build mjs
../node_modules/mathjax-full/components/bin/pack mjs browser

instead, which I think will do the trick.  Or you could rename the bundle folder to browser after the fact.
The reason you are getting the "no version information" message is because the version identification is added to components/lib/unicode-math.js during the build process (which you aren't currently doing), so MathJax is warning you that that hasn't been done.
As for why it isn't working, you identify that more of MathJax is being included, and that may mean that your extension isn't hooking into the existing MathJax structure but rather a separate one, so it not making itself available to the MathJax that is actually running.  When you use the makeAll or pack command, you should get a nice list of files that are being included in the packed file, and should only see your unicode-math files, some component files from the directories in the libs array, and the MathJax version file.  For example, when I build the [tex]/action component, I see
Building /mjs/input/tex/extensions/action
    Processing:
      input/tex/action/ActionConfiguration.ts
      action.ts

Webpacking /mjs/input/tex/extensions/action
    action.js (1.59 KB)
      [components]/mjs/core/lib/components/global.js (0.36 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Configuration.js (0.21 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexParser.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TokenMap.js (0.45 KB)
      [components]/mjs/input/tex-base/lib/input/tex/base/BaseMethods.js (0.13 KB)
      [components]/mjs/input/tex/extensions/action/action.js (2.88 KB)
      [components]/mjs/input/tex/extensions/action/lib/action.js (0.46 KB)
      [mathjax]/mjs/components/version.js (0.07 KB)
      [mathjax]/mjs/input/tex/action/ActionConfiguration.js (1.1 KB)

If you are seeing a lot of [mathjax] references, then that means something isn't configured properly.  Here the last two component files (action.js and lib/action.js) and the ActionConfiguration.js will be your unicode-math files, and will probably be listed above the first component file, perhaps with a full path name, or with ./ prefix.
See if any of that helps you out.

Thank you! I'll report back when I've tried this.

A quick update on trying the suggested changes.
I created a components folder, put the config.json and a pure-import unicode-math.js in there.
I changed import './lib/unicode-math.js'; to import '../js/unicode-math.js'; (which I think was just a typo)
Next, $ node_modules/mathjax-full/components/bin/makeAll --mjs components  gave me the following error
Building ./components
node:internal/fs/utils:346
    throw err;
    ^

Error: ENOENT: no such file or directory, stat '/tmp/mathjax-unicode-math/node_modules/mathjax-full/ts/js'
    at Object.statSync (node:fs:1582:3)
    at processList (/tmp/mathjax-unicode-math/node_modules/mathjax-full/components/bin/build:105:23)
    at Object.<anonymous> (/tmp/mathjax-unicode-math/node_modules/mathjax-full/components/bin/build:398:1)
    at Module._compile (node:internal/modules/cjs/loader:1246:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1300:10)
    at Module.load (node:internal/modules/cjs/loader:1103:32)
    at Module._load (node:internal/modules/cjs/loader:942:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
    at node:internal/main/run_main_module:23:47 {
  errno: -2,
  syscall: 'stat',
  code: 'ENOENT',
  path: '/tmp/mathjax-unicode-math/node_modules/mathjax-full/ts/js'
}

Node.js v19.5.0
    Command failed: node '/tmp/mathjax-unicode-math/node_modules/mathjax-full/components/bin/build' 'mjs'
node:internal/fs/utils:346
    throw err;
    ^

Error: ENOENT: no such file or directory, stat '/tmp/mathjax-unicode-math/node_modules/mathjax-full/ts/js'
    at Object.statSync (node:fs:1582:3)
    at processList (/tmp/mathjax-unicode-math/node_modules/mathjax-full/components/bin/build:105:23)
    at Object.<anonymous> (/tmp/mathjax-unicode-math/node_modules/mathjax-full/components/bin/build:398:1)
    at Module._compile (node:internal/modules/cjs/loader:1246:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1300:10)
    at Module.load (node:internal/modules/cjs/loader:1103:32)
    at Module._load (node:internal/modules/cjs/loader:942:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
    at node:internal/main/run_main_module:23:47 {
  errno: -2,
  syscall: 'stat',
  code: 'ENOENT',
  path: '/tmp/mathjax-unicode-math/node_modules/mathjax-full/ts/js'
}

Node.js v19.5.0

Webpacking ./components
    unicode-math.js (100.82 KB)
      ../js/unicode-math.js (97.97 KB)
      [components]/mjs/core/lib/core/MmlTree/Attributes.js (0.12 KB)
      [components]/mjs/core/lib/core/MmlTree/MmlNode.js (0.59 KB)
      [components]/mjs/core/lib/core/Tree/Node.js (0.14 KB)
      [components]/mjs/core/lib/util/Entities.js (0.24 KB)
      [components]/mjs/core/lib/util/FunctionList.js (0.08 KB)
      [components]/mjs/core/lib/util/Options.js (0.67 KB)
      [components]/mjs/core/lib/util/PrioritizedList.js (0.09 KB)
      [components]/mjs/core/lib/util/lengths.js (0.34 KB)
      [components]/mjs/core/lib/util/string.js (0.33 KB)
      [components]/mjs/input/tex-base/lib/input/tex/MapHandler.js (0.17 KB)
      [components]/mjs/input/tex-base/lib/input/tex/NodeUtil.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/ParseUtil.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Symbol.js (0.1 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Tags.js (0.26 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexConstants.js (0.09 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexError.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexParser.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/base/BaseItems.js (1.02 KB)
      [mathjax]/mjs/core/MmlTree/MmlNode.js (17.91 KB)
      [mathjax]/mjs/input/tex/Configuration.js (5.69 KB)
      [mathjax]/mjs/input/tex/ParseMethods.js (4.05 KB)
      [mathjax]/mjs/input/tex/SymbolMap.js (3.69 KB)
      [mathjax]/mjs/input/tex/base/BaseMethods.js (39.76 KB)
      unicode-math.js (173.62 KB)

Removing the build block from config.json avoided the errors and gave the same list of files.
Next I couldn't find where the result was written -- makeAll complained that --env is not a valid option. I eventually found the result as node_modules/mathjax-full/bundle/unicode-math.js.
It was identical to the result in my previous attempt.

I changed import './lib/unicode-math.js'; to import '../js/unicode-math.js'; (which I think was just a typo)

No, that was not a typo.  The lib directory is created by the build process, and it is what includes the version check and the creation of the needed MathJax._ subtree for your extension.  The original js file is loaded by the one in lib.
I guess I forgot some of the configuration parameters that you need when you are working outside of the MathJax directory tree itself.  Try using
{
  "build": {
    "id": "[ams]/unicode-math",
    "component": "input/tex/extension/unicode-math",
    "js": "../js",
    "ts": "../ts",
    "targets": ["unicode-math.ts"]
  },
  "webpack": {
    "name": "unicode-math",
    "js": "../js",
    "libs": [
      "components/src/input/tex-base/lib",
      "components/src/core/lib"
    ],
    "dist": ".."
  }
}

I have added js options to both blocks in order to tell MathJax where your .js files are (rather than the default node_modules/mathjax-full/js).  Similarly, I set the tst directory to ../ts(it would have been set automatically if the js directory weremjsorcjs; I'll have to fix that).  The build action uses the .tsfiles, not the.jsones, so thetargetsarray should be to the.tsfiles, and they are relative to thetsdirectory, so when it wasjsthat is why build was looking fornode_modules/mathjax-full/ts/js(the target was a file or directory calledjsin the defaulttsdirectory).  Finally, I added adist` option to the webpack block to tell webpack where to put the resulting file (rather than in the MathJax distribution, where you found it).
I tested this out this time, and there is one more thing.  It turns out you need to change the imports from mathjax-full/js to mathjax-full/mjs, as the remapping in the webpack configuration file doesn't seem to redirect everything properly.  That is why you were getting some [mathjax] references that should have been from [components].  I will need to see if I can fix that.
In any case, see if that doesn't do the trick for you.

Thank you so much for your patience and the additional explanation!
The build process now works for me as you describe (including tweaking the dist property to get keep the folder structure).
The result looks similar to what I had build earlier but with noticeable changes. (As before, it's still 20kb larger than the v3 build.)
Unfortunately, the build still does not work for me in the browser. Now I get
Uncaught ReferenceError: Cannot access 'h' before initialization
    at Object.r (unicode-math.js:1:183)

with h, I think, being MathJax._.input.tex.Symbol.Symbol (the compilate has const f=MathJax._.input.tex.Symbol,h=f.Symbol,x=f.Macro;).
I've updated the build at https://gist.github.com/pkra/5ec245db7831c265267518dbab0c1fb3 with what I'm currently getting.

Oh, for completeness, the file generated at components/lib/unicode-math.js reads:
import {combineWithMathJax} from '../../node_modules/mathjax-full/mjs/components/global.js';
import {VERSION} from '../../node_modules/mathjax-full/mjs/components/version.js';

import * as module1 from '../../js/unicode-math.js';

if (MathJax.loader) {
  MathJax.loader.checkVersion('[ams]/unicode-math', VERSION, 'tex-extension');
}

combineWithMathJax({_: {
  "unicode-math": module1
}});

(PS: Would you suggest to commit that file or git-ignore it?)

Unfortunately, the build still does not work for me in the browser.

You have correctly identified the issue as coming from MathJax._.input.tex.Symbol.Symbol.  It turns out that webpack handles exports in ESM modules differently than it did module.exports in CommonJS modules.  The former create constants that are global to the webpacked file, while the latter used a separate object for each file that collected the exported variables.  Because Symbol is already a global javascript object, the exporting of Symbol in input/tex/Symbol.js overrides the global symbol in ESM modules whereas it didn't in the CommonJS ones.  Some initialization code that webpack includes at the top of the packed file includes references to the original global Symbol object, which occur before the imported const Symbol = MathJax._.input.tex.Symbol.Symbol that is later in the file (the magnification changes both references to h in your case).  This causes the javascript compiler to complain about the use of the constant h before it is defined.
I had made changes to input/tex/Symbol.ts that avoided this problem, but it turns out that these only worked if the original Symbol.ts is imported, but when it is replaced by the lib version in the components directory (that allows sharing of objects across components), it doesn't work.  This was originally reported in #3072.  I tried hard to get a work-around, but the only thing I could come up with that worked in the ESM webpacking was to change the name of Symbol in input/tex/Symbol.ts to Token.  This was done in mathjax/MathJax-src#982.
But you don't seem to be importing Symbol.js, and you say the file is larger than your original version, so I suspect you have not changed the mathjax-full/js imports to mathjax-full/mjs as I recommended at the end of my previous comment.  Without this change, running makeAll in your mj4 branch produces
Building ./components
    Processing:
      unicode-math.ts
      unicode-math.ts

Webpacking ./components
    unicode-math.js (101.57 KB)
      ../js/unicode-math.js (97.97 KB)
      [components]/mjs/core/lib/components/global.js (0.36 KB)
      [components]/mjs/core/lib/core/MmlTree/Attributes.js (0.12 KB)
      [components]/mjs/core/lib/core/MmlTree/MmlNode.js (0.59 KB)
      [components]/mjs/core/lib/core/Tree/Node.js (0.14 KB)
      [components]/mjs/core/lib/util/Entities.js (0.24 KB)
      [components]/mjs/core/lib/util/FunctionList.js (0.08 KB)
      [components]/mjs/core/lib/util/Options.js (0.67 KB)
      [components]/mjs/core/lib/util/PrioritizedList.js (0.09 KB)
      [components]/mjs/core/lib/util/lengths.js (0.34 KB)
      [components]/mjs/core/lib/util/string.js (0.33 KB)
      [components]/mjs/input/tex-base/lib/input/tex/MapHandler.js (0.17 KB)
      [components]/mjs/input/tex-base/lib/input/tex/NodeUtil.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/ParseUtil.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Symbol.js (0.1 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Tags.js (0.26 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexConstants.js (0.09 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexError.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexParser.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/base/BaseItems.js (1.02 KB)
      [lib]/lib/unicode-math.js (0.38 KB)
      [lib]/unicode-math.js (174.48 KB)
      [mathjax]/mjs/components/version.js (0.07 KB)
      [mathjax]/mjs/core/MmlTree/MmlNode.js (17.91 KB)
      [mathjax]/mjs/input/tex/Configuration.js (5.69 KB)
      [mathjax]/mjs/input/tex/ParseMethods.js (4.05 KB)
      [mathjax]/mjs/input/tex/SymbolMap.js (3.69 KB)
      [mathjax]/mjs/input/tex/base/BaseMethods.js (39.76 KB)

and you can see that this is including pieces of [mathjax] that it shouldn't (these files hold be coming from [components]/mjs/input/tex-base/lib or [components]/mjs/core/lib).  In particular, the [mathjax]/mjs/input/tex/SymbolMap.js is forcing [components]/mjs/input/tex-base/lib/input/tex/Symbol.js to be loaded, which is causing the problem I describe above.
Once I change the mathjax-full/js imports to mathjax-full/mjs references, I get
Building ./components
    Processing:
      unicode-math.ts
      unicode-math.ts

Webpacking ./components
    unicode-math.js (70.08 KB)
      ../js/unicode-math.js (97.97 KB)
      [components]/mjs/core/lib/components/global.js (0.36 KB)
      [components]/mjs/core/lib/core/MmlTree/MmlNode.js (0.59 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Configuration.js (0.21 KB)
      [components]/mjs/input/tex-base/lib/input/tex/ParseMethods.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/SymbolMap.js (0.45 KB)
      [components]/mjs/input/tex-base/lib/input/tex/base/BaseMethods.js (0.13 KB)
      [lib]/lib/unicode-math.js (0.38 KB)
      [lib]/unicode-math.js (100.31 KB)
      [mathjax]/mjs/components/version.js (0.07 KB)

which looks correct to me.  I have not run the extension, but it doesn't include Symbol.js, so should not produce the error you are currently getting.  It is also 13KB smaller than your original.  So that looks good too.
Finally, you may want to add
"prefix": "input/tex/extensions",

to the webpack block of your config.json file so that your exports are put in MathJax._.input.tex.extensions['unicode-math'] rather than MathJax._['unicode-math'].

Would you suggest to commit that file or git-ignore it?

We don't include the generated files (the mjs and cjs directories, the bundle directory, or the lib directories) in the MathJax GitHub repositories, but they are included in the npm packages.  The idea is that the GitHub repository doesn't need to track the changes to the generated files, and that people will use the npm package rather than the GitHub repo to get the distribution copy that they actually use.  But if you are trying to make the GitHub repo be the same as the npm package (if you make one), then you would probably want to include it there if you want people to be able to use the component from source code (which would be components/unicode-math.js).  A reason to do with is that it would mean that the MathJax._ values are set so that the components object can be shared by other components (probably unnecessary in your case), and so that the version information is available for the version check (avoids a version warning that you would get otherwise).

Oh! I'm very sorry for missing that last bit about changing from js to mjs.
It looks like this fixes things (as you wrote) -- I'll test more and let you know if I find any other issues.
Thank you again for your patience and help!

I've tried to follow https://github.com/pkra/mathjax-img as close as possible to update my extension but I'm still getting ENOENT errors... here is my attempt: https://github.com/lucasvreis/xparsejax/pull/1
It seems that right here the build script attempts to write to the lib directory that was removed just before the call to processGlobal:
https://github.com/mathjax/MathJax-src/blob/818f68e044c7fdf55e08abdb7042985d6385bc24/components/bin/build#L300
Indeed, if I add a makeDir(LIB) invocation just before processGlobal() it doesn't print errors. But I'm not sure if this is the right fix.
➜  matejax git:(main) ✗ ./node_modules/mathjax-full/components/bin/makeAll components
Building ./components
node:internal/fs/utils:350
    throw err;
    ^

Error: ENOENT: no such file or directory, open 'lib/xparsejax.js'
    at Object.openSync (node:fs:603:3)
    at Object.writeFileSync (node:fs:2324:35)
    at processGlobal (/tmp/xparsejax/node_modules/mathjax-full/components/bin/build:300:6)
    at Object.<anonymous> (/tmp/xparsejax/node_modules/mathjax-full/components/bin/build:399:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: 'lib/xparsejax.js'
}

Node.js v18.17.1
    Command failed: node '/tmp/xparsejax/node_modules/mathjax-full/components/bin/build' 'mjs'
node:internal/fs/utils:350
    throw err;
    ^

Error: ENOENT: no such file or directory, open 'lib/xparsejax.js'
    at Object.openSync (node:fs:603:3)
    at Object.writeFileSync (node:fs:2324:35)
    at processGlobal (/tmp/xparsejax/node_modules/mathjax-full/components/bin/build:300:6)
    at Object.<anonymous> (/tmp/xparsejax/node_modules/mathjax-full/components/bin/build:399:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: 'lib/xparsejax.js'
}

Node.js v18.17.1

Webpacking ./components
    xparsejax.js (3.02 KB)
      [build]/xparsejax.js (6.84 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Configuration.js (0.21 KB)
      [components]/mjs/input/tex-base/lib/input/tex/ParseUtil.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TexError.js (0.07 KB)
      [components]/mjs/input/tex-base/lib/input/tex/Token.js (0.1 KB)
      [components]/mjs/input/tex-base/lib/input/tex/TokenMap.js (0.45 KB)
      [js]/xparsejax.js (5.92 KB)

@lucasvreis, I'm glad you worked out a solution.
The LIB directory is usually created during the processList() call, and you are right that that occurs due to export commands in the processed files.  If there is no export, no lib file is made, and the directory is never re-created.  So your adding the export did the trick.  It's not that the configuration has to be exported, but something did need to be exported in order to trigger the creation of the directory.
On the other hand, if there are no exports, there is no need for a build section in the config.json file at all, as the build is only needed to allow the exported object to be shared with other components that might need them.  But perhaps it would be best to do a makeDir(LIB) as you suggested originally, just in case someone does include one unnecessarily.

Thanks a lot @dpvc, my knowledge of JS is about the minimum I need to get my things to work 😅. I can confirm that if I remove the build section the extension still works.

Great!  Thanks for the confirmation.


DataGridRow Drag and Drop Visual does not display most of the time

Describe the bug

When performing a Drag and Drop operation with DataGridRow, about 80% of the time the Row visual will not display during dragging.   It does not matter whether the visual is specifically set in code, or the default action.
Steps to reproduce the bug

Steps to reproduce the behavior:

Add a DataGrid with rows on a page:
Enable Drag and Drop for DataGridRows as necessary:
Peform drag operation and observe that the Visual of the row data is often omitted from the drag.  Instead you may see the Caption and/or Glyph

private void OnLoadingRow(object sender, Microsoft.Toolkit.Uwp.UI.Controls.DataGridRowEventArgs e)
        {
            e.Row.CanDrag = true;
            e.Row.AllowDrop = true;
            e.Row.DragStarting += Row_DragStarting;
            e.Row.DropCompleted += Row_DropCompleted;
            e.Row.DragEnter += Row_DragEnter;
            e.Row.DragOver += Row_DragOver;
            e.Row.DragLeave += Row_DragLeave;
            e.Row.Drop += Row_Drop;
        }

Optionally, code the visual yourself
private async void Row_DragStarting(UIElement sender, DragStartingEventArgs args)
        {
            args.AllowedOperations = Windows.ApplicationModel.DataTransfer.DataPackageOperation.Move;

            if (sender is DataGridRow row)
            {
                var def = args.GetDeferral();
                var rtb = new RenderTargetBitmap() { };
                await rtb.RenderAsync(row);
                IBuffer pixelBuffer = await rtb.GetPixelsAsync();
                SoftwareBitmap b = SoftwareBitmap.CreateCopyFromBuffer(pixelBuffer, BitmapPixelFormat.Bgra8, (int)rtb.PixelWidth, (int)rtb.PixelHeight);

                args.DragUI.SetContentFromSoftwareBitmap(b, new Point(rtb.PixelWidth / 2, rtb.PixelHeight / 2));
                def.Complete();
            }
        }

Expected behavior
Automatic rendering of the Drag Visual for a DataGridRow
Screenshots

Version Info

NuGet package version:

Windows app type:

UWP
Win32

YES

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

October 2020 Update (19042)
YES

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
YES

Xbox

Surface Hub

IoT

Additional context

I observe a similar behavior when starting the drag operation by StartDragAsync. In some cases, the correct behavior is triggered and the element gets moved around. But sometimes I just see the initial DataPackageOperation::None. The events DragStarting and DragOver are triggered correctly. Attaching modifications to DragUIOverride in the DragOver works fine. It is the attachment at drag start which fails. The frequency of the failure is system-dependent, which could point in direction of a race.

So there are multiple issues here.  As @jschwizer99 mentions, the DragStarting can fail to render a visual at random times.  Also, as can be observed in the animation above, the DragOver event is not raised properly.  When entering a DataGridRow, I have applied a Margin to add separation to the rows as a visual indicator of the drop location.  The color of the grid below is Gray as can be seen.  However, no DragOver event is raised when dragging over the Margin area of the rows, and that event is not passed to the visible DataGrid surface either.

We just debugged this issue last week. This is unfortunately a bug in Windows specific to non-UWP apps. It isn't clear right now if we can fix this in WinUI3. On the plus side, this has been fixed in Windows, and is available in current Dev Channel builds from the Windows Insider Program.

Note: In theory it is possible to avoid the issue if you can avoid any awaits (and taking a deferral) in your DragStarting handler. But that likely isn't reasonable for most uses to already have the bitmap ready.

Since #4528 is the same issue, I'm going to close this issue. You can track that one for status.


input_check_repeat()

Retriggers every x-frames after y-frames of pre-delay. Can also be run in milliseconds mode (like other input buffering values).

Implemented!


X needs to be a torch tensor not ndarray

https://github.com/kevinzakka/nca/blob/574cd402a2d28f38357e5451e7a2b453887eb90b/nca.py#L160
code breaks if ndarray input at X.is_cuda

The docstring is incorrect, should be a torch tensor my bad! I'll update this in a bit!

Fixed in newest commit.


receive: Replica count exceeds replication factor although it does not?

level=debug ts=2021-05-27T00:57:03.170460586Z caller=handler.go:641 component=receive component=receive-handler msg="failed to handle request" err="replica count exceeds replication factor"
replicas: 6
receive.replication-factor=2

I don't really understand this, replica does not exceed replication 🤔

This might need more info, I suspect 2 replicas were just up. Worth to document this error/failure mode better

This is saying that a receiver A got a forwarded message from receiver B.
B said "this is copy number 6 of the time series."
A looks at it's configuration and says "huh, replication factor is only 2, so why did i get copy number 6? This must be a mistake"

I don't think we need to do anything serious here apart from maybe re-wording the error message slightly. Perhaps this is slightly clearer?

request replica number exceeds receiver's replication factor


npm start fails: sh: react-scripts: command not found

Is this a bug report?
Yes

Can you also reproduce the problem with npm 4.x?

yes
Which terms did you search for in User Guide?

(Write your answer here if relevant.)
Environment

node -v:  v6.11.1
npm -v: 5.3.0
yarn --version (if you use Yarn):
npm ls react-scripts (if you haven’t ejected): 1.0.14

Then, specify:

Operating system: OSX Sierra 10.12.6
Browser and version (if relevant):

Steps to Reproduce

(Write your steps here:)

npm install -g create-react-app
create-react-app my-app ... cd my-app/
npm start

Expected Behavior

(Write what you thought would happen.)
Starts the development server.
Actual Behavior

(Write what happened. Please add screenshots!)

2017-10-09T08_48_47_494Z-debug.log
Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

npm 5.3 is know to be buggy. Please update to more recent versions.
That said you can probably repair the project by running npm install in its folder.

Can you also reproduce the problem with npm 4.x?

yes

Are you sure? Please attach a screenshot demonstrating that.

Thank you for feedback,
Unfortunately it is still the same with npm 4.x...

creat-react-app shows a warning, if that is connected in any ways:

Oh, it seems like you use Yarn. So the npm version wasn't relevant.
Can you paste the output of ls node_modules?

I installed with npm and created the app with npm, I don't know why it suggested me yarn...

After updating npm from 3.10.3 to 5.4.2 the 'npm install' went smoothly, and the  'react-scripts' could be used as expected.

@sundvall do you know how to update npm to 5.4.2? I have tried multiple methods and nothing worked so far.

npm -v gave the following hint:
npm i -g npm
Although I used another:
npm install npm@latest -g

Uninstall Yarn if you're having issues caused by Yarn.
Then report them to Yarn please.
You are not using npm—if you have Yarn installed, CRA will attempt to use it.
You can delete Yarn from your system and try again if you don't want to use it.

I removed yarn and updated npm to 5.5.1 and the problem persist.
create-react-app is using webpack? I have the same issue trying to use webpack on my computer...

Hi @JulienDemarque
try this:
npm ls react
the response should be something like this:
Marcelo-Rizzardo:test marcelo$ npm ls react
<EMAIL_ADDRESS>/Users/marcelo/Development/test
├──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>deduped

Notice, it is important you to have this<EMAIL_ADDRESS>line.
how is it for you?

Here is the result, looks good:
Juliens-MacBook-Pro:my-app juliendemarque$ npm ls react
<EMAIL_ADDRESS>/Users/juliendemarque/Desktop/Personnal matters/Programming:Coding/testreact/my-app
├──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>deduped

one more:
if you navigate to node_modules/.bin/ can you find the file react-scripts in there?
what if you try running: node_modules/.bin/react-scripts start is there any issue?

react-scripts are there but the commant didn't work, did you mean "npm react-scripts start"?
Juliens-MacBook-Pro:node_modules juliendemarque$ cd .bin
Juliens-MacBook-Pro:.bin juliendemarque$ ls
acorn			errno			html-minifier		mime			semver			uglifyjs
ansi-html		escodegen		jest			mkdirp			sha.js			uuid
babylon			esgenerate		jest-runtime		multicast-dns		sshpk-conv		webpack
browserslist		eslint			js-yaml			rc			sshpk-sign		webpack-dev-server
cssesc			esparse			jsesc			react-scripts		sshpk-verify		which
csso			esvalidate		json5			regjsparser		strip-indent
detect			handlebars		loose-envify		rimraf			svgo
detect-port		he			miller-rabin		sane			sw-precache
Juliens-MacBook-Pro:.bin juliendemarque$ react-scripts start
-bash: react-scripts: command not found
Juliens-MacBook-Pro:.bin juliendemarque$

I am having this same issue in multiple projects. I tried npm start in a vanilla create-react-app project, with no modifications, and am still reaching this error. I then tried updating npm globally using npm i -g npm, then rm -rf node_modules && npm i --save and still reach the error. Really looking forward to finding a solution here. 👎

@marcelorl I have that exact same output when I run npm ls react. Is your npm start functioning? Can I see your package.json?
<EMAIL_ADDRESS>/Users/ka_stewart/devmtn:notes/React.js/calculator-app
├──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>deduped

Here is the full content of package.json:
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.0.0",
"react-dom": "^16.0.0",
"react-scripts": "1.0.14"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}

Some suggestions. Try

Uninstall yarn.

npm uninstall -g yarn

Do a cache clean.

npm cache clean -f

If still doesn't work, try to downgrade/upgrade your npm version to npm 5.4.2 or npm 5.3.*

npm install -g<EMAIL_ADDRESS>

There's nothing we can do on our side to solve this.
If you are having this issue, remove package-lock.json if you have one, remove yarn.lock if you have one, and remove node_modules.
Then, if you use Yarn, run yarn. If after this yarn start doesn't work, upload your project to GitHub and file an issue in Yarn repository.
If you use npm, run npm install. If after this npm start doesn't work, upload your project to GitHub and file an issue in npm repository.


One progress for multiple downloads in parallel

Hello! If I have multiple downloads in parallel. What is the best way to have just one total progress for all the downloads? Are the progress callbacks happen on the main thread? Or should I have some synchronized method to store and access values of individual progresses and sum them together to show in UI?

In your case, you can just hold a task list, then the list size is total progress, after finishing a task, you increase your current progress. You cannot sum the individual progresses together because we don't know every task's size at the beginning.


[CI] Run linux integration tests on all branches

What does this PR do?
#30272 was missing a line to run the integration tests.
Motivation
Fix #30272 typo.
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge

/merge


Submit PySceS 0.9.9

id: pysces
version: 0.9.9
specificationsUrl: https://raw.githubusercontent.com/biosimulators/Biosimulators_PySCeS/d4622584984966e00b0f91906c1682a305431b24/biosimulators.json
specificationsPatch:
version: 0.9.9
image:
url: ghcr.io/biosimulators/biosimulators_pysces/pysces:0.9.9
validateImage: true
commitSimulator: true

The previous run failed due to this workflow not having permissions to write simulators. This is fixed.

Thank you @biosimulators-daemon for your submission to the BioSimulators simulator validation/submission system!
The BioSimulators validator bot is validating the specifications of your simulator, validating your Docker image and committing your simulator to the BioSimulators registry.
We will discuss any concerns with your submission in this issue.
A complete log of your simulator submission job is available here.

The specifications of your simulator is valid!

Summary of tests

Executed 56 test cases

Passed 45 test cases:

cli.CliDescribesSupportedEnvironmentVariablesInline
cli.CliDisplaysHelpInline
cli.CliDisplaysVersionInformationInline
combine_archive.CombineArchiveHasSedDocumentsInNestedDirectories
combine_archive.CombineArchiveHasSedDocumentsWithSameNamesInDifferentInNestedDirectories
combine_archive.CombineArchiveTestCase
combine_archive.WhenACombineArchiveHasAMasterFileSimulatorOnlyExecutesThisFile
combine_archive.WhenACombineArchiveHasNoMasterFileSimulatorExecutesAllSedDocuments
docker_image.DeclaresSupportedEnvironmentVariables
docker_image.DefaultUserIsRoot
docker_image.HasBioContainersLabels
docker_image.HasOciLabels
log.SimulatorReportsTheStatusOfTheExecutionOfCombineArchives
log.SimulatorReportsTheStatusOfTheExecutionOfSedDocuments
log.SimulatorReportsTheStatusOfTheExecutionOfSedOutputs
log.SimulatorReportsTheStatusOfTheExecutionOfSedTasks
published_project.SimulatorCanExecutePublishedProject:sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations
published_project.SimulatorCanExecutePublishedProject:sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation
published_project.SimulatorCanExecutePublishedProject:sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution
results_report.SimulatorGeneratesReportsOfSimulationResults
sedml.SimulatorCanResolveModelSourcesDefinedByUriFragments
sedml.SimulatorCanResolveModelSourcesDefinedByUriFragmentsAndInheritChanges
sedml.SimulatorProducesLinear2DPlots
sedml.SimulatorProducesLogarithmic2DPlots
sedml.SimulatorProducesMultiplePlots
sedml.SimulatorProducesReportsWithCuratedNumberOfDimensions
sedml.SimulatorSupportsAddReplaceRemoveModelElementChanges
sedml.SimulatorSupportsAlgorithmParameters
sedml.SimulatorSupportsComputeModelChanges
sedml.SimulatorSupportsDataGeneratorsWithDifferentShapes
sedml.SimulatorSupportsDataSetsWithDifferentShapes
sedml.SimulatorSupportsModelAttributeChanges
sedml.SimulatorSupportsModelsSimulationsTasksDataGeneratorsAndReports
sedml.SimulatorSupportsMultipleReportsPerSedDocument
sedml.SimulatorSupportsMultipleTasksPerSedDocument
sedml.SimulatorSupportsRepeatedTasksWithChanges
sedml.SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables
sedml.SimulatorSupportsRepeatedTasksWithFunctionalRanges
sedml.SimulatorSupportsRepeatedTasksWithMultipleSubTasks
sedml.SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges
sedml.SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks
sedml.SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes
sedml.SimulatorSupportsRepeatedTasksWithVectorRanges
sedml.SimulatorSupportsUniformTimeCoursesWithNonZeroInitialTimes
sedml.SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes

Failed 0 test cases

Skipped 11 test cases:

published_project.SimulatorCanExecutePublishedProject:bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ
published_project.SimulatorCanExecutePublishedProject:bngl/test-bngl
published_project.SimulatorCanExecutePublishedProject:sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint
published_project.SimulatorCanExecutePublishedProject:sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis
published_project.SimulatorCanExecutePublishedProject:sbml-core/Tomida-EMBO-J-2003-NFAT-translocation
published_project.SimulatorCanExecutePublishedProject:sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML
published_project.SimulatorCanExecutePublishedProject:sbml-core/Vilar-PNAS-2002-minimal-circardian-clock
published_project.SimulatorCanExecutePublishedProject:sbml-fbc/Escherichia-coli-core-metabolism
published_project.SimulatorCanExecutePublishedProject:sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling
sedml.SimulatorProducesLinear3DPlots
sedml.SimulatorProducesLogarithmic3DPlots

Warnings
published_project.SimulatorCanExecutePublishedProject:sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations (4.1 s)
Required model formats and simulation algorithms for SED tasks:

Format: format_2585
Algorithm: KISAO_0000019

Warnings:
Plots were not produced:
  BIOMD0000000912_sim.sedml/plot_1

Extra plots were not produced:
  BIOMD0000000912_sim.sedml/plot_1.pdf

Log:
Matplotlib created a temporary config/cache directory at /tmp/matplotlib-kjk7bsj_ because the default path (/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running

PySCeS defaults to matplotlib's TKagg backend if not specified                      in the user configuration file, set "matplotlib_backend = <backend>"
Attempting alternate pitcon import ...
Attempting alternate nleq2 import ...
Found 1 SED-ML documents with 1 models, 1 simulations, 1 tasks, 1 reports, and 1 plots:
  BIOMD0000000912_sim.sedml:
    Tasks (1):
      BIOMD0000000912_sim
    Reports (1):
      BIOMD0000000912_sim: 4 data sets
    Plots (1):
      plot_1: 3 curves

Executing SED-ML file 0: BIOMD0000000912_sim.sedml ...

Bundling outputs ...
Cleaning up ...

============= SUMMARY =============
Executed 1 COMBINE/OMEX archives:
  Archives (1):
    Succeeded: 1
    Skipped: 0
    Failed: 0
  Tasks (1):
    Succeeded: 1
    Skipped: 0
    Failed: 0
  Outputs (2):
    Succeeded: 2
    Skipped: 0
    Failed: 0

The image for your simulator is valid!

The validation/submission of your simulator failed.
- 401 Client Error: Unauthorized for url: https://auth.biosimulations.org/oauth/token

The complete log of your validation/submission job, including further information about the failure, is available here.
Once you have fixed the problem, edit the first block of this issue to re-initiate this validation.
The BioSimulators Team is happy to help. Questions and feedback can be directed to the BioSimulators Team by posting comments to this issues that reference the GitHub team @biosimulators/biosimulators (without the backticks).

Thank you @biosimulators-daemon for your submission to the BioSimulators simulator validation/submission system!
The BioSimulators validator bot is validating the specifications of your simulator, validating your Docker image and committing your simulator to the BioSimulators registry.
We will discuss any concerns with your submission in this issue.
A complete log of your simulator submission job is available here.

The specifications of your simulator is valid!

The image for your simulator is valid!

Summary of tests

Executed 55 test cases

Passed 44 test cases:

cli.CliDescribesSupportedEnvironmentVariablesInline
cli.CliDisplaysHelpInline
cli.CliDisplaysVersionInformationInline
combine_archive.CombineArchiveHasSedDocumentsInNestedDirectories
combine_archive.CombineArchiveHasSedDocumentsWithSameNamesInDifferentInNestedDirectories
combine_archive.WhenACombineArchiveHasAMasterFileSimulatorOnlyExecutesThisFile
combine_archive.WhenACombineArchiveHasNoMasterFileSimulatorExecutesAllSedDocuments
docker_image.DeclaresSupportedEnvironmentVariables
docker_image.DefaultUserIsRoot
docker_image.HasBioContainersLabels
docker_image.HasOciLabels
log.SimulatorReportsTheStatusOfTheExecutionOfCombineArchives
log.SimulatorReportsTheStatusOfTheExecutionOfSedDocuments
log.SimulatorReportsTheStatusOfTheExecutionOfSedOutputs
log.SimulatorReportsTheStatusOfTheExecutionOfSedTasks
published_project.SimulatorCanExecutePublishedProject:sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations
published_project.SimulatorCanExecutePublishedProject:sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation
published_project.SimulatorCanExecutePublishedProject:sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution
results_report.SimulatorGeneratesReportsOfSimulationResults
sedml.SimulatorCanResolveModelSourcesDefinedByUriFragments
sedml.SimulatorCanResolveModelSourcesDefinedByUriFragmentsAndInheritChanges
sedml.SimulatorProducesLinear2DPlots
sedml.SimulatorProducesLogarithmic2DPlots
sedml.SimulatorProducesMultiplePlots
sedml.SimulatorProducesReportsWithCuratedNumberOfDimensions
sedml.SimulatorSupportsAddReplaceRemoveModelElementChanges
sedml.SimulatorSupportsAlgorithmParameters
sedml.SimulatorSupportsComputeModelChanges
sedml.SimulatorSupportsDataGeneratorsWithDifferentShapes
sedml.SimulatorSupportsDataSetsWithDifferentShapes
sedml.SimulatorSupportsModelAttributeChanges
sedml.SimulatorSupportsModelsSimulationsTasksDataGeneratorsAndReports
sedml.SimulatorSupportsMultipleReportsPerSedDocument
sedml.SimulatorSupportsMultipleTasksPerSedDocument
sedml.SimulatorSupportsRepeatedTasksWithChanges
sedml.SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables
sedml.SimulatorSupportsRepeatedTasksWithFunctionalRanges
sedml.SimulatorSupportsRepeatedTasksWithMultipleSubTasks
sedml.SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges
sedml.SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks
sedml.SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes
sedml.SimulatorSupportsRepeatedTasksWithVectorRanges
sedml.SimulatorSupportsUniformTimeCoursesWithNonZeroInitialTimes
sedml.SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes

Failed 0 test cases

Skipped 11 test cases:

published_project.SimulatorCanExecutePublishedProject:bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ
published_project.SimulatorCanExecutePublishedProject:bngl/test-bngl
published_project.SimulatorCanExecutePublishedProject:sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint
published_project.SimulatorCanExecutePublishedProject:sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis
published_project.SimulatorCanExecutePublishedProject:sbml-core/Tomida-EMBO-J-2003-NFAT-translocation
published_project.SimulatorCanExecutePublishedProject:sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML
published_project.SimulatorCanExecutePublishedProject:sbml-core/Vilar-PNAS-2002-minimal-circardian-clock
published_project.SimulatorCanExecutePublishedProject:sbml-fbc/Escherichia-coli-core-metabolism
published_project.SimulatorCanExecutePublishedProject:sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling
sedml.SimulatorProducesLinear3DPlots
sedml.SimulatorProducesLogarithmic3DPlots

Warnings
published_project.SimulatorCanExecutePublishedProject:sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations (4.3 s)
Required model formats and simulation algorithms for SED tasks:

Format: format_2585
Algorithm: KISAO_0000019

Warnings:
Plots were not produced:
  BIOMD0000000912_sim.sedml/plot_1

Extra plots were not produced:
  BIOMD0000000912_sim.sedml/plot_1.pdf

Log:
Matplotlib created a temporary config/cache directory at /tmp/matplotlib-8d2myif8 because the default path (/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running

PySCeS defaults to matplotlib's TKagg backend if not specified                      in the user configuration file, set "matplotlib_backend = <backend>"
Attempting alternate pitcon import ...
Attempting alternate nleq2 import ...
Found 1 SED-ML documents with 1 models, 1 simulations, 1 tasks, 1 reports, and 1 plots:
  BIOMD0000000912_sim.sedml:
    Tasks (1):
      BIOMD0000000912_sim
    Reports (1):
      BIOMD0000000912_sim: 4 data sets
    Plots (1):
      plot_1: 3 curves

Executing SED-ML file 0: BIOMD0000000912_sim.sedml ...

Bundling outputs ...
Cleaning up ...

============= SUMMARY =============
Executed 1 COMBINE/OMEX archives:
  Archives (1):
    Succeeded: 1
    Skipped: 0
    Failed: 0
  Tasks (1):
    Succeeded: 1
    Skipped: 0
    Failed: 0
  Outputs (2):
    Succeeded: 2
    Skipped: 0
    Failed: 0

Your submission was committed to the BioSimulators registry. Thank you!
Future submissions of subsequent versions of pysces to the BioSimulators registry will be automatically validated. These submissions will not require manual review by the BioSimulators Team.


Add a Gitter chat badge to readme.md

flarum/flarum now has a Chat Room on Gitter
@tobscure has just created a chat room. You can visit it here: https://gitter.im/flarum/flarum.
This pull-request adds this badge to your readme.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

@tobscure Can we add the badge to flarum/core, too?

Yes, I'll revamp the whole flarum/core readme (and this one) this week :)


Add support for the mobile app

ref https://github.com/vslinko/obsidian-zoom/discussions/16

I support this request.

Hello @vslinko
I did some investigation about support on Mobile that could help to solve this issue 🙏
My comment can be read here → https://github.com/vslinko/obsidian-zoom/discussions/16#discussioncomment-3286790
I hope you could bring support on mobile 🙏🙏🙏
I wish you a fantastic day!

Implemented in #78


Routing fails after crashing with  "Scheduler Flush"

Version
3.1.2
Reproduction link
https://github.com/Anadyne/vue-router-bug-report
Steps to reproduce

Checkout the project
Install the Quasar CLI  following this
Run with: quasar dev
When the browser opens automatically, open console (F12)
Push buttons "Foo" and "Bar" back and forth. You'll see the errors and warning in console

What is expected?
Navigation between pages should work smoothly
What is actually happening?
Many errors occur, which eventually block Router navigation and Refreshing with F5 is required to get things back to work.
Router error: [Vue Router warn]: uncaught error during route navigation:
TypeError: _ctx.status is undefined

This uses Quasar Framework
Can't reduce to a smaller size
The project uses Typescript
Navigation stucks to a page after this error occurs in production and refreshing with  F5  is required which is annoying

As described in the new issue website, please open the issue on Quassar first or use the discord chat to ask questions

@posva
This has nothing to do with Quasar. I just updated our app from 3.0.10 to 3.1.2, and routing is broken now. This is a custom app with only vue and vue-router so no framework.
It is really hard to debug as Vue is of no help :disappointed:
[Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next
  at <RouterView>
  at <App>
warn @ runtime-core.esm-bundler.js?5c40:38
logError @ runtime-core.esm-bundler.js?5c40:211
handleError @ runtime-core.esm-bundler.js?5c40:203
callWithErrorHandling @ runtime-core.esm-bundler.js?5c40:157
flushJobs @ runtime-core.esm-bundler.js?5c40:386
Promise.then (async)
queueFlush @ runtime-core.esm-bundler.js?5c40:286
queueCb @ runtime-core.esm-bundler.js?5c40:308
queuePreFlushCb @ runtime-core.esm-bundler.js?5c40:311
scheduler @ runtime-core.esm-bundler.js?5c40:2061
run @ reactivity.esm-bundler.js?a1e9:183
trigger @ reactivity.esm-bundler.js?a1e9:189
set value @ reactivity.esm-bundler.js?a1e9:764
finalizeNavigation @ vue-router.esm-bundler.js?6c02:3140
eval @ vue-router.esm-bundler.js?6c02:3013
Promise.then (async)
pushWithRedirect @ vue-router.esm-bundler.js?6c02:2984
pushWithRedirect @ vue-router.esm-bundler.js?6c02:2957
push @ vue-router.esm-bundler.js?6c02:2915
navigate @ vue-router.esm-bundler.js?6c02:2081
callWithErrorHandling @ runtime-core.esm-bundler.js?5c40:154
callWithAsyncErrorHandling @ runtime-core.esm-bundler.js?5c40:163
invoker @ runtime-dom.esm-bundler.js?830f:367
runtime-core.esm-bundler.js?5c40:5726 Uncaught (in promise) TypeError: Cannot read property 'type' of null
    at unmountComponent (runtime-core.esm-bundler.js?5c40:5726)
    at unmount (runtime-core.esm-bundler.js?5c40:5644)
    at unmountChildren (runtime-core.esm-bundler.js?5c40:5772)
    at unmount (runtime-core.esm-bundler.js?5c40:5668)
    at unmountChildren (runtime-core.esm-bundler.js?5c40:5772)
    at unmount (runtime-core.esm-bundler.js?5c40:5668)
    at unmountChildren (runtime-core.esm-bundler.js?5c40:5772)
    at unmount (runtime-core.esm-bundler.js?5c40:5668)
    at unmountComponent (runtime-core.esm-bundler.js?5c40:5743)
    at unmount (runtime-core.esm-bundler.js?5c40:5644)

Furthermore, this has reported multiple times but has been closed (#3940, #3941,#3942, #3975, #3780, and more). I will try to make a reproducable case but that will take a lot of time, because our app is really big.
From my experience and looking at this huge chunk of trace it looks like something gets deleted before the unmount is called. Therefore, Vue (or router) is trying to unmout a null reference. This is a swing in the dark.

This is a very difficult problem, and I have encountered it.

Getting the same issue. Unfortunately as @ilicmarko mentioned, it's super hard to debug and get more context and reproduce at smaller scale because it seems like the stack trace stops in runtime-core and vue-router.

Same issue.
3.1.0-beta.7 works.
3.1.0 don't work.

Same here with:
"vue": "^3.2.41",
"vue-router": "^4.1.5",

I'm facing it everywhere, some places I've found it's related to watching route when it hasn't changed and some kind of run condition.
I boiled down the issue to this line which could simply have a conditional to prevent breaking and maybe throw a warning so it's possible to debug what's the actual issue:
const isAsyncWrapper = (i) => !!i.type.__asyncLoader;

Same here the problem with routing and change the layout in Nuxt v3.0.0
const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
the type is undefined


Loading by alternative keys

Is there a way to use the 'Loading by alternative keys' DataLoader pattern in DGS?
https://github.com/graphql/dataloader#loading-by-alternative-keys

I'm not quite understanding what's written in the guide. Wouldn't this just be two different dataloaders?

I've looked into this further. Yes, there would be two different loaders. One with <K1, V> and the other with <K2, V>. Whenever an entity is loaded by one of the loaders, it calls prime on the other dataloader.
Is there a way to get another dataloader from within a dataloader's load implementation?

Fixed by #443


ectoplasmic specialization

I would like to see "apical ectoplasmic specialization” and “basal ectoplasmic specialization” added to the GO ontology under the parent term "cell-cell adherens junction” (GO:0005913).  The definitions could be "Testis-specific adherens junction between mature spermatids and Sertoli cells at the luminal end of the Sertoli cell.” and " Testis-specific adherens junction between mature Sertoli cells involved in establishing the blood-testis barrier of the Sertoli cell.”, respectively.  Synonyms: apical ES, basal ES.  Examples can be found in PMID:23546604, PMID:22332112.

[Term]
+id: GO:0061831
+name: apical ectoplasmic specialization
+namespace: cellular_component
+def: "Testis-specific adherens junction between mature spermatids and Sertoli cells at the luminal end of the Sertoli cell." [GOC:dph, PMID:22332112, PMID:23546604]
+synonym: "apical ES" EXACT []
+is_a: GO:0005913 ! cell-cell adherens junction
+
+[Term]
+id: GO:0061832
+name: basal ectoplasmic specialization
+namespace: cellular_component
+def: "Testis-specific adherens junction between mature Sertoli cells involved in establishing the blood-testis barrier of the Sertoli cell." [GOC:dph, PMID:22332112, PMID:23546604]
+synonym: "basal ES" EXACT []
+is_a: GO:0005913 ! cell-cell adherens junction


Bundling applictions...

Is it possible... I have come so far as to set it up in parts and the installer copys the installation msi packages to the programfolder... However i want to be able to run theese installation packages aswell....
Thanks for an awesome scritpt...

That is not supported. Someone would need to find out what the WiX syntax for that is and then add it. I'm not sure if the basic widget sets provide for that.

<!-- Setup post install operations -->
<CustomAction Id="PostInstall"
              FileKey="key_to_post_install_exe"
              ExeCommand=""
              Execute="deferred"
              Return="check"
              Impersonate="no" />

<!-- Setup pre uninstall operations -->
<CustomAction Id="PreUninstall"
              FileKey="key_to_pre_uninstall_exe"
              ExeCommand=""
              Execute="deferred"
              Return="ignore"
              Impersonate="no" />

<!-- Add pre and post install operations to the installer -->
<InstallExecuteSequence>
  <Custom Action="PostInstall" Before="InstallFinalize">NOT Installed</Custom>
  <Custom Action="PreUninstall" After="InstallInitialize">Installed</Custom>
</InstallExecuteSequence>


Doesn`t recognise commands

Hey,
The program is not working at all. It almost never recognises commands.  I need to be very lucky for the program to recognise the command and even when it does, totally wrong command activates. For example I did "team hold fire" and it ordered them to open fire.

Hello,
I am just a simple user, but I have a clue : did you calibrate the Windows Speech Recognition tool first?

And how was it fixed?  Others might be having the same problem.


Not showing the contents of all children under tags.scope in Show Preview

Please select the area your bug applies to. (Multiple selections are Possible)

[ ] Onboard. Initial vault setup and import/export pods
[ ] Create. Note creation, lookup, snippets and templates
[ ] Retrieve. Backlinks, references, graph view
[ ] Structure. Refactoring, multi-vault and schemas
[ ] Publish. Sharing your repo with the world
[x] Misc (Choose this if your not sure)

Describe the bug
Getting error reading file in Show Preview instead of showing the contents of all children under tags.scope
To Reproduce
Steps to reproduce the behavior:

Go to [[Customer Support|a.community.sop.customer-support]]
Run Dendron: Show Preview
Scroll down to "Scopes" section
See error "Error Reading file"

Expected behavior
It must show the contents of all children under tags.scope
Screenshots

Desktop (please complete the following information)

OS: MacOS Big Sur
Browser: Chrome
Version: 11.6

Additional context
Add any other context about the problem here.
Dendron Log file
Please attach the output of > Dev:Dendron: Open Logs here

Thanks @johndendron for reporting the issue. I can repro this one.


git clone https://github.com/tesseract-ocr/tesseract/    fails

Environment
OSX 10.13.3
git 2.16.2 installed with homebrew
Cloning tesseract to compile from source, as per instructions here
Current Behavior:
e$ git clone https://github.com/tesseract-ocr/tesseract/
Cloning into 'tesseract'...
dyld: Symbol not found: __cg_jpeg_resync_to_restart
  Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
  Expected in: /usr/local/lib/libJPEG.dylib
 in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO

Expected Behavior:
Usual git clone behaviour: tesseract folder created with source code

This is not tesseract isssue that your local git command fails...


When opening a storybook file eslint has warnings

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
I'm using vim, but that just uses eslint_d like vscode.

open apps/docs/stories/business-form.stories.tsx
The first line will state that there are errors

Expected behavior
Not to have warnings from eslint
Screenshots
Please add screenshots to help explain your problem. Consider the following:

Videos
Please consider sharing videos or screen recordings of reported issues if applicable.

Note - Github supports .mp4 and .mov files for sharing videos.
If sharing a screen recording, please ensure the developer console or network tab is visible in the recording.

Code Samples
Please consider sharing snippets or samples of your implementation code.

Please be mindful of sharing snippets that reveal authentication tokens or secret variables. When sharing code samples, please be careful to mask or hide critical info.

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context

Web Component Version: [e.g. 1.0.0]
Add any other context about the problem here.

It looks like a bulk of the problem was my eslint_d was stuck and when I deleted the global install things started working better again.

I updated the PR to fix eslint in the storybook app and web components.


Add class_exists() check

I have ran into an issue within a few projects (specifically those involving wp-cli) where I am running into pre-defined class conflicts...
Consider taking the approach done by wp-cli.
if ( ! class_exists( 'Spyc' ) ) {
    class Spyc {
    ...
    }
}

+1 Needed for auto updates with wp-cli.

+1 Needed for WordPress plugin compatibilities. Right now I have to resort to a rather ugly hack to achieve the same effect.

Thanks! 👍
Yay for supported repos! 💯


Referenced Git Project not Consistent with Documented Tutorial

Hello,
When following along with this tutorial and getting the noted Git project, I get the following inconsistencies:

Running "docker-compose", browser brings up the Swagger UI (had to add/update launchSettings.json to docker-compose and specify the WebApp/WebApplication1 as the 'Launch service name')

Project screen captures and text noted in the tutorial for the "WebApp" are actually called, "WebApplication1" in the Git project

When running docker-compose locally, rendering of "WebApp" launch page differs from screen capture in the tutorial (slight UI differences in format and verbiage), one such issue is that your Razer code has a "$" sign for the temperature, seems like left over code from the "Pizza Orders" example code or must have been coding this during your lunch break while having Pizza : )  ?
     <tr>
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>     </tr>

When deploying to cluster, we get an error stating we are not in development mode and needed to add the following to get that addressed:
     - name: ASPNETCORE_ENVIRONMENT
       value: Development

Then once deployed, we get an error stating, "HttpRequestException: Name or service not known  (host.docker.internal:51080)". To address this, we needed to add this in the "env" section of the deploy-webapp.yml
    - name: backendUrl
      value: http://webapi

And it seems "WebApiBaseAddress" entry can be removed from, "deploy-webapp.yml" or was that the preferred naming for the configuration entry?

Running this:

az aks browse --resource-group exploredocker-aks-rg --name explore-docker-aks
Navigates me to this address:
https://portal.azure.com/#resource/subscriptions/XXXXXXXXX/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/workloads
Rather than this URL: http://<IP_ADDRESS>:8001
Other than these noted issues, pretty good tutorial. Thank you for sharing and maintaining.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 95aa8619-2154-00fb-5994-09b7a9673e03
Version Independent ID: 182cacc8-12d1-70ac-6005-71d4f6f420d5
Content: Build ASP.NET Core applications deployed as Linux containers into AKS/Kubernetes clusters
Content Source: docs/architecture/containerized-lifecycle/design-develop-containerized-apps/build-aspnet-core-applications-linux-containers-aks-kubernetes.md
Product: dotnet-architecture
Technology: containerized-lifecycle
GitHub Login: @nishanil
Microsoft Alias: nanil

Hi @moehoward003, thanks for sharing the feedback, I'll review it and update the document.

Hi @moehoward003, we have updated the Git Repository: https://github.com/dotnet-architecture/explore-docker as per the shared feedback. Thank you so much for the descriptive findings and recommendations. Let us know if we can close this issue now.

We can close this issue now however if you are looking for more help you can continue the conversation or reopen it.


Edit a NumberBox template has 2 invalid elements that crashes the app

Describe the bug
The NumberBox still have the issue of overlapping delete button on spin buttons https://github.com/microsoft/microsoft-ui-xaml/pull/5331, so my goal was to hack the style to hide the delete button.
From a brand new UWP project, edit template a NumberBox will generate an invalid style.

Steps to reproduce the bug
1- Create new UWP project
2- Add latest nuget Microsoft.UI.Xaml 2.8.4
3- Add a NumberBox
4- Edit Template / Create a copy
Expected behavior
Correct style
Screenshots

NuGet package version
WinUI 2 - Microsoft.UI.Xaml 2.8.2
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

@ArchieCoder thanks for reporting this issue. The title indicates a crash, but description indicates wrong style.  Can you clarify and include screenshots of the styles?

@Scottj1s The important step is this:
"From a brand new UWP project, edit template a NumberBox will generate an invalid style."
Visual Studio will provide a bad style for the NumberBox. If you run the app, the app will crash.
Visual Studio and/or the SDK should provide a valid style. I don't know the magic of the "Edit template", but I suppose that Visual Studio extracts a style from a SDK installation.

@ArchieCoder Does this also happen with a WinUI 3 app or is it restricted to WinUI 2 apps?

Thank you for filing an issue!  Unfortunately we are not currently investigating WinUI2 issues that are not business or security critical (more on the policy here).  We can revisit this when we have a scenario that involves WinUI3.


Check base year for Arc runs

Model run as configured in nismod energy_demand_unconstrained with Arc scenario data may be underestimating electricity and gas demand for 2015:

Gas 180 TWh - National Grid reports 880 TWh total; or 545 TWh with exports and power generation excluded
Electricity 248 TWh - National Grid reports 334 TWh

In unconstrained mode, heat demand is output from the model as heat directly - the above calculations assume this is supplied by: 80% gas boilers with 80% efficiency and 20% heat pumps with 1.5 COP (coefficient of performance).
Possible sources of error or misconfiguration:

model runs in constrained mode will output gas/electricity demands for heating end uses; these might give a different picture to the boiler/heat pump assumptions used above (though such a large difference is surprising)
floor area inputs to the model have been recently configured; these might drive demand differently to the within-model virtual stock; test against previous configurations

@tomalrussell I think trying to correct the constrained mode first would be feasible, as it outputs technology-specific gas/elec demands.
In the unconstrained mode we need to correct the total heat demand. This could be done by sector in energy demand model outputs, or, within the demand code itself where @eggimasv calculates fuel --> heat by 1 to 1 ratio.

Linked to issue https://github.com/nismod/nismod2/issues/148 - closed by https://github.com/nismod/nismod2/pull/173


Installs Node.js and ends the setup process automatically

Many people around me don't read enough of the README and expect Node.js to be installed after running the install script.
Based on a Gist I've written for my coworkers (https://gist.github.com/xcambar/2f88b912b7d40fe605c5), we thought it could be beneficial to NVM that the install script actually installs Node.js.
This is what this PR does, with a configurable Node.js version (defaulting to stable).

@xcambar do you still have any interest in completing this PR?

Rebased and well.

LGTM pending the above comments

Thanks!


Extended URL support for Remotes in Iceberg (HTTP beside HTTS, user, port, subpaths, ...) to solve issue 284

To solve issue https://github.com/npasserini/iceberg/issues/284 we need to support regular HTTP/HTTPS URL's (with optional username, optional non-standard port, a subpath and and at the end the owner and the repo (either with .git extension or for convinience without to be able to clip it from a webbrowser).
All this is solved with a better regexpression in #parseUrl method.
The approach is described in detail in https://github.com/npasserini/iceberg/issues/284#issuecomment-282153555
Also to support HTTP I added another IceRemoteUrl subclass for it. And many tests. I tried with many combination and it looks fine.

problem is... you made this PR agains master while you should have done it against dev-0.4.
you asked to merge astares/master with npasserini/master.
It has to be one of this:
astares/dev-0.4 with npasserini/dev-0.4 (if you commit to your copy of dev-04)
astares/master with npasserini/dev-0.4 (if you commit to your copy of master)
anyway... in anycase I need a proper PR :)

waiting for PR in dev branch


[FEATURE] Restrict masking backgrounds from png images

Seems like you can solve the PNG background using the onDisappear or SDWebImage's Image Transformer, did you really have to provide such an API for this limited case?
Transformer: https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#image-transformer-50

Hi, yes you’re right. I wasn’t quite sure how to access the underlying UIImage within the current API - Image Transformer looks like the right place to access it, thanks very much!
I accidentally raised the PR against your main branch so please feel free to ignore it.

The underlying UIImage can be grabed by the .onSuccess API from WebImage, or using someting like that Image Transformer feature, which is much more customizable and flexible.

That’s excellent, thanks again and thank you for all the excellent work done on this library 😊


Over-flowing of text from the boxes

I have noticed one thing that when we go to https://docs.fosscu.org/Docs (or click on docs button) then i saw that text are overflowing form the box they are going out of the box.. We have to fix it asap..
Please assign to me so i can fix it @akshatcoder-hash
Dropping the screenshot -

Assigned you! @Bharadwajshivam28

thanks sir

Close this issue sir as it is completed

@Bharadwajshivam28 You can add the thumbnail on each of these. Because this design is meant for thumbnails.
design and add the banner like this sample...
---
title: "Sample Page"
description: "This is a sample"
banner: "../Banners/sample.png"
tags: ["Sample"]
date: 3 May 2024
position: 1
---

@Bharadwajshivam28 You can add the thumbnail on each of these. Because this design is meant for thumbnails.
design and add the banner like this sample...
---
title: "Sample Page"
description: "This is a sample"
banner: "../Banners/sample.png"
tags: ["Sample"]
date: 3 May 2024
position: 1
---

Okay sir

#10  fixes this


dibenzothiophene-5,5-dioxide monooxygenase activity GO:0018679

id: GO:0018679
name: dibenzothiophene-5,5-dioxide monooxygenase activity
namespace: molecular_function
def: "Catalysis of the reaction: dibenzothiophene-5,5-dioxide + O2 + 2 NADH + H+ = 2 NAD+ + H2O + 2'-hydroxybiphenyl-2-sulfinate." [UM-BBD_reactionID:r0235]
xref: EC:1.14.14.-
xref: MetaCyc:RXN-623
xref: UM-BBD_reactionID:r0235
is_a: GO:0004497 ! monooxygenase activity
is_a: GO:0016705 ! oxidoreductase activity, acting on paired donors, with incorporation or reduction of molecular oxygen
MetaCyc:RXN-623 says this is a sub-reaction of EC:<IP_ADDRESS>
EC:<IP_ADDRESS> is:
dibenzothiophene sulfone monooxygenase
dibenzothiophene 5,5-dioxide + FMNH2 + NADH + O2 <=> 2'-hydroxybiphenyl-2-sulfinate + FMN + H(+) + H2O + NAD(+)
= RHEA:12312
= MetaCyc:RXN-20709
This activity is not currently in the GO.
So:

[x] Edit GO:0018679 so it matches the EC:<IP_ADDRESS> activity
[ ] add taxon constraint for only in bacteria (since EC entry says it's a bacterial enzyme)
[x] Alert RHEA that RHEA:12312 mapping should be to MetaCyc:RXN-20709

Re-assigning to @pgaudet to add the taxon constraint.


issues with addMarkers to the controller

I added an icon button to iconWiget and on tap didn't work, I wanted to send the workshop id to the next page while navigating so that it shows me the workshop with that id
i read from other issues that you suggested adding onGeoPointClicked but this will instead compare all geoPoints every single time i click on geopoint to get the id if u can implement an icon bottom instead inside the marker icon itself would be so much easier so on tap would display everything without the need to go back and forth on onGeoPointClicked

markers are rendred in native view
we used flutter for markers to make easy manipulation
for now we cannot put button in marker

You can make a marker layer on top of the map like flutter map does
Do all of your stuff in native, all of the map stuff then put a marker layer on the map
You can put both options if u want but most importantly the marker layer of flutter_map package

native I mean that we re using android/ios/web native views
our package use kotlin,swift,js to built map
so markers are rendered in those views


fix(curriculum): external userstories in interview prep

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

clear the 17th task in #40749

I wonder if is there something I can do to the codepen links and how to treat them going forward

Camper bot you think if I did a mistake I won't do it again😅, that's why you got scouted gj camperbot 😂😂😂

@moT01 if you notice a file I missed, I happy to change it.

for contest I change make a link app, because the solution doesn't require the apps to be made in these sites, and to stop people from thinking they are limited to these sites


v3.3.0 + docker issues

This is not exactly a bug for evilginx2, rather it has to do with kgretzky/gophish, which fails to build as a docker container:
$ docker run --rm -ti -v $(pwd):/go/src/github.com/gophish/gophish golang:1.15.2 /bin/bash
root@bb1c2f119916:/go# cd /go/src/github.com/gophish/gophish
root@bb1c2f119916:/go/src/github.com/gophish/gophish# go get -v && go build -v > /dev/null
/go/pkg/mod/golang.org/x/net@v0.22.0/html/node.go:8:2: found packages atom (atom.go) and main (gen.go) in<EMAIL_ADDRESS>/go/pkg/mod/github.com/sirupsen/logrus@v1.9.3/terminal_check_unix.go:6:8: found packages unix (affinity_linux.go) and main (mkasm.go) in<EMAIL_ADDRESS>/go/pkg/mod/github.com/emersion/go-message@v0.18.0/charset/charset.go:14:2: found packages charmap (charmap.go) and main (maketables.go) in<EMAIL_ADDRESS>/go/pkg/mod/github.com/emersion/go-message@v0.18.0/charset/charset.go:15:2: import "golang.org/x/text/encoding/htmlindex" is a program, not an importable package
/go/pkg/mod/github.com/emersion/go-message@v0.18.0/charset/charset.go:16:2: found packages ianaindex (ascii.go) and main (gen.go) in<EMAIL_ADDRESS>/go/pkg/mod/golang.org/x/text@v0.14.0/encoding/charmap/charmap.go:16:2: import "golang.org/x/text/encoding/internal/identifier" is a program, not an importable package
/go/pkg/mod/golang.org/x/text@v0.14.0/encoding/htmlindex/map.go:11:2: found packages japanese (all.go) and main (maketables.go) in<EMAIL_ADDRESS>/go/pkg/mod/golang.org/x/text@v0.14.0/encoding/htmlindex/map.go:12:2: found packages korean (all_test.go) and main (maketables.go) in<EMAIL_ADDRESS>/go/pkg/mod/golang.org/x/text@v0.14.0/encoding/htmlindex/map.go:13:2: found packages simplifiedchinese (all.go) and main (maketables.go) in<EMAIL_ADDRESS>/go/pkg/mod/golang.org/x/text@v0.14.0/encoding/htmlindex/map.go:14:2: found packages traditionalchinese (all_test.go) and main (maketables.go) in<EMAIL_ADDRESS>package github.com/gophish/gophish
	imports github.com/gophish/gophish/controllers
	imports github.com/gophish/gophish/controllers/api
	imports github.com/gophish/gophish/imap
	imports github.com/emersion/go-imap
	imports github.com/emersion/go-imap/utf7
	imports golang.org/x/text/encoding
	imports golang.org/x/text/encoding/internal/identifier
	imports golang.org/x/text/internal/gen
	imports golang.org/x/text/unicode/cldr
	imports golang.org/x/text/internal/gen: import cycle not allowed
/go/pkg/mod/golang.org/x/text@v0.14.0/language/coverage.go:11:2: found packages language (common.go) and main (gen.go) in<EMAIL_ADDRESS>/go/pkg/mod/golang.org/x/text@v0.14.0/language/language.go:16:2: found packages compact (compact.go) and main (gen.go) in<EMAIL_ADDRESS>/go/pkg/mod/golang.org/x/text@v0.14.0/encoding/htmlindex/htmlindex.go:31:2: found packages language (coverage.go) and main (gen.go) in<EMAIL_ADDRESS>/go/pkg/mod/golang.org/x/text@v0.14.0/internal/gen/gen.go:38:2: found packages cldr (base.go) and main (makexml.go) in<EMAIL_ADDRESS>
gophish/gophish:8e79294 builds just fine.
I'm trying to fix this by looking at the diff, but I haven't been able to figure it out:
https://github.com/gophish/gophish/compare/master...kgretzky:gophish:master

https://github.com/warhorse

The problem is with the version of the golang that is being used to build gopish (I dont know why it is working with the original and not here), but changing the version to 1.22 worked for me. Here is my Dockerfile for reference:
# Clone repo
FROM alpine AS clone

RUN apk add --no-cache git

RUN git clone https://github.com/kgretzky/gophish.git /tmp/gophish

FROM node:latest AS build-js

RUN npm install gulp gulp-cli -g

WORKDIR /build
COPY --from=clone /tmp/gophish  .
RUN npm install --only=dev
RUN gulp

# Build Golang binary
FROM golang:1.22 AS build-golang

WORKDIR /go/src/github.com/gophish/gophish
COPY --from=clone /tmp/gophish .

COPY --from=build-js /build/static/js/dist/ ./static/js/dist/
COPY --from=build-js /build/static/css/dist/ ./static/css/dist/

RUN chown -R app:app ./

RUN setcap 'cap_net_bind_service=+ep' /opt/gophish/gophish

USER app

EXPOSE 333

CMD ["./gophish"]

Thank you @a5ucanc, changing golang version to 1.22 worked for me as well!

**Hi 👽 ! If you are interested in ⚙Advanced Phishing⚙ and the ✨Evilginx3✨ tool then I offer you Google Gmail and Custom Phishlets with a ✅Free Tutorial✅ which arrives if the 📈Telegram reaches 50 Subscribers📈
⏳ GOOGLE GMAIL PHISHLET 2024 WITH PROOF ⏳
->
⛔https://www.youtube.com/watch?v=nA47UknIE6A⛔
🔓 Ask your questions and a free tutorial from 50 subs on telegram !!!
->
📩https://t.me/Noremorse1011📩**


Add type field to reference URLS.

Add a "reference_url_types" field to the Bug entity. This duplicates URL
information with the existing "reference_urls" field for now, but after
the migration we can remove "reference_urls".

any reason why all these type strings are capitalized, probably web instead of WEB, report instead of REPORT is better ?

This is just consistent with other current type fields (e.g. type=GIT,SEMVER).


Partial Error That Doesn't Nullify Data

Is there a natural solution for partial errors?
Say we have an existing schema, with a scalar non-nullable field, and we need both the field data and error which occurred when resolving that field presented in top-level 'errors' in response; this is legal by GraphQL spec.
https://github.com/webonyx/graphql-php/issues/374 issue was closed, but solved only for that, particular, (array data) case. Because there, it is possible to return exception (which turns to null in response) instead of array element. But we can't return exception because that would erase resolved data.
So the only solution is to do manual manipulations with response, is that it? There is no natural way of doing it in webonyx/graphql-php ?

@vladar we recently implemented something quite similar to your suggested approach in Lighthouse. Works good so far.
I wonder if we could ease support by adding a special result class that graphql-php recognizes:
class Result {
    /** @var mixed The value returned from the resolver */
    public $value;

    /** @var array<\Throwable> Non-fatal errors that come up during resolution */
    public $errors = [];
}

We could then check:
$result = $resolver(...);

if ($result instanceof Result) {
  $this->addErrorsToContext($result->errors);
  $result = $result->value;
}

Yeah, I had a similar idea in the past with a potentially wider scope: #225 But never saw a real-world demand for it or a benefit that would justify adding this complexity.
And actually I think the better approach would be to suggest this kind of thing in graphql-js first and then port it here.


Disable iOS simulator keyboard

I am using Jest and Detox for mobile automation testing on iOS simulators. However, I am encountering a recurring issue where the iOS simulator keyboard interferes with my tests, causing them to fail.
The main problem arises when the keyboard remains open after entering text into an input field, which disrupts subsequent test steps. The usual methods I’ve tried to close the keyboard include:

Tapping on a different element to dismiss the keyboard
or typeText('\n') to close it
Also tried adding this defaults write com.apple.iphonesimulator ConnectHardwareKeyboard -bool false added as a step in CI

Unfortunately, these methods are not consistently reliable. Additionally, the keyboard’s opening or closing animations sometimes cause tests to break, leading to flaky tests.
I am seeking a solution to disable the iOS simulator keyboard before running tests.
Your environment
Detox version: 20.25.5
React Native version: 0.74.1
Node version: 20.15.1
Device model:
OS: 17
Test-runner (select one): jest

Hey @MetodievIvaylo,
I'm surprised this didn’t work:

Tapping on a different element to dismiss the keyboard

Did you try tapping on a specific point on the screen's container to dismiss the keyboard? If that doesn’t work, it might also affect real users. Worth trying with a small swipe().
We’ll soon have a new API, device.tap(point), that should help with this.

await element(by.id('my_input_field')).tapReturnKey()
this worked for me⬆

I don't have this issue with versions preceding 20.23.1, after the update the keyboard doesn't dismiss or hide in any way and resolving with .tapReturnKey() it's unfeasible, we have hundreds of tests to change.
I'm using<EMAIL_ADDRESS>and iPhone15.

After hours of trial and error figured out using .replaceText(...) opened the keyboard in a weird state which stopped the known workarounds to dismiss the keyboard. Using .typeText(...) worked for me.
A reliable way to completely disable the soft keyboard would be very helpful.


Cross platform nuget packager task

Hello,
Would it be possible to get a cross platform nuget packager task ?

I am closing since the nuget command itself does not support "package" on OSX..


Prevent next step when user click on background

Please, how can i prevent the tour to go to the next step, when reflex is true, and the user not clicked on some valid input, like a button. I tried several methods, and nothing seems to work. The best i could do, is to go to the next step, show it , and then return to the previous step. But that's not a real solution.

In current release it doesn't happen to me.


export {supportsPushState} from vue-router

What problem does this feature solve?
I need set 'base' due to whether the mode has been fallback to 'hash', for example, in IE 9. however, router.fallback could only be accessed after I init it.
What does the proposed API look like?
in es6, I could use
import { supportsPushState } from 'vue-router'
and use it as a consistent way to check whether we were in fallback mode

just do
if (history.pushState) {
  // supported.
}

http://stackoverflow.com/questions/6824991/how-to-find-if-a-browser-supports-history-pushstate-or-not

but I look deeply into vue-router code, and find that some ua were filtered specifically.
see here

Oh, right. Well you can already import it then 😄

It was my first attempt, until I found that simply import {supportsPushState} from 'vue-router/src/util/push-state' have issues related to dependencies, such as Date is unknown type. Thus, I formally handle this request to see if it could be officially supported. ☺

Given this is a very specific use case and that this feature has shown no demand, we are closing it


Battery alarm sound level setting is faulty

Setting the level to values between 1 and 7 produces ever higher sound levels but setting it to 8 produces a sound level lower than 1!
Clearly a bug.

Yep found it :)

Fixed by Memphiz


Auto count GT items

With auto tracking, it should be able to be possible to count the items automatically and announce what number the GT item was. Special care will need to be done with the torch item as it should be incremented upon entering that room for the first time, but not incremented upon picking up the item.
If this is implemented, it would be nice to disable normal item messages while in GT and replace it with tracker just saying the number.

👍


Fix typo in the .travis.yml

This revision includes:

Fix typo in .travis.yml (#86)

Looks great! Thank you for notification :)


Init volume in a callback

In all the given examples, the volume and the slicer are global variables. It would be useful to be able to declare these variables in a callback. It would allow the user to select the file to vizualize during the session. The code below doesn't work: the slicer are well designed but the images remain completely blank.
  def layout(slicer0, slicer1, slicer2):

    layout = html.Div([
        html.Div(
            [
                html.Center(html.H3("Axial")),
                slicer0.graph,
                html.Br(),
                slicer0.slider,
                *slicer0.stores,
            ]
        ),
        html.Div(
            [
                html.Center(html.H3("Coronal")),
                slicer1.graph,
                html.Br(),
                slicer1.slider,
                *slicer1.stores,
            ]
        ),
        html.Div(
            [
                html.Center(html.H3("Sagittal")),
                slicer2.graph,
                html.Br(),
                slicer2.slider,
                *slicer2.stores,
            ]
        ),
    ],     style={
        "display": "grid",
        "gridTemplateColumns": "50% 50%",
    },
    )
    return layout

app = dash.Dash(
    __name__,
    meta_tags=[{
        "name": "viewport",
        "content": "width=device-width, initial-scale=1"
    }]
)

app.layout = html.Div([
        dbc.Button("Apply", id="display_ct"),
        html.Div(id="frame_ct_display"),
])

@app.callback(
    [Output("frame_ct_display", "children")],
    [Input("display_ct","n_clicks"),]
)
def display_ct(n_clicks):

    if n_clicks is None:
         raise PreventUpdate

    vol = imageio.volread("imageio:stent.npz")
    slicer0 = VolumeSlicer(app, vol, axis=0)
    slicer1 = VolumeSlicer(app, vol, axis=1)
    slicer2 = VolumeSlicer(app, vol, axis=2)

    return [layout(slicer0, slicer1, slicer2)]

if __name__ == '__main__':
    app.run_server(debug=True, dev_tools_props_check=False)

This is, I think, because the VolumeSlicer creates components that must be known at the time that the application is started.

If I understand well, it means that the volume must be known before launching the application, in other words, the user can't choose the file he/she wants to visualize.  This narrows the usefullness of VolumeSlicer.

in other words, the user can't choose the file he/she wants to visualize.

Well, that's up for the developer. You can certainly make it that way, e.g. by creating multiple slicers beforehand, and only showing one at a time. That may not be perfect, but I think this is a more a limitation of Dash, or just the fact that this a server-client architecture.

With Dash, I am able to choose the image I want to visualize and to change it during the session. So I don't think that it is a limitation of Dash.

Actually, I'm having the same problem as @francoisebouvet , I'm not able to update the data through a callback because the user needs to choose the file when the application is running. It would be nice to be possible to have this feature. I'm trying to do it with the create_overlay_data feature, however with unsuccessful results yet. I hope to get it soon. :(


Bulk search API

Hi, we're currently using elasticsearch for https://deces.machid.io (using powerful levensthein fuzzy search).
We use bulk search to record linkage usecase (usefull for clinic studies).
We would be enthousiastic to study the port from elastiscearch to bayard, but bayard is missing this key feature.
Do you plan to have such bulk search api ?

Hi @rhanka ,
Sorry for the late reply.
Thanks for your interest in this project!
There are no plans to implement a bulk search API at the moment.
I would like to implement it when I get time, but I can't promise when I will be able to.

Hi @rhanka ,
Sorry for the late reply.
Thanks for your interest in this project!
There are no plans to implement a bulk search API at the moment.
I would like to implement it when I get time, but I can't promise when I will be able to.

@rhanka , do you mean multi search?

Yes that is multi search i.e send one big json with multiple requests
inside.
On elaticsearch it most of requests 10x faster requests reducing http API
useless overload.
Search isnt made for join like SQL but this is often usefull.
Bulk is even more usefull at indexing time too but i guess it is already
implemented.
Le lun. 8 févr. 2021 à 15:41, barrotsteindev<EMAIL_ADDRESS>a
écrit :

@rhanka https://github.com/rhanka , do you mean multi search
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html
?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bayard-search/bayard/issues/123#issuecomment-775196827,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF2C2FCBQYNHSX4OTTKQMSDS57Z3FANCNFSM4WSMKNTQ
.


FLutter Crashed When creatin a new project

flutter_01.log
flutter_01.log

Steps to Reproduce

...
...
...

Logs

Hi @mikdhadc,
Per this comment, the issue has been fixed in Master. Please switch to latest master and see if it works for you.
Thanks.

Thanks for your answers.However the issue is solved by downloading and setting up the sdk again.


Translate GOVERNANCE.md

It might be difficult for Greek folks to follow the Governance doc so i believe it would make sense to translate it.
P.S. Your opinion on that @sirodoht, @AntouanK @fanixk?

Agreed. I could see it in the next 2-3 days if there no one else available to translate.


feat: add aws batch compute and job queue

Description of your changes

Fixes #
I have:

[ ] Read and followed Crossplane's contribution process.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

/test-examples="examples/batch/v1beta1/computeenvironment.yaml"

/test-examples="examples/batch/v1beta1/computeenvironment.yaml"


update all kernels in idex with dpct

update all kernels with dpct migration
delete transformer kernels

@rogerxfeng8 @delock next step I would add WoQ kernels into idex.

close #59

include #54


Fixes tiler request when the vizjson contains a named map and a torque layer with a named map

We check if the vizjson contains a named map and torque layer with a named map and in that case, we don't send the torque layer in the request.

retest this please

@CartoDB/frontend / @javisantana: can you please have a look at this PR, please?

I'd add a test, this is an edge case that cen be missed in the future pretty easily

@javisantana: spec added. The code was fine for you?

yes yes :es:

Thanks!


Fix for deprecated .Hugo

When building the site, I am receiving a warning:
Building sites . WARN 2019/06/01 12:28:30 Page's .Hugo is deprecated and will be removed in a future release. Use the global hugo function.
So, just doing some quick housekeeping.

Okay, I did this wrong. Closing and will resubmit.


Update scalacheck to 1.14.1

Updates org.scalacheck:scalacheck from 1.14.0 to 1.14.1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalacheck", artifactId = "scalacheck" } ]

Applied Migrations

github:typelevel/scalacheck/v1_14_1?sha=3fc537dde9d8fdf951503a8d8b027a568d52d055

labels: semver-patch, scalafix-migrations

Codecov Report

Merging #81 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #81   +/-   ##
=======================================
  Coverage   99.11%   99.11%
=======================================
  Files           4        4
  Lines         113      113
  Branches        6        6
=======================================
  Hits          112      112
  Misses          1        1

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5120584...b799cc2. Read the comment docs.


I2c fix v3

Again, this is code supporting new sensor nodes for the following HW
ADXL345 accelerometer and
L3G4200D gyroscope
Differences since v2:
Funny readings issue attacked by hack.
Simpler commits that were acked already merged.
We're still to find a better name for vector-3f, since there were complaints.
I'm thinking of going with triple-f, any other idea?
This is the sample flow testing what I wrote, I'll commit something with more utility once this gets an ack:
timer(timer:interval=1000) OUT -> TICK gyro(gyroscope/l3g4200d:i2c_bus=7) timer OUT -> TICK accel(accelerometer/adxl345:i2c_bus=7) gyro OUT -> IN _(console:prefix="gyro (deg/s): ") accel OUT -> IN _(console:prefix="accel (g): ")

Instead of data type, name it after purpose: DirectionVector or DirectionalVector

I can live with that (modulo the camelcase). Any other name suggestions?

Ok, timeout. Working towards the name change now.


Disable collaborations if user does not have permissions to change th…

…e same

Verified that @varungu has signed the CLA. Thanks for the pull request!

+1


Add a credhub-cli user to uaa

CredHub users want to be able to login to CredHub
interactively so that the client credentials are not
exposed in plaintext anywhere. Previously CredHub users
were using the credhub-cli client to login, which meant the
client secret had to be exposed in plaintext either in the
environment or as a value passed to the login command.

Signed-off-by: Anna Thornton<EMAIL_ADDRESS>

Hey @athornton2012 @ankeesler thanks for this. We'll merge this manually onto develop.


RHOAIENG-4984: Updating section name

Description
Small change to update a section name
https://issues.redhat.com/browse/RHOAIENG-4984
How Has This Been Tested?
Local build

LGTM


[Bugz-769] :: Cal app new intro

https://highfidelity.atlassian.net/browse/BUGZ-769

Does this happen in the hifi app?
i also noticed that the page looks strange on desktop - the top container is left-aligned and has a fixed width, while it seems as though the content below doesn't follow the same rules?
this isn't a problem in and of itself (i only care that it looks good in-world), but usually speaks to some issue in the code

^--- Change from 14.5 to 12.5px

"This app links the meeting room schedules on your Google Calendar to meeting rooms in your virtual HQ, allowing you to see current and future meetings without leaving your headquarters" missing period at the end of that sentence.

Learn How leads nowhere and I can't get back to linking my calendars since there is no back button. I have to close the app and open it again so I can reach that page again.