Add ReactPlay To Projects list

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/india/blob/main/CONTRIBUTING.md.

Which change are you proposing?

[x] Adding/updating open source project/s
[ ] Adding/updating maintainer/s

Adding/updating open source project/s

[x] The project was built in or receives significant contributions from India
[x] The project has at least 100 stargazers

Why should this open source project be featured?

react-play is an open-source web app that helps you learn ReactJS faster with a hands-on practice model. It is a collection of ReactJS projects that you can use to learn ReactJS. You can also create your projects and share them with the world. The best part is that the ReactJS experts will review your project code before it gets part of the ReactPlay app.

Adding/updating maintainer/s

[ ] Maintainer's location on their GitHub profile indicates as India
[ ] Maintainer has approved this PR to be included on the website

What open source project/s does the individual maintain?

Please replace this line with GitHub URLs to projects that the individual/s maintains

Something that does not neatly fit into the binary options above

[ ] My suggested edits are not about an existing page, or at least not a single one

Please replace this line with an explanation of your proposed changes.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Thanks for your contribution @Sachin-chaurasiya 💙
Can you please ask any of the maintainers of react-play to leave a comment on this PR that they approve listing the project on githubindia.com?

Thanks for your contribution @Sachin-chaurasiya 💙 Can you please ask any of the maintainers of react-play to leave a comment on this PR that they approve listing the project on githubindia.com?

Sure @mvkaran .

I approve ReactPlay to be listed on githubindia.com


[UPLOAD-1224] replace react-keycloak with react-oidc-context

For UPLOAD-1224, pretty much what it says on the tin. react-keycloak is a dead/archived project at this point, so replacing it is the prudent thing to do. Was hoping that the diff would pick up keycloak.js->auth.js as a rename, but I guess it was different enough that it treats it as a separate file. Some pieces of it got much simpler, some more complex. It still relies on keycloak.js for some specifics like generating the registration URL and logout URL (which is more relevant on blip, but for the sake of parity is also included here).

@krystophv We can merge this into the UiW branch, right?

@gniezen Yeah, will merge now.


fix: add Python as it has been in use in various repos.

In recent discussions around an Opstools PR, we noticed that the Tech Radar has no entry for Python. It seems we should add such an entry, because there are significant repositories with Python code, Hokusai/Motion/Zenith being the main ones.
The description field for the entry is left blank, to be filled in based on discussion in this PR, therefore, the PR is tagged Draft.

We should definitely clarify its "adopt" status for data purposes. I like the description @cavvia suggests.
For infrastructure tooling (starting with hokusai and opstools/ops-util), it feels more incidental. I think @izakp chose it since it was most familiar and had strong library support, which are the same motivations the org usually has around ruby. I'd argue we have more broad internal knowledge of maintaining and deploying ruby as well, so I'd want that to be considered before starting new python projects in non-data areas.

The description field has been filled in as suggested.


Support for local cluster services DNS resolution

Summary
Configure synced deployments DNS Config to point to kcp DNS resolver mapping local namespaces to physical namespaces for cluster local services.
Related issue(s)
Fixes #505
Fixes #1465

@lionelvillard, thanks for the PR!
A couple of comments:
I see that the PR doesn't take into account the workspace of the Pod that is making the request, so that could lead to conflicts in the namespace resolution, given the following scenario:

Pod A running in Namespace A belongs to workspace A
Service B in Namespace B belongs to workspace B
Service B in Namespace B belongs to workspace A

if POD A tries to resolve the service B in namespace B. Currently, the plugin can respond with a service from another Workspace (B)
To solve this, the plugin has to be aware of the Workspace of the querying POD and filter accordingly.
Also, wiring up the Syncer PODs IP to the dnsConfig means that if the syncer pod gets recreated (update, scale...), all the currently deployed pods/deployments will need to be resynced. Perhaps a service that fronts the syncer deployment with a cluster IP could be a better solution?
Thank you!

Also, wiring up the Syncer PODs IP to the dnsConfig means that if the syncer pod gets recreated (update, scale...), all the currently deployed pods/deployments will need to be resynced. Perhaps a service that fronts the syncer deployment with a cluster IP could be a better solution?

Yes that's a great idea, thanks!
On that topic I feel a bit uneasy about packaging both the kcp dns proxy and the syncer together due to different scheduling requirements (the dns proxy is critical, the syncer is not). What's your take on this?

I agree. Coupling the DNS resolution to the syncer doesn't feel right... we were thinking of something along those lines:

Deploying one CoreDNS pod for each workspace in a pcluster, with an updated map of the namespaces for the given workspace and pointing all the pods in all the workspace namespaces to their correct CoreDNS server.

What is essential is to avoid extra watches/informers from being used and try to make the CoreDNS watch/hot-reload a configuration (configmap?) that is updated by the syncers on each namespace creation/deletion.

Deploying one CoreDNS pod for each workspace in a pcluster, with an updated map of the namespaces for the given workspace and pointing all the pods in all the workspace namespaces to their correct CoreDNS server.

I would much prefer this solution. It provides better workspaces isolation and can be easily enforced by using network policies. It also solves the source pod issue (we certainly don't want pod watch!)

What is essential is to avoid extra watches/informers from being used and try to make the CoreDNS watch/hot-reload a configuration (configmap?) that is updated by the syncers on each namespace creation/deletion.

There are various ways to do this. Using a configmap is simple but require a watch. Another way is to expose a management API (add/remove namespaces) which is quite easy to implement with Caddy.

There are various ways to do this. Using a configmap is simple but require a watch. Another way is to expose a management API (add/remove namespaces) which is quite easy to implement with Cadd

Sorry, I meant avoiding extra watches against KCP, local watches should be fine! :)

@jmprusi I implemented what we discussed above:

the kcp dns resolver now runs in its own pod and gets its configuration from the kcp-dns-nsmap configmap.
the syncer makes sure the kcp-dns-nsmap configmap is up-to-date
the kubectl kcp plugin generates additional resources to deploy the kcp dns deployment.

PTAL.

Is it possible to get a /ok-to-test so I can check the e2e tests have been fixed? I will probably need several iterations. (it's working locally but I only run one configuration).

/ok-to-test

@jmprusi Do you have time to look at this PR?

Thanks! Worked perfectly! ~tried it locally and ran into some issues... I will add more reviews comments once I can resolve the local issue.~

Great!

Not fully sure about 2 different images instead of using just one (syncer) launched with different flags, as that requires users to pass two different images...but I guess we can set a proper default image to avoid that?

Having 2 different images is IMO cleaner (greater separation of concerns) and I agree the devex can be improved by setting a proper default image (when we get one).

Also, can we add some debug logging to the DNS plugin? (or document how to enable it)

Will do!

@jmprusi I've updated the branch. PTAL! thx!

@jmprusi is there anything left to be done for this PR, besides getting a ghcr.io/kcp-dev/kcp url?

I've run some tests locally and functionality LGTM, can you review @davidfestal and/or @sttts ?

I just refactor a bit the CoreDNS plugin to closer match the CoreDNS rewrite plugin.

If I understand correctly this PR assumes that the only workspace resources synced by the syncer exist in the same KCP workspace that contains the SyncTarget.

Currently there is one DNS server per syncer. So when the Syncer is connected to multiple user workspaces, they all connect to the same DNS server. I haven't tested this use case yet so I'm most likely missing something.
Moving forward, I would like to merge this PR as, at least, it is useful for the simple one-to-one use case. If you could open follow up issues I'd be happy to take a look at them.
(side note: I'm working on fixing Stefan's concerns, almost done...)

Moving forward, I would like to merge this PR as, at least, it is useful for the simple one-to-one use case

IMO @davidfestal 's concerns are fundamental. The described use-case by David is the normal use-case, not the other way around. We have to have a plan for that before merging. If we have that plan and decide to merge first, so be it. But this conceptual work IMO has to happen first.
If I remember right, Ben Bennet had discussed this in some doc of how to serve the right DNS records for each workspace, e.g. by source IP, or by having a proxy CoreDNS per workspace. @jmprusi can probably provide the link to that discussion.

Moving forward, I would like to merge this PR as, at least, it is useful for the simple one-to-one use case

IMO @davidfestal 's concerns are fundamental. The described use-case by David is the normal use-case, not the other way around. We have to have a plan for that before merging. If we have that plan and decide to merge first, so be it. But this conceptual work IMO has to happen first.

So it is not excluded to merge this PR, even though the added feature would not be supported in the use-case of Location Workspaces.
But at least merging this should not break the ability of the Syncer to sync workload resources from several user workspaces, and have them up and running as it is today.

If I remember right, Ben Bennet had discussed this in some doc of how to serve the right DNS records for each workspace, e.g. by source IP, or by having a proxy CoreDNS per workspace. @jmprusi can probably provide the link to that discussion.

@sttts @lionelvillard We should plan a design session to revisit the various options that were initially explorerd by @jmprusi and @knobunc

The document where we explored/discussed some options is: https://docs.google.com/document/d/1tzyYWMFlhgUL4IOTI6gjfBqTobsyXMjgFeqD7Uijn5g

@sttts @lionelvillard We should plan a design session to revisit the various options that were initially explorerd by @jmprusi and @knobunc

Yes, please, let's arrange a design session.

So after our design session here is what I propose to do:

Before merging this PR we should add a check so that the DeploymentMutator would replace the DNSPolicy and DNSConfig only when the deployment comes from the same upstream workspace as where the SyncTarget workspace.
By doing so we gate the scope of this PR to the only supported use-case, avoid breaking the behavior in the Location Workspace use-case.
After the merge of this PR we should:

change the creation of the CoreDNS Deployment and associated resources from a static creation (in the workload sync CLI command) to have the syncer itself create it dynamically, one dpeloyment per user-workspace synced to this Syncer.
cleanup the CoreDNS Deployment when no more namespaces are related the corresponding user workspace.
This would be detailed in a dedicated issue.

@jmprusi Do you think you could test that now, after the last changes, this PR doesn't break the location workspace use-case anymore (introducing security risks on the physical cluster side) ?

@lionelvillard can you rebase the commits and clean up the story?

/lgtm

/hold
pending go.mod question. also continuing to review

@davidfestal @jmprusi @ncdc this is ready for another round of reviews.


fix: add missing infix operators

Changelog

Added missing infix operators.

Summary
I am uncertain if this is the correct solution, but when I ran mix format, I encountered errors related to the usage of and, or, !=, and !== operators.
Sample Code Snippet:
((id == "" or id == requested_id) and (type == "" or type == requested_type))
|> foo()

After mix format:
(id == "" or id == requested_id)
|> and(type == "" or type == requested_type)
|> foo()

As you can observe, this syntax is not valid. Therefore, I added these operators in infix_ops list.
Checks

[x] Please sign Adobe's CLA if this is your first time contributing to an Adobe open source repo. Thanks!

thanks for the PR! it looks like our CLA signing check isn't working with closing and re-opening the PR like it says it should... would you mind just opening a second PR entirely? apologies :(


Fix 2 typos in README

When reading the docs last night I came across two real small typos, decided to fix 'em. Also some random trailing whitespace got eliminated in the process thanks to Atom.

Thanks for the contribution! I've previously asked @jpmedley to address this in the open #209 PR, and that should be taken care of soon. I'm going to close this PR in the meantime.


Dictionary with values of other components that are lists throws exceptions

Dictionaries don't work with value types of lists.
For example:
    <component id="list" type="System.Collections.Generic.List`1[[System.String]]">
        <parameters>
            <collection>
                <array>
                    <item>11</item>
                    <item>22</item>
                </array>
            </collection>
        </parameters>
    </component>

    <component id="stringToListDictionary" type="System.Collections.Generic.Dictionary`2[System.String, System.Collections.Generic.List`1[[System.String]]]">
        <parameters>
            <dictionary>
                <dictionary>
                    <entry key="Key 1">${list}</entry>
                </dictionary>
            </dictionary>
        </parameters>
    </component>

In this example - stringToListDictionary while crash.
Reason for crash is that GenericListConverter is not implementing PerformConversion(string value, Type targetType) - but only PerformConversion(IConfiguration configuration, Type targetType).
GenericDictionaryConverter.ConvertConfigurationToCollection function uses DefaultConversionManager that finds the right converter - and picks the first eligble one: GenericListConverter - and calls PerformConversion(string value, Type targetType).
Using custom converter won't help since it is inserted in a list after GenericListConverter = so it won't get there before the exception.

I would consider the easy solution to be:
Modify GenericListConverter so that instead of throwing NotImplementedException at PerformConversion(string value, Type targetType), if the string value contains $ - it will Resolve that object: this.parent.Context.Kernel.Resolve

@jonorossi I would very much appreciate your help with this issue

Merge request https://github.com/castleproject/Windsor/pull/575 has a test and a fix for the issue for you to review @jonorossi

Thanks for the pull request. Could you please include a full stack trace here where it throws the NotImplementedException, trying to see what it is doing but don't have time to pull up the code at the moment. We've got parameter syntax parsing code so it would be best to be using that.

We've also got the property reference notation syntax (i.e. #{propertyName}) that should probably be handled for you rather than reimplementing this here with a few rough string manipulations.
https://github.com/castleproject/Windsor/blob/master/docs/xml-configuration-properties.md

Here is the stack trace
System.NotImplementedException : The method or operation is not implemented.
at Castle.MicroKernel.SubSystems.Conversion.GenericListConverter.PerformConversion (System.String value, System.Type targetType) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/SubSystems/Conversion/GenericListConverter.cs:46
at Castle.MicroKernel.SubSystems.Conversion.DefaultConversionManager.PerformConversion (System.String value, System.Type targetType) [0x00024] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/SubSystems/Conversion/DefaultConversionManager.cs:106
at Castle.MicroKernel.SubSystems.Conversion.GenericDictionaryConverter+DictionaryHelper`2[TKey,TValue].ConvertConfigurationToCollection (Castle.Core.Configuration.IConfiguration configuration) [0x001bc] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/SubSystems/Conversion/GenericDictionaryConverter.cs:138
at Castle.MicroKernel.SubSystems.Conversion.GenericDictionaryConverter.PerformConversion (Castle.Core.Configuration.IConfiguration configuration, System.Type targetType) [0x000d0] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/SubSystems/Conversion/GenericDictionaryConverter.cs:75
at Castle.MicroKernel.SubSystems.Conversion.DefaultConversionManager.PerformConversion (Castle.Core.Configuration.IConfiguration configuration, System.Type targetType) [0x00025] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/SubSystems/Conversion/DefaultConversionManager.cs:122
at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ResolveFromParameter (Castle.MicroKernel.Context.CreationContext context, Castle.Core.ComponentModel model, Castle.Core.DependencyModel dependency) [0x00058] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Resolvers/DefaultDependencyResolver.cs:411
at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ResolveFromKernel (Castle.MicroKernel.Context.CreationContext context, Castle.Core.ComponentModel model, Castle.Core.DependencyModel dependency) [0x00029] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Resolvers/DefaultDependencyResolver.cs:202
at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.TryResolveCore (Castle.MicroKernel.Context.CreationContext context, Castle.MicroKernel.ISubDependencyResolver contextHandlerResolver, Castle.Core.ComponentModel model, Castle.Core.DependencyModel dependency, System.Object& value) [0x000f8] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Resolvers/DefaultDependencyResolver.cs:342
at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve (Castle.MicroKernel.Context.CreationContext context, Castle.MicroKernel.ISubDependencyResolver contextHandlerResolver, Castle.Core.ComponentModel model, Castle.Core.DependencyModel dependency) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Resolvers/DefaultDependencyResolver.cs:136
at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments (Castle.Core.ConstructorCandidate constructor, Castle.MicroKernel.Context.CreationContext context) [0x000aa] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/ComponentActivator/DefaultComponentActivator.cs:301
at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate (Castle.MicroKernel.Context.CreationContext context) [0x00009] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/ComponentActivator/DefaultComponentActivator.cs:82
at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate (Castle.MicroKernel.Context.CreationContext context) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/ComponentActivator/DefaultComponentActivator.cs:63
at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create (Castle.MicroKernel.Context.CreationContext context, Castle.MicroKernel.Burden burden) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/ComponentActivator/AbstractComponentActivator.cs:73
at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance (Castle.MicroKernel.Context.CreationContext context, System.Boolean trackedExternally) [0x0000f] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Lifestyle/AbstractLifestyleManager.cs:79
at Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve (Castle.MicroKernel.Context.CreationContext context, Castle.MicroKernel.IReleasePolicy releasePolicy) [0x0004a] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Lifestyle/SingletonLifestyleManager.cs:57
at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore (Castle.MicroKernel.Context.CreationContext context, System.Boolean requiresDecommission, System.Boolean instanceRequired, Castle.MicroKernel.Burden& burden) [0x000e4] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Handlers/DefaultHandler.cs:152
at Castle.MicroKernel.Handlers.DefaultHandler.Resolve (Castle.MicroKernel.Context.CreationContext context, System.Boolean instanceRequired) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Handlers/DefaultHandler.cs:97
at Castle.MicroKernel.Handlers.AbstractHandler.Resolve (Castle.MicroKernel.Context.CreationContext context) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/Handlers/AbstractHandler.cs:181
at Castle.MicroKernel.DefaultKernel.ResolveComponent (Castle.MicroKernel.IHandler handler, System.Type service, Castle.MicroKernel.Arguments additionalArguments, Castle.MicroKernel.IReleasePolicy policy, System.Boolean ignoreParentContext) [0x00031] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/DefaultKernel.cs:751
at Castle.MicroKernel.DefaultKernel.ResolveComponent (Castle.MicroKernel.IHandler handler, System.Type service, Castle.MicroKernel.Arguments additionalArguments, Castle.MicroKernel.IReleasePolicy policy) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/DefaultKernel.cs:739
at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve (System.String key, System.Type service, Castle.MicroKernel.Arguments arguments, Castle.MicroKernel.IReleasePolicy policy) [0x00027] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/DefaultKernel_Resolve.cs:175
at Castle.MicroKernel.DefaultKernel.Resolve (System.String key, System.Type service, Castle.MicroKernel.Arguments arguments) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/MicroKernel/DefaultKernel_Resolve.cs:45
at Castle.Windsor.WindsorContainer.Resolve[T] (System.String key) [0x00001] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor/Windsor/WindsorContainer.cs:606
at Castle.MicroKernel.Tests.Configuration.ConfigurationTestCase.DictionaryWithReferencedList () [0x00038] in /Users/nimrodo/dev/repos/Windsor/src/Castle.Windsor.Tests/Config/ConfigurationTestCase.cs:89
at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Reflection/RuntimeMethodInfo.cs:395

@jonorossi I'd be happy if you could point out what you mean by parameter syntax parsing code


Write an article

Hey! I'm really glad to see this repo. I've been using Redux for a while now, and I've experimenting with in-house implementations of it in Python, Java, and now C. I'll be putting up my C implementation on GitHib and NPM soon enough.
Anyway, I think there should be an article written about this repo and the benefits of Redux outside of GUI programming. There is a whole world of C++/C developers who I think could benefit from managing the state of their applications with the Redux style of explicit state management. Maybe I've become too zealous, but when state is thrown about all over an application, and mutations are made anywhere and everywhere, I begin to shudder.
I'm rewriting a school operating systems project written in C of course, to use Redux, and it's awesome.
Anyway, write an article. The low-level world needs this too.

Thanks for finding this project useful!!! I am all in to the idea of having an article. Just the fact that i don't find it is up on my priority chain. Again, thanks so much for those kind words. You are the reason why spirit of open source projects is still moving around the community!!

benefits of Redux outside of GUI programming

Such as?

Such as?

Sounds like someone needs to read an article about it!


Manual

Is there any manual for getting this project up and running?
Regards
Victor

i need it too :c


Release v1.0.0

[ ] SDK Structure refactoring (make it as service, multiversioning, good request|response structures)
[ ] Bugfixes
[ ] Good examples
[ ] unit tests with 60%+ coverage, integration tests
[ ] Extended readme
[ ] Contributing guide
[x] Code of conduct
[x] CircleCI tests
[x] Badges 😍

Подскажите, планируете выпустить этот релиз?


Function node uses "node.done" in comments

Hey guys,
What are the steps to reproduce?
In the following example flow, the Complete-node watches both function nodes.
But only the first function node will trigger the Complete-node:

[{"id":"e48085d7.32f838","type":"complete","z":"c2a7925b.6e143","name":"","scope":["53955b4b.c098b4","55bb2150.5fdde"],"uncaught":false,"x":170,"y":580,"wires":[["c8ab2289.02c92"]]},{"id":"c8ab2289.02c92","type":"debug","z":"c2a7925b.6e143","name":"Msg completed","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":380,"y":580,"wires":[]},{"id":"53955b4b.c098b4","type":"function","z":"c2a7925b.6e143","name":"Function without comment","func":"node.send(msg)","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":480,"wires":[[]]},{"id":"dc9eb150.c058","type":"inject","z":"c2a7925b.6e143","name":"Test 1","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Test 1","payloadType":"str","x":170,"y":480,"wires":[["53955b4b.c098b4"]]},{"id":"55bb2150.5fdde","type":"function","z":"c2a7925b.6e143","name":"Function with comment","func":"/*setTimeout(function() {\n    msg['payload'] = 'New payload';\n    node.send([msg]);\n    node.done();\n}, 0);*/\nnode.send(msg)","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":520,"wires":[[]]},{"id":"1a07acc9.efedd3","type":"inject","z":"c2a7925b.6e143","name":"Test 2","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Test 2","payloadType":"str","x":170,"y":520,"wires":[["55bb2150.5fdde"]]}]

What happens?
The second function node contains (compared to the first function node) only an extra comment, including node.done().  It doesn't matter if it is a single line (//) or multiline (/* */)  comment.
Due to this comment, we will pass the regex test at line 110 of the Function-node:

Which means handleNodeDoneCall becomes false at line 111.
As a result - when a message has been processed by the Function node - that message won't be send to the Complete node:

What do you expect to happen?
I expect a node.done to be ignored when it is inside a comment.
Perhaps this could be solved by removing the comments from node.func (via a temporary variable), before passing the source code to the regex check on line 110?  I mean something like this:
// Remove comments e.g. based on a regex from https://stackoverflow.com/a/5989450
var funcWithoutComments = node.func.replace(/some_regex_to_remove_comments/g, "");

if (/node\.done\s*\(\s*\)/.test(funcWithoutComments )) {
   handleNodeDoneCall = false;
}

Thanks!
Bart
Please tell us about your environment:

[ ] Node-RED version: 1.3.4
[ ] Node.js version: 12.19.0
[ ] npm version: 6.14.8
[ ] Platform/OS: Windows 10
[ ] Browser: Chrome

I will admit, the detection for node.done is a bit of a hack. We can certainly improve the regex to cover more cases, but there will still remain plenty of edge cases that could result in false-positive/negatives.
The only fully reliable way is to do a full parse of the JavaScript to look for the call... so that's what we'll done.

Your new approach is indeed much better.
Thanks!


domain - earth obs, composition, dynamics etc

What are the general science domains? How does this marry up against INSPIRE theme's /GEMET Topics?


Readme edits

ok I change the readme and change image to img src and made sure the iOS app is smaller.
I hope you enjoy this Jerome

amazing Jerome!
next time I would like to do the same but with the original [image] instead of


Tablename-specific properties overridden in different table contexts

Describe the bug
Individual table-specific properties are able to be overridden in different table contexts with no clear indication of precedence.  For example, table.custom.balancer.host.regex.accumulo.metadata can be set to different values on every table.  In https://github.com/apache/accumulo/blob/main/server/base/src/main/java/org/apache/accumulo/server/master/balancer/HostRegexTableLoadBalancer.java#L112   it gathers all table properties and basically the last one it reads is the one used.
To Reproduce
set the accumulo metadata table regex to different values under different table contexts and see which is chosen  in the balancer log message.
Expected behavior
One would expect, given the tablename in the property, that the namesake table setting would take precedence followed by the system level.  It seems odd from a design point of view to be able to override values within a table context and yet have properties with table names.  If each table has table.custom.balancer.host.regex (sans tablename) set within its context, that would make sense, but the ability to override something as critical as the accumulo.metadata regex under myCrummyTestTable settings seems off.

table.custom.balancer.host.regex.accumulo.metadata should only be set once. I realize that the table properties can be specified per-table, but that's not how the code uses the properties. See the test[1] for an example. Maybe the properties should be renamed.
[1] https://github.com/apache/accumulo/blob/main/server/base/src/test/java/org/apache/accumulo/server/master/balancer/HostRegexTableLoadBalancerTest.java

Specifically, these examples:
https://github.com/apache/accumulo/blob/12395eeec06bc88d9a530ccc9927d924eb8108e8/server/base/src/test/java/org/apache/accumulo/server/master/balancer/BaseHostRegexTableLoadBalancerTest.java#L78
https://github.com/apache/accumulo/blob/12395eeec06bc88d9a530ccc9927d924eb8108e8/server/base/src/test/java/org/apache/accumulo/server/master/balancer/HostRegexTableLoadBalancerTest.java#L190
https://github.com/apache/accumulo/blob/12395eeec06bc88d9a530ccc9927d924eb8108e8/server/base/src/test/java/org/apache/accumulo/server/master/balancer/HostRegexTableLoadBalancerTest.java#L246

Yes, I recognize how the code is using the properties and I'm saying from a design standpoint it's too prone to error.  If a property is meant to be set only once, the product should do something to enforce that or warn about it.  In this case renaming the properties to omit the tablenames and simply defining it under the table context would work.

Understood. I didn't know if you were having an operational problem and I wanted to provide some feedback that might help you resolve the issue. I agree that a change may be needed here.

In this case renaming the properties to omit the tablenames and simply defining it under the table context would work.

Since the HostRegexTableLoadBalancer is meant to be configured as the master balancer, it might make more sense to create master.balancer.* prefix property and add them there.

Understood.  Such feedback is always welcome.  We figured it out a day or two ago and nuked the setting on every table, leaving it only at the system level, but it was not intuitive while hunting it down.  (No idea how they got set there, but still)
Yes, something like that would be good alternative as well.

I think the answer here is to simply put the property into the map in HostRegexTableBalancer.parseConfiguration IFF the table name from the property matches that of the table configuration being used.  This should handle properties being set at the system level appropriately as well.

@ivakegg I think that is a good first step for now.  If the main reason the tablename properties came about was to be able to see them quickly at the system level, then I would argue that this is best addressed by a change to the config command.  It would be ideal to be able to run something like a config -f regex --all and return all table settings so we don't have to dump all the configs to find them, keeping the table setting under table context paradigm.

Based on the description, it seems that this issue is about how table-specific properties can override system-properties. However that is the design of per-table properties and works as expected.
Based on the discussion, though, it seems that this issue is not about table-specific properties overriding system properties, but specifically about the issues of HostRegexTableLoadBalancer poor use of properties. It should be mentioned that while these properties can be set at the per-table level (because of the property names and for historical reasons), this balancer cannot be used as a per-table balancer, and can only be instantiated at the main balancer (it has no per-table constructor that accepts a table id). The current code in the main branch was modified in #1201 (for target release 2.1.0) and never uses the per-table configuration for anything other than issue a warning. So, the only settings that will apply to this balancer are those placed on the system-wide configuration.
Given the state of things in the main branch, I don't believe there's anything more to be done here, other than to advise people to use this balancer very carefully... with the understanding that the properties should be set at the system level, in spite of their names (for historical reasons) being prefixed with table.
Please re-open or continue the discussion if there's more to address, but I think the fix in #1201 should address the concerns listed here already.

Based on the description, it seems that this issue is about how table-specific properties can override system-properties. However that is the design of per-table properties and works as expected.
No, that is not what the issue is saying.  I tried to clarify it in the discussion but it seems further clarity is needed.
Given a set of Tables T{T1, T2, ..., TN} and a set of configs C{C1,C2, ..., CN}, with some number of system-level properties S  with C1, C2, ... CN set, for a given table T1 with C1,..., CN set,   T1C1 can and does take precedence over SC1.  This is good, right, and proper.  The issue is (was) that there exists a set of properties with tablenames which can be set at both the system level and table level for each table, C.Tname.  When I say "Individual table-specific properties are able to be overridden in different table contexts"  I mean C.T1  could be overridden in T2 ( different tables meaning T1 !=  T2 ) in such a way that T1C.T1 and SC.T1 are ignored in favor of T2C.T1.  C.T1 should be specific to T1 and no table T not equal to T1 should be able to override it.  It sounds like #1201 addressed this so that SC.T1 would take precedence over all TC.T1 which fixes the specific issue with the HostRegexBalancer, but that violates the original idea that Tc should override Sc for all c in C.

in such a way that T1C.T1 and SC.T1 are ignored in favor of T2C.T1

@hlgp I'm a little confused by your nomenclature, so let me translate first to make sure I understand, then I'll address it:
Imagine a config key: table.custom.table1.key

In the system configuration, the value is set to v0
In table1's configuration, the value is set to v1
In table2's configuration, the value is set to v2
In table3's configuration, no value is set

It sounds like what you're saying is that if table2 sets table.custom.table1.key = v2, then operations performing in the context of table1 will see the v2 value instead of v0 or v1. Is that what you are saying?
If so, that is definitely not the case. Operations performing in the context of table1 will see v1, operations performing in the context of table2 will see v2, and operations performing in the context of table3 will see v0.
The fact that the key contains the name of table1 has no bearing on whether its value will be seen in any particular context. In general, the only thing that matters is where the configuration is set.
The bug with the HostRegexTableLoadBalancer was a special case. It is not the case that the configuration of one table was affecting the context of another table. Rather, it was because that balancer was explicitly switching to each table's context and incorporating any config it found anywhere. The config wasn't affecting other contexts... the balancer was reading from all contexts. The current behavior fixes that bug, and only reads from the system context. Additionally, it logs warnings if it finds these properties in any per-table context, so that if something was working before and isn't after an upgrade, users will have some clue as to why.
This balancer should never have used the table.custom. prefix, as these properties were never intended to be stored in per-table configuration. They were intended to be stored in system configuration only... like other properties with the general.custom. prefix. I suspect that these predated the addition of general.custom. properties, and that's why it worked the way it did. This bug persists in 1.10, but the use of this balancer is a pretty niche use case, and there is a workaround. We could implement a simple fix in 1.10, like @ivakegg suggested, but nobody has done that. It would be a slight behavior change that could unexpectedly break people (while fixing others), so I'm not sure if it's worth it in a bugfix release.
So, I hope I understood what you were saying, and that my explanation makes sense. My main point is that I think this was an issue of HostRegexTableLoadBalancer, specifically, and not a general problem. Furthermore, it has been fixed in 2.1 development, and there is a workaround in 1.10. If somebody submits a PR to fix it for 1.10, feel free to ping me on it and I'd be happy to review it. I think it might just involve adding a line to if (!tableName.equals(table.getKey())) { continue; } after https://github.com/apache/accumulo/blob/56142a89952533fef922fa86739a879c073e7c2a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/HostRegexTableLoadBalancer.java#L244

"It sounds like what you're saying is that if table2 sets table.custom.table1.key = v2, then operations performing in the context of table1 will see the v2 value instead of v0 or v1. Is that what you are saying?"
-- No, I was not talking about operations within the context of table1.  I was talking about system-level operations, as exhibited by the HostRegexTabletLoadBalancer which you characterize perfectly here.  Everything hereafter in your synopsis I agree with.  We are saying the same things.  The fix is great for this specific issue, but I was thinking bigger picture thereafter.  I keep getting told what the code does and I'm trying to propose what it could do.
What I was saying further was that the behavior of the HostRegexTabletLoadBalancer brought into question the need for system-level tablename properties (config.foo.bar.table1) since it does (or did at the time) pull from all contexts and could have surmised, from each table's context, that tables own regex.  Accumulo has a very nice config inheritance structure:  system-level configs inherited or overridden within each table context as necessary.  Having a table-name-specific-system-level property blurs that structure in a way that I thought it was worth exploring a refactor.  If in 2.0+ the system-level operations no longer have access to the table contexts, then perhaps this point is moot.  If not, it was worth opening up discussions for a streamlining redesign to keep all table-specific overrides solely within that tables context.

I keep getting told what the code does and I'm trying to propose what it could do.

Sorry about that! I understand now.

If in 2.0+ the system-level operations no longer have access to the table contexts, then perhaps this point is moot.

In 2.0+, these kinds of operations can still access per-table config, if they need it. Even if we didn't provide an API through the pluggable interface, like we do for the balancer right now, they could always use some other tactic (like reflection or accessing static APIs) to get what they want. So, I don't see that going away any time soon.

Having a table-name-specific-system-level property blurs that structure in a way that I thought it was worth exploring a refactor.

I'm not sure if this would be worth it.
In general, I've become frustrated with the restrictions of our "we establish the schema, you take what you get" model of configuration property naming. It leads to pluggable implementations that ship with Accumulo using general.custom.* and table.custom.*, and implementations that could be modularized and separated from our main code base using their own dedicated property keys listed in Property.java to the point where they are too tightly coupled with other Accumulo code. It prevents a company at, say "Example, Inc." from using the property namespace com.example.awesomeiterator.feature1=enabled, and forces too verbose property names for ones we maintain ourselves.
Rather than create a new dedicated namespace for table configuration properties for use in the system namespace, I'd rather relax the restrictions on property names. Then, we could do something like hostregexbalancer.regex.table1=... and not be so controlling of how properties are set and managed. We can reserve the accumulo.* namespace for ourselves, of course (and the current namespaces, system.*, general.*, table.*, etc. for backwards-compatibility), but otherwise, I don't think we should be too restrictive about properties users set, whether they are in system config or per-table config.

Oh, yes, I entirely agree with keeping properties flexible, but keeping to certain tenets can also prevent confusion (like what we just experienced with the balancer) and unintended or obscured contradictions in configs.  Maintaining the simple construct of "if you want this at the system level, set it thus" and "if you want this on specific tables, set it thus" while minimizing possible contradictions and still allowing for custom properties at both levels would be the goal.

Maintaining the simple construct of "if you want this at the system level, set it thus" and "if you want this on specific tables, set it thus" while minimizing possible contradictions and still allowing for custom properties at both levels would be the goal.

Well, we do have that separation today (general.* vs. table.*). HostRegexTableLoadBalancer was just not following it, and instead did it's own thing. Convention is one thing. Enforcement is harder. :smiley_cat:


VG RDF import turtle

There is a request for having an RDF import. The idea is that mini-paths such as Ensembl genes can be build outside of VG but included into it easily.

I concur. It is also an important test of the completeness of the semantic model to be able to convert losslessly between the two formats.

Major issue is that parsing all the RDF formats is a bit hairy, yet I don't want to add a dependancy.
I might just parse n-triples which is the simplest to do.


use absolute path as key to store files, correctly handle scenarios w…

…hen file names differ only in casing. Fixes #5102, #5274, #3626, #4719

:+1:

calling @RyanCavanaugh and @DanielRosenwasser: any preferences/opinions regarding the name and description of the command line option?

There is some weird behavior coming about (I believe) due to these changes. In particular, getScriptSnapshot of the language service is now called with filePaths that are not absolute. I believe that's due to this change.
Is it expected that language service implementations now need to join on the currentDirectory?

@jbrantly can you share more details. that change was not intentional.

Sure. I caught this running the test suite of ts-loader on the nightly build. I have a test where I use the custom module resolution stuff (resolveModuleNames) to resolve a module at path components/myComponent. This winds up resolving to ~/common/components/myComponents (an absolute path). After this resolution is returned from resolveModuleNames a call to getScriptSnapshot is made with the path common/components/myComponents.
As a secondary issue, after putting in a "fix" so that getScriptSnapshot still works by resolving to the current directory (path.resolve(process.cwd(), fileName)), updates to the file do not take effect. In other words, I can update that file's contents and version and call getEmitOutput on it but the old emit is returned instead.
Basically this:
file.version++;
file.text = contents;
console.log('before');
console.log(contents);
var output = langService.getEmitOutput(filePath);
console.log('after');
console.log(output.outputFiles[0].text);

results in:
before
export = 'newValue';
after
module.exports = 'oldValue';

If you want to duplicate yourself you can:
git clone https://github.com/TypeStrong/ts-loader.git
cd ts-loader
npm install
npm install<EMAIL_ADDRESS>npm run build
cd test/aliasResolution
webpack --watch

It will build fine initially, but if you were to throw a few console.logs into the loader source you'll see that things are not as they should be. And then if you update the dependent module the resulting bundle.js will not be correct because the language service didn't emit the updated source.
If you change to<EMAIL_ADDRESS>things work as they should.
I can open new issues for these if you'd like.

I think I know what is going on. Will look into the solution tonight

the change was 'sort of' intentional and you've already [pointed] (https://github.com/Microsoft/TypeScript/pull/5275/files#diff-08a3cc4f1f9a51dbb468c2810f5229d3R874) to the line with motivating comment:
// convert an absolute import path to path that is relative to current directory
// this was host still can locate it but files names in user output will be shorter (and thus look nicer).

this however means that implementations of CompilerHost and LanguageServiceHost must be able to handle all valid paths in both relative and non-relative forms in all methods that accept fileName. In your case this means that fileName = path.normalize(path.resolve(process.cwd(), fileName)); should be used not only in getScriptSnapshot but also in getScriptVersion. I can see that this part is non-obvious. Question to @mhegazy: maybe we should consider always pass absolute file names to methods of host?This in turn will mean that SourceFile.fileName will always be absolute path but we can shorten it when printing errors

@vladima Thanks for your feedback! I completely forgot about getScriptVersion so that's almost certainly the issue with updating files. IMO if you decide to not revert this behavior I think I would consider it a breaking API change since it's typical to use those paths as keys (ala here)

#5462 partially reverts this PR


feat(websocket): Re-enable native SSL

This WebSockets feature uses a SemaphoreSlim suggested by @paulpach and a queue of messages (per-stream, in other words, per-client) to avoid writing to the stream at the same time during SSL (and only during SSL) and getting nasty errors like StreamExceptions and the dreaded "Nested Callback".
It has been tested with Tanks in a prod environment with HTTPS on WebGL. Further testing and review is welcome, we all need to get this right.

@Katori is this ready to go? you talked about fixing some SSL bug in discord a few days ago, where are we at with this?

Yes, this is ready to go, I just tested it with a much more complicated game than Tanks and it works well. Please merge.

:tada: This PR is included in version 3.14.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Validating Email

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Validating email, register the user if the entered email is valid.
Use Case
Free from unauthorized login.
Benefits
No response
Add ScreenShots

Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Anishkagupta04 @varshith257
Please assign this issue to me,
will work on it. Also label the issue
Thank you.

@varshith257
I have a doubt, Can you please verify?

Yes, go ahead

I have created an account in firebase and used it for login authentication.
Can I use my account or is there any problem?

I think firebase isn't fully supported

Better use a library to validate email in client side like email-validator.
There could be multiple approaches for it but I recommend above.
For guide you can follow this article of method 3
https://piyush132000.medium.com/mastering-email-validation-in-javascript-multiple-approaches-ae718546160b

But these kind of approach allow users with invalid email id to create an account, which is not an efficient way.
So that's the reason I have used this firebase.

But we are not still yet to support server side

No need of any server side support.
Firebase is a platform by google which provides backend services such as real-time databases, authentication etc.

Project called Swap reads used firebase for authentication, So can I go with it.

Ok, go with it for auth services
@Pruthaa17 We have a discussion of db support a long ago. We can go with firebase for now and see how it forms later we check with adding server side with PostgreeSQL

Thankyou @varshith257, for the clarification.
Using my account for authentication, if possible you can create an account and provide configuration details.

Create .env file for credentials and  provide demo video of its working with your credentials and  while submitting pr remove your credentials and also update readme with the same or maybe in CONTRIBUTING.md file showing how to to setup firebase account locally to use by other contributers

Ok @varshith257

Ok, go with it for auth services
@Pruthaa17 We have a discussion of db support a long ago. We can go with firebase for now and see how it reflects later we check with adding server side with PostgreeSQL

Sure , Right now do you have task considering database support that I can work with ??

Yes, we start with adding db schemas to firebase and validate the inputs or store info provided by user

Okay

@varshith257
Sorry, I am unable resolve this issue.

Anything obstructing the progress of this work?

In Firebase, it is showing some cross-origin warnings which I am unable to understand.


camera mount error [unknown/unknown: [unknown/unknown] Compiling JS failed: 1:1:invalid empty parentheses '( )'

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Logs and Screenshots
If applicable, add logs and/or screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Vision Camera version [e.g. 1.0.0]
Face detector version [e.g. 1.0.0]

Additional context
Add any other context about the problem here.

Minimum IOS required versio is 13.4. Closing as invalid issue


RegisterDisplayModesInitModule: System.InvalidOperationException: Collection was modified; enumeration operation may not execute

There is sometimes an invalidoperations exception inside the RegisterDisplayModesInitModule.
2015-04-08 11:27:58,614 [1] ERROR EPiServer.Framework.Initialization.InitializationEngine: Initialize action failed for Initialize on class EPiBootstrapArea.Initialization.RegisterDisplayModesInitModule, EPiBootstrapArea, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at EPiServer.Framework.Localization.ProviderBasedLocalizationService.LoadString(String[] normalizedKey, String originalKey, CultureInfo culture)
at EPiServer.Framework.Localization.LocalizationService.TryGetStringByCulture(String originalKey, String[] normalizedKey, CultureInfo culture, String& localizedString)
at EPiServer.Framework.Localization.LocalizationService.TryGetStringByCulture(String resourceKey, CultureInfo culture, String& localizedString)
at EPiBootstrapArea.Initialization.RegisterDisplayModesInitModule.RegisterDisplayOptions()
at EPiServer.Framework.Initialization.ModuleNode.Execute(Action a, String key)
at EPiServer.Framework.Initialization.InitializationEngine.InitializeModules()
I think its a matter of thread safety? The exception hits over and over again, until the site finally comes back to life.
foreach (var mode in modes)
{
// here is modes modified by other thread?
}
// Mathias

Anything special maybe about your project? Is this working correctly for you in sample Alloy project? Have upgraded from previous version or installed fresh?
Speculate that there might be localization service not ready yet at the moment when display modes are registered..

I'll try to add another dependency for that module to delay execution.
[ModuleDependency(typeof(ProviderBasedLocalizationService))]

Wait for 2.0.1 version

Awesome!

It's out


rewrite the consumer & source code; other bug fixes

This is a very large commit that aims to make a lot of things simpler to
reason about in the consumer code, and then includes a few other
bugfixes bundled in that I noticed along the way.
Before this, the consumer used a bunch of sequence numbers to track
changes across assignments / etc. These sequence numbers were then used
to knife out stale partitions / ignore in-progress work that was
completing for stale partitions, while still accepting the non-stale
results.
This sequence number tracking and partition knifing was actually really
complicated and difficult to reason about, and I was never fully
confident in it. I knew there was some bug somewhere, and getting it to
work in the first place had me tracking down some really complicated
bugs to begin with.
This mostly rewrites the source and consumer code to ideally simplify
things. The state of partitions is no longer tracked through sequence
numbers that can be bumped whenever; instead, we use consumer sessions
that are stopped and started in full, and modifications happen while
stopped. This also attempts to simplify state changes from basically
happening anywhere to happening in fewer functions, and then adds a lot
of long winded documentation for why the state changes are safe.
Some simplifications still remain, but this is passing integration tests
right now. I'd like to clarify usedCursors, and to switch the useState
in a cursor to only have two states rather than three.
I'll shortly be following this with some consumer group API changes as
well, and will be simplifying the guts of a consumer group. Some changes
were already made to make things clearer, and to have fewer blocking
functions.
I noticed that fetch sessions had some lock inversion; that's fixed, and
the mutex aspects of a source / cursor have been drastically simplified.
The session also looked to have some flaws on unhappy path errors;
ideally those have been fixed, but they're hard to test.
I noticed that sinks and sources never updated their broker pointer,
which would be problematic if a broker changed but kept the same node
ID. There may have been some stuff in the metadata that fixed this up,
but regardless it was not the cleanest flow. The broker pointer was
definitely never updated. This commit changes that by putting sinks and
sources as a dedicated nodeID => sink/source field in the client itself,
and the sink/source looks up the broker pointer to use whenever issuing
a request. This allows brokers to change at any moment. This also moves
the sequenced async request from the broker to the sink itself, since
the sink is the only one that needed that, and putting it on the sink
allows brokers to change between requests.
This also removes the potential for a recBuf's sink or a cursor's source
to ever be nil. Instead, we default to the first seed broker. This is an
OK compromise because it allows us to start sending (and receiving
errors) immediately, while we expect to always have the relevant leader
broker loaded. This simplifies using a sink or a source, and also allows
things to begin notifying of load errors.

I've ran the integration tests in a loop for an hour; as far as I can tell, this is at least as good as before. As mentioned, I plan to touch up the consumer group code shortly. Merging this now to catch up on other aspects of the client that need updating (protocols, PRs, issues).


Add Heart, Show and Hide icons

I needed a Heart icon and implemented one:

I also implemented Show and Hide icons:

Edited: I simplified the hide icon a bit.

@mrmajik45 you're right - i will update this PR with a fix asap!

The heart blue heart icon has a missing middle pixel | The heart icon-*x Have a weird crosshair from the top to the sides.

@devmount This got merged into the https://github.com/lu4p/specter fork I actively maintain.


Initial NetworkTransform on Player object is incorrect on other clients

Describe the bug
I have a Server and Client setup (not Host).
Have a player prefab that is a simple sphere. Added a default NetworkObject and NetworkTransform to it.
It is added to the NetworkingManager's NetworkedPrefabs list and set to be the only one with Default Player Prefab checked
Start Server
Start Client A
Player A is created on Client A at the correct position passed into ConnectionApprovalDelegate
Move PlayerA.gameObject.transform.position to new location. It is correctly shown on Client A. But the transform on the server for PlayerA is unchanged (not sure if this is correct).
Start Client B
Player B is created on Client B at the correct position passed into ConnectionApprovalDelegate
But the location of Player A on Client B is at its creation location; not its current location as is shown on Client A. (BUG)
I have also tried setting Player's gameObject.transform.position in NetworkingManager.Singleton.OnClientConnectedCallback on the Server or the Client. The bug is still there.
Environment (please complete the following information):

OS: Windows 10
Unity Version: 2019.3.5.f1
MLAPI Version: 11.11.0

Here is a demo unity.package that demonstrates the problem.

Create a new empty 3D unity project
Import the package into a new unity project  Assets->Import Package->Custom Package...
Build project (I target Windows) using a sizable Windows so you can have multiple instance run at once and see them all.
Run one instance (A)... Click "Server" button
Run another instance (B)... Click "Join" button
Use WASD keys to move sphere away from initial position
(note: server (A) sphere does not move? Not sure if it should or this is part of the bug)
Run another instance (C)... Click "Join" button
BUG: both spheres are in their server default position. Instance B sphere is not in the position it was moved to in the client.
Use WASD keys to move sphere in client C. You can see, client B's sphere in client C is in the wrong position.
(note: client C sphere correctly moves around client B)
Use WASD keys to move sphere in client B. You can see, client B's sphere in client C
PosTestPack.zip

jump to the correct position in client B

I'm also stuck with the same problem. Currently trying to see if I can make it work with [ServerRCP]...Nope does not work

For me it works on other clients properly, but on the server the player position is stuck at the start position

This is a bug in how the NetworkedTransform is written. It never applies the transform location on the server for non hosts.

This issue is resolved in version 11.11.4
The release is available to download on GitHub release or in the MLAPI Installer.

I'm using the latest MLAPI (12.1.7), and this looks broken still or regressed since the 11.11.4 fix.
I setup the callback using NetworkingManager.Singleton.OnClientConnectedCallback += this.InitializeClient; and then define the callback as below. On the server, I see player 2 debug log, but the player's position is not updated on client or server game.
void InitializeClient( ulong ownerId )
{
    if ( IsServer )
    {
        NetworkedObject networkedObject = this.GetNetworkedObject( NetworkingManager.Singleton.ConnectedClients[ownerId].PlayerObject.NetworkId );
        switch ( NetworkingManager.Singleton.ConnectedClients.Count )
        {
            case 1:
                Debug.Log( "Setting position of player 1" );
                networkedObject.transform.position = new Vector3( -7, 2, 0 );
                break;
            case 2:
                Debug.Log( "Setting position of player 2" );
                networkedObject.transform.position = new Vector3( 7, -2, 0 );
                break;
        }
    }
}


Target netstandard 1.3

Hi guys
Here is a pull request for changing the library to target netstandard 1.3.
As a part of doing this update I made a breaking change: All the public methods on the Client are now async. I realise you might not want this, so let me know if I should change them back to be synchronous again.
Thanks!

Now changed the API back to synchronous to avoid breaking changes


Use decompression bound API to limit decompressor allocation

There's an experimental API that gives us an upper limit on the space needed to decompress a given zstd compressed block.
Expose this to users if the experimental feature is on and the block is valid, and use it in decompress to reduce the size of allocations if the C library promises that decompressed data is smaller than the capacity the user provided.
Without experimental, we always return None for the upper bound, which is treated by the decompress changes as "do not limit capacity".

Looks good - thanks for the work!


getboostrap.com homepage js/css blocked by integrity error on google chrome

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
Hi, I can't find a dedicated repo for the getboostrap.com homepage.
Betweeen thurdsday (May, 25th) and today (May, 30th), something happended with the statics css and js files used by getbootstrap.com.
The homepage is now completely broken and the browser console shows two errors:

Failed to find a valid digest in the 'integrity' attribute for resource 'https://getbootstrap.com/docs/5.3/dist/css/bootstrap.min.css' with computed SHA-384 integrity 'KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ'. The resource has been blocked.
getbootstrap.com/:1
Failed to find a valid digest in the 'integrity' attribute for resource 'https://getbootstrap.com/docs/5.3/dist/js/bootstrap.bundle.min.js' with computed SHA-384 integrity 'ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe'. The resource has been blocked.

Clearing the cache on my side didn't solve the problem, so my first guess was that the hashes need to be updated.
Strangely I can only confirm this problem on Google Chrome, Firefox seems to be ok.
If nobody can confirm this issue, I'll dig deeper into my security settings.
Regards,
Patrick
Reduced test cases
Visit the getboostrap.com homepage.
On chrome (Version 113.0.5672.126 , x86_64), you should see something like this:

On firefox (113.0.2, 64-bit), you should see something like this:

What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome
What version of Bootstrap are you using?
v5.3.0

I think you can close this issue now. It was a temporary issue while the v5.3.0 release shipped.
https://github.com/twbs/bootstrap/releases
All looks fine now :-)


ZipArchive Reader: File name and comments should not be decoded using UTF8 if the general purpose bit 11 is not set in the header

As per the zip format specification, If general purpose bit 11 is unset, the file name and comment should conform to the original ZIP character encoding(IBM PC character encoding set). Currently, the code always uses the UTF8 to decode the name and comment and it results in garbled strings if the name was encoded using IBM PC character encoding set.

https://github.com/adamhathcock/sharpcompress/pull/363 fixes this


Support for typing.TYPE_CHECKING

First of all, thanks for great plugin and the language server update! I am looking forward to the day  VSCode replaces my current Python editor...
It seems that runtime type checking (using typing.TYPE_CHECKING) doesn't work, and IntelliSense cannot find the types that are conditionally included.
See PEP 484, and the following example:

if typing.TYPE_CHECKING:
    from other_package import SomeClass

def do(arg: 'SomeClass') -> None:
    arg  # type should be SomeClass, but it is not recognized

The advantage for this approach is that first, the imports are not executed at run-time, and secondly it allows for forward references when having import cycle
Is support planned?
Running on:

Visual Studio Code 1.25.1
Python Extension 2018.7.1 (23 July 2018)
Ubuntu 18.04

@sheinzle, thanks for bringing this up.  I just checked using the latest release of the extension (the same as you), with the new language server enabled.  I was not able to reproduce the problem.  It properly identified the type.  Here's the code I used:
# spam.py

class Spam:
    def get(self):
        pass

# test.py

import typing
if typing.TYPE_CHECKING:
    from spam import Spam

def do(arg: 'Spam') -> None:
    arg

I don't see much difference from what you tried. :/  Would you mind trying the above to see if the result is different?  Thanks!

@ericsnowcurrently thanks for coming back to me. I can also reproduce the problem with your test.
You write "language server enabled" - do I need to do that manually, or is the plugin using the language server by default? I am using Python 3.6.
The conditional import fails:
# test.py

import typing
if typing.TYPE_CHECKING:
    from . spam import Spam

def do(arg: 'Spam') -> None:
    arg  # <-- Type not recogized, no auto-complete on members

Non-conditional works:
# test-no-conditional.py

from . spam import Spam

def do(arg: 'Spam') -> None:
    arg  # <-- Type recogized, auto-complete on members works

Note - it doesn't matter if I import relative packages or system packages, result is the same.

@sheinzle You need to set python.jediEnabled to false.

@sheinzle, for now we have not changed the default to the new language server, so you have to manually enable it.  As @patrys said, you need to add the following to your settings:
"python.jediEnabled": false,

Also, I verified that I was able to reproduce the issue with the default (Jedi) enabled and the new language server disabled.  However, once I enabled the new language server I'd get the tool tip for the variable's type and autocomplete started working.

Great! Thanks a lot for the pointer, and sorry for the user error. I was not aware it wasn't enabled by default.
After disabling Jedi, the conditional works. However, the relative imports don't work anymore:
from . spam import Spam
# --> Unable to resolve 'spam'. IntelliSense may be missing for this module.

Interestingly, the following stopped working (it did work with Jedi):
# test_not_working.py

import typing
if typing.TYPE_CHECKING:
    import string

def do(arg: 'string.Formatter') -> None:
    arg   # <-- Type not recongized, no auto-complete on members

If I explicitely import Formatter it works, i.e.:
# test-formatter-1.py

import typing
if typing.TYPE_CHECKING:
    from string import Formatter

def do(arg: 'Formatter') -> None:
    arg  # <-- Type recognized

Regarding relative imports, I don't see a problem using the new language server.  I do get the Unable to resolve message if I use a relative import in a top-level module (e.g. at the top level of my project).  However, I also get an error from pylint.  Do you have pylint enabled?  Also, there's a known issue with the new language server and namespace packages (i.e. directories without __init__.py files).

I'm closing this issue.  If relative imports not-at-the-top-level aren't working then please open a new issue.

I think at least some of the relative imports are broken if python.analysis.openFilesOnly is enabled (and it is by default).

Relative import works. As @ericsnowcurrently suggested, I did the relative import from the top level directory. Moved the package into a subfolder & it worked.


checkov: 2.0.554 -> 2.0.556

Motivation for this change
Update to latest upstream release 2.0.556
Change log: https://github.com/bridgecrewio/checkov/releases/tag/2.0.556
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 145170 run on x86_64-linux 1

1 package built:

checkov


onedrivegui: 1.1.0rc3 -> 1.1.0

Description of changes
https://github.com/bpozdena/OneDriveGUI/releases/tag/v1.1.0

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

verified it has the same hash with nom-build nixpkgs/ -A onedrivegui.src  --check


Add a .devcontainer

The kitchen sink image for Codespaces comes with node 14 and npm 6. We want to run node 16 and npm 8.
This PR creates a dockerfile and devcontainer to ensure that codespaces come with those newer versions.
Part of https://github.com/github/web-systems/issues/428

Per https://github.com/github/web-systems/issues/428#issuecomment-1412856728 we don't need to do this anymore. Closing.

Per https://github.com/github/web-systems/issues/428#issuecomment-1412856728 we don't need to do this anymore. Closing.


Issue running transaction verification example in README

I checked transaction verification example today, but it doesn't work anymore. Seems when the docs were added (1d6c065bf47631d9f8f2b9b6061d2c494884c5a5) it worked well, but it doesn't currently convert the ws to a sequence of ops.
Will dig into this a bit more later, just posting here for now :)
Last working commit (before the rebase) 4578842fe0e16032b118b85570d684cda1e80b4f

Good catch! It definitely is not working correctly right now.

thanks you so much

Fixed in 9ff8e00897c46e423309eba704c045e24a0ff535

Awesome, thanks for looking into it!


SQL injection detection using CNN

SQL injection is one of the most popular online security threats, it may not be that relevant now but is still a thing. We can develop a Convolutional Neural Network model to detect SQL injection.
CNN is used to achieve high accuracy.

Can you please assign me under GSSOC'24. Also please add the necessary label.
This would be my first contribution.


Themable zIndex

Hi, would be great if I could theme zIndex prop, thanks!

You can with a custom function:
const zIndex = style({
  prop: 'zIndex',
  key: 'zIndices'
})

Awesome, thanks!


[CONTROLLER/HTTP] codes resource api data

This PR is for:

Server

codes resource api data
Checklist

[ ] Added unit test.

Backport to branches

main

 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.zhengya seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


change the link to docs page from announcing post.

change the link to docs page from announcing post.
delete trailing whitespace.
change to "VNet" from "VNET".
delete unnecessary lines.

@skmkzyk : Thanks for your contribution! The author, @cephalin, has been notified to review your proposed change.

@skmkzyk Thank you for your contribution, however this page will be retired soon in lieu of https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/compute-decision-tree.
#sign-off


POD v1.1 publisher object

Where in Socrata would we be able to enter this data? Right now, our DCAT feed is not providing complete information for this object. How to fix?
current: "publisher":{"@type":"org:Organization","name":"data.austintexas.gov"}
what it should be according to POD standard:
"publisher": {
  "@type": "org:Organization",
"name": "Widget Services",
  "subOrganizationOf": {
    "@type": "org:Organization",
    "name": "Office of Citizen Services and Innovative Technologies",
    "subOrganizationOf": {
      "@type": "org:Organization",
      "name": "General Services Administration",
      "subOrganizationOf": {
        "@type": "org:Organization",
        "name": "U.S. Government"
      }
    }
  }

So for example:

"publisher": {
  "@type": "org:Organization",
"name": "Health and Human Services",
  "subOrganizationOf": {
    "@type": "org:Organization",
    "name": "City of Austin"
      }
   }

closing out for later


ddns-updater: 2.7.0 -> 2.6.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for ddns-updater is: Container to update DNS records periodically with WebUI for many DNS providers
meta.homepage for ddns-updater is: https://github.com/qdm12/ddns-updater
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.6.1 in filename of file in /nix/store/vadjbwx8y9940l848g82ss6z00pvlhjh-ddns-updater-2.6.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

ddns-updater

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/vadjbwx8y9940l848g82ss6z00pvlhjh-ddns-updater-2.6.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ddns-updater https://github.com/r-ryantm/nixpkgs/archive/9115c6a588a588e7dbbb8bc381a0a5a1770fe897.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/9115c6a588a588e7dbbb8bc381a0a5a1770fe897#ddns-updater

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vadjbwx8y9940l848g82ss6z00pvlhjh-ddns-updater-2.6.1
ls -la /nix/store/vadjbwx8y9940l848g82ss6z00pvlhjh-ddns-updater-2.6.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ddns-updater

Maintainer pings
cc @delliottxyz for testing.

Add a :+1: reaction to pull requests you find important.

This is a bit awkward.
This pr actually a downgrade, it's just rryantm bot gets confused by the versioning in the repo, for some reason. I'm not sure how to stop it opening PRS for the package.
So I am going to revert this, and sorry for the hassle.

Sorry for missing that....

I'm not sure how to stop it opening PRS for the package.

Use the magic comment: # nixpkgs-update: no auto update

Ah, thank you!
And sorry for the hassle.

PR should hopefully prevent this nonsense again.


Can't Copy From Google Share Drive

Can't copy from Google Share Drive😥. It will be better if you can add a feature to copy from share drive or copy to share drive 🥺.

dupe of #10


USB Bluetooth and DFU classes cannot be enabled simultaneously on nRF52840

Describe the bug
Whenever the USB DFU class (USB_DFU_CLASS) and the USB Bluetooth class (USB_DEVICE_BLUETOOTH) are both enabled, neither works correctly. I have tested DFU and Bluetooth separately and both work. DFU also works when the bluetooth kernel module is removed in Linux (via modprobe btusb).
Configuration (prj.conf)
CONFIG_STDOUT_CONSOLE=y
CONFIG_GPIO=y
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y

CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM=y

CONFIG_BT=y
CONFIG_BT_HCI_RAW=y
CONFIG_BT_CTLR_TX_BUFFER_SIZE=251
CONFIG_BT_RX_BUF_LEN=258
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251

CONFIG_USB=y
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DFU_CLASS=y
CONFIG_USB_DEVICE_BLUETOOTH=y

CONFIG_FLASH=y
CONFIG_SOC_FLASH_NRF=y
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_IMG_MANAGER=y
CONFIG_MCUBOOT_IMG_MANAGER=y

CONFIG_USB_DEVICE_VID=0x167f
CONFIG_USB_DEVICE_PID=0x3001

CONFIG_USB_DEVICE_MANUFACTURER="Company"
CONFIG_USB_DEVICE_PRODUCT="Product"
CONFIG_USB_DEVICE_SN="123abc"

To Reproduce

source zephyr/zephyr/zephyr-env.sh
mkdir -p build/nrf52840_pca10056 && cd build/nrf52840_pca10056
cmake -GNinja -DBOARD=nrf52840_pca10056 -Dapp_VERSION_BUILD=9999 ../..
ninja
~/repos/mcuboot/scripts/imgtool.py sign --key ~/repos/mcuboot/root-ec-p256.pem --header-size 0x200 --align 8 --version 1.2 -S 0x69000 ./zephyr/zephyr.hex signed-hello.hex
nrfjprog --family NRF52 --program signed-hello.hex --sectorerase
~/repos/mcuboot/scripts/imgtool.py sign --key ~/repos/mcuboot/root-ec-p256.pem --header-size 0x200 --align 8 --version 1.2 -S 0x69000 ./zephyr/zephyr.bin signed-hello.bin
sudo dfu-util --alt 1 --download signed-hello.bin

Expected behavior

sudo dfu-util --alt 1 --download signed-hello.bin

dfu-util 0.9

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 167f:3001
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 64
Copying data from PC to DFU device
Download    [=========================] 100%        85970 bytes
Download done.
state(2) = dfuIDLE, status(0) = No error condition is present
Done!

hciconfig

hci1:   Type: Primary  Bus: USB
        BD Address: 94:54:93:36:44:B8  ACL MTU: 251:7  SCO MTU: 0:0
        UP RUNNING
        RX bytes:233 acl:0 sco:0 events:19 errors:0
        TX bytes:120 acl:0 sco:0 commands:19 errors:0

Actual Behaviour

sudo dfu-util --alt 1 --download signed-hello.bin

dfu-util 0.9

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 167f:3001
Run-time device DFU version 0110
Claiming USB DFU Runtime Interface...
dfu-util: Cannot claim interface 1: LIBUSB_ERROR_BUSY

hciconfig

hci1:   Type: Primary  Bus: USB
        BD Address: 00:00:00:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0
        DOWN INIT RUNNING
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:3 acl:0 sco:0 commands:1 errors:0

followed by
hci1:   Type: Primary  Bus: USB
        BD Address: 00:00:00:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0
        DOWN
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:3 acl:0 sco:0 commands:1 errors:0

hciconfig hci1 up
Can't init device hci1: Connection timed out (110)

Impact
DFU cannot be used in applications which require Bluetooth HCI over USB.
Environment:

Ubuntu 16.04 (host)
nRF52840 PCA10056 hw v. 1.1.0
Zephyr 1.14.0 (cebe115)
Zephyr SDK 0.10.0
dfu-util 0.9 (modified for increased timeout during flash erase)
MCUboot (master, 704b8ba)

@AdamMooers you need two patches below to get it working stable on Zephyr 1.14.0 (cebe115)
https://github.com/zephyrproject-rtos/zephyr/pull/15747
https://github.com/zephyrproject-rtos/zephyr/pull/14662

@jfischer-phytec-iot I pulled down master (74f0106) today and enabled IMG_ERASE_PROGRESSIVELY. I left DFU_DEFAULT_POLLTIMEOUT at its 256 ms default. Unfortunately, it appears like the same thing is happening: The DFU class works if the BT class is disabled via prj.conf and vice versa.
Do I need to use an alternative branch?

@AdamMooers Unfortunately, the combination hci_usb + usb_dfu does not work on master and 1.14.0 (with or without patches). Also combination hci_usb + msd did not work for me. There is ongoing work on compostite mode (#15818), after it is merged I will look for this issue again.

@jfischer-phytec-iot Thank you for looking into this issue and for the information about the work on composite mode. I will be sure to keep an eye on future developments.

@AdamMooers There is a fix for this issue, but it is not possible (fortunately) to start a download or upload as long the device is claimed by Bluez and btusb module.


COPS-4320: Configurable timeouts for readiness checks.

Make readiness-check interval, timeout and delay configurable for the following:

Cassandra
Kafka
HDFS (current defaults maintained for journal-node, name-node and data-node)
Elasticsearch
Hello-World

Default readiness interval is set to 60 and timeout to 20 to match Marathon default values.

Do not merge, porting these changes to 0.5x (master) instead.


Release Planner V2 Usability

Completion of UI content review (owned by Crystal)

[x] Crystal’s target is to have UI content review done Friday.
[x]  Ensure stakeholder feedback regarding UI has been addressed (i.e. grammar, semantics, word choices, …) as part of UI content review. @ccbarragan Would you please reference our Notes & Observations to make sure that the stakeholder feedback is addressed in the UI content review?
[ ]  @ccbarragan What is your plan for reviewing your findings from the UI content review with the Release Planner team?
[ ]  @ccbarragan What is target date for creating and prioritizing the GitHub issues related to the UI content review?

Share initial stakeholder feedback with the Release Planner V2 with engineering team.

[x] Crystal and I plan to meet with Kyle and Ronnie this week so that we can get additional feedback on the Data plane SDK release application.  After we speak to them, I believe we have enough feedback to share with the engineering team for the current version of the release planner, Data PlaneAPI readiness, and Data Plane SDK Release apps.

[x] Stakeholder Notes & Observations

[x] GitHub issue related - https://github.com/Azure/azure-sdk-tools/issues/4841

[x] We would still like to meet with Mike/Mark (together) and Arun.  However, we believe the feedback sessions will be more productive if we wait for the following:

UI content review + initial stakeholder UI feedback prioritized, and high priority issues addressed. There are quite a few grammar and semantic errors that have been identified. Having more folks spend time pointing out what we already know is not a good use of their time for any of us.

Prioritized view of GitHub issues identified through initial stakeholder feedback sessions.  So, they understand what issues have been raised and are in plan to be addressed.

We are ready to share Crystal’s new UI with stakeholders.  The new UI will resolve quite a few of the issues that stakeholders brought up during the feedback sessions.

Service Partner feedback sessions

[x] Separate the stakeholder and service partner user studies, so we can “close out” the initial stakeholder user study and move forward with service partner review.
[x] Completion of UI content review, creation and prioritization of GitHub issues. The current UI has too many grammar and semantic issues. It would be best that the most noticeable issues are resolved before we introduce the app to the service partners. For example, grammar and semantic issues that are not only confusing but immediately will reduce user confidence.
[ ] We could start with feedback sessions for API Readiness once issues with the sign-off step are addressed.  Then schedule follow-up review for the Data Plane SDK Release app.
[x] There is feedback that needs to be addressed before we introduce the Data Plane SDK Release app.  For example, the integration between the Data Plane API Readiness and Data Plane SDK Release application is not good and it is confusing. Steps/actions are duplicated, arch board activities are not well defined, no way to change the PR (the PR used in Data Plane API Readiness is assumed to be the PR that will be used for SDK Release), incorrect information in the UI, and the sign-off step needs changes.  Identified and GitHub issues have been created - https://github.com/Azure/azure-sdk-tools/issues/5084.

@ccbarragan is finishing the UX study plan and will be scheduling feedback sessions for remainder of January.

@ccbarragan -  What is your plan for the UX study plan for service partners?  I sent the email out to the service partner on 01/24/2023.

Closing this epic.  Crystal has completed the content review and we completed the Azure SDK stakeholder review.  Issues were created to address feedback and we have prioritized getting all feedback addressed in roadmap for Release Planner.


Add Grid to Front End Development

https://github.com/fancygrid/awesome-grid

Please read the instructions for creating a new list, contributing guidelines and the awesome manifest.
Especially this part:

Wait at least a couple of weeks after creating a list before submitting to give it a chance to mature.

The list is not very comprehensive. Awesome lists are hard work. Just putting in a few links isn't very useful. It has lots of typos and inconsistencies. For example, easy to use library. is not a useful description. JQuery => jQuery. Put some more work into it. Take a look at some other lists and see how they do it. E.g. https://github.com/sindresorhus/awesome-electron https://github.com/sindresorhus/awesome-npm
Happy to reconsider in a month if it has improved by then :)


Error install redux on Ubuntu 16.04?

Hi guys,
I installed redux successfully on windows 10 64 bit.
But when I'm on Ubuntu 16.04 64bit, I can't install redux.
It shows this error.

This isn't a problem with Redux. You have some sort of issue with npm itself.


Updates README: Docs and screenshots

This PR improves the Readme with better documentation and some sample screenshots of our dashboards

Closing in favour of other PR with cleaner history


Add a link about how to use kmesh in read me quick start

What would you like to be added:
In quick start here https://github.com/kmesh-net/kmesh/blob/main/README.md#quick-start we do only include contents on how to build image and deploy kmesh, bu IMO we should also add kmesh usage.
Why is this needed:
To help users and contributors quickly get started, improve UX

There is already a link to quick-start in the readme

/close


:tada: add osmnx tool to query geometry attributes from OSM & road networks.

Added tools for OSMnx.
Now we can run queries like, Find all the walkable roads in Bangalore or Find all the hospitals in Kerala. I have also added a streamlit app, that renders the geojson on a folium map.

@srmsoumya can you please add instructions to the README:

Adding a new tool
Adding a new agent
Creating notebooks to test
Running the Streamlit app

Can be done as a separate PR. This looks great to me!


Toasts

🐛 Bug Report
Toasts using the samples from the document don't seem to work
💻 Repro or Code Sample
In program.cs
builder.Services.AddFluentUIComponents();
In an Index page
@page "/"
@using Microsoft.Fast.Components.FluentUI;
@inject IToastService ToastService
Click on this button to open a Toast. The toast is created by just specifying an intent and a message.
<FluentButton @onclick="@ShowToast" Appearance="Appearance.Accent">Open
@code
{
int counter = 1;
void ShowToast()
{
Random rnd = new();
    var intent = Enum.GetValues<ToastIntent>()[rnd.Next(10)];
    var message = $"Simple Toast #{counter++}";
    ToastService.ShowToast(intent, message);
}

}
🤔 Expected Behavior
Toast should appear
😯 Current Behavior
Unfortunately, the toast never appears
💁 Possible Solution
Perhaps I am missing something in the set up?
Is there more steps involved to get toast working aside from injecting the service?
I see that builder.Services in the program file can also AddFluentToasts but that doesn't make a difference  if I add it.
🔦 Context
Thank you
🌍 Your Environment

OS & Device: Windows
Browser Microsoft Edge,
.NET and FAST Version dotnet 7 and v3.01RC

@vincemcc79 There's undocumented setup for using toasts, please refer to this post: https://github.com/microsoft/fluentui-blazor/issues/606#issuecomment-1673347086
Also, if you're using Blazor Server don't forget your add builder.Services.AddHttpClient() before AddFluentUIComponents() and set the  option.HostingModel as documented here for v3.0.0-RC.1 https://calm-sea-053fa6a03-365.westeurope.3.azurestaticapps.net/CodeSetup

Hi @joecuevasjr
That sorted it out - Thank you very much, I missed the post #606 somehow.
Excellent! Have a great weekend!


Build ncs type reference release failed with the new sdk-nrf commit

I have updated the GH action in PR to run
REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 ./script/make-reference-release.bash
It uses the updated sdk-nrf commit e434ec2f11f2fed6bd24c2f0bc2c3e98486d2a90:
https://github.com/openthread/ot-reference-release/actions/runs/5368877565/jobs/9740027480#step:5:617
and the job failed with below error:
https://github.com/openthread/ot-reference-release/actions/runs/5368877565/jobs/9740027480#step:5:3999
/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/drivers/ieee802154/ieee802154_nrf5.c: In function 'nrf5_configure':
/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/drivers/ieee802154/ieee802154_nrf5.c:947:3: error: a label can only be part of a statement and a declaration is not a statement
  947 |   uint64_t csl_rx_time = target_time_convert_to_64_bits(config->csl_rx_time);
      |   ^~~~~~~~
/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/drivers/ieee802154/ieee802154_nrf5.c:964:3: error: a label can only be part of a statement and a declaration is not a statement
  964 |   uint64_t start = target_time_convert_to_64_bits(config->rx_slot.start);
      |   ^~~~~~~~
[523/654] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/misc/empty_file.c.obj
[524/654] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/local/bin/cmake --build /tmp/ncs_cli_1_2

I wonder what might be missing here? @canisLupus1313 could you please help take a look?

@sunytt I will take a look into it.

@sunytt Where do you get your toolchain from?

@sunytt Where do you get your toolchain from?
Thanks for looking!

In the GH action I used:
cd /tmp
sudo apt-get update
sudo apt-get --no-install-recommends install -y ninja-build gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
wget --tries 4 --no-check-certificate --quiet https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/RC2.1/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2 -O gcc-arm.tar.bz2
tar xjf gcc-arm.tar.bz2

export PATH=/tmp/gcc-arm-none-eabi-9-2019-q4-major/bin:$PATH
export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb
export GNUARMEMB_TOOLCHAIN_PATH=/tmp/gcc-arm-none-eabi-9-2019-q4-major/
REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 ./script/make-reference-release.bash

Ok so for me on my local machine, it builds however I'm using the toolchain installed as in instructions below:
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/installation/installing.html#install-the-zephyr-sdk
So essentially:
cd $HOME
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/zephyr-sdk-0.16.1_linux-x86_64.tar.xz
wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/sha256.sum | shasum --check --ignore-missing
tar xf zephyr-sdk-0.16.1_linux-x86_64.tar.xz
cd zephyr-sdk-0.16.1
./setup.sh

I haven't spotted any more differences in the env setup so let's see if this helps.
BTW have you tried to build it locally?

@sunytt I can see that the PR mentioned is still not resolved. Do you need any more assistance?

Thanks for your help @canisLupus1313 !
I'll close this issue as I can build now.
For that PR I'll need to do some refactoring.


Endaoment projects are eligible for QF

Endaoment imported projects should be eligible and totally compatible with QF, this includes:

[ ] Can be added to a QF round
[ ] Can receive donations while inside a QF round
[ ] estimated matching shows properly
[ ] associated project card shows properly on donate page
[ ] donations made show up properly in associated QF donation table

@divine-comedian @mohammadranjbarz
Test Update
Can be added to a QF round - Pass
Can receive donations while inside a QF round - Pass
estimated matching shows properly - Pass
associated project card shows properly on donate page - Pass
donations made show up properly in associated QF donation table - Pass


'default' validator returns blank value instead of null if attribute uses some filter

What steps will reproduce the problem?
table.attrib1 is able to store NULL values
public function rules()
        return
            [
                [['attrib1'], 'default'],
                [['attrib1'], 'filter','filter'=>'ucwords'],

What is the expected result?
attrib1 on database must be NULL value if is posted as blank value
What do you get instead?
attrib1 on database is blank value instead of NULL
Additional info

Q
A

Yii version
2.0.10

PHP version
7.0.15

Operating system
Ubuntu 16.04

That's how PHP's ucwords works. If it's supplied with null return value is ''. There's is no plan to change that.

Try switch order of these rules - put default rule after filter.

@rob006 Thanks! It worked!
@samdark I think it should be indicated on the documentation related about 'default' and 'filter' rules

@nacesprin
This applies to all rules not only rules with default.
From the Documentation:
http://www.yiiframework.com/doc-2.0/guide-input-validation.html

Use each active rule to validate each active attribute which is associated with the rule. The validation rules are evaluated in the order they are listed.


download_strategy: replace bazaar with breezy

[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 typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Bazaar is no longer maintained, and Breezy seems to be a drop-in
replacement.
I've tested the commands used in the download strategy and they seem to
work.
We need this in order to properly deprecate the bazaar formula.
See Homebrew/homebrew-core#106848.

Review period will end on 2022-08-01 at 09:05:08 UTC.

@bayandin, since I think you looked at this before: this should work, right?

And you probably want to swap bazaar with breezy here https://github.com/Homebrew/brew/blob/508b48d19e1627db45d33b82e1a2159a010594a5/Library/Homebrew/dependency_collector.rb#L163-L164

Right, thanks. Nice catch.

Review period ended.