forking v8 as an optimization

continuing discussion started in https://github.com/nodejs/node/pull/2133#issuecomment-141215057

it looks like you can fork v8 even after the context has been created. however, if what you're wanting to accomplish is save memory, you will probably need to have that memory outside of v8's gc'd memory for the OS not to copy and reallocate that memory when garbage is collected in in the forked process.
also, a potential optimization for NodeOS (still haven't tried it yet so I don't really know) may be to prepare a template process with your desired base v8 context in it (because creating a context is expensive) and just fork that template process for each process spawn and then that base context, the first thing it would do, is ask the OS which script to run and where to find it.. (kinda like a process boot loader)
I don't know enough about these subjects to say anything concrete, though, I do know that if NodeOS is working, some smart chap will figure out how to optimize it. NodeOS does look interesting...
cheers

Afaik the OS should already limit the physical copies of the .text section of a program to 1. It's a simple optimisation that I think kernels have been doing for years. Someone please correct me if I'm wrong.

I think you're right about the text. it looks to be based on linux. linux should already be doing that
perhaps what he was saying was to not copy the memory of the js scripts/ast -- which I'm not at all sure is possible (I think it is)... but then... thing is, I don't know how v8 stores it stuff ... experimentation would have to be done.
I'm gonna have to take a look at NodeOS now. I wonder how some things are working now... I really like the idea

A fork would probably do a copy-on-write there, but yeah the next GC cycle may mess all that up.

Sorry for no reply before. As @ronkorving pointed out, my idea was about, my idea is NOT to fork() after the v8 engine has been initialized (that would be crazy by two processes sharing the heap memory space, that's like threads and for that I think it's better to use multi-contexts + Workers) but before it, so no process heap or stack is shared, but instead start a new clean process. I don't know if Linux kernel make the optimization you are talking about, it could be possible if it have a map between binaries and the memory location they were loaded so it could be reused, but if that's the case, it doesn't makes sense that each new process spawned by child_process.fork() use 10mb itself, while that's the size of the Node.js binary itself and should be already in memory... I don't believe v8 waste so much memory for each instance internal memory structures...
By the way @heavyk, I think your idea of the process-loader would be of interest to runtime.js... :-)

hmmm, runtimejs does look cool. honestly though, I would prefer having node as the runtime env though, just simply for the ecosystem and the massive amount of modules which already run in it. that's why nodeOS looks so desirable.
I can assure you that the .text of the binary is not duplicated in memory for linux. I'll have to look, but I think that those 10mb are actually the js bytecode of the core library. what maybe nodeOS (I really hate capitalizing the first 'N' for some reason) could do is to create a slimmer "core" library -- actually a fully stripped down version of the core library, and then have all of those core libraries located in a globally accessable node_modules dir (eg. one for 'net', 'http', 'fs', etc.) that way, only the "core" library components used in each program would be loaded as needed. without modifications to your version of node, there would be no sharing of that memory. however shared memory isn't hard at all and v8 could be extended to look in some sort of shared memory cache of required files... it actually potentially already exists, as I'm going to guess that chrome does has some efforts to not duplicate memory for multiple tabs open of the same website.
@piranna have you tried getting node 4.0.0 to run in nodeOS? I know your intention is to get the workers in, so I imagine you've at least attempted something.

hmmm, runtimejs does look cool. honestly though, I would prefer having node as the runtime env though, just simply for the ecosystem and the massive amount of modules which already run in it. that's why nodeOS looks so desirable.

That's why it's planned to have a Node.js compatibility layer in the future :-)

I can assure you that the .text of the binary is not duplicated in memory for linux.

Also when starting them with two different execve() calls?

I'll have to look, but I think that those 10mb are actually the js bytecode of the core library. what maybe nodeOS (I really hate capitalizing the first 'N' for some reason) could do is to create a slimmer "core" library -- actually a fully stripped down version of the core library, and then have all of those core libraries located in a globally accessable node_modules dir (eg. one for 'net', 'http', 'fs', etc.) that way, only the "core" library components used in each program would be loaded as needed.

Interesting... I've read before about people proposing to move out all the build-in modules from the Node.js core code and left only almost just the require() function (that's almost just what would runtime.js export :-P ), and in fact they are publishing them in npm, maybe it's a doable thing... I don't believe that this 10mb are all from the js bytecode, but doing this would certainly help :-)

without modifications to your version of node, there would be no sharing of that memory. however shared memory isn't hard at all and v8 could be extended to look in some sort of shared memory cache of required files...

People shouldn't, but they can be able to patch modules after they are loaded (the require() cache is accesible for the apps),  so sharing it can be dangerous, I would not take this path.

I'm going to guess that chrome does has some efforts to not duplicate memory for multiple tabs open of the same website

Bad example, Chrome is a memory hooker :-P Hope some day they fix their memory wastes...

@piranna have you tried getting node 4.0.0 to run in nodeOS? I know your intention is to get the workers in, so I imagine you've at least attempted something.

It's on the to-do list, but I'm currently working on my bachelor thesis (about NodeOS itself) and don't want to modify the code until I get it finished. It's only a matter of upgrading the version of Node.js and check if it works, so if you want to do it I will accept your pull-request :-)

@heavyk, could you be able to open an issue on Node.js about your idea of moving the build-in modules to the /lib/node_modules folder? I think it could help to others too :-) We could do it ourselves on our fork of Node.js (it's mostly the lib folder on their repo), but maintain it would be a lot of work... :-/

Also when starting them with two different execve() calls?

dunno for sure, but I would assume so. it's just a mmap of the file contents essentially. it should be marked as read only and executable. any others with identical mappings should not be duplicated. nowadays, I think even if it's not read-only, it won't copy until the memory is written to, just the same as fork()

People shouldn't, but they can be able to patch modules after they are loaded (the require() cache is accesible for the apps), so sharing it can be dangerous, I would not take this path.

it would have to be a copy-on-write require cache shared globally, or some sort of system where the cache is based on the hash of the file contents. actually, I just realized -- this could potentially be prototyped in node. hmmm.

It's only a matter of upgrading the version of Node.js and check if it works, so if you want to do it I will accept your pull-request :-)

sure I will, but I'm on a mac right now, so I will look into it "soon". however, I may want to invest my time in docker for the moment. we use coreos on our servers, so pushing out tiny nodeOS images would be a huge win for us.

could you be able to open an issue on Node.js about your idea of moving the build-in modules to the /lib/node_modules folder?

this isn't necessary. all you have to do is to overwrite this section of the gyp file with the path to your require function and the module loader.. to test it, modify these - lines in the configure and override them (instead of appending). you'll need the module.js an maybe a few others. after, a script could easily be produced to produce the node_modules directories. it'd be little more than moving files around. it could be easily added before the compile phase (after code checkout)

dunno for sure, but I would assume so. it's just a mmap of the file contents essentially.

Didn't though from this point of view... Probably it's true that's already optimized... We would need to know where that 10mb exactly came from.

it would have to be a copy-on-write require cache shared globally, or some sort of system where the cache is based on the hash of the file contents. actually, I just realized -- this could potentially be prototyped in node. hmmm.

Node.js modules are cached based on the file path. Maybe there could be a global cache and later Object.observe() or Proxy objects could wrap it and take in account changes done on the global objects by the applications... Another option would be to freeze the objects on the cache and throw an error if someone want to change them, that would be easier and more secure by not allowing apps to change global modules (whoever that wants to do it, it should do it's own module and inherit from the global ones).

I may want to invest my time in docker for the moment.

I'm not too much into Docker and the current images are outdated, but I have planned to update them before release v0.1.0.

we use coreos on our servers, so pushing out tiny nodeOS images would be a huge win for us.

Are you planning to use NodeOS in production? That would be cool! :-D Could you be able to tell me the name of your organization so I can add it to my bachelor thesis? :-)

this isn't necessary. all you have to do is to overwrite this section of the gyp file with the path to your require function and the module loader.. to test it, modify these - lines in the configure and override them (instead of appending). you'll need the module.js an maybe a few others. after, a script could easily be produced to produce the node_modules directories. it'd be little more than moving files around. it could be easily added before the compile phase (after code checkout)

Interesting, specially the linked_library flag :-) Seems the work is almost done, and maybe could be added as a configure option (--build-ins=[yes]/external/no).

Are you planning to use NodeOS in production? That would be cool! :-D Could you be able to tell me the name of your organization so I can add it to my bachelor thesis? :-)

I certainly would like to :) we're named affinaty. we haven't technically launched yet. that's happening this week. after the launch I'll be revisiting the servers and testing out nodeos on docker all of the following week. currently, we're just using a ubuntu docker container with iojs inside of it. so, assuming that I'm able to get all native modules compiled and working, and it also gives a boost in performance (it should), we'll convert over to the nodeos on docker. expect prs next week as I try and get it working. I'll update you as things develop but it'd be cool to do some sort of collaboration in the future. I think the way you're taking this is the right direction.

Interesting, specially the linked_library flag :-) Seems the work is almost done, and maybe could be added as a configure option (--build-ins=[yes]/external/no).

yeah I'll give what I wrote above a try when I test this out next week and update you on where that memory usage comes from. that option is really nice because that means I can put all of the core server code right into the executable.

side thought: perhaps for desktop it doesn't make a whole lot of sense doing a lot of work getting a shell going and perhaps it may be accepted quicker if you were to just spawn webviews over xvfb like found here: https://github.com/kapouer/node-webkitgtk

we're named affinaty

That Affinaty?! Are you working here at Madrid, Spain, at only 30 minutes from my home?!? That's definitely a signal!!! :-P If you are interested we can talk in private, my email is in my profile :-)

assuming that I'm able to get all native modules compiled and working

It's unmodified Linux kernel and Node.js, so it should, or maybe with minor fix-ups on the modules. As I told you currently it's using Node.js v0.11.14 due a problem with v8 version on upcoming releases, I've tried yesterday to upgrade it to v4.1.0 but it requires gcc 4.8 or greater (we are using 4.7.3), but didn't be able to make it work any musl-patched version... :-( Needs more testing, though, but at least it helped me to review and do some clean-ups on the build mechanism :-)

and it also gives a boost in performance (it should)

One of the assignements of my thesis tutor is to do some benchmarks compared to regular Node.js over Ubuntu, so let's see what happens when I'll do them... ;-)

that option is really nice because that means I can put all of the core server code right into the executable

Do you know if that's only for pure-Javascript modules, or can it be used with compiled ones too? Do they follow recursive require()s, or is it needed to add manually each one of them? I would be interested on adding kexec...

side thought: perhaps for desktop it doesn't make a whole lot of sense doing a lot of work getting a shell going and perhaps it may be accepted quicker if you were to just spawn webviews over xvfb like found here: https://github.com/kapouer/node-webkitgtk

Interesting option, but as discussed on other topics, graphic interface will be done in html5 and a client-server architecture, so as a quick solution until a native web renderer is available, any web browser can be used to connect remotely to a NodeOS server instance.

That Affinaty?! Are you working here at Madrid, Spain, at only 30 minutes from my home?!

si, si :) ese es... yo soy kenny :) ok, I'll send you an email this afternoon. right now I'm located in torrelodones, and work 98% from home. occasionally I go down to madrid (when I need to). however, my plan for expanding the team is actually to do mostly distance work (because I'm not a huge huge fan of large offices - like when I worked for tuenti) and instead encourage the team to organize their own gatherings as often as desired (cause sometimes programming in the same area is much much more effective) so it doesn't really matter where you live. but yeah, being close in geometric proximity we could get together and work on things a bit easier.

Do you know if that's only for pure-Javascript modules, or can it be used with compiled ones too?

pure js modules will be compiled using the js2c commandline tool which converts them to some sort of code which v8 understands in some way (I think it's essentially inlining the source - nothing special - but I have to look). for compiled modules, you just add each of them to the source and require them as usual. an example is the natives module which is the interface used by lib to access most of libuv.

Do they follow recursive require()s, or is it needed to add manually each one of them?

I will need to look, but I think that they do not have deep nesting. meaning that if you have two modules which have a dep, they will both need to be the same version. I neither know if having a module in the node_modules folder with the same name can override a core module. these need to be tested.

I'll send you an email this afternoon

Cool! I'll wait them :-) It's not good to alienate more this topic :-P

I neither know if having a module in the node_modules folder with the same name can override a core module

I believe I've that's the behaviour, that the module on node_modules folder has precedence, that's one of the reasons why people are packaging the core modules to be able to access to new functionality with old versions of Node.js.

On Node.js they are thinking about [to include a list with the build-ins currently included in the binary(https://github.com/nodejs/node/issues/3307), and also there are modules that show that list. I think this can be a good guide to start moving out all the build-in modules to an external node_modules folder :-)

bump this thread because I'm not sure of it's progress.


BlakeNaccarato/issue112

Work has begun to override files in the template. However, the .gitignore file will need to be dynamically merged with the user's existing .gitignore, which will require a Copier task to run after copying a temporary .gitignore file.

Fixes #112


[stable/prestashop] Add global StorageClass to prestashop

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

LGTM.
Could you @juan131 merge it?
/assign @juan131

/ok-to-test
/lgtm


Add Spike to list in App File Structure

- Summary
Updated docs - Added the file path location for the /admin folder when using Netlify CMS with Spike.
- Test plan
n/a
- Description for the changelog
Update Quick Start doc with /admin location when using Spike

Thanks for the addition, @mwickett!
At the moment, we're keeping the docs in two different places (yes, it's an issue! #266, in fact!) To make this change on netlifycms.org as well, would you like to submit a PR here? (I'm also happy to do it myself.)

Whoops! Wrong button! Merged now. 😁

Hey there,
Didn't realize there were two spots. I'll do a PR over there as well.
On March 9, 2017 at 17:14:52, Jessica Parsons<EMAIL_ADDRESS>wrote:

Thanks for the addition, @mwickett https://github.com/mwickett!
At the moment, we're keeping the docs in two different places (yes, it's
an issue! #266 https://github.com/netlify/netlify-cms/issues/266, in
fact!) To make this change on netlifycms.org as well, would you like to
submit a PR here
https://github.com/netlify/netlify-cms-www/blob/master/site/content/docs/quick-start.md?
(I'm also happy to do it myself.)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/netlify/netlify-cms/pull/265#issuecomment-285500865,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAzonxN2VW4AtI4Lvlc6yyWruNYHTNNZks5rkHncgaJpZM4MYS-w
.


Hide 'View' button from /app/customer/

Can't do this due to JS issue on apps.hosting

on beeta.zaviago.com

Done

on apps.hosting


Allow JSON array as body

Could you please specify an estimate date for this bug fix?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 34b3d465-6a2b-88ad-6e80-4fb784cd489e
Version Independent ID: 51b70888-d089-7352-4abd-7d587726700a
Content: Web Activity in Azure Data Factory
Content Source: articles/data-factory/control-flow-web-activity.md
Service: data-factory
GitHub Login: @sharonlo101
Microsoft Alias: shlo

@juanidambrosio
Thanks for your feedback! We will investigate and update as appropriate.

@juanidambrosio could you specify the bug you are referring to?

Hi Jason,
When building a Web Activity I want to include a JSON array as Body parameter. According to the documentation this is supported, but there is an issue which is actually being fixed by MSFT team.
Thanks!

@juanidambrosio could you provide a link to that issue?

@juanidambrosio we are closing this issue for now, please feel free to add additional comments as needed.  If you could provide additional context, we can reopen the case.

JSON payloads aren't being sent properly for me either. Do you have a reference to the issue MS are tracking @juanidambrosio ?

@jason-j-MSFT there is open issue on the feedback portal:
https://feedback.azure.com/forums/270578-data-factory/suggestions/34786936-adf-web-activity-posting-json-content-with-array
Also on the Web activity documentation page I can see: "JSON array - Supported
(At present, JSON arrays don't work as a result of a bug. A fix is in progress.) - Unsupported"
https://docs.microsoft.com/en-us/azure/data-factory/control-flow-web-activity#type-properties


Test of sleep has flaked in CI

In a recent PR with no changes to either async.js or async-test.js, one of the tests for "sleep" flaked, mysteriously sleeping for only 999 milliseconds rather than 1000.
 FAIL  src/utils/__tests__/async-test.js
  ● sleep (real) › waits for approximately the right number of milliseconds
    expect(received).toBeLessThanOrEqual(expected)
    Expected: <= 999
    Received:    1000
      45 |     // `sleep` should sleep for the specified number of milliseconds (and not,
      46 |     // for example, that many seconds or microseconds).
    > 47 |     expect(expectedMs).toBeLessThanOrEqual(actualMs);
         |                                ^
      48 |     expect(actualMs).toBeLessThan(10 * expectedMs); // [α]
      49 |
      50 |     // [α] In theory, we can't be sure of this test; the time between the
      at _callee2$ (src/utils/__tests__/async-test.js:47:32)
      at tryCatch (node_modules/regenerator-runtime/runtime.js:62:40)
      at Generator.invoke [as _invoke] (node_modules/regenerator-runtime/runtime.js:296:22)
      at Generator.prototype.(anonymous function) [as next] (node_modules/regenerator-runtime/runtime.js:114:21)
      at tryCatch (node_modules/regenerator-runtime/runtime.js:62:40)
      at invoke (node_modules/regenerator-runtime/runtime.js:152:20)
      at node_modules/regenerator-runtime/runtime.js:162:13
      at tryCallOne (node_modules/promise/lib/core.js:37:12)
      at node_modules/promise/lib/core.js:123:15
      at flush (node_modules/asap/raw.js:50:29)

Can you please share a link to the PR? This is an interesting situation!

Can you please share a link to the PR? This is an interesting situation!

It is, isn't it! The PR in question was #3958.

Okay, so luckily it appears to be a one-off situation. It may be because we use Date.now() to measure the time deltas here.
Maybe this article is relevant: https://www.sitepoint.com/discovering-the-high-resolution-time-api/

Okay, so luckily it appears to be a one-off situation.

This is partly lucky, and partly very unlucky. 🙂 A "flake" like this, where the test sometimes fails when nothing is actually wrong, reduces people's confidence in the tests, and makes it more tempting for people to ignore failures instead of learning from them.
What's definitely lucky is that, as I understand it, Ray and Greg have a lot of experience with some pretty bad test flakes on projects before they were employed at Zulip, so avoiding them in Zulip has been a priority. @ray-kraesig added the use of Lolex, in https://github.com/zulip/zulip-mobile/pull/3886, for most tests involving time, to avoid exactly this kind of flake.
Corresponding to this test's naming as "(real)", as opposed to the other one that says "(ideal)", it looks like it doesn't use Lolex; it actually waits 1000-ish milliseconds, following the instruction to wait 1000 milliseconds. The reason for keeping a non-Lolex sleep test is best explained in the commit message for https://github.com/zulip/zulip-mobile/pull/3886/commits/019cc09e3:

The original test remains in place, to test that sleep also has
reasonably robust behavior in the presence of a non-ideal clock.

Apparently, on that failure, the actual sleep time was 999 milliseconds, which is surprising to me; I considered the instructed number of milliseconds to be an inclusive lower bound on the actual number of milliseconds. But now I'm looking, I haven't found documentation to confirm that.

PR #4045 failed Travis-CI due to this, ( my PR failing again while resolving conflicts :(  )

Ray found the cause of this -- here's his commit message for the fix (which I just merged):
async: Fudge test value to defeat flake in `sleep` test.

Sometimes, `setTimeout(1000)` will fire after only 999 milliseconds.
This appears to be due to an upstream bug in Node.js itself [1].

Closes #4010.

[1] https://github.com/nodejs/node/issues/26578

As I wrote on the PR: it's reassuring, in a way, that this turns out to be a specific bug in Node with an understood cause that puts an upper bound on its effect. Less reassuring that the maintainers seem pretty blasé about whether to do anything about it. :-/


BugID:19303528:[linkkit]fix gateway downstream raw data error

Signed-off-by: yinghao.cyh<EMAIL_ADDRESS>BugID:19303528

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Authentication with static credentials broken

While playing around with the plugin I encountered that the authentication with static credentials is broken. Most probably since the introduction of ignition with sshKeys.
You are initializing the SSH key in https://github.com/sardinasystems/fleeting-plugin-openstack/blob/d127199ff78cb07b1163df442360563e991fb610/provider.go#L97 . This happens regardless of the state of use_ignition.  Consequently the initSSHKey function adds the key to the ConnectorConfig object in https://github.com/sardinasystems/fleeting-plugin-openstack/blob/d127199ff78cb07b1163df442360563e991fb610/connection_ssh.go#L35 .
Unfortunately the DialSSH funtion in the Connector only uses either the password or the public key based auth and it only ever adds the password to the client, if there is no private key in the ConnectInfo settings (see: https://gitlab.com/gitlab-org/fleeting/fleeting/-/blob/main/connector/ssh.go?ref_type=heads#L56). So with the current setup the password never gets added to the ssh-client because there always is a private key present in the connection settings - even though this should not be used.

Thank you for report. Should be fixed in 0.20.0.

Wow. That was quick!
Thank you very much for fixing it!


Updating pkt test to base standard

Creating updated pull request for pkt_test.c. This included removing cne_printf() calls, wrapping vt_color() calls, and removing unnecessary '/n' characters to tst_XXX() calls [these naturally insert a '/n' for you].

Ready to port over

pulled into test_improvements branch to submit upstream


Added support for executing "shop" command from console.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I wanted to exclude the following commit from the pull request:
"Renamed "/shop buy" command to "/shop sell"." (4ce17a8)
The two other commits are important changes that I would like to get merged. Or you can edit manually since its minimal changes.

Please create a new PR with the important changes


Import category when maps exist should add them to the mosaic if requested

If a category is added by the maps are not added to a mosaic, the maps will be added to the warper.
A re-import of the category with the add to mosaic option enabled should add these to the warper.

This has been fixed with commit  e481f5760184aec2ef4c7b7665eda611c44b4ed5 and should be live on staging wikimaps.mapwarper.net
(from commons beta)

Import category "Category:Maps Of Tartu"

do not select box to add them to existing or new layer

process import.
the maps should be added, but not added to the layer or a new layer created

Import category "Category:Maps Of Tartu"

This time, select box to add them to existing or new layer

process import

the maps should be added to a new or existing layer

marking as fixed :)


Adding maccel to the compiler options

We have the include/OnnxMlirCompiler.h that includes a strictly C interface so that users may compile a model programmatically.
This interface defines all of the options that can be used, e.g. mtriple, Ox,... It currently does not include maccel
Currently, the enum listing all of the accelerator is hiding in a C++ Accelerator class, which obviously cannot be used in a C only file.
Are there any objections to pull the enum class Kind below into a C enum listed in OMCompilerTypes.h?
class Accelerator {
public:
  /// Kinds of accelerators.
  enum class Kind {
    // clang-format off
    APPLY_TO_ACCELERATORS(CREATE_ACCEL_ENUM)
    NONE
    // clang-format on
  };

Please comment @etiotto @caoimhinuibrian @tungld

Is there a strong reason for only having the defined accelerators listed in Kind? I wonder if having a list of all the existing (regardless of called for by the CMAKE or not) would also be useful? Either in addition or instead.

current solution works


HTTP request encoding is iso-8859-1

I use UTF8 to decode it, is that the same as iso-8859-1?

Nope, fixed using iso-8859-1


ima-evm-utils: 1.0.0 -> 1.1 and fix build

Motivation for this change
Update to latest version and apply upstream patch for attr-2.4.48 compatibility (see https://github.com/NixOS/nixpkgs/issues/53716).
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg eval

@GrahamcOfBorg build ima-evm-utils


Instituto Tecnológico de Iguala

Se agrega archivo para Instituto Tecnológico de Iguala

@YonathanR12 First stage of verification passed, official domain is itiguala.edu.mx as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@YonathanR12 Pull request merged. Thank you.


Trailing URL Variables not placed in urlVariables dictionary

I would expect urlVariables to contain an entry for id in the following case:
Routing.Routes["GET", "/device/{id}"]

It doesn't.  Adding a trailing component to the URL it does get populated:
Routing.Routes["GET", "/device/{id}/show"]

Extending further,
Routing.Routes["GET", "/device/{id}/show/{sub}"]

sub is not in the the urlVariables dictionary but id is.

Fixed. Thank you!


More Granular Permissions

First - Love the module so much. Thank you for making it. It has made theming Foundry so much easier.
For the 'issue', not sure if this should be a bug or a feature request, but here is what I am experiencing.
By default, there are permissions that Foundry has that lets modules configure to give users additional functionality. However, libThemer throws an error for my players when they load into the game.
It says:
User X lacks permission to update Setting [VmRZYfhqJiurnvkh]
I believe this is because of the ability to set presets per user. When I gave my Trusted Players access to Modify Configuration Settings within Foundry, the error goes away.
So there's a few things I wanted to ask:

Is there a way to set the permissions more granularly so I can give them access to presets only?
If not and it were added, would you have to add it within the module or would it have to be a Foundry feature request itself?
If the permissions cannot be updated at all, can we add a guard clause to check if the user has the appropriate permissions before trying to access that functionality so it doesn't throw the error?

My ideal scenario would be to be able to give my players limited permissions to add or update presets without giving them the full Modify Configuration Settings permission since that would allow them to 'break' Foundry (unintentionally).
Again, thank you so much for making this module.

I second this, I have a default preset that applies to the players BUT they are unable to see it because they lack the required permissions, and I don't really want to give them access to managing modules for them to just have the UI available to them.


Request: single-line collapsed folds

Hi all,
actually if i collapse a js, ts, json code i see
function(){...
}

if(){...
}

is it possible to set collapse rules in order to have
function(){...}

if(){...}

sorry, didnt see # #19690
duplicate.


VMI/number validator prod 7582

Hello ! The dependency react-number-format doesn't seem to be used. Can we remove it ?

Oh, I added the dependency here for the number input component, but I should add it in the ui repo, which contains the component, right?

Oh, I added the dependency here for the number input component, but I should add it in the ui repo, which contains the component, right?

That's correct, this dependency is only used in the component located in the UI repository, and since it is a direct dependency (i.e. not a peer dependency) it does not need to be added in the webapp repository :)


Node6 support

Hi NicolasPanel
When updating to Node6.0, a huge amount of error is thrown:
Also please upgrade graceful-fs to ^4.0.0 to suppress the depreciation warnings.
Security context: 0x1287ef1c9e59 #0#
1: .node [module.js:568] [pc=0x3d9744c377c4] (this=0x1902f98d9431 <an Object with map 0x335eb18161>#1#,module=0x3360d238dc61 <a Module with map 0x335ebb2001>#2#,filename=0x3360d238dbf9 <String[73]: SampleProj/node_modules/node-svm/build/Release/addon.node>)
2: load [module.js:458] [pc=0x3d9744a396f2] (this=0x3360d238dc61 <a Module with map 0x335ebb2001>#2#,filename=0x3360d238dbf9 <String[73]: SampleProj/node_modules/node-svm/build/Release/addon.node>)
3: tryModuleLoad(aka tryModuleLoad) [module.js:417] [pc=0x3d9744a3921d] (this=0x1287ef104189 ,module=0x3360d238dc61 <a Module with map 0x335ebb2001>#2#,filename=0x3360d238dbf9 <String[73]: SampleProj/node_modules/node-svm/build/Release/addon.node>)
4: _load [module.js:409] [pc=0x3d9744a34e02] (this=0x1902f98d9559 <JS Function Module (SharedFunctionInfo 0x1902f9825909)>#3# 1: v8::Template::Set(v8::Localv8::Name, v8::Localv8::Data, v8::PropertyAttribute)
2: NodeSvm::Init(v8::Localv8::Object)
3: node::DLOpen(v8::FunctionCallbackInfov8::Value const&)
4: v8::internal::FunctionCallbackArguments::Call(void ()(v8::FunctionCallbackInfov8::Value const&))
5: v8::internal::MaybeHandlev8::internal::Object v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal::Isolate, v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>)
6: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
7: 0x3d974490961b
(node) v8::ObjectTemplate::Set() with non-primitive values is deprecated
(node) and will stop working in the next major release.

Are you using<EMAIL_ADDRESS>I'm using node v6.1.0 (npm v3.8.6) and there is no error during installation (just few warnings).
Could you copy/paste the exact output from npm?

My description was wrong - it is fine during installation but gives warning when run.

And yes, it is node-svm 2.1.7.

ok, thanks

I've sent in a pull request.

#33

see PR #33


Need to install nginx and websocket?

var playerOptions = {
socket: "ws://localhost:8088/ws/",            redirectNativeMediaErrors : true,
bufferDuration: 30,
};
Is there a complete example and Document?

 yes  successfully !

王伟
软件工程师II
软通智慧
联系我

------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2020年5月11日(星期一) 下午3:36
收件人<EMAIL_ADDRESS>抄送: "515002954"<515002954<EMAIL_ADDRESS>主题: Re: [Streamedian/html5_rtsp_player] Need to install nginx and websocket? (#145)
Have you run the demo successfully？
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


front end setup

Clone the repository. Go to the client directory through the terminal and do "npm install" to set up all the node modules. "npm start" launches the app

Closed since this is outdated


[Bug]: OpenTelemetry trying to run in Python client while disabled in the server, the environment variable, AND in code.

What happened?
I followed the instructions on the website and we are running in server-client mode. I am trying to simply test a connection with the python client, so I installed the chromadb-client package.

The server is running with ANONYMIZED_TELEMETRY=False
There is an environment variable set on the client with ANONYMIZED_TELEMETRY=False
The client is initiating a connection with Settings(anonymized_telemetry=False)

Even given all of those interventions, my client is still failing while trying establish an opentelemetry trace. If it is still a requirement, it should be bundled with the client. Otherwise, one of those ways of disabling should circumvent the need for that library.
Versions
chromadb-client==0.4.19.dev0
Relevant log output
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.19.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from chromadb import HttpClient
   ...: from chromadb.config import Settings
   ...:
   ...: settings = Settings(chroma_api_impl="chromadb.api.fastapi.FastAPI", allow_reset=True, anonymized_telemetry=Fa
   ...: lse)
   ...: client = HttpClient(host='localhost', port=8000, settings=settings)
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 5
      2 from chromadb.config import Settings
      4 settings = Settings(chroma_api_impl="chromadb.api.fastapi.FastAPI", allow_reset=True, anonymized_telemetry=False)
----> 5 client = HttpClient(host='localhost', port=8000, settings=settings)

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/__init__.py:181, in HttpClient(host, port, ssl, headers, settings, tenant, database)
    178 settings.chroma_server_ssl_enabled = ssl
    179 settings.chroma_server_headers = headers
--> 181 return ClientCreator(tenant=tenant, database=database, settings=settings)

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/api/client.py:138, in Client.__init__(self, tenant, database, settings)
    132 def __init__(
    133     self,
    134     tenant: str = DEFAULT_TENANT,
    135     database: str = DEFAULT_DATABASE,
    136     settings: Settings = Settings(),
    137 ) -> None:
--> 138     super().__init__(settings=settings)
    139     self.tenant = tenant
    140     self.database = database

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/api/client.py:41, in SharedSystemClient.__init__(self, settings)
     36 def __init__(
     37     self,
     38     settings: Settings = Settings(),
     39 ) -> None:
     40     self._identifier = SharedSystemClient._get_identifier_from_settings(settings)
---> 41     SharedSystemClient._create_system_if_not_exists(self._identifier, settings)

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/api/client.py:52, in SharedSystemClient._create_system_if_not_exists(cls, identifier, settings)
     49     cls._identifer_to_system[identifier] = new_system
     51     new_system.instance(ProductTelemetryClient)
---> 52     new_system.instance(ServerAPI)
     54     new_system.start()
     55 else:

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/config.py:360, in System.instance(self, type)
    358     key = _abstract_type_keys[type_fqn]
    359     fqn = self.settings.require(key)
--> 360     type = get_class(fqn, type)
    362 if type not in self._instances:
    363     impl = type(self)

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/config.py:409, in get_class(fqn, type)
    407 """Given a fully qualifed class name, import the module and return the class"""
    408 module_name, class_name = fqn.rsplit(".", 1)
--> 409 module = importlib.import_module(module_name)
    410 cls = getattr(module, class_name)
    411 return cast(Type[C], cls)

File /usr/lib/python3.10/importlib/__init__.py:126, in import_module(name, package)
    124             break
    125         level += 1
--> 126 return _bootstrap._gcd_import(name[level:], package, level)

File <frozen importlib._bootstrap>:1050, in _gcd_import(name, package, level)

File <frozen importlib._bootstrap>:1027, in _find_and_load(name, import_)

File <frozen importlib._bootstrap>:1006, in _find_and_load_unlocked(name, import_)

File <frozen importlib._bootstrap>:688, in _load_unlocked(spec)

File <frozen importlib._bootstrap_external>:883, in exec_module(self, module)

File <frozen importlib._bootstrap>:241, in _call_with_frames_removed(f, *args, **kwds)

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/api/fastapi.py:36
     15 from chromadb.api.types import (
     16     DataLoader,
     17     Documents,
   (...)
     31     validate_batch,
     32 )
     33 from chromadb.auth import (
     34     ClientAuthProvider,
     35 )
---> 36 from chromadb.auth.providers import RequestsClientAuthProtocolAdapter
     37 from chromadb.auth.registry import resolve_provider
     38 from chromadb.config import DEFAULT_DATABASE, DEFAULT_TENANT, Settings, System

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/auth/providers.py:19
     17 from chromadb.auth.registry import register_provider, resolve_provider
     18 from chromadb.config import System
---> 19 from chromadb.telemetry.opentelemetry import (
     20     OpenTelemetryGranularity,
     21     trace_method,
     22 )
     24 T = TypeVar("T")
     26 logger = logging.getLogger(__name__)

File ~/chroma/chroma_env/lib/python3.10/site-packages/chromadb/telemetry/opentelemetry/__init__.py:5
      2 from enum import Enum
      3 from typing import Any, Callable, Dict, Optional, Sequence, Union
----> 5 from opentelemetry import trace
      6 from opentelemetry.sdk.resources import SERVICE_NAME, Resource
      7 from opentelemetry.sdk.trace import TracerProvider

ModuleNotFoundError: No module named 'opentelemetry'

Hey @mmangione thank you for reporting this.
This is not an issue with Chroma's posthog-based product telemetry. It looks like our internal opentelemetry package isn't in your Python client build for some reason -- you can read about Chroma's observability features here.
From the error message I'm guessing you don't have chromadb installed on the system where you're seeing the error, just chromadb-client right?

Yep. That's accurate. This is just a client, so I simply ran pip install chromadb-client to get the latest version and tried to connect to a Docker instance of Chroma - that is running locally.

We are trying to deploy Chroma and have a number of smaller worker pods call it. So, this process simulates the attempt to connect by the worker pods to verify connectivity. The only packages installed are chromadb-client and ipython on that particular worker.

Yeah, makes sense. This looks like a problem with how we package and distribute dependencies, I'm debugging. For now the workaround is to pip install the following packages:
opentelemetry-api>=1.2.0
opentelemetry-exporter-otlp-proto-grpc>=1.2.0
opentelemetry-instrumentation-fastapi>=0.41b0
opentelemetry-sdk>=1.2.0

I'm aware this isn't ideal and we'll fix this fast, but that should unblock you today.

Thank you very much! That worked. :)

Woohoo! I'm going to use this bug to keep track of my debugging.
(.venv) 0 beggers % pip show chromadb-client
Name: chromadb-client
Version: 0.4.19.dev0
Summary: Chroma Client.
Home-page:
Author:
Author-email: Jeff Huber<EMAIL_ADDRESS>Anton Troynikov<EMAIL_ADDRESS>License:
Location: /Users/beggers/.venv/lib/python3.11/site-packages
Requires: numpy, overrides, posthog, pydantic, requests, typing-extensions
Required-by:

opentelemetry was added to the Python client a few weeks ago: https://github.com/chroma-core/chroma/pull/1437 . I think we just need to release it.

Python client build+release process is fixed. Our next python release will trigger a client release which will fix this.

New python client chromadb-client 0.4.23.dev0 should have this issue fixed.


build errors

I am having errors when building the project.
drom@drom:~/work/github/WebAssembly/wasm-emscripten> ./build.sh
building asm2wasm
building interpreter/js
./build.sh: line 4: em++: command not found
building wasm shell
In file included from src/wasm-s-parser.h:9:0,
                 from src/wasm-shell.cpp:8:
src/wasm.h:996:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitBlock(wasm::Block*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitBlock(Block *curr) = 0;
                      ^
src/wasm.h:997:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitIf(wasm::If*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitIf(If *curr) = 0;
                      ^
src/wasm.h:998:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitLoop(wasm::Loop*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitLoop(Loop *curr) = 0;
                      ^
src/wasm.h:999:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitLabel(wasm::Label*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitLabel(Label *curr) = 0;
                      ^
src/wasm.h:1000:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitBreak(wasm::Break*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitBreak(Break *curr) = 0;
                      ^
src/wasm.h:1001:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitSwitch(wasm::Switch*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitSwitch(Switch *curr) = 0;
                      ^
src/wasm.h:1002:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitCall(wasm::Call*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitCall(Call *curr) = 0;
                      ^
src/wasm.h:1003:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitCallImport(wasm::CallImport*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitCallImport(CallImport *curr) = 0;
                      ^
src/wasm.h:1004:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitCallIndirect(wasm::CallIndirect*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitCallIndirect(CallIndirect *curr) = 0;
                      ^
src/wasm.h:1005:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitGetLocal(wasm::GetLocal*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitGetLocal(GetLocal *curr) = 0;
                      ^
src/wasm.h:1006:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitSetLocal(wasm::SetLocal*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitSetLocal(SetLocal *curr) = 0;
                      ^
src/wasm.h:1007:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitLoad(wasm::Load*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitLoad(Load *curr) = 0;
                      ^
src/wasm.h:1008:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitStore(wasm::Store*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitStore(Store *curr) = 0;
                      ^
src/wasm.h:1009:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitConst(wasm::Const*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitConst(Const *curr) = 0;
                      ^
src/wasm.h:1010:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitUnary(wasm::Unary*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitUnary(Unary *curr) = 0;
                      ^
src/wasm.h:1011:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitBinary(wasm::Binary*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitBinary(Binary *curr) = 0;
                      ^
src/wasm.h:1012:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitCompare(wasm::Compare*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitCompare(Compare *curr) = 0;
                      ^
src/wasm.h:1013:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitConvert(wasm::Convert*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitConvert(Convert *curr) = 0;
                      ^
src/wasm.h:1014:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitSelect(wasm::Select*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitSelect(Select *curr) = 0;
                      ^
src/wasm.h:1015:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitHost(wasm::Host*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitHost(Host *curr) = 0;
                      ^
src/wasm.h:1016:22: error: ‘ReturnType wasm::WasmVisitor<ReturnType>::visitNop(wasm::Nop*) [with ReturnType = wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow]’, declared using local type ‘wasm::ModuleInstance::callFunction(cashew::IString, wasm::ModuleInstance::LiteralList&)::Flow’, is used but never defined [-fpermissive]
   virtual ReturnType visitNop(Nop *curr) = 0;
                      ^

The em++: command not found is because you need emscripten in your path, if you want to build the js parts. But you don't need it for asm2wasm or wasm-shell.
The others are a gcc bug, it turns out. Building with newer gcc, or clang, should avoid those. I haven't been able to find a workaround for older gcc.

Thank you. Yes, it looks like I am using LLVM-3.5 and I probably need to switch to 3.7. As of GCC I am using 4.8. What is the minimum requirement here?

This is the bug, I'm not sure how to figure out which gcc release that ends up in. But based on the dates, I think at least 5.0.

Looking at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51048#c3 it appears that the below patch is sufficient to get wasm-shell to compile on GCC 4.8.2 in Ubuntu 14.04. I haven't run the test suite though.
Looking at the GCC site it is difficult to tell when the fix was added. Considering the bug report makes no mention of any of the stable branches of GCC, I would assume the fix is not in any stable release of GCC (and probably not available the default system GCC in any current stable version of Ubuntu). To be sure the unit test in would need to be compiled with one of those very recent releases of GCC.
diff --git a/src/wasm.h b/src/wasm.h
index 0fd014a..8ca8e24 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -1065,27 +1065,27 @@ private:

 template<class ReturnType>
 struct WasmVisitor {
-  virtual ReturnType visitBlock(Block *curr) = 0;
-  virtual ReturnType visitIf(If *curr) = 0;
-  virtual ReturnType visitLoop(Loop *curr) = 0;
-  virtual ReturnType visitLabel(Label *curr) = 0;
-  virtual ReturnType visitBreak(Break *curr) = 0;
-  virtual ReturnType visitSwitch(Switch *curr) = 0;
-  virtual ReturnType visitCall(Call *curr) = 0;
-  virtual ReturnType visitCallImport(CallImport *curr) = 0;
-  virtual ReturnType visitCallIndirect(CallIndirect *curr) = 0;
-  virtual ReturnType visitGetLocal(GetLocal *curr) = 0;
-  virtual ReturnType visitSetLocal(SetLocal *curr) = 0;
-  virtual ReturnType visitLoad(Load *curr) = 0;
-  virtual ReturnType visitStore(Store *curr) = 0;
-  virtual ReturnType visitConst(Const *curr) = 0;
-  virtual ReturnType visitUnary(Unary *curr) = 0;
-  virtual ReturnType visitBinary(Binary *curr) = 0;
-  virtual ReturnType visitCompare(Compare *curr) = 0;
-  virtual ReturnType visitConvert(Convert *curr) = 0;
-  virtual ReturnType visitSelect(Select *curr) = 0;
-  virtual ReturnType visitHost(Host *curr) = 0;
-  virtual ReturnType visitNop(Nop *curr) = 0;
+  virtual ReturnType visitBlock(Block *curr) { };
+  virtual ReturnType visitIf(If *curr) { };
+  virtual ReturnType visitLoop(Loop *curr) { };
+  virtual ReturnType visitLabel(Label *curr) { };
+  virtual ReturnType visitBreak(Break *curr) { };
+  virtual ReturnType visitSwitch(Switch *curr) { };
+  virtual ReturnType visitCall(Call *curr) { };
+  virtual ReturnType visitCallImport(CallImport *curr) { };
+  virtual ReturnType visitCallIndirect(CallIndirect *curr) { };
+  virtual ReturnType visitGetLocal(GetLocal *curr) { };
+  virtual ReturnType visitSetLocal(SetLocal *curr) { };
+  virtual ReturnType visitLoad(Load *curr) { };
+  virtual ReturnType visitStore(Store *curr) { };
+  virtual ReturnType visitConst(Const *curr) { };
+  virtual ReturnType visitUnary(Unary *curr) { };
+  virtual ReturnType visitBinary(Binary *curr) { };
+  virtual ReturnType visitCompare(Compare *curr) { };
+  virtual ReturnType visitConvert(Convert *curr) { };
+  virtual ReturnType visitSelect(Select *curr) { };
+  virtual ReturnType visitHost(Host *curr) { };
+  virtual ReturnType visitNop(Nop *curr) { };

   ReturnType visit(Expression *curr) {
     assert(curr);

Thanks! I pushed a patch with aborts instead of pure virtual. It does build in gcc now. However it gives an error, which I don't have time to look into right now. (Note that the test suite is currently failing in the spec tests due to upstream spec changes, but a gcc build errors earlier.)

After recent changes, gcc seems to build and emit a working shell, so I think we can close this.


Feature: day 2 operations: survey pre filled from spec

As an example, I order a new service "Virtal Machine". The AWX survey ask therefore options like name, CPU and memory. Later I'll update the existing instance using the update operation, the CPU and memory field are prefilled with the current value from specs.

prefilled with the previous completed request (full_survey field) may be better

I really like the idea of the "ansible friendly" version. Was just thinking about dropdown lists, will these also possible for fields of this type?

Done and merged in dev branch


Memoize useDispatch?

The docs say

When passing a callback using dispatch to a child component, it is recommended to memoize it with useCallback, since otherwise child components may render unnecessarily due to the changed reference.

with the example code being
  const dispatch = useDispatch()
  const incrementCounter = useCallback(
    () => dispatch({ type: 'increment-counter' }),
    [dispatch]
  )

I think this could use some clarification. I am understanding it to not be specific to useDispatch, and to just be the classic react thing of don't pass anonymous functions to children since they are different every render.
If that is the case, it would probably be worth highlighting that it's not specific to useDispatch. If I am misunderstanding, then is there any reason that react-redux can't export some helper that calls useCallback for you? I imagine most people would not realize they need to do this.

We decided not to ship any kind of a useActions helper during the alpha period.  And yes, it really is a plain React question.

FWIW I also find that recommendation and example pretty misleading.
Using useCallback and React.memo comes at a cost. Is it worth paying that toll for avoiding the re-render of a simple button component? I honestly doubt it.
I'm pretty sure that the following code, actually performs better than the code of the example, and it's a lot simpler:
import React from 'react'
import { useDispatch } from 'react-redux'

export const CounterComponent = ({ value }) => {
  const dispatch = useDispatch()
  const incrementCounter = () => dispatch({ type: 'increment-counter' })

  return (

      {value}
      <button onClick={incrementCounter}>Increment counter</button>

  )
}

I agree that it's not necessary for a <button>, but the point was to illustrate the use of useCallback() with useDispatch().  If you feel that a different example would illustrate the point better, please file a PR to improve the docs.

The example with useCallback gives [dispatch] as a dependency array, so wouldn't the callback reference still change anyway?
Before:

() => dispatch({ type: 'increment-counter' }) is a new function every time so child component re-renders every time

After:

const dispatch = useDispatch() creates a new dispatch instance every time
const incrementCounter = useCallback(() => dispatch({ type: 'increment-counter' }), [dispatch]) gets the same function reference as long as dispatch did not change (since it is given as a dependency array). But since dispatch is new every single time, this is pointless.

What am I missing? Thank you very much

Dispatch isn’t new every time. It’s the same (I think) as long as you have the same store.

const dispatch = useDispatch() creates a new dispatch instance every time

This statement is incorrect.
The implementation is just:
const useDispatch = () => {
  const store = useStore();
  return store.dispatch;
}

You typically only have one Redux store instance for the lifetime of the app, so dispatch will be the same function reference the entire time.  (In fact, in earlier versions of React-Redux, passing a new store reference was forbidden. We do now support changing it at runtime, but realistically you probably won't do that.)
However, the ESLint rule doesn't know that - it just knows that dispatch isn't a built-in React hook return value, so it might change, and therefore it tells you it should be added to the dependencies array just in case it ever does change.

Thank you for this clarification! This is great. I think I will submit a PR soon to improve the docs on this matter.
However, before that, I wish to understand it a little better. You (@markerikson) said:

The implementation is just:
const useDispatch = () => {
  const store = useStore();
  return store.dispatch;
}

This alone does not imply that the function is always the same instance because it just shifts the problem into the stability of useStore. I tried navigating the code but it wasn't conclusive...

As you've shown useDispatch() is stable (i.e. returns the same instance) if useStore() is stable
Checking the code for useStore, I see that it is stable if useReduxContext() is stable
Checking the code for useReduxContext(), I see that it is stable if useContext() (from React) is stable

The React docs do not explicitly state this; I guess it is probably obvious for someone minimally acquainted with it, but I have never used it so I don't know.
That said, I will propose a PR.

I... just explained under exactly what circumstances the store instance might change :)  You didn't need to do any further digging around.
The dispatch reference only changes if you pass a different store instance to <Provider store={store}>.
That's it.
And in 99.98% of Redux apps, that store instance will never change throughout the life of the app.

I... just explained under exactly what circumstances the store instance might change :) You didn't need to do any further digging around.

Yeah, I know, but I got curious :grimacing: Thank you.

And no, it's not a question of whether useContext is stable. The dispatch reference only changes if you pass a different store instance to .

Ah, ok! Makes sense! Thank you very much. Could you please review my PR?


[new: feature] shenyu agent architecture

// Describe your PR here; eg. Fixes #issueNo

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #2660 (94f2900) into master (a5a3203) will decrease coverage by 0.63%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2660      +/-   ##
============================================
- Coverage     61.21%   60.57%   -0.64%
+ Complexity     4334     4296      -38
============================================
  Files           660      660
  Lines         18995    18995
  Branches       1684     1684
============================================
- Hits          11627    11506     -121
- Misses         6410     6546     +136
+ Partials        958      943      -15

Impacted Files
Coverage Δ

...n/alibaba/dubbo/cache/AlibabaDubboConfigCache.java
43.75% <0.00%> (-31.25%)
:arrow_down:

...gin/apache/dubbo/cache/ApacheDubboConfigCache.java
43.03% <0.00%> (-29.12%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
44.68% <0.00%> (-18.09%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
61.38% <0.00%> (-11.89%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

...apache/shenyu/admin/utils/ShenyuDictH2Trigger.java
63.63% <0.00%> (-9.10%)
:arrow_down:

...ache/shenyu/admin/utils/PluginHandleH2Trigger.java
63.63% <0.00%> (-9.10%)
:arrow_down:

...henyu/admin/service/impl/UpstreamCheckService.java
55.55% <0.00%> (-8.74%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

... and 25 more

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 a5a3203...94f2900. Read the comment docs.


Wrong Podcast RSS in Subfolders

The 'Podcast RSS' buttons that belong to subfolders in any folder contain the files of the last subfolder in that folder. Look at the status bar:

It seems to be ok for music the folders direct in 'phoniebox_audiofile'

Closing. Feel free to reopen this issue, if the problem still occurs.


Improved filter & timeout

renamed serviceType to searchTarget
improved filtering (to ignore other upnp servers)
improved timeout behaviour by using MX header for reading our responses

Thanks for your PR


What's the status of v3?

I see that v2 has not had an official release in 11 months, and it looks like v3 is required for Qt 6.2+ support (or possibly just overriding the aqtinstall version for v2?).  So just wondering, is v3 considered stable (well, as stable as v2), or is it generally best to stick with v2 for now? Is there an ETA on an official v3.0.0 tag? Thanks! 😄

I basically haven't tested v3—I am working towards v3.0.0 in my spare time now.

Ok, thanks! 😄

@jurplel Any ETA on official V3 release?

Ready for release when
https://github.com/jurplel/install-qt-action/issues/153 and #125 are resolved.
I might also throw in #157 before release.

@jurplel  Do you also plan to update the defaults of aqtinstall & py7zr prior to official release?


Examples Not Working

I'm trying to use this crate in a project I'm working on, and I can't get the examples to compile. They cause panics.
My code (the example code):
use lettre::transport::smtp::{SmtpTransport, SmtpTransportBuilder};
use lettre::email::EmailBuilder;
use lettre::transport::EmailTransport;

let email = EmailBuilder::new()
                    .to("root@localhost")
                    .from("user@localhost")
                    .body("Hello World!")
                    .subject("Hello")
                    .build()
                    .unwrap();

// Open a local connection on port 25
let mut mailer =
SmtpTransportBuilder::localhost().unwrap().build();
// Send the email
let result = mailer.send(email);

assert!(result.is_ok());

The error:
thread '<main>' panicked at 'assertion failed: result.is_ok()', main.rs:26
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Process didn't exit successfully: `/path/to/code` (exit code: 101)

I can't seem to edit my post on my mobile browser but I made a typo. It is a runtime error, not a compile error.

You should try to print the content of result, it will give you the reason of the failure.

Ok, I did that, and this is what it gave me:
an I/O error occured

You can try to display the error cause with error.cause(), it should give more details about the I/O error.

You can also have a look at the logs of your local mail server to see where the failure happens.

I actually have similar problems. In my case, I get "an I/O error occurred", and the underlying failure is "connection refused". I'm using the same SmtpTransportBuilder as the reporter, and I verified with a Python script that using SMTP through localhost:25 is working fine there.

BTW, I can reproduce this with cargo test against current master or v0.5.1:
test transport_smtp::simple_sender ... FAILED

failures:

---- transport_smtp::simple_sender stdout ----
	thread 'transport_smtp::simple_sender' panicked at 'assertion failed: result.is_ok()', tests/transport_smtp.rs:18
stack backtrace:
   1:     0x5649b8e4cd50 - std::sys::backtrace::tracing::imp::write::h82353b94d9957b5a
   2:     0x5649b8e5092b - std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::hd08c9fd28a21a931
   3:     0x5649b8e5051c - std::panicking::default_hook::h9f5ce461fe95b992
   4:     0x5649b8e416b8 - std::panicking::rust_panic_with_hook::hfb9137c9fa89bbb0
   5:     0x5649b8d7c777 - std::panicking::begin_panic::h91a119e8e2811f21
                        at src/libstd/panicking.rs:328
   6:     0x5649b8d7a38b - lib::transport_smtp::simple_sender::hd483d90c8b7a0dbd
                        at /home/djc/src/lettre/<std macros>:3
   7:     0x5649b8db8c36 - _<F as std..boxed..FnBox<A>>::call_box::h8c9c9860460d767a
   8:     0x5649b8dbb367 - std::panicking::try::call::h5112e6c4747ac9f2
   9:     0x5649b8e5a12b - __rust_try
  10:     0x5649b8e5a0ce - __rust_maybe_catch_panic
  11:     0x5649b8dbb78e - _<F as std..boxed..FnBox<A>>::call_box::h7b2b6b6ac924dcb2
  12:     0x5649b8e4ef44 - std::sys::thread::Thread::new::thread_start::h99197ac7442ad7fa
  13:     0x7f9013b14493 - start_thread
  14:     0x7f90136425dc - __clone
  15:                0x0 - <unknown>

failures:
    transport_smtp::simple_sender

test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured

error: test failed

Can you run your test with the latest version (I just added a new log) from master with RUST_LOG=debug ./program to get full logs?
Which mail server is running on this host? Could you try to connect with telnet on port 25 (telnet localhost 25), type EHLO localhost and give the result?

Aha! Here's the output from running sezna's test program against git master lettre:
djc@enrai rusttest $ RUST_LOG=debug ./target/debug/rusttest
DEBUG:lettre::transport::smtp::client: connecting to [::1]:25
thread '<main>' panicked at 'assertion failed: result.is_ok()', src/main.rs:25
note: Run with `RUST_BACKTRACE=1` for a backtrace.

For some reason, Rust/lettre is resolving localhost to [::1] (IPv6). However, my Postfix (3.0.3) instance is only listening on IPv4. When I try gethostbyname('localhost') from Python, I get IPv4:
>>> import socket
>>> print socket.gethostbyname('localhost')
<IP_ADDRESS>
>>> sock = socket.socket()
>>> sock.connect(('localhost', 25))
>>> sock.send('EHLO localhost\n')
15
>>> print sock.recv(1024)
220 enrai.xavamedia.nl ESMTP Postfix
250-enrai.xavamedia.nl
250-PIPELINING
250-SIZE 26214400
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8

>>>

Then you can use SmtpTransportBuilder::new("<IP_ADDRESS>:25") to connect to ipv4.

Sure, but why doesn't Rust/lettre resolve localhost the same as Python (as well as just ping)?

I don't know, closing as it is not really related to lettre.


[QUESTION] Using templates with Trigger Email extension

Hi,
Can you provide and example of how to use templates with Trigger Email extension ?
What I'm not sure about :

how to format the "template" collection in firestore
how can I define variables in the template
is it possible to use logic in template (if, else, loop, ...) (you specified Handlebar so I imagine the answer is yes)
how to pass variables and template name when creating an email

Some code example would be great :)
Thanks a lot

Hi @NLegendre - this example may help you: https://github.com/firebase/extensions/blob/master/firestore-send-email/POSTINSTALL.md#using-templates
To summarise:
Create a new document in Firestore for your templates, for example for a template called "Following", create a new document in templates/following:
{
  subject: "@{{username}} is now following you!",
  html: "Just writing to let you know that <code>@{{username}}</code> ({{name}}) is now following you."
}

When adding a new document to your mail collection, pass in a template name with the data which will be injected:
  toUids: ['abc123'],
  template: {
    name: 'following',
    data: {
      username: 'ada',
      name: 'Ada Lovelace'
    }
  }

On the logical "if statement", it should work yes, however I'll check this myself too and make sure it is working.

That's perfect !
Thank you very much !

tried sending an attachment using the array field 'attachments' in template collection. But the email got delivered with the attachment. Does anyone know if the extension is supposed to work with an attachment in the template?

For some reason my emails still cant pick up the templates. I have configured just like above templates collection is created and i have added the object.
db.collection('templates').add({
    toUids: ['abc123'],
    template: {
        name: 'following',
        data: {
            username: 'ada',
            name: 'Ada Lovelace'
        }
    }
})

When I try to add the below to mail I the this error.

{
        to<EMAIL_ADDRESS>        message: {
             subject: 'Hi there!'
        },
        template: {
            name: 'following'
        }
    }


Update Role to work with Ubuntu 22.04 Rocky Linux 9

Just to avoid multiple people taking the same role to update (cf. https://github.com/ome/omero-server-docker/issues/79 / https://github.com/ome/omero-web-docker/issues/74) I am opening an issue here, so people can claim that specific role to work on.

Hi @JulianHn
See PR #8 here:
https://github.com/ome/ansible-role-omero-common/pull/8


chore: Update nyc to `v10.3.0

https://github.com/istanbuljs/nyc/compare/v8.3.1...v10.3.0
https://github.com/istanbuljs/nyc/blob/master/CHANGELOG.md

Coverage remained the same at 100.0% when pulling 34f4500c8a896e9c96274220767c5f647a9ea46c on nyc into 239f93e983e9b32fea525ca8975f862d49d702a8 on master.


Make 2FA login work with commons

Addresses #328 and #352.

@misaochan have fixed the loader issue.

👍 Looks perfectly fine from a security/auth standpoint!

Great job @maskaravivek ! I tested logging in and out with both my 2FA and non-2FA account, both work well for me. :)


Publish OpenSearch JS Client v1.1.0 to NPM

Is your feature request related to a problem? Please describe
We are going to add some improvements into opensearch-js client so that we can have memory circuit breaker for nodeJS client.

https://github.com/opensearch-project/opensearch-js/issues/202

Describe the solution you'd like

Add memory check for response, if the total memory consumed exceed the limit, then we destroy the response instead to avoid potential out of memory crash.
PR: https://github.com/opensearch-project/opensearch-js/pull/207

Estimate release date
March 30, 2022
Describe alternatives you've considered
No response
Additional context
No response

Closing this issue as we released OpenSearch JS Client v1.1.0 to NPM


formula_installer: don't pass spec arguments from ARGV to postinstall

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Postinstall should be executed with the spec of the target formula not
the spec argument from ARGV, otherwise the prefix can be incorrect. In
other words, if the stable version of a dependency gets installed,
postinstall for the dependency should use the prefix of the dependency's
stable version, not the prefix of its devel or head version.
Fixes #2941.

Nice one! :shipit:


[Crash] App crashes on directly opening the user details

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open any 1:1 conversation on E.cash.
Click the Chat title.
User details page should open.
Reload the page on the web.

Expected Result:
App Should not crash.
Actual Result:
On local we see error 404 page not found and on staging App crashes.
Workaround:
Can the user still use Expensify without this being fixed?
Platform:
Where is this issue occurring?
Web :heavy_check_mark:
iOS
Android
Desktop App
Mobile Web :heavy_check_mark:
Version Number: latest
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
View all open jobs on Upwork

Triggered auto assignment to @laurenreidexpensify (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Explanation

I think that the URL for the details page is wrong and it leads to a page crash. There is an escaped @ in the URL which is the main issue.

Proposal

We have two choices
a. We either override the URL parsing and then handle this type of URL manually.
b. We change the URL to something else. https://staging.expensify.cash/details/:login to https://staging.expensify.cash/details?login=:login.

I am a little unsure of the a but b works great. Suggestions are welcomed.

sorry @parasharrajat I missed this one - would you be able to confirm if it's still an issue?

Yes. Try opening this url.

@parasharrajat I'm struggling to replicate this - can you record this happening so I understand a bit better? Thanks!

@laurenreidexpensify take a look at this video. let me know if it is still unclear to you.
https://user-images.githubusercontent.com/24370807/126659681-0c35944f-c372-4769-97c6-a6f339a87128.mp4

ah perfect thanks - yeah just reproduced and observed same behaviour. Sending this to our engineering team for review 👍🏽

Triggered auto assignment to @chiragsalian (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@chiragsalian can you pls review triage review this today so we can move this to upwork and get an external contributor to fix? thanks

Yup, was able to reproduce the same issue. Feel free to post this on upwork and yeah @parasharrajat your proposal 1.b sounds good to me 👍

@parasharrajat post live on Upwork here https://www.upwork.com/jobs/~01e0e7e6f35535026c so I can hire you, assuming you want to move ahead to PR on this one?

@parasharrajat is there PR for this one yet?

It is ready but I am waiting for some clarification about the issue with react-navigation before creating the PR.

No regressions - paid 👍🏽


Give SV subscription editor CGE subscription features

Is your feature request related to a problem? Please describe.
As a user of OpenSCD I want to have the same experience with the SV and CGE subscription editor
So I have a consistant user interface and interaction and more features in the SV subscirption editor
Describe the solution you'd like
Copy the feature of GSE editor into the SV editor:

I would rather suggest combining those together. This is way less work as it fits very well together thematically.
We can easily do that by adding two  more radio buttons saying something like Show subscriber IED(s) per selected SMV and Show subscribed SMV publisher for selected IED. For the naming @danyill opened another issue already. We can discuss better naming there (#729).
@Sander3003 what do you think about this?

Keeping them separate is what we discussed yesterday. The main advantage that I see is the possibility to disable SV for example if engineers don't use it in their projects. Another reason are the other options for non-abb methodes. We can always change this later.

I see yes this is clearly an advantage and if you have decided as a group I am on board. I would use this issue to find a better naming. The reason is that we at the end will have 6 different subscriber plugins, three different type of subscribing techniques times two each for GOOSE and SMV.

Subscription (GOOSE)
Subscription (SV)

For now and then later, something like
3. Subscription - Later Binding (GOOSE)
4. Subscription - Later Binding (SV)
and for the other one I do not have any suggestions yet!


Added config file with Azure Batch pool definitions

Added configuration file that defines several Azure Batch pools with virtual machines from Edv4-series and assigns pools to labels according to the requirements defined in base.config.
This file will help researchers to run pipeline on Azure with minimal set-up effort.

Wrong location, should go to nf-core/configs


The preview provided by the markdown editor for the published deck description does not match reality

The preview correctly renders bullet points but the description as listed on the published deck page does not.
See my deck here for example.  Each list of opponents should be a unordered list, and the preview correctly renders them as such, but the description displays each point inline with the dash that is used to mark down the list.

As a side note, the markdown converter on the server expects a blank line before every list. That's why your description doesn't display lists.


#15221: Post completion messages to dispatch_s

Ticket
#15221
Problem description
We're seeing a latency of around 500ns from when the dispatch message is sent to when it's received, in the case where a many are sent at the same time.
What's changed
We never wait on the acks from these completion messages, so make them posted to avoid contention from a lot of replies being sent at once. In the case where every worker is sending them at the same time, this can halve the latency from 500ns to 250ns (on wormhole).
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] (For models and ops writers) Full new models tests passes
[ ] New/Existing tests provide coverage for changes

I am assuming this is just speeding up the noc itself.
I don't see any atomic barrier, so fw/kernel does not seem to be held up due to an inflight response.


Fix the precompiles on Julia 1.3+

Fixes #58. This was autogenerated by SnoopCompile 1.0, which puts anonymous functions inside an isdefined check.

Codecov Report

Merging #59 into master will decrease coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
- Coverage    86.3%   86.23%   -0.07%
==========================================
  Files           5        5
  Lines        1066     1061       -5
==========================================
- Hits          920      915       -5
  Misses        146      146

Impacted Files
Coverage Δ

src/TableReader.jl
91.74% <100%> (-0.08%)
:arrow_down:

src/download.jl
66.66% <0%> (-13.34%)
:arrow_down:

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 57a39c2...0f140e0. Read the comment docs.

For some strange reason one of the Travis tests is still marked "pending," but if you click on Details you'll see it finished a long time ago.
Once this gets merged you probably want to tag a new release, since currently TableReader doesn't even load on the stable version of Julia.

Might this be merged?


DNS records and domain configuration check gives possibly inaccurate warnings when behind NAT

The warnings on the DNS record check page assume that the tcp bind address necessarily will match the public IP address.  This isn't the case for my setup.
I've confirmed the server is working normally, and external checks against MX, SPF, etc, all look good.
Providing some way to inform this checker that the public IP is different than the bound IP might be handy.

Thanks for creating the issue. I think the new config option should help. Could you check if this works for your setup?

Ok, it took me a while to figure out that I needed to install the @HEAD (rather than @latest).  Looks good!

Excellent, thanks for reporting and testing!


⚠ Itaca Gallery has degraded performance

In e89fe1d, Itaca Gallery ($SITE_TCGLR) experienced degraded performance:

HTTP code: 200
Response time: 8323 ms

Resolved: Itaca Gallery performance has improved in 1551e97 after 5 minutes.


bug[session]: Bind locale in cookie and new bind_locale bundle paramater

Q
A

Bug fix?
Y

New feature?
Y

BC breaks?
N

Deprecations?
N

Fixed tickets
N

Remove the need to initiate a session and had a parameter to be cookie less (if the locale is not bind in a cookie)

small remark on the commits, i think its type(what) and not type[what] the convention.
The documentation uses [] to stipulate that the "what" part is optional, but when you use it, you use ():
bug(session): bind the locale in a cookie instead of in a session
feat(cookie): new bind_locale configuration parameter to avoid any co… …
…okie if set to false
the title of feat(cookie) is also a little bit too long ;)


Plumb CIVIFORM_TIME_ZONE_ID to Terraform.

Description
This makes it possible for the CIVIFORM_TIME_ZONE_ID env variable to be set as part of configuring a deployment.
I could use some help manually testing this. Fixing this will unblock deployments that want to use a different timezone than America/Los_Angeles.
Checklist

[ ] Manually test

Issue(s)
#2341

@clouser2 failing TF validation check

Fixed. Thanks!


fix(@angular-devkit/build-angular): ng extract-i18n support json

@angular/localize supports extracting as json file, but CLI does not support this.

@googlebot I fixed it.

If you are extracting to JSON then surely you will need to implement merging translations stored in JSON too? See https://github.com/angular/angular/blob/master/packages/localize/src/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.ts
Also, we recently implemented ARB format, which is another form of JSON that might be worth supporting: https://github.com/angular/angular/blob/master/packages/localize/src/tools/src/extract/translation_files/arb_translation_serializer.ts and https://github.com/angular/angular/blob/master/packages/localize/src/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.ts

@petebacondarwin What do you mean by "implement merging translations"? Could you tell me the details?

@petebacondarwin What do you mean by "implement merging translations"? Could you tell me the details?

@wenqi73 - there are two main processes in i18n: extraction and merging (sometimes called translation or inlining). The extraction process involves parsing the code for $localize calls and rendering translation files (e.g. XLIFF) containing all the i18n messages. The merging process involves parsing the code for $localize calls and replacing those calls with translated messages, where the translated messages are read in from translation files (e.g. XLIFF).
When supporting a particular translation file format, we need to provide a serializer (used when extracting) and a parser (used when merging).

@wenqi73 - there are two main processes in i18n: extraction and merging (sometimes called translation or inlining). The extraction process involves parsing the code for $localize calls and rendering translation files (e.g. XLIFF) containing all the i18n messages. The merging process involves parsing the code for $localize calls and replacing those calls with translated messages, where the translated messages are read in from translation files (e.g. XLIFF).
When supporting a particular translation file format, we need to provide a serializer (used when extracting) and a parser (used when merging).

@petebacondarwin It already has the JSON parser in cli, https://github.com/angular/angular-cli/blob/97aa1fb7cc7595ca696fbe72fdf4982dd9815dfd/packages/angular_devkit/build_angular/src/utils/load-translations.ts#L69 so just need to add serializer? And now in my project I also use JSON files as translation files with localize-extract, it works fine!

@petebacondarwin It already has the JSON parser in cli, https://github.com/angular/angular-cli/blob/97aa1fb7cc7595ca696fbe72fdf4982dd9815dfd/packages/angular_devkit/build_angular/src/utils/load-translations.ts#L69 so just need to add serializer? And now in my project I also use JSON files as translation files with localize-extract, it works fine!

Gadzooks!  I didn't see that. Nice. OK so you are good just to add the serializer. Sorry for the noise.

Gadzooks!  I didn't see that. Nice. OK so you are good just to add the serializer. Sorry for the noise.

@petebacondarwin I have added arb format, please have a look😄

@petebacondarwin I have added arb format, please have a look😄

@clydin Commits have been readjusted.

@clydin Commits have been readjusted.


update @chainlink/contracts to v1.1.0-beta.0

Ready for review <3

Ready for another review -- thanks so much! @zeuslawyer


Cosmetic cleanups to BLS signatures section

Miscellaneous cosmetic cleanups to the " BLS signatures" section:

fix section capitalisation for spec consistency
avoid uncapitalised "eth2" for spec consistency
avoid contractions (such as PK for pubkey) for spec consistency
various copyedits

@hwwhww—Help 😂  Why is codespell complaining about the deposit contract?
./solidity_deposit_contract/deposit_contract.sol:113: ether ==> either
./solidity_deposit_contract/tests/deposit_contract.t.sol:39: ether ==> either
./solidity_deposit_contract/tests/deposit_contract.t.sol:55: ether ==> either

Also not sure what is wrong with the table of contents.

@JustinDrake  #2144 fixes these errors. :)

3\. avoid contractions (such as `PK` for `pubkey`) for spec consistency

Technically pubkey is still a contraction for public_key ;)

@hwwhww does make check_toc work as expected here? I'm having trouble getting it to build properly

@djrtwo you have to install the new doctoc locally.
sudo npm install -g doctoc@2


python-arango broken on Colab default environment

Recently I discovered that in order to use python-arango with Colab the urllib3 version must be upgraded. Based on the error, I suspect this is due to the implementation of max_retries in the python-arango HTTP client.
Upgrading urllib3 requires restarting the runtime on Colab, which isn't ideal.
Currently, attempting to connect such as is done in this notebook, now fails with this error:
/usr/local/lib/python3.7/dist-packages/arango/http.py in create_session(self, host)
     83             backoff_factor=self.BACKOFF_FACTOR,
     84             status_forcelist=[429, 500, 502, 503, 504],
---> 85             allowed_methods=["HEAD", "GET", "OPTIONS"],
     86         )
     87         http_adapter = HTTPAdapter(max_retries=retry_strategy)

TypeError: __init__() got an unexpected keyword argument 'allowed_methods'

While this is a Colab problem, I was curious if there is a solution on the python-arango side that would fix this? As far as I can tell the default Colab environment has urllib3 version 1.24.3 and comparing this to the most recent version the only change with retry, that is obvious to me is this:

Any ideas? I suspect implementing a fix will be faster and more likely on the driver side than getting Google to change their default environment.

After upgrading the Colab environment, it seems to stay up to date, even after closing all sessions and factory resetting runtime.
It's not ideal for anyone trying out the driver for the first time on Colab but if they only have to do it once and it lasts forever(not sure if this true) that isn't too bad.

Hi @cw00dw0rd,
Thank you for the detailed issue. Due to limited resource on my part, python-arango won't be supporting multiple versions of its dependencies. Let me know if you have any other problems. Thanks.


Conventionize

What this PR does?:

Ran prettier on this code - please suggest another approach if you want to preserve the formatting.
Encapsulated the pluginManager, so it handles commands by itself.
Core now has only plugging pluginManager to discord api responsibility.
Removed cursed plugin finding capability for injection by constructor argument

Why?:
I want in the future to create some plugin for SpottyKiwi and I am doing some cleaning so it will be easier to manipulate it.

How To check this PR?:
Checking this code by going file by file may injure you.
Please take a look on this commit: https://github.com/hspsh/spotty-kiwi/pull/39/commits/f34d4fce0281af17ac7d068d36f25982c72afc76
And then just take a holistic look on other changes.

Hey, good job, this looks pretty clean. I should've done this a long time ago to make it easier for people to contribute. I'm not a huge fan of having to register every plugin manually but I guess it's cleaner than that cursed discovery function.
As far as Prettier goes - I have no strong opinion one way or another but there is already an ESLint config in this repo. We can ditch that for Prettier but then please delete the old config so it's not misleading. It would be amazing to have formatting enforced by CI (possibly also having it run automatically with pre-commit?) but if you don't feel like setting up GitHub actions then we can just leave that for the future.

Hey, good job, this looks pretty clean. I should've done this a long time ago to make it easier for people to contribute. I'm not a huge fan of having to register every plugin manually but I guess it's cleaner than that cursed discovery function.
As far as Prettier goes - I have no strong opinion one way or another but there is already an ESLint config in this repo. We can ditch that for Prettier but then please delete the old config so it's not misleading. It would be amazing to have formatting enforced by CI (possibly also having it run automatically with pre-commit?) but if you don't feel like setting up GitHub actions then we can just leave that for the future.

I will now try to integrate prettier with eslint or see if eslint isn't already addressing formatting concern.
I will leave pipeline for later.

Hey, good job, this looks pretty clean. I should've done this a long time ago to make it easier for people to contribute. I'm not a huge fan of having to register every plugin manually but I guess it's cleaner than that cursed discovery function.
As far as Prettier goes - I have no strong opinion one way or another but there is already an ESLint config in this repo. We can ditch that for Prettier but then please delete the old config so it's not misleading. It would be amazing to have formatting enforced by CI (possibly also having it run automatically with pre-commit?) but if you don't feel like setting up GitHub actions then we can just leave that for the future.

I made eslint and prettier not conflicting with each other.
As prettier is for style and eslint is for static analysis mostly.
This PR now should be ready to check and hopefully merge.

Okay, looks good now, let's go.


NACS NF Testing

Ad-hoc ticket for ongoing testing work.

Waiting for networks team and Kiran

Test report has been signed off


show a more readable date for form submissions

and for 'most recent response' on the form list page


Create HiCrypt_Ransomware Rule

Rule to detect HiCrypt Ransomware. Saving the special sauce to detect the DLL for customers


Verify that "Șona" is listed in the dropdown menu when searched

Description : When user is typing "Șona " in the search bar, the location should appear in the dropdown menu correctly spelled and with locality information (as in Law nr. 2 din 16 februarie 1968)
Precondition : The website is up and running.

** Step 1 :** Type "Șona" in the search bar .

Expected result : "Șona" is listed as an option in the dropdown menu, and appears as "Sălciua, Alba"


Explicit response metadata type specifications

Description
Explicit response metadata type specifications
(note the dict key type specifiers - it is not just int but int | str as expected by decorator type specification)
Type of change

[x] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.05%. Comparing base (0867837) to head (9397164).
Report is 17 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #957      +/-   ##
==========================================
- Coverage   95.17%   95.05%   -0.12%
==========================================
  Files          54       54
  Lines        2030     2063      +33
==========================================
+ Hits         1932     1961      +29
- Misses         98      102       +4

Files
Coverage Δ

ols/app/endpoints/authorized.py
100.00% <100.00%> (ø)

ols/app/endpoints/feedback.py
100.00% <100.00%> (ø)

ols/app/endpoints/ols.py
96.57% <100.00%> (-1.37%)
:arrow_down:

... and 1 file with indirect coverage changes

/lgtm

/approve


Dead link in docs

Type of issue
Documentation bug
Description
In Publisher API reference - pbjs.bidderSettings, a link to the Ad Ops documentation is dead.
It currently links to http://prebid.org/dev-docs/adops.html, but should be http://prebid.org/adops.html
Steps to reproduce

Visit link
Read section 2.2. adserverTargeting
Click on link "AdOps documentation"

Expected results
Visit http://prebid.org/adops.html
Actual results
Visit http://prebid.org/dev-docs/adops.html, a dead page
Platform details
All

Thanks for the catch @mkendall07, fixed in https://github.com/prebid/prebid.github.io/commit/83b58f4d0c7bbc02d7bd2046964b62a01f07dae8