Setup api dll

Add a few functions from SetupApi and their helpers.
I also added a PinnedStruct<T> class in core to handle cases where the api essentially expect a Foo? where Foo is a structure.
The class take care of either providing IntrPtr.Zero if null is passed or boxing the value and pinning it otherwise.
I never needed it but that might be one of the class where adding a destructor could be justified, what do you think ?

Also I have been using HResult/ComException to check for errors but as the lib is desktop only Win32Exception is available.
(But maybe that could be changed latter with a single unified way to handle LastError in the whole lib)

Done reviewing. Overall it looks good. :)

So from the changes :

I added CharSet.Unicode to SetupDiGetClassDevs as SetupDiGetClassDevsA exists and there is no reason to use it (Same for SetupDiGetDeviceInterfaceDetail)
Removed it from SetupDiEnumDeviceInfo as it doesn't have a A/W variant
I added comments to PinnedStruct & friends
Didn't use StrongBox<T> as  I can't see an easy way to get the field offset, i'll investigate when I have some free time :)

Also added the finalizer.
And I think that's all, did I forget a comment ?

Looks good. I'd like to see the full disposable pattern in PinnedStruct but I can fix that up after merging.


Idea: Interface modularity

A problem I've noticed in the UI is that everything feels very ad hoc, and components don't really consider each other. The changes in #48 helped organize what's already built, but didn't do much to anticipate new features.
After chatting with @gaearon I learned that there's still a lot of cool stuff yet to be added, e.g., state scrubbing, save & load, granular commit/sweep actions, etc. So in an effort to prevent some painful redesigns in the future, I tried thinking of a few simple ideas that'll help organize what's in the devtools UI now, and what might come later.

Doc • SVG • Original
A few questions I assumed would be asked:
Why not keep top-level events expanded?
The current implementation makes it hard to manipulate a lot of items at once, since just a few of them fill up the view. This isn't a huge problem at the moment, but if concepts like granular control of global actions, state scrubbing, or filtering are introduced the problem will grow.
Why action drawers?
Since everything is ad hoc at the moment, the UI keeps running out of room. The same effect could be achieved with a drop down or similar, but a drawer for event actions create consistency between the global actions. And since many of the actions would actually be the same (e.g., delete, commit, etc.) you can just use the same component and change the content based on context.
Why icons for actions?
Besides making it easier to quickly identify actions, it'll also act as a uniform guide that's easier to design around. I.e., components containing large amounts of actions are easy since they all have the same dimensions, etc.
I'll be iterating on this wireframe and adding new ones. I'm hoping to have time to implement some of them myself soon as well. But at the very least, these wireframes can serve as a reference. Very open to feedback on anything.

Made the Precursor doc public. Feel free to iterate, make notes, etc.

Thank you for looking into this! I think the most interesting part is how to fit the workflow (get to the state you like, choose the actions to work on, iterate on them in replay mode, come back to normal mode) in terms of this architecture.
I'll be busy with another project for some time, but please feel free to share more ideas!


mce-2.4: OpenstackProviderSpec moved to to machinev1alpha1

This PR backports fixes for OpenstackProviderSpec having been moved from cluster-api-provider-openstack to openshift/api/machine/v1alpha1 as part of the Great Revendor (#2052).
For the sake of form, both related commits are backported, even though the first one was bogus (the second one gets us into a good and clean state).
HIVE-2308

/lgtm


Handle .docx, .xlsx, and .pptx with extra magic

The freedesktop magic doesn't work for the Office 2007+ files, it
detects them all as application/zip. I have magic which detects them,
but it requires looking at 2,000 byte ranges, too much for their
project (which has to support things like file browsers). Since you
already warn that by_magic is slow, it'd be nice to support it here
at least.
This would allow the paperclip project to use mimemagic and stop
relying on the file binary:

https://github.com/thoughtbot/paperclip/issues/1530#issuecomment-43375497

Support is through a new EXTRA_MAGIC constant in extra_magic.rb, and
renaming the old MAGIC to AUTO_MAGIC. This way you can continue to
auto-generate tables.rb from the xml while layering new extra magic on
top. Fixes #15

In principle I am open to this addition. However I have a slightly different idea. What do you think about adding a simple api to add mime magic overlays? This would keep mimemagic simple and 1-1 with freedesktop but would open the door for projects like paperclip.
It would be great if you could propose something.

maybe just something like MimeMagic.register...

@minad  I went this way because handling Microsoft Office files is so common a use case that it seems like it should be the default. Keeping generate-mime.rb as is but overlaying extra magic is a compromise where we can use extra magic while still tracking freedesktop changes.
If you feel keeping the defaults 1-1 with freedesktop is more important than supporting Office out of the box then I'd suggest (and am happy to implement):

A default-false config option for including "extra magic".  It'd be nice to avoid requiring the users to know and pass in the Office magic.

If MimeMagic.add doesn't work, add MimeMagic.register_magic for magic at runtime

Yes ok, there is no need to add another api since we have already have MimeMagic.add.
Probably the freedesktop people had some reasons not to support such large ranges. For me MS office files aren't that of a common use case. So I am still not completly convinced if I want to maintain an overlay.
Maybe you could create a file mimemagic/overlay and just use the mimemagic.add api there?
I have also seen that you might require text vs octet-stream. Would you like to implement that?

If we decide to maintain an overlay I would maybe prefer to have it in the generate script.

I don't know anything about the text vs octet-stream problem, but whatever we do should be easy for future custom magic overlays. I like your mimemagic/overlay idea - we could make the usage just "require 'mimemagic/overlay' in addition to 'mimemagic' if you want the extra magic". Would that work for you?

Yes I think that would work for me.


chore(package): update babel-preset-env to version 1.1.4

Closes #6
https://greenkeeper.io/

Coverage remained the same at 100.0% when pulling 60eb8d4ba819ba1d925327238a71ab12d8dfa88b on greenkeeper/babel-preset-env-1.1.4 into 772471b73bd260a40bde9575187ee3478942ba5c on master.


RA/UM - documentation for items_holdings_instances

https://github.com/folio-org/folio-analytics/blob/main/sql/derived_tables/items_holdings_instances.sql

doesn't seem like we're doing documentation for derived tables after all


Update Bill.cs (Add CreateAndSetReference(string) method)

Add new method "CreateAndSetReference".

Thanks for your contribution. What would a typical use case be where the new method would be helpful?
In its current form, the PR requires additional work:

Good documentation is needed
Test cases are needed
Throwing untyped exceptions should be avoided
The handling of white-space and null value should be more similar how other methods do it and it should preferably use the same methods to do it

Yes it's true, the code is not very clean but I find the functionality interesting because it allows to automatically choose the type of reference according to the IBAN and therefore not to worry about the type of reference.

Can you be more specific about the use case? What's the greater context of the use case? In what kind of task would it be used? Would the task be executed by a person or in an automated fashion? What would the source of the bill reference be (randomly made up, accounting program etc.)? Would the account number be set before or after the reference and how would conflicts between the type of reference and type of account be resolved?


[Bug]: Postal code match issues

What happened?
Fresh install v3.6.0 (both wizard and composer).
Server: VPS - Php 8.0.26, Ubuntu 22.04.1
Shared - Php both 8.0.x and 8.1.x - Ubunutu 22.02
Setup a restaurant, setup a delivery area -> Match by Postal Code: numeric ex: 28002
On the localSearch box on the home page u type the exact postal code and u get an error, Please enter your street address.
Match by City or Locality on the delivery area settings didn't do trick either.
With Google Maps api enabled y can get through if u use Polygon or Circle and u type in full addresses (copied from google maps exactly).
There is no system log error, nor console errors, nothing.

What did you expect to happen?
I expected it to work like it supposed to be, when you define Match by postal code, and u search that exact postal code it should match the restaurant that covers delivery in that postal code. Like in previous versions.
In the demo version of TI that its autogenerated from the ti website it works flawlessly. I do not know what version is that.
P.S. Hard to believe that since the release of 3.6 in november no one noticed this bug, so i do really hope not wasting anyones time here.
Version
Other (please detail)
What browser are you seeing the problem on?
No response
Relevant log output
No response

Yep, its definetly this https://github.com/tastyigniter/ti-ext-local/commit/2a4950bdaa2632f50d4f129d23762a488aa2d37e
Removed those lines and now everything works fine, now it matches by postal code only, town only, or both etc...
As it is a flaw in the local extension, maybe this bug req should be closed and a new one opened on the local extension page. My bad for opening here, sorry.

https://github.com/tastyigniter/ti-ext-local/commit/3188840ca28f7d1a28c42e2d4eb2350abe7fbdd0


Update .platform.app.yaml

Thanks!. is merged with https://github.com/shopware/paas/commit/b4799789b0476e7ad757e9557ae29e5f45f3bb11


Replace the Netlink Library

Replace Netlink with vishvananda netlink.
Use docker-compose instead of fig

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/21/
Build Failed!

recheck

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/22/
Build Failed!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/23/
Build Failed!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/24/
Success!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/25/
Build Failed!

recheck

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/26/
Build Failed!

recheck

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/27/
Success!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/28/
Build Failed!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.socketplane.io/job/socketplane-verify/29/
Success!


Making this package an official laravel package (BASE + CRUD + Others)

This is not a bug
Making this package an official Laravel package
Among all laravel admin packages i can find, i think this one is by far the most robust, flexible and advanced, especially the CRUD which offers tons of field types. (this is my own reflexion, please comment if you agree or not with concrete examles)
My idea
Because of the arguments in the first point, I think @taylorotwell , the laravel) creator should make this package official. I don't know how both creator of this package and laravel creator would arrange the deal.
Why
Laravel is missing a robust and reliable admin panel. This is a disadvantage when compared to Symfony and other frameworks. Laravel having an official admin panel which is robust and flexible will blow Symfony and other frameworks far far away :)
What do you think of this?
Thanks

Hi @bab55z ,
I get butterflies in my stomach when I think of becoming the official Laravel admin panel, so thank you so much :-) That's definitely our short-term aim. I'm not sure how this fits into his bigger picture, but I hope it does :-) I've never proposed this to Taylor, so I don't know what he thinks about that, but I'll be sure to mention it when we talk.
I do think we still have some work to do before we can make such a claim. The way I see it, and judging by the feedback we've gotten so far, we need at least theme support in Base, matrix/repetable/table fields (CRUD in CRUD) and bulk actions, to finally be able to say we're at 99% feature-completeness. So I hope we'll be able to make such a proposal in ~6 months, when we have those features.
:-) Thanks a lot for mentioning this, it's good to know others see the same path as I do.
Cheers!

Hummm, it seems @taylorotwell went here in furtive mode.
Laravel Nova

Thanks @bab55z . We're well aware of it :-))
We still like Backpack best, though, so Backpack will still be around for a long time. Here's the gist of our plans here.


Are parallel enables always equivalent to a single enable?

This is fundamentally a question about the semantics of the enable control statement. Consider the following circuit:

What should the semantics of this control be:
(par (enable B + 2 x)
     (enable A * 2 y))

So far we've discussed two interpretations of enable

enable only allows communicate between the sub graph induced by the specified vertices.
enable simply lets the sub component "run" (by enabling a valid signal or something like this). Importantly, this would let separate enable statements communicate with each other.

For the above circuit, semantics 1 would put the result of B + 2 into x and A * 2 into y. This program implies implicit muxing of A and B for the right input of +.
For semantics 2, this program would cause an error or be undefined because A and B are driving the same wire at the same time.
I think that semantics 2 has the benefit of being a little more explicit and being closer to hardware. I think semantics 1 might be overall better though. First, it will be easier to compile higher level languages to Futil with semantics 1 because you don't have to worry about muxing at all. Second, if parallel composition of enables is equivalent to a single enable in a particular case, then we know that the circuit has the proper muxing in place. In other words, I think that these semantics provide more flexibility to the front end while still being close enough to hardware.

So in semantics 1 is par kind of a construct for frontends that tells the compiler, "Please give me magic muxing between any components that need it?"

@sgpthomas reminder to summarize the solution to this.

We resolved this in favour of semantics 1. To summarize, the enable statement only allows communication between nodes specified in the statement. If there are edges coming or leaving the subgraph specified, we pretend these wires don't exist.
This makes it easier to write frontends for Futil because frontends don't have to worry about generating muxing for variables and components. The reasoning about inserting muxes can be done completely in Futil.
These semantics increases the set of valid Futil programs at the cost of reducing the amount of Futil that directory corresponds to hardware. However, because Futil can still represent hardware constructs, this actually increases what reasoning we can do in Futil.
We also decided to enforce the restriction that the children of par should only be allowed to enable disjoint components.
(par (enable A B) (enable C D)

is legal, but
(par (enable A B) (enable B C))

is not because B is enabled in both children.
This restriction is because par performs absolutely no synchronization. It is undefined what will happen if you try to read, write, or use a component in parallel (because you don't know if something else is using the same component). The restriction simply rules out such undefined behavior.


impl std::ops::Add for TokenStream

The following code:
let mut x = quote! {
    fn dummy() {}
};
if some_condition { x += quote! {
    fn dummy2() {}
} };

Fails with:
error[E0369]: binary operation `+` cannot be applied to type `proc_macro2::TokenStream`

Maybe it's me not understanding TokenStreams, but I intuitively expected this to work and get a TokenStream containing  fn dummy() {}  fn dummy2() {} (if some_condition is true)?
(It's possible to use strings instead of tokenstreams, but that loses span information I believe?)

TokenStream is more like Vec than like String. Vec also does not support +=.
let mut v = vec![1, 2];
v += vec![3, 4];

You can use interpolation:
x = quote! {
    #x
    fn dummy2() {}
}

or Extend:
x.extend(quote! {
    fn dummy2() {}
});

Thanks!


Add Picket to Project List

Picket uses web3Modal to authenticate users on EVM chains. Let me know if you need any additional details.

With stable version 2.0.0 of Web3Modal now released, we are officially dropping support for version 1.x
Due to this this issue/pr was marked for closing. It is highly recommended to upgrade as 2.x will be receiving further updates that will enable functionality for some of our newer sdks like auth and push as well as support for WalletConnect v2 (See this post about WalletConnect v1 being deprecated https://medium.com/walletconnect/walletconnect-v1-0-sunset-notice-and-migration-schedule-8af9d3720d2e)
If you need to continue using Web3Modal 1.x and require this feature/fix implemented, we suggest adding it via forking V1 branch.


[AMQ-7249] Upgrade to Jetty 9.4.19.v20190610

@jbonofre I have a fix for the failing tests in the http module. The karaf itests are also failing though.

@jbonofre The karaf itests are failing with:
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve activemq-broker/5.16.0.SNAPSHOT: missing requirement [activemq-broker/5.16.0.SNAPSHOT] osgi.identity; osgi.identity=activemq; type=karaf.feature; version="[5.16.0.SNAPSHOT,5.16.0.SNAPSHOT]" [caused by: Unable to resolve activemq/5.16.0.SNAPSHOT: missing requirement [activemq/5.16.0.SNAPSHOT] osgi.identity; osgi.identity=activemq-karaf; type=osgi.bundle; version="[5.16.0.SNAPSHOT,5.16.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve activemq-karaf/5.16.0.SNAPSHOT: missing requirement [activemq-karaf/5.16.0.SNAPSHOT] osgi.wiring.package; filter:="(osgi.wiring.package=org.apache.activemq.console.command)" [caused by: Unable to resolve org.apache.activemq.activemq-osgi/5.16.0.SNAPSHOT: missing requirement [org.apache.activemq.activemq-osgi/5.16.0.SNAPSHOT] osgi.wiring.package; filter:="(&(osgi.wiring.package=javax.transaction)(version>=1.3.0)(!(version>=2.0.0)))"]]]

@coheigea I think I already have a fix. I gonna rebase, squash and push.

retest this please


Add code coverage % changed to pull requests

It's pretty easy to do. I've added it to ember-cli and broccoli-jscs. Just want to see @hhff if you want it. It may require me becoming a project owner, but I don't remember. I can first try it at my current rights level.

Oh yeah, I forgot the use case. So we don't have to say please add tests to every PR, we can point at the decrease of code coverage and say please alleviate that.

yes def!


Fix the problem of infinite loop when agent speech is interrupted

When playing the Agent's speech, if the user interrupts, the while loop here will become an infinite loop and needs to be exited when interrupted.

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


Add filename as the test name when yielding files

This gives a much clearer image of what test file that fails, as the test name itself contains the filename.
I made this pr because I had to contribute to rector, and I found it quite hard to figure out if my test was failing or it was one of the other ones, as there were 15 files in the directory.
Before this change, all the test would be labeled with 1,2,3 and so on, with this change they will name be named my_badly_written_code.php and so on.

Hi,
we had such proposal before. It makes testing specific fixture impossible.
E.g. How do you run just 3rd fixture from CLI?

Hi,
we had such proposal before. It makes testing specific fixture impossible.
E.g. How do you run just 3rd fixture from CLI?

@TomasVotruba That is possible?
Let's take the NeonToYamlConverterTest class as it actually uses this.
It has a fixture env.neon, which is the only one I wanna test, so I just filter it.
vendor/bin/phpunit<EMAIL_ADDRESS>

@TomasVotruba That is possible?
Let's take the NeonToYamlConverterTest class as it actually uses this.
It has a fixture env.neon, which is the only one I wanna test, so I just filter it.
vendor/bin/phpunit<EMAIL_ADDRESS>

That's the problem, to run the fixture, you need to copy the filename. And copying filename from CLI is pretty broken.
Running number 3 is much easier and can be typed:
vendor/bin/phpunit packages/phpstan-rules/packages/object-calisthenics/tests/Rules/NoShortNameRule/NoShortNameRuleTest.php --filter test#1

That's the problem, to run the fixture, you need to copy the filename. And copying filename from CLI is pretty broken.
Running number 3 is much easier and can be typed:
vendor/bin/phpunit packages/phpstan-rules/packages/object-calisthenics/tests/Rules/NoShortNameRule/NoShortNameRuleTest.php --filter test#1

How is that easier?
You have no idea what test case number 3 is and it will change that number of you add a new test to it.
Also when you run all the test in the folder, you cannot see which file it failed on, only that it failed on number 3. Then you have to spend time figuring out how it calculates what file number 3 is, instead of just reading that from the test name.
At least I have no idea what test your are running by looking at your second example, whereas with the first one it's really clear.
But this is basically a truth discussion, which is useless, so as you are the maintainer, then let's just close this pr and go with what was there 👍

How is that easier?
You have no idea what test case number 3 is and it will change that number of you add a new test to it.
Also when you run all the test in the folder, you cannot see which file it failed on, only that it failed on number 3. Then you have to spend time figuring out how it calculates what file number 3 is, instead of just reading that from the test name.
At least I have no idea what test your are running by looking at your second example, whereas with the first one it's really clear.
But this is basically a truth discussion, which is useless, so as you are the maintainer, then let's just close this pr and go with what was there 👍

It's a easier in a way, when PHPUnit report the only number 4 has failed and all other pass.
So I need tu run only number 4 to test, which I type.
If PHPUnit would provide provide both number and file name, I'd be ok with it

It's a easier in a way, when PHPUnit report the only number 4 has failed and all other pass.
So I need tu run only number 4 to test, which I type.
If PHPUnit would provide provide both number and file name, I'd be ok with it

Just curious, what state is this in?
Could you rebase on master?
I'll give it a prioritynow to get it to merge :hugs:

@TomasVotruba Rebased it 👍
Should be ready now.

Tests needs and update and it's ready to go :+1:

Replaced by https://github.com/symplify/symplify/pull/2979
@olivernybroe Thank you for you work and patience :+1:


Blackarch dependency version issue prompt_toolkit==1.0.15

I've installed Habu through the on Arch Linux, through the BlackArch repo.
However, none of the dependencies get picked up during the installation and even after installing them manually one issue remains. The version of prompt_toolkit is somehow locked to 1.0.15. Without virtualenv Arch linux does not support version locking like this.
Is there a reason to stick to this specific version and if not, what should I modify to just use the latest version of prompt_toolkit?

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (prompt-toolkit 2.0.7 (/usr/lib/python3.7/site-packages), Requirement.parse('prompt_toolkit==1.0.15'), {'habu'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/habu.arp.poison", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3191, in <module>
    @_call_aside
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3175, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3204, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 585, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 598, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'prompt_toolkit==1.0.15' distribution was not found and is required by habu

A potential solution is editing /usr/lib/python3.7/site-packages/habu-VERSION-py3.7.egg-info/requires.txt, removing the ==1.0.15 on the line containing prompt_toolkit.
Based on testing some of habu's commands, this does not break the application. Please consider removing the version lock in future versions.

Yes, you're right, prompt toolkit is only used on habu.jshell.
I've removed has a dependency in version 1.0.2
We need a way to put a list of recommended packages.
I will research on that.
Thanks!


"odo watch" fails to sync the component for same file change in two different component parallely

/kind bug

What versions of software are you using?

Steps to reproduce:

mkdir -p testbackend and copy the project from devfile source to the create directory

$ ls -a /Users/pkumari/go/src/github.com/openshift/odo/testbackend
.       ..      project

mkdir -p testfrontend and do the same as in step 1
odo create nodejs backend and odo create nodejs frontend accordingly in both the directory
odo push for both the component
Start odo watch for both at the same time.
changing the message in app.js for both the component at the same time.

Backend nodejs component:
$ odo watch
Waiting for something to change in /Users/pkumari/go/src/github.com/openshift/odo/testbackend/project
File /Users/pkumari/go/src/github.com/openshift/odo/testbackend/project/app/.app.js.swp changed
Pushing files...

Validation
 ✓  Validating the devfile [85391ns]

Creating Kubernetes resources for component backend
 ✓  Waiting for component to start [449ms]

Applying URL changes
 ✓  URLs are synced with the cluster, no changes are required.

Syncing to component backend
 ◓  Syncing files to the component ✗  Error while creating tar: &os.PathError{Op:"open", Path:"/Users/pkumari/go/src/github.com/openshift/odo/testbackend/project/app/.app.js.swp", Err:0x2}

Frontend nodejs component:
$ odo watch
Waiting for something to change in /Users/pkumari/go/src/github.com/openshift/odo/testfrontend/project
File /Users/pkumari/go/src/github.com/openshift/odo/testfrontend/project/app/.app.js.swp changed
Pushing files...

Validation
 ✓  Validating the devfile [112277ns]

Creating Kubernetes resources for component frontend
 ✓  Waiting for component to start [5s]

Applying URL changes
 ✓  URLs are synced with the cluster, no changes are required.

Syncing to component frontend
 ◒  Syncing files to the component ✗  Error while creating tar: &os.PathError{Op:"open", Path:"/Users/pkumari/go/src/github.com/openshift/odo/testfrontend/project/app/.app.js.swp", Err:0x2}

But If I change app.js for one component at a time it works fine.
$ odo watch
Waiting for something to change in /Users/pkumari/go/src/github.com/openshift/odo/testbackend/project
File /Users/pkumari/go/src/github.com/openshift/odo/testbackend/project/app/.app.js.swp changed
Pushing files...

Validation
 ✓  Validating the devfile [428446ns]

Creating Kubernetes resources for component backend
 ✓  Waiting for component to start [290ms]

Applying URL changes
 ✓  URLs are synced with the cluster, no changes are required.

Syncing to component backend
 ✓  Syncing files to the component [7s]

Executing devfile commands for component backend
 ✓  Executing install command "npm install" [3s]
 ✓  Executing run command "npm start" [6s]
Waiting for something to change in /Users/pkumari/go/src/github.com/openshift/odo/testbackend/project

Actual behavior
Parallel execution of odo watch for two different components fails on same file change at the same time. In this case app.js
Expected behavior
It should push the change as both the component looking for change in two different directory.
Any logs, error output, etc?
Manually verified in experimental mode.

ping @mik-dass

I ran watch for two components in a parallel manner and don't pushed works fine for me.
Nodejs component
Waiting for something to change in /home/mrinaldas/che-nodejs
File /home/mrinaldas/che-nodejs/app/app.js changed
Pushing files...

Validation
 ✓  Validating the devfile [37012ns]

Creating Kubernetes resources for component nodejs
 ✓  Waiting for component to start [616ms]

Applying URL changes
 ✓  URLs are synced with the cluster, no changes are required.

Syncing to component nodejs
 ✓  Syncing files to the component [9s]

Executing devfile commands for component nodejs
 ✓  Executing install command "npm install" [5s]
 ✓  Executing run command "npm start" [9s]
Waiting for something to change in /home/mrinaldas/che-nodejs
^C
[mrinaldas@localhost che-nodejs]$

Openliberty component
Waiting for something to change in /home/mrinaldas/openliberty-ex
File /home/mrinaldas/openliberty-ex/src/main/java/dev/appsody/starter/StarterApplication.java changed
Pushing files...

Validation
 ✓  Validating the devfile [91942ns]

Creating Kubernetes resources for component openliberty
 ✓  Waiting for component to start [478ms]

Applying URL changes
 ✓  URLs are synced with the cluster, no changes are required.

Syncing to component openliberty
 ✓  Syncing files to the component [9s]

Executing devfile commands for component openliberty
 ✓  Executing devrun command "mvn -DhotTests=true -DappsDirectory=apps -Dmaven.repo.local=/mvn/repository liberty:dev", if not running [4s]
Waiting for something to change in /home/mrinaldas/openliberty-ex
^C

Which editor are you using for making the changes? Are you running a script?
 ◓  Syncing files to the component ✗  Error while creating tar: &os.PathError{Op:"open", Path:"/Users/pkumari/go/src/github.com/openshift/odo/testbackend/project/app/.app.js.swp", Err:0x2}

Looking the error log, I can see a swp file. Are you using  a vi based editor? If you are performing the changes manually, please try the above scenarios using VS Code.

Looking the error log, I can see a swp file. Are you using a vi based editor? If you are performing the changes manually, please try the above scenarios using VS Code.

I was running the steps on VS Code itself.

Can you please replicate the same component that I am using like nodejs frontend and backend component

Which nodejs repo are you using?

◒  Syncing files to the component ✗  Error while creating tar: &os.PathError{Op:"open", Path:"/Users/pkumari/go/src/github.com/openshift/odo/testfrontend/project/app/.app.js.swp", Err:0x2}

I think it's a problem with odo push not watch. The .swp file, created during the edit operation, gets deleted when the VI editor is closed during the syncing process. Thus the tar operation fails. I think this parallel watch scenario should work with vs code as no temporary file is created in the repo folder.

I think it's a problem with odo push not watch. The .swp file, created during the edit operation, gets deleted when the VI editor is closed during the syncing process. Thus the tar operation fails. I think this parallel watch scenario should work with vs code as no temporary file is created in the repo folder.

Yes, I also performed the steps again and observed the same behaviour. As per the validation I did its the problem with odo push hence changing the title.

Observations:

Either do odo push or odo watch
Edit the file like vim test/test.js in between the operation odo push or odo watch
.swp file gets created
Before or during syncing the component close the editor
It will delete .swp file and tar operation fails.

$ odo push

Validation
 ✓  Validating the devfile [58043ns]

Creating Kubernetes resources for component frontend
 ✓  Waiting for component to start [325ms]

Applying URL changes
 ✓  URLs are synced with the cluster, no changes are required.

Syncing to component frontend
 ✓  Checking file changes for pushing [4ms]
 ◒  Syncing files to the component ✗  Error while creating tar: &os.PathError{Op:"open", Path:"/Users/pkumari/go/src/github.com/openshift/odo/testfrontend/project/test/.test.js.swp", Err:0x2}


fix(webhook): Fixing default webhook URL

:tada: This PR is included in version 1.5.4 :tada:
Your semantic-release bot :package::rocket:


Optimize PDF weight

Purpose
Sometimes people submit huge PDF files (>30Mb), in app rendering is quite slow in this case.
Proposal
We may use optimized PDF files instead of the original ones. Can cloudinary optimize those PDFs?

Cloudinary can upload PDFs as JPG: https://cloudinary.com/blog/uploading_converting_and_generating_thumbnails_for_pdf_documents. This could be interesting to save bandwidth, storage space, and simplify the mobile app. We would only deal with images.

Good idea! If we always keep track of the original file URL, this would be optimal.


change production logs to warning

Changes production level to warning.
Note: this doesn't effect the log level of senic_hub process (REST API). That will be addressed here: https://github.com/getsenic/senic-os/issues/87

Do you know why it isn't following the same pattern here
logging vs logger thing?
Does it make sense here to go for consistency throughout the app?

Here in bluenet log configuration is done using logging.basicConfig where as in other apps log configuration is done using logging.fileConfig and senic_hub.ini file.

We do not want bluenet to use sentry (because sentry cannot work without wifi) at all and that is why we do not use the senic-hub.ini file to configure it.

It make sense to have consistency but I think requirement is a bit different here. I think a good practice to follow could be to use logging for configuration of logs and use specific loggers (eg: root logger) to log messages and override specific configurations if required (for eg: -v & -vv).
Thought?

Sure, makes sense.
So this line is just a leftover?
https://github.com/getsenic/senic-hub/blob/prod-error-log-level/senic_hub/bluenet/bluenet.py#L26

Looks like leftover. We haven't touched this part in this PR. But it is used for logging messages like logger.info and logger.debug etc:
For eg: here

Ok, will merge it tomorrow. (Need to rebase everything on it  and it's getting late :) )

Merging this would cause to much of a mess on the BT branches.
Will apply in manually on to: https://github.com/getsenic/senic-hub/pull/411

Addressed here:
https://github.com/getsenic/senic-hub/pull/411/commits/571622d62f613230dda42e53ac4af0243816d672
Closing


Updated generated deepcopy file.

Did code cleanup for generated deepcopy:

Updated generated file name
Added generated files

/lgtm


markitup.css isn't precompiled

Hi.
I use a spree of 0-70-stable and rails 3.1.3. I installed the gem spree_essential_blog and development mode, everything worked fine. But if you run the application in production mode, I get the error "markitup.css isn't precompiled". rake assets: precompile was performed.
gem 'spree_essential_blog', '~> 0.1.0' in my Gemfile

Thanks for the report @supergivi. It looks like this is an issue with spree_essentials not spree_essential_blog... I'll push a fix in a few

I just pushed v0.3.3 of spree_essentials to rubygems which should fix this issue. To ensure 0.3.3 is used in your project declare it with a strict version in your Gemfile like so:
gem 'spree',                '0.70.3'
gem 'spree_essentials',     '0.3.3'
gem 'spree_essential_blog', '0.1.0'

Thank you very much. All works fine.

Awesome!


Receive Binary data via in_udp without parsing to JSON

Describe the bug
We have a requirement to listen binary packets data via UDP listening AS-IS ,collect them in files without parsing or modifying.
Current in_udp plugin is not allowing me to that as parse section is mandatory and it expect a at least one json key.
I tried using regex like below

type regexp
expression /^(.*)$/

But it is not allowing me to use this.
this is the one we are using now, but consumers are not happy as we are parsing them in to JSON key "event". they need the data AS-IS in binary format.
    <parse>
            type regexp
            expression /^(?<event>.*)$/
    </parse>

To Reproduce
Use in_udp plugin and try to use a regex like below

type regexp
expression /^(.*)$/

It is failing to listen the message AS-IS without parsing.
Expected behavior
Need a facility/option to allow the in_udp listener to listen the message as RAW AS-IS without any parsing.
Your Environment
- Fluentd version: fluentd 1.12.3
- TD Agent version: td-agent 4.1.1
- Operating system: Red Hat Enterprise Linux Server 7.9
- Kernel version: 3.10.0-1160.36.2.el7.x86_64

Your Configuration

        type udp
        tag inudp.5541

                type regexp
                expression /^(.*)$/

    port 5541
    bind <IP_ADDRESS>
    remove_newline false
    source_hostname_key host

        type file
        path /var/lib/td-agent/LB/udp.5541
    <buffer>
           timekey 5m
           timekey_wait 10s
    </buffer>

Your Error Log
2021-09-23 11:38:02 +0100 [error]: config error file="/etc/td-agent/td-agent.conf" error_class=Fluent::ConfigError error="No named captures in 'expression' parameter. The regexp must have at least one named capture"

Additional context
No response

Even though it requires messsage_key as mandatory, how about using none parser? Is it acceptable?
https://docs.fluentd.org/parser/none


Corrupted / incomplete screenshot image file

Hello,
After redeploying examples/serverless-framework/aws from Debian and running a GET request on /screenshot, I got a incomplete PNG file.
Result for {url=https://github.com/adieuadieu/serverless-chrome} : Screenshot
This file is not reconized as a proper PNG file in most of image readers I tried.
No error logs.
Anyone else seeing this?

Did you find a resolution to this?  I am having a similar issue with only a 1k png file being produced?


TLS is not working as expected

Following the instructions from our docs to add cert-manager https://docs.kusk.io/guides/cert-manager and using a GKE cluster, TLS is never configured correctly

Fixed by https://github.com/kubeshop/kusk-gateway/pull/758


scanForPeripherals never emits if called before CBCentralManager is in the powered on state

Reproduce by call scanForPeripherals as soon as the demo app starts app. You'll see core bluetooth logs an error:
API MISUSE:  can only accept this command while in the powered on state

Thanks for reporting, i'll look into it!

I couldn't reproduce the api misuse warning in the central, but I could in the peripheral side, so the pr linked above fixes that issue. Let me know if it fixes what you've run into!

If I call the scanForPeripherals function immediately after calling  let centralManager: CentralManager = .live()  , I get the same error and cannot receive anything


Solution 1. Imgui Default Path change (No Merge)

Problem
Problem that imgui.ini and imgui.log files are generated in project files (ProjDir), which should be in " Config/imgui.ini ".. etc within the " SolutionDir "
Solution
Makes a directory named " config " in solution directory from root.
Additionally checks if it exists.
Then assign a new Default location to save the  Imgui.ini file.
The following should be changed later where the folders are generated beforehand and other areas should be in this instance tested..
Solves
https://github.com/JDSherbert/Sherbert-Engine/issues/29
Needs considerations and changes.

Something to keep a not of in the future is to reference back to that the project utilizes  Visual studio 17 Language standard
with the following required it insists that the directory is created as shown in the changes provided with a null parameter.

In the future this could be changed and or referenced to only use create directory for version 17 https://en.cppreference.com/w/cpp/filesystem/create_directory in newer versions it would be more simplfied, but does not affect the performance and is more fool proof with checks to avoid future compile or runtime errors

Comment should be changed as well to follow up the changes taken to the directory pathing!
https://github.com/JDSherbert/Sherbert-Engine/blob/429d7bc8d2d99bc2eae490885177a8c464c15e56/SherbertEngine/Source/Imgui/imgui.h#L2000


Random memory issues around core wayland event loop

Hyprland Version
 System/Version info
> hyprctl version
Hyprland, built from branch  at commit 13d985489788fa5349b3457d6eb1c19bad8f37e9  ().
Date: 2024-02-20
Tag:

flags: (if any)

> hyprctl systeminfo
Hyprland, built from branch  at commit 13d985489788fa5349b3457d6eb1c19bad8f37e9  ().
Date: 2024-02-20
Tag:

flags: (if any)

System Information:
System name: Linux
Node name: msi
Release: 6.1.78
Version: #1-NixOS SMP PREEMPT_DYNAMIC Fri Feb 16 18:06:32 UTC 2024

GPU information:
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c5) (prog-if 00 [VGA controller])

os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.05.20240218.b98a4e1"
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 24.05 (Uakari)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.05 (Uakari)"
VERSION_CODENAME=uakari
VERSION_ID="24.05"

plugins:
  hy3 by outfoxxed ver 0.1

Bug or Regression?
Bug
Description
I'm unable to open new windows, as in they open for a split second and disappear a frame or two in. I spammed it a bit and hyprland crashed.
How to reproduce
I've triggered this multiple times and its been random as far as I can tell. This time I tried opening slurp and it refused to open, started trying to open terminals which also failed. After spamming a few terminals it crashed.
Note that I've never had this happen on an instance that wasn't running for like, at least 12 hours. (so its probably some kind of memory corruption)
Crash reports, logs, images, videos
hyprlandCrashReport2077.txt
Larger clip of the end of the log, including errors and warnings that seem probably related
log.txt

is it feasible for you to get this to happen with ASan or vg?

also build wayland in debug for more stacktrace frames

You open this windows via what? Terminal emulator? Launcher (i.e. Rofi)? From within an app (like File>New Window)?

Open via keybind, 5120x1440, no panels. Have already talked to vaxry about it.


JSDoc support for @memberof and @namespace

I work on a NodeJS Javascript codebase which uses plain JSDoc (i.e. no Typescript/Closure specific syntax). It uses require() rather than ES6/Typescript-style imports.
Our codebase has JDoc'ed code which lives under arbitrary @namespace declarations, meaning they do not correspond to actual code 'namespaces'. For example our code is JSDoc'ed as @namespace utilities but the module may be imported as utils.
My colleagues using Webstorm get the full JSDoc annotations/code completion/tooling but VSCode Intellisense does not recognised references like models.Account for e.g. parameters as shown below ...
// models.js

/** @namespace models */

/** @memberof models */
class Account {
  // ...
}

module.exports = { Account }

// main.js
const { Account } = require('./models')

/**
 * @return {models.Account}
 */
myMethod (account) => {
  return new Account()
}

Since basically the entire codebase is namespaced, I get reduced Intellisense support for my custom code and no support for writing correct JSDocs.

@namespace is tracked by #14233


WGDashboard - Internal Server Error

Hello,
I've noticed that  WGDashboard is failing if I add a second IP address  to main network interface.
Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Aug 20 07:33:38 ubuntu python3[95386]:   File "/opt/wgdashboard/src/dashboard.py", line 475, in get_conf_status
Aug 20 07:33:38 ubuntu python3[95386]:     ifconfig = dict(ifcfg.interfaces().items())
Aug 20 07:33:38 ubuntu python3[95386]:   File "/usr/local/lib/python3.10/dist-packages/ifcfg/init.py", line 70, in interfaces
Aug 20 07:33:38 ubuntu python3[95386]:     return Parser(ifconfig=ifconfig).interfaces
Aug 20 07:33:38 ubuntu python3[95386]:   File "/usr/local/lib/python3.10/dist-packages/ifcfg/parser.py", line 30, in init
Aug 20 07:33:38 ubuntu python3[95386]:     self.parse(self.ifconfig_data)
Aug 20 07:33:38 ubuntu python3[95386]:   File "/usr/local/lib/python3.10/dist-packages/ifcfg/parser.py", line 90, in parse
Aug 20 07:33:38 ubuntu python3[95386]:     raise RuntimeError(
Aug 20 07:33:38 ubuntu python3[95386]: RuntimeError: Tried to add broadcast=<IP_ADDRESS> multiple times to ens18, it was already: xxx.xxx.xxx.xxx
Aug 20 07:33:38 ubuntu python3[95386]: <IP_ADDRESS>- - [20/Aug/2022 07:33:38] "GET / HTTP/1.1" 500 -

First, i imported socket. Then in dashboard.py in def get_conf_status i did something like this:
found = False
for interface in socket.if_nameindex():
    if interface[1] == config_name:
        found = True
return "running" if found else "stopped"

insted of
ifconfig = dict(ifcfg.interfaces().items())
return "running" if config_name in ifconfig.keys() else "stopped"

I also faced a problem with the endpoint and solved it with this #205

i have fix this with this comments : https://github.com/donaldzou/WGDashboard/issues/225#issuecomment-1606067170
But now the error 500 is my last probleme for the moment, do you have fix for this ?


Remove Console.log

Any chance you could remove console.log? Otherwise, things are going to break in IE9(console.log breaks IE9)

Hi, would yo mind referring to the problematic line where the console.log will break in IE9?
Currently I see only 2 places where this is used (one comes from rangy.js dependency) and both places seem to check if console.log is present before executing.

Fair enough, sorry. Just figured saw a console.log appear in my console and
figured it wasn't being stripped. Should probably have read the code first
:p
On 31 Mar 2016 8:16 a.m., "Oliver Pulges"<EMAIL_ADDRESS>wrote:

Hi, would yo mind referring to the problematic line where the console.log
will break in IE9?
Currently I see only 2 places where this is used (one comes from rangy.js
dependency) and both places seem to check if console.log is present before
executing.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/Voog/wysihtml/issues/314#issuecomment-203792645


Changes to feature flags are never reflected across concurrent sessions

Issue Summary
If User A and User B are using the admin area simultaneously and User A changes a feature flag, that change is never reflected in User B's admin area unless they manually refresh/reload the admin page. This is also true if single user has multiple tabs open.
Steps to Reproduce

Log in to the admin as usual
Open an incognito/private browser window and log in again, keeping both windows open
On the standard window, visit the Labs section and then go back to the content screen
On the incognito window, visit the Labs section and change the Public API setting
On the standard window, visit the Labs section and note that the change is not shown, you can continue using the admin area on this window and the change will never be reflected

Right now we only have the Public API labs flag so this isn't too much of an issue but as the use of feature flags increases it may become more troublesome as the settings will be loaded earlier in the session and have effects that entail deeper UI/functionality changes. For example with the New Editor flag, a user may enable it in one tab but and then wonder why they never get the new editor in another tab they have open.
The lack of realtime push of changes in other areas of the app is mitigated by reloading the relevant data whenever we change screen. With labs settings this is more difficult because the state is loaded once and held in a singleton (currently a controller, soon to be a service) for the duration of the session. The Labs screen itself is easy to fix by reloading the settings any time that screen is accessed but labs settings are different to content-based screens in that a feature flag can have app-wide effects, simply updating feature flags when loading the labs screen doesn't fix the bigger issue.
Without some other means of pushing feature flag changes from the server to the client we're left with either:
a. Requesting the latest settings on every major screen change
b. Requesting the latest settings each time we check a feature flag
Unfortunately both options have performance issues as they introduce additional network requests, option B especially.
Technical details

Ghost Version: master

May I suggest something like https://medium.com/all-about-feathersjs/using-feathersjs-as-an-open-source-alternative-to-firebase-b5d93c200cee#.aoxad8pgj

@halfdan Can you provide some context with that link? How do you think it will help?

Apologies - I should've elaborated on that link. Firebase/Featherjs provides a real-time websocket based updating mechanism. Updates pushed to a resource - like /features would be automatically pushed to all other clients.
I've been working with Firebase and it's ember addon emberfire the past year at $dayJob. Emberfire provides an ember data adapter that allows you to interact with models (whatever they may be - in this case e.g. features) and syncs changes to its backend (Firebase is also a data store) and all connected clients. I realise this is probably more than this issue is asking for in terms of realtime syncing ability but it would provide a nice setting stone for more advanced features like collaborative editing.
I'm not sure if that would be scalable on Ghost(Pro) though.

I've had a very quick look, feathers.js seems like more of framework to use in place of roll-your-own express that makes it easier to build REST APIs as well as having a sockets layer rather than just offering a sockets and messaging service to hook into.
In my opinion the holy grail would be a node.js version of phoenix's channels but I haven't seen anything in my casual searches so far. It seems like https://github.com/primus/primus is a good building block.
In any case, this issue may be better suited to a simpler solution until we're ready to implement a full sockets/push system.

I'm going to close this and mark as later. It's an edge case that no-one has complained about and will be be solvable once we have a general web-sockets implementation that's likely to be introduced for higher-priority features.


Resolve shift/reduce and reduce/reduce conflicts with CREATE and RETURN rules

This PR resolves shift/reduce and reduce/reduce conflicts with create_function_content, node_pattern, return_clause, expression, and math_expression rules.

Plz Resolve conflits


Fix JavaScriptConfig.

Was missing a @JsonProperty annotation needed by the json configurator, also the docs had a typo.

Can you add tests for this also?

👍

io.druid.client.cache.CacheConfigTest has an example of testing property injection

@drcrallen yeah, although since this class is in druid-api that'll require a bit of moving classes around and copy/paste.

but, yeah, that sounds good.

@drcrallen added test

@drcrallen moved the guice module and test to druid-server

👍

stalled on QueryGranularityTest (again… suspicious…)
Running io.druid.granularity.QueryGranularityTest
Tests run: 31, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.786 sec - in io.druid.granularity.QueryGranularityTest
No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.
The build has been terminated

Failed again on the #3067 thing

:+1:, after travis


Tracking / analytics in report HTML

I'm seeing a remote script being loaded from https://app.posthog.com/static/array.js. It seems this is some kind of client-side tracker for product analytics.
My questions:

Is this analytics program managed by the Karate team?
What data is being collected?
Is there any mechanism to opt-out of tracking?
Is there any mechanism to request a copy of the data you've collected or to remove the data you've collected from us?
Is there a mention of this anywhere in the documentation? I couldn't find anything.

@jkeys089 I've updated the docs with the details and there is a reference to it from the main readme now. https://github.com/karatelabs/karate/blob/master/karate-core/src/test/resources/analytics.md
thanks !


Fix loading issue of ImageOverlay in Safari

After some try & error testing, I found out that the problem of #5895 and #6322 can be fixed with img.decoding = 'async'. The problem occurs only in Safari.
Before: Editor

Solution: Editor

fixes #5895, fixes #6322

@mourner can you please confirm with your mac

@Falke-Design both the before and after work in Safari v16.1 on my M1 Mac.

both the before and after work in Safari v16.1 on my M1 Mac.

@mourner ok wow ... with LambdaTest it was possible to test with Safari 16 and it is no problem anymore. Should we still implement the fix for the other Safari versions?

Should we still implement the fix for the other Safari versions?

I'd say no. If the latest version of Safari fixes this issue then it doesn't make sense to me to keep a quirk around, especially with 2.0 around the corner.


refactor: Python 3.7+

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


Favor a lower number of charged atoms in rdDetermineBonds.DetermineBonds()

See code below to reproduce. This PR from the original xyz2mol code solved this issue, at the expense of long runtimes.
Here's a few more SMILES strings with this problem:
charged-sulfur-smiles.txt
These molecules are from https://github.com/ghutchis/conformer-benchmark
Attaching pictures to show the four examples in this code snippet.
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import rdDetermineBonds
from rdkit.Chem import rdDistGeom
from rdkit.Chem import rdForceFieldHelpers

etkdgv3 = rdDistGeom.ETKDGv3()

def smiles_to_xyz(smiles):
    mol = Chem.MolFromSmiles(smiles)
    mol = Chem.AddHs(mol)
    rdDistGeom.EmbedMolecule(mol, etkdgv3)
    rdForceFieldHelpers.UFFOptimizeMolecule(mol)
    xyz_block = Chem.MolToXYZBlock(mol)
    charge = sum([atom.GetFormalCharge() for atom in mol.GetAtoms()])
    return xyz_block, charge

def get_mol_rdDetermineBonds(xyz_block, charge):
    mol = Chem.MolFromXYZBlock(xyz_block)
    rdDetermineBonds.DetermineBonds(mol, charge=charge)
    mol = Chem.RemoveHs(mol)
    return mol

smiles_list = [
    "Cn2c(C)csc2=O",
    "c1ccsc1C(=O)O",
    "C1CCCS1=O",
    "Nc1ncc2c(Sc3ccccc3)cccc2[nH+]1",
]

for smiles in smiles_list:
    xyz_block, charge = smiles_to_xyz(smiles)
    try:
        mol = get_mol_rdDetermineBonds(xyz_block, charge)
    except ValueError as e:
        print(e)
        continue
    new_smiles = Chem.MolToSmiles(Chem.RemoveHs(mol), isomericSmiles=False)
    print(smiles)
    print(new_smiles)
    print()

What you are getting from DetermineBonds() in these cases are just resonance structures of the molecule you are looking for.
While I agree that these are not the nicest resonance forms, I do believe that they are correct.
In every case except the third molecule you can get your "expected" SMILES by enumerating the resonance structures of the output molecule like this:
    mol = Chem.RemoveHs(mol)
    suppl = Chem.ResonanceMolSupplier(mol,Chem.ResonanceFlags.UNCONSTRAINED_ANIONS | Chem.ResonanceFlags.UNCONSTRAINED_CATIONS)
    for struct in suppl:
        print('  ',Chem.MolToSmiles(struct))

Since the current behavior is not wrong, I'm going to change this to an enhancement request.

I ran into this issue today with the input SMILES "CS(C)=c1c(=O)c2ccccc2c1=O", which gets converted to "CS+C1=C([O-])c2ccccc2C1=O".  Except in this case I can't get the ResonanceMolSupplier to give me a non-charge separated form.

@jasondbiggs , we'll need @ptosco to confirm, but I believe what's going on in the case of your molecule is a bug in the ResonanceMolSupplier.
I would expect the resonance supplier to be symmetrical, so that if mol1 is a resonance form of mol2 then mol2 would also be a resonance form of mol1. That does not seem to be the case here:
In [19]: m = Chem.MolFromSmiles('CS(C)=c1c(=O)c2ccccc2c1=O')

In [20]: suppl = Chem.ResonanceMolSupplier(m,Chem.ResonanceFlags.UNCONSTRAINED_ANIONS | Chem.ResonanceFlags.UNCONSTRAINED_CATIONS)

In [21]: ms = [x for x in suppl]

In [22]: for m in ms: Chem.SanitizeMol(m)

In [23]: set([Chem.MolToSmiles(x) for x in ms])
Out[23]:
{'CS(C)=c1c(=O)c2ccccc2c1=O',
 'C[S+](C)C1=C([O-])C2=CC=C[CH+]C2=C1[O-]',
 'C[S+](C)C1=C([O-])C2=C[CH+]C=CC2=C1[O-]',
 'C[S+](C)C1=C([O-])[C+]2C=CC=CC2=C1[O-]',
 'C[S+](C)C1=C([O-])[c+]2cc[cH-]cc2C1=O',
 'C[S+](C)C1=C([O-])[c-]2cc[cH+]cc2C1=O',
 'C[S+](C)C1=C([O-])c2c[cH+]cc[c-]2C1=O',
 'C[S+](C)C1=C([O-])c2c[cH-]cc[c+]2C1=O',
 'C[S+](C)C1=C([O-])c2ccccc2C1=O'}

In [24]: m2 = Chem.MolFromSmiles('C[S+](C)C1=C([O-])c2ccccc2C1=O')

In [25]: suppl = Chem.ResonanceMolSupplier(m2,Chem.ResonanceFlags.UNCONSTRAINED_ANIONS | Chem.ResonanceFlags.UNCONSTRAINED_CATIONS)

In [26]: ms = [x for x in suppl]

In [27]: for m in ms: Chem.SanitizeMol(m)

In [28]: set([Chem.MolToSmiles(x) for x in ms])
Out[28]:
{'C[S+](C)C1=C([O-])C2=CC=C[CH+]C2=C1[O-]',
 'C[S+](C)C1=C([O-])C2=C[CH+]C=CC2=C1[O-]',
 'C[S+](C)C1=C([O-])[C+]2C=CC=CC2=C1[O-]',
 'C[S+](C)C1=C([O-])c2ccccc2C1=O',
 'C[S+](C)[C+]1C([O-])=c2ccccc2=C1[O-]',
 'C[S+](C)[C-]1C(=O)c2ccccc2C1=O'}

I guess this is related to the multiple possible valence states of S...

@greglandrum @jasondbiggs Yes, this seems to be a bug in ResonanceMolSupplier, possibly connected to #4491. I'll try and take a look.

If I were to hazard a guess this issue with rdDetermineBonds preferring three valent positively charged sulfur is caused by the strange values in DetermineBonds.cpp's getValenceCombinations:
  const std::unordered_map<int, std::vector<unsigned int>> atomicValence = {
      {1, {1}},  {5, {3, 4}}, {6, {4}},     {7, {3, 4}},     {8, {2, 1, 3}},
      {9, {1}},  {14, {4}},   {15, {5, 3}}, {16, {6, 3, 2}}, {17, {1}},
      {32, {4}}, {35, {1}},   {53, {1}}};

Notice that the entry for element 16 (sulfur), lists valences as 6, 3, 2. (I believe in the algorithm's order of preference).  I would expect to see 2 (neutral) and 4 (neutral) before 3 (cation), and possibly even a final 1 (anion) to match oxygen's behaviour.
One concern is that adding more valences may adversely affect the run-time (given the use of Cartesian product).
Note: this algorithm ("generate and test" using lazy cartesian product to generate and Edmond's maximum cardinality [Blossum algorithm] to test) probably isn't the best solution to this class of problem, but that's a different issue.

@rogersayle that's a good point, made me realize I haven't been using valence=3 for sulfur, only 6, 4, and 2.


STUN server address and working without STUN at all

Hello @sepfy !
In peer_connection.c I see following:
static const gchar *STUN_ADDR = "<IP_ADDRESS>";
static const guint STUN_PORT = 3478;

What is this server?
It takes approx 20 seconds to establish connection when I use these settings. If I use stun.l.google.com:19302 instead connection gets established in a second.
And what about working in local isolated network? How to set everything up correctly? What STUN server settings shoul I use? Is it possible to avoid using STUN server?

This server is provided by libnice. Of course you can change to google stun server.
I am not sure whether it is possible to avoid using stun server or not, but if you want to use local isolated network, you can consider run a stun server on your machine. The stun server has been built in pear/third_party/libnice/builddir/stun/tools.
Then modify STUN_ADDR in pear/src/peer_connection.c and iceServers of pear/examples/surveillance/index.html to your local IP address.
And if you want to use google stun server, you need to try to build the Google WebRTC native code. It will generate a stun server binary.

My question was not exact and clear enough as I am newbie to WebRTC.
Problem was that examples was not working if I set iceServers = [] in index.html
After some digging I found that enabling mDNS solves the problem.
But while it works in Chromium/Opera, it doesn't in Firefox, possibly due to this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1691189. I use Ubuntu 18.04 and 20.04 and browser binaries from official ubuntu repos.
Have you had any experience using pear with Firefox?

I have tried using Firefox, but it doesn't work.
If there is a candidate in SDP is xxxx.local, it means you need to enable mDNS. When I tested with Firefox, I checked there is no candidate using mDNS, so I guess it has nothing to do with mDNS. I'm still debugging
You can check your offer SDP with browser console by modifying code as bellow
diff --git a/examples/surveillance/index_html.h b/examples/surveillance/index_html.h
index 00a194f..db706e4 100644
--- a/examples/surveillance/index_html.h
+++ b/examples/surveillance/index_html.h
@@ -18,6 +18,7 @@ const char index_html[] = " \
       }); \n \
       var log = msg => { console.log(msg); }; \n \
       function sendOfferToCall(sdp) { \n \
+        console.log(sdp);\n \
         var xhttp = new XMLHttpRequest(); \n \
         xhttp.onreadystatechange = function() { \n \
           if (this.readyState == 4 && this.status == 200) { \n \

In our project we disable mdns. Firefox indeed has strange behavior with mdns, but the problem may be relaxed by disabling mdns obfuscation (go to about:config and turn off media.peerconnection.ice.obfuscate_host_addresses)
There was another problems in supporting Firefox, I can share my expirience in separate issue if you are interested. Also you can investigate my fork here https://github.com/aldoshkind/pear


remove required from non-mandatory parameters

indexing_directive, pre_trigger_include and post_trigger_include are not mandatory parameters

Docs Build status updates of commit 416fbfe:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-autogen/azure-cosmos/azure.cosmos.container.ContainerProxy.yml
:warning:Warning
View (azure-python)
Details

docs-ref-autogen/azure-cosmos/azure.cosmos.container.ContainerProxy.yml

Line 7, Column 3: [Warning: xref-not-found] Cross reference not found: 'builtins.object'.
Line 77, Column 19: [Warning: xref-not-found] Cross reference not found: 'str,str'.
Line 93, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 97, Column 31: [Warning: xref-not-found] Cross reference not found: 'Any'.
Line 119, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 155, Column 19: [Warning: xref-not-found] Cross reference not found: 'str,str'.
Line 171, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 195, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 199, Column 31: [Warning: xref-not-found] Cross reference not found: 'Any'.
Line 214, Column 7: [Warning: xref-not-found] Cross reference not found: 'azure.cosmos.ThroughputProperties'.
Line 227, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 231, Column 7: [Warning: xref-not-found] Cross reference not found: 'Iterable'.
Line 231, Column 47: [Warning: xref-not-found] Cross reference not found: 'Any'.
Line 264, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 268, Column 7: [Warning: xref-not-found] Cross reference not found: 'Iterable'.
Line 268, Column 47: [Warning: xref-not-found] Cross reference not found: 'Any'.
Line 287, Column 7: [Warning: xref-not-found] Cross reference not found: 'ItemPaged'.
Line 287, Column 24: [Warning: xref-not-found] Cross reference not found: 'Dict'.
Line 287, Column 48: [Warning: xref-not-found] Cross reference not found: 'Any'.
Line 340, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 344, Column 7: [Warning: xref-not-found] Cross reference not found: 'Iterable'.
Line 344, Column 47: [Warning: xref-not-found] Cross reference not found: 'Any'.
Line 369, Column 19: [Warning: xref-not-found] Cross reference not found: 'str,str'.
Line 373, Column 7: [Warning: xref-not-found] Cross reference not found: 'Callable'.
Line 377, Column 31: [Warning: xref-not-found] Cross reference not found: 'Any'.

This comment lists only the first 25 errors (including error/warning/suggestion) in the pull request.
For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@seesharprun Can we please get your help to approve this? My approval isn't enough :D

I don't know if I have permissions. Let's give it a shot
#sign-off

Okay, it looks like I need to pull in the API docs team. I'll do that shortly.

Hi @seesharprun any update on this PR?

@seesharprun pinging on this again to see if we can get help merging this


Poprawka do opisu warsztatów 'NginX + Lua = Openresty'

Lua + NginX workshop description update.
I'm not sure about the tag change but I think it might be interesting to the devops crowd.


Exclude_unset option removing dynamic default setted on a validator

Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.4
            pydantic compiled: True
                 install path: /home/nico/.local/lib/python3.6/site-packages/pydantic
               python version: 3.6.9 (default, Nov  7 2019, 10:44:02)  [GCC 8.3.0]
                     platform: Linux-5.3.0-46-generic-x86_64-with-Ubuntu-18.04-bionic
     optional deps. installed: ['typing-extensions', 'email-validator']

import pydantic
from typing import Optional

class Foo(pydantic.BaseModel):
    foo: str = pydantic.Field(...)
    bar: str = pydantic.Field(...)
    baz: Optional[str] = pydantic.Field(None)

    @pydantic.validator("baz", always=True, pre=True)
    @classmethod
    def set_baz(cls, v, values):
        """sets dynamic default for baz"""
        if v:
            return v
        return values["foo"] + " " + values["bar"]

a = Foo(foo="foo", bar="bar")
print(a.dict())  # prints {'foo': 'foo', 'bar': 'bar', 'baz': 'foo bar'}
print(a.dict(exclude_unset=True))  # prints {'foo': 'foo', 'bar': 'bar'}

...

Is this behaviour the desired? I don't know if call this issue a bug or a feature request.
I would expect baz field to be included, since it was setted on creation (even though not explictly).
Can I hope better behaviour when using default_factory when it's avaible (v1.5)?

Difficult one, you could call it a bug or a feature request.
I think, long term the proper solution is computed fields, this is not described well anywhere but problably https://github.com/samuelcolvin/pydantic/issues/935#issuecomment-555036039 is the nearest.
I suspect default_factory won't help, but by all means give it a try - you can always install pydantic@master from git.

Closing this issue to favour discussion in #935

I think you should keep it open. The discussion is quite broad.

I think you should keep it open. The discussion is quite broad.

I've also just run into this issue where I am using computed values to via the validators to set an attribute.
This works great until I use the exclude_unset=True to remove empty attributes, and it removes those that have been set by the validators themselves.
Just taken me a couple of hours to work out why I was getting different data!
Is this truly the expected result of exclude_unset?

I just ran into this as well. Has anyone come up with a work around?

If a validator is setting the attribute by default, it seems to me that you'd want the value included when exclude_unset=True no matter what. If that's right, you can override the __init__ to always add the specific field to the __fields_set__ attribute. This will cause it to be included even if you use exclude_unset=True:
from typing import Optional, Any

import pydantic

class Foo(pydantic.BaseModel):
    foo: str = pydantic.Field(...)
    bar: str = pydantic.Field(...)
    baz: Optional[str] = pydantic.Field(None)

    def __init__(__pydantic_self__, **data: Any) -> None:
        super().__init__(**data)
        __pydantic_self__.__fields_set__.add('baz')

    @pydantic.validator("baz", always=True, pre=True)
    @classmethod
    def set_baz(cls, v, values):
        """sets dynamic default for baz"""
        if v:
            return v
        return values["foo"] + " " + values["bar"]

a = Foo(foo="foo", bar="bar")
print(a.dict())  # prints {'foo': 'foo', 'bar': 'bar', 'baz': 'foo bar'}
print(a.dict(exclude_unset=True))  # prints {'foo': 'foo', 'bar': 'bar', 'baz': 'foo bar'}

Thanks @dmontagu
Looking forward for v2 <3

@dmontagu Thank you for your response that saved me a lot of time
I made a generic version if that helps anybody:
class MyBaseModel(BaseModel):
    def __init__(self, **data) -> None:
        res = super().__init__(**data)
        fields = self.__pydantic_core_schema__["schema"]["fields"]
        fields_with_default = (
            f for f, d in fields.items()
            if "default" in d["schema"]
        )
        self.model_fields_set.update(fields_with_default)
        return res

I think we could add an option that would be exclude_strict_unset (or a variation) that would solve this issue without breaking anycode. This option would still be compatible with other option.
Is there a reason for not making that?


json format

Can someone please show me an example of how the unavailable seats array should be formatted to load via ajax.
Thanks

I'm afraid that this is not a feature of JSC but rather something that you have to implement on your own using Selector and Set methods plus AJAX implementation of your choice.


MP at Riga Dev Days

Name of the speakers: Mads Opheim and Rustam Mehmandarov
Name of the session: IoT powered by MicroProfile - microservices in practice
Links
https://twitter.com/madsopheim
https://twitter.com/rmehmandarov
https://github.com/mehmandarov/microprofile-iot
https://2019.rigadevdays.lv/event-sessions/iot-powered-by-microprofile-microservices-in-practice/
Location
Riga Dev Days: Riga, May 31st
Description:
We are going to show you what happens when the management lets enterprise Java developers and architects decide how we can control the IoT devices in our new office. While it’s easy to figure out why Microprofile is cool, it’s harder to see how to get in into your project.
By the end of this talk, you will be introduced into the patterns and software in the enterprise world of Java explaining how to build a build a secure, stable, modular, and integrated system on an example of a completely over-engineered IoT solution to control the lights and plant’s well-being in the new office.
Fear not if your system is more complex than controlling light bulbs and plants! This talk will show you how easily you can design a good production-ready Java full-stack system based on the Enterprise stack with Microprofile combined with good continuous deployment infrastructure patterns.
There be code, demos, and (buzzword) dragons.

@madsop can you please write a tweet for your session and then I will create and image and Promote it on the MP twitter handle.

Ping @madsop

Better late than never, right? https://twitter.com/MadsOpheim/status/1125500520297324544

@madsop all set.
here is the image that is used


It doesn't hide button behind!

 return (
            <View style={styles.container}>
                <Button
                    title='Show Popup List Episodes'
                    onPress={() => this.popupDialog.show()}
                />
                <PopupDialog
                    width={200}
                    dialogTitle={<DialogTitle title="Danh sách các tập" />}
                    ref={(popupDialog) => { this.popupDialog = popupDialog }}
                    dialogAnimation={slideAnimation}>
                    {/* --- Component popup show --- */}
                    <View>
                        <Text> Hello </Text>
                    </View>
                </PopupDialog>
            </View>
        );

Here is my code, the problem is when I click button to show dialog, it doesn't hide the button. How to hide behind scene?

@thiennhank9 Not sure why. You can try to set zIndex for dialog container  via containerStyle prop

I had the same problem and adding a zIndex to containerStyle worked indeed.

zIndex is not working for android, any other suggestion?

Facing the same issue here, Any solutions?

Found one solutions, It is working for me
<PopupDialog containerStyle={{ zIndex: 10, elevation: 10 }}  ref={(popupDialog) => { this.popupDialog = popupDialog; }}>                     <CustomView />                 </PopupDialog>

Elevation on android is like zIndex, but also as borderShadow. So if the button have elevation, you need to add elevation an all. Without elevation, using zIndex is fine on android too.
Btw, the expo example app need a fix of this type


Question: Correct use of "Broken Chains"

Hi,
I've recently stumbled upon a specific use-case and decided to clarify on the correct use of the Promises. The use-case is the need to execute some code on the promise fulfillment and just propagate the error further if the promise has been rejected.
The example
I'd like to authenticate the user with the OAuth2 Password Grant, but keep the implementation details, such as the specific of the Token storage out of the ViewController.
So, let's consider, we have a LoginService:
class LoginService {
  lazy var auth = AuthService()
  lazy var client = RESTClient(accessToken: auth.token)

  func login(username: String = "", password: String = "") -> Promise<String> {
    weak var weakSelf = self
    return client.request(API.authenticate(username: username, password: password)).then({ (token) -> Promise<String> in
      let auth = weakSelf?.auth
      auth?.token = token
      return Promise<String>(token)
    })
  }

  @discardableResult func logOut() -> Promise<Void> {
    auth.eraseAllData()
    return client.request(API.logOut())
  }
}

The controller just uses login and logout methods of the service, while all the token handling is happening under the hood.
The question is, whether such use of Promises is correct, since I add specific logic only on success?
I've read about the Broken Chain antipattern, but would like to hear, whether the provided example is correct/incorrect way to handle such use-cases.
Thank you!
BR,
Richard

Hi Richard,
The code looks good. I'd only call out the issue if you possibly get another login invocation before the previous request had a chance to complete. May like to store the promise in an optional var and reject it on another login attempt. Something like the following:
class LoginService {
  // ...
  var loginPromise: Promise<String>?

  func login(username: String = "", password: String = "") -> Promise<String> {
    assert(Thread.isMainThread)
    loginPromise?.reject(...)
    auth?.token = ""
    weak var weakSelf = self
    let promise = self.client.request(
      API.authenticate(username: username, password: password)
    ).then { token in
      weakSelf?.auth?.token = token
      weakSelf?.loginPromise = nil
    }
    loginPromise = promise
    return promise
  }
  // ...
}

May also consider returning loginPromise if it's not nil and the username matches the previous invocation. So, everything depends on your use cases.

Thanks for clarifying the issue with another invocation. Practically, it's impossible, as the UI locks immediately before the login code is invoked. Other than this, I'm happy to hear that I use the library properly.


Phospho data for the CI/CD is missing

Description of the bug
https://github.com/bigbio/quantms/actions/runs/7464410417/job/20311355490?pr=335
@timosachsenberg @jpfeuffer can you try to recover this folder https://abibuilder.cs.uni-tuebingen.de/archive/openms/Tutorials/Data/PhosphoID_nfcore_testdata/. I'm planning to move that data to PRIDE Archive to use it for CI/CD.

Solved. Related with Comment in https://github.com/bigbio/quantms/pull/335#issuecomment-1883579039

@ypriverol the server is back. You can transfer to pride if you think it's more stable.

It is more stable in PRIDE, I did change it last night.


(#1203) Fix lib directory and file permissions

Pull Request (PR) description
This PR fixes an issue where puppet-elasticsearch changes the file mode of files in /usr/share/elasticsearch/lib every time Elasticsearch is upgraded with Apt. This is both unnecessary and undesirable.
From this commit , the intention was to fix the permission on the directory, but it is now changing the file mode of all the files in the directory as well.
From tests it is alright to set the file mode on the directory to 0644 as Puppet does the right thing setting the directory mode to 0755, irrespective of the umask value, while setting the file mode to 0644 as expected.
This Pull Request (PR) fixes the following issues
Fixes #1203

The lib directory contains (so far) only jar files so I don't foresee a problem with making that directory readable by all system users.

@smortex it looks like there is a problem with the CI / Puppet /7 - Ubuntu 20.04 (pull_request) check. I don't think it is related to my PR.

The lib directory contains (so far) only jar files so I don't foresee a problem with making that directory readable by all system users.

I read too fast and though it was the config directory.
Maybe the CI failure is a transient one, I re-triggered it.

Maybe the CI failure is a transient one, I re-triggered it.

Looks good now ;-)  This feel safe to me.


NTR negative regulation of urokinase plasminogen activator signaling pathway

NTR negative regulation of urokinase plasminogen activator signaling pathway
standard def
child of GO:0038195
PMID:19717562

@vanaukenk @RLovering
This to me seems to be very similar to the issue brought up in #16634. It seems the biology here has more to do with metastasis.

Waiting for feedback as to whether this request is still valid.

@Antonialock Antonia's next task is  to look back through these, and weed  out any cancer related. Hopefully she will get to it this week.
Val


the chat bot icon placement in the dashboard

Description
when un collapsing options from the side bar the chatbot icon becomes annoying.(it covers some of the items in the sidebar)
is this the best placement for it ?
devnet
version : 75e5a1b

blocked on #2228

duplicated of #2139


Evaluate possible race condition in link rendering for fides.js

          I have a feeling there's a bug here... it's a race condition. What if the link renders to the page after our render method fires?

I think the safest thing to do is not gate any overlay rendering logic on the existence of that link, and throw it into a delayed interval - wait like 200ms and then check the DOM if it exists and add the click handler then, etc.
Sorry!
You can carve that out into a follow-up issue though, as long as it's not going to cause any other problems?
Originally posted by @NevilleS in https://github.com/ethyca/fides/pull/3467#discussion_r1220479416

Note that implementing a delay before we show the link will also solve this possible scenario- https://github.com/ethyca/fides/issues/3488. Since we animate the banner on a 100 ms delay, using. 200 ms delay to show the link will ensure that we are never in a state that the user can click the link before the banner is displayed.

moving to done


Use maven packaging for redisson project as jar instead of bundle

Expected behavior
Actual behavior
Steps to reproduce or test case
Redis version
Redisson version
3.11.1-SNAPSHOT
Redisson configuration

Hi @mrniko ,
Could you change the redisson/pom.xml packaging from bundle to jar - the issue that I'm having is when using Eclipse to import the maven projects it will not understand the packaging of bundle as it is not standard and it will not import the projects correctly, more over when you do have dependency on redisson maven project you are using the jar dependency and not bundle dependency.
I have modified maven-bundle-plugin execution so that it will create a jar file with the correct MANIFEST.MF
here is what the execution looks like:
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <archive>
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>3.2.0</version>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>bundle-manifest</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>manifest</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                        <DynamicImport-Package>*</DynamicImport-Package>
                    </instructions>
                </configuration>
            </plugin>

and the explanation how to still use jar packaging and use the maven-bundle-plugin is here:
https://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html
Here is modified version of the pom file that will still include the correct MANIFEST.MF file for OSGi:
pom.zip

@mrniko here is PR: https://github.com/redisson/redisson/pull/2168

Merged


unable to export doc at http://substance.io/michael/data-js

I am unable to export the doc from http://substance.io/michael/data-js. When I choose any export formats the server just hangs and never actually serves the exported file. Also, access to the file seems to be generally sluggish.
I've tried it on Firefox 10 and Chrome with HTML, PDF, and RTF. All the same result. Thx.

Hey. The exporter service needs to be moved to our new server... will do that asap.


feat: Add trim_doctest_flag to google and numpy parsers

Related to: https://github.com/mkdocstrings/mkdocstrings/issues/386
Porting the work done on the legacy handler (PR: https://github.com/mkdocstrings/pytkdocs/pull/134) over to griffe.
Key PR pointers

❗feat: I added in example as a section_kind, in addition to examples for both Google and Numpy. This is aligned with pytkdocs and also accepted by Sphinx Napoleon. Though I understand, the official Google/Numpy docs don't seem to be explicit about whether example is a valid title. Let me know if there was a conscious decision made to not include "example" in Griffe before --- I'll remove it from this PR.
❗fix: I renamed the keyword_parameters in the section_kind dict; I presume this was a typo since I don't think keyword params is a thing.
Feat: Implemented the functionality of removal of # doctest: and <BLANKLINE> via regex; in both cases where 1. line starts with >>> and 2. line is "in a code example block". This is activated via the new trim_doctest_flags parameter / option.
As mentioned in the parent issue, I have set the default behaviour of trim_doctest_flags to be True. To keep consistent with Sphinx.
Only implemented for Google and Numpy for now.
Tests: Added test to check behaviour of trim_doctest_flags is as intended. (both when it is turned on, and turned off)
Docs: Updated to reflect the new option. (Will raise a new issue for Sphinx missing trim_doctest_flags after this).

❗About the implementation of the new parser option (and parser options in general). Because trim_doctest_flags option is only applicable to the examples section, the way I see it, there are 2 ways to go about the implementation.
Option 1 (naive way) is just adding simple if-else in the main parse while loop:
def _read_examples_section(docstring, offset, trim_doctest_flags=True):
    # Add the `trim_doctest_flags` as a specific kwarg in this reader function.
    # All the other `_read_xxx` functions remain untouched.

def parse(..., trim_doctest_flags=True, **options):
    # ...
    if admonition_type.lower() == 'examples':
        sections, offset =  reader(docstring, offset + 1, trim_doctest_flags)
    else:
        sections, offset = reader(docstring, offset + 1)

The alternative is what I am proposing in this PR. Make all _read_xxx functions accept arbitrary options kwargs.
And each reader function is responsible for extracting out the options that they need.
I think the latter is cleaner, especially if we need to extend to other options that might only apply in other sections but not examples, etc. Let me know if this is okay or if you have any better ideas.

I'll try to address your review sometime during the week, but latest by the weekend if I end up being too busy with work ><

Do you want to keep your commits separated? If so, please squash the last two where they belong. Otherwise I can squash them all, as you prefer.

I've rebased to remove adding the "Example" admonition, and adjusted the feat: implement trim_doctest_flags commit to incorporate the changes to options kwargs and use "Examples" in the tests rather than "Example".

That's perfect, thanks again :rocket: :100: !

Released in version 0.13.0 :smile:


Support to Bool input for Onnx models

It seems Synapse doesn't yet support BOOL inputs on onnx models. If I run the following code, where coolean-inputs.onnx is a very simple model that simply bypasses its single boolean input:
def df: DataFrame = Seq(true, true, false).toDF("i1")

val model: ONNXModel = new ONNXModel()
  .setModelLocation("boolean-inputs.onnx")
  .setFeedDict(Map("i1" -> "i1"))
  .setFetchDict(Map("o1" -> "o1"))

val actual: DataFrame = model.transform(df)

It throws an exception scala.NotImplementedError: Tensor input type BOOL not supported. Only FLOAT, DOUBLE, INT8, INT16, INT32, INT64, STRING types are supported.. Curiously, a boolean output works fine.
I guess my questions are:

Is it in the roadmap to add this support anytime soon?
How complex would that be? Should I attempt a PR on it, or there are more implications that it seems at first?

Thanks!

@memoryz  This is more of a question for Jason

@luamct can you send a sample model with bool inputs so I can use it to test?


feat(parse-enum): improve enum parsing using json annotation for enum

improve parsing enum
ignore always_use_package_imports from generated files

Please remove ignores and update change log for 0.9.1

And fix tests for enum


Support for additional_packages in copr

In #774 it was suggested to support additional_packages for copr builds.

In #872 we add this to the config. (JobMetadata)
The implementation itself was not finished since it needs to be set per-chroot. (It takes more time than I had last Friday...;)

Looks like we don't have spare time on it and no one actually requested that.

Looks like we don't have spare time on it and no one actually requested that.


[Event Request] Codeunit 5856 "TransferOrder-Post Transfer" - all event triggers missing

In case of InvtSetup."Direct Transfer Posting"::"Receipt and Shipment" the codeunits TransferPostShipment and TransferPostReceipt are executed with all necessary event triggers.
In case of InvtSetup."Direct Transfer Posting"::"Direct Transfer" the codeunit  5856 "TransferOrder-Post Transfer" is executed, creates records in table 5856 "Direct Trans. Header" and 5857 "Direct Trans. Line" and posts ItemJnlLine similar to the codeunits TransferPostShipment and TransferPostReceipt.
In this codeunit  5856 "TransferOrder-Post Transfer" all event triggers are missing.
OnAfterCreateItemJnlLine
OnBeforePostItemJournalLine
OnAfterInsertDirectTransHeader
OnAfterInsertDirectTransLine
OnAfterInsertShptEntryRelation
OnBeforeTransferTracking
OnPostWhseJnlLineOnBeforeSplitWhseJnlLine
OnBeforeDeleteOneTransferHeader
Please add all necessary triggers to codeunit 5856, so in case of  InvtSetup."Direct Transfer Posting"::"Direct Transfer" we can use the tables and routines according to our processes.

I've tried to accommodate this request and 'guess' from names/context and the other code units where most of these events should be and which parameters you want in those, but in the future please create 1 request per event and specify where exactly you need it and which parameters you expect.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Improvements to caller->close()

Description:
caller->close() currently has some ambiguity as to if it is called from a remote function other than onClose it is considered initiating the connection close. And the returning close is dispatched to the onClose function. But if it is called from the onClose remote function it should be considered as a reply to the received close frame. So this has some ambiguity as there are two behaviors.
Suggestions to improve

Keep a flag to identify that the caller initiated the connection.
Introduce a new API for the caller isClosed() and set this to true if the caller has initiated the connection closure.
To avoid getting an error from the caller->close(), users can first check if the isClosed() is true before calling caller->close().

Had a discussion on this and these are the concluded behavior.

caller->close() will wait for the reply close frame until a given timeout. That reply close frame will not be dispatched to the onClose remote function.
onClose function will only be dispatched when the client initiates the close.

As this is the existing behavior closing the issue.


Backport/thud/secondaries and ci improvement

oe-selftest hasn't been executed yet

First three patches are not relevant: there is one patch applied and removed and adding warrior as a compatible release on sumo doesn't make sense.

@lbonn @patrickvacek Please, check it out, just two commits left :)

This looks correct to me! @lbonn how hard is it to test this in CI? (Preferably alongside the thud PR for meta-updater.)

Would have to do something similar as https://github.com/advancedtelematic/aktualizr/pull/1262, but for this repo...
As a workaround, you can also try to launch a pipeline against the thud branch, with PIN_LIST=meta-updater-raspberrypi:fea7dd7865d15e369312192365efe8122017074b

Works with the thud PR: https://main.gitlab.in.here.com/olp/edge/ota/connect/client/meta-updater/pipelines/49717

@lbonn Is the rpi64 covered by oe-selftest or does it require manual testing? Either way, this (and https://github.com/advancedtelematic/meta-updater/pull/548) look fine to me and I think we can ask QA to take a look at them if you agree.

@lbonn @patrickvacek This version enables WiFi on my RPi but I don't see Ethernet interface, trying to figure out why...

@lbonn Is the rpi64 covered by oe-selftest or does it require manual testing?

It requires manual testing, just as regular rpi does: building the image is not enough, we should at least try to boot it.

@lbonn @patrickvacek This version fixes the issue with ethernet, so now there are both network interfaces, ethX and wlanX.
Would you like me to test the 64 version ?

Would you like me to test the 64 version ?

Yes, that would be good!

Would you like me to test the 64 version ?

Yes, that would be good!

It does work.
root@raspberrypi3-64:/sysroot/home/root# uname -a
Linux raspberrypi3-64 4.19.44 #1 SMP PREEMPT Tue May 21 14:17:33 UTC 2019 aarch64 GNU/Linux
root@raspberrypi3-64:/sysroot/home/root# ip a | grep -A 2 eth0:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel qlen 1000
link/ether 4e:5d:5b:4b:6c:71 brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic eth0
root@raspberrypi3-64:/sysroot/home/root# ip a | grep -A 2 wlan0:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel qlen 1000
link/ether b8:27:eb:ae:52:c7 brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic wlan0


Add support for IP only for --rpclisten-borsh/json (#402)

Adds support for IP only for the --rpclisten-borsh/json flags.
If a port is not provided a default port for a given network would be used.

Functional part looks good to me. However tests look too repetitive. Wdyt about using array and for-loop/iterator? In addition, it is possible to make ip intanzation only once

One can call .iter() on both NetworkType, and WrpcEncoding, then just have a match on these cases, Personally i prefer this way because if new encodings, or network types, were to be added, the test can't compile without handling of new enum variants.

thanks @biryukovmaxim, good points, i updated the code

One can call .iter() on both NetworkType, and WrpcEncoding, then just have a match on these cases
oh interesting, i actually did a quick docs lookup to see it's not standard functionality, but i somehow failed to see it's implemented for those enums already.
it'll sure make code neater, thanks


Feature/GitHub actions setup java@v2

GitHub Actions setup-java@v2 doesn't support Java 1.7, so close and merge into feature/v3.x-ea branch.


More clerly define where to put the options

Update the Readme-file, to more clearly define where the options to cache() are sent,
seems needed with at least 3 issues about failing to unserstand the documentation.
Ref: #45, #49, #71

Coverage remained the same at 87.879% when pulling b7257302ed704d419e64161662fea6531aa122c2 on puggan:Options-in-readme into 68aaa15f301440332f233749d0c2253bcd8fb8bb on jgable:master.

@puggan I will check this soon.


Fix bug in PostgreSQL with get migrated list

Fix #77. This problem specific for PostgreSQL DB.
The rows are stored in the order in which they were saved to disk. This order may not coincide with the ID. For example, it is expected to
SELECT name FROM table

name1
name2
name3

But the conclusion may be different

name1
name3
name2

@thetutlage problem with previous code (from develop branch), eslint error


⚠ Bofrost.es has degraded performance

In a3b267e, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1664 ms

Resolved: Bofrost.es performance has improved in 6119f9f after 7 minutes.


Implement an API wrapper

Largely following the work in CACD's private wrapper for now. We will be able to use that instead eventually 🤞🏼

The API wrapper is now openly available! 🚀