Add per-model handling of initial states and locks

Allow not specifying initial state in machine.init when no models are being added
Allow specifying initial state in machine.add_model, optional when initial specified in init
Allow specifying per-machine and per-model contexts in LockedMachine. Current default behaviour of one per-machine global RLock() maintained.

Coverage decreased (-0.2%) to 99.505% when pulling a6cbc71c4346c4778aeb92dfd866db07ee2a275f on paulbovbel:add-model-handling into 6221ddbfa4399e96a372db6af0bf93c945236f61 on tyarkoni:master.

Coverage decreased (-1.2%) to 98.435% when pulling c037cf1f5787cc78ec5bbc655e761c1d6349e05e on paulbovbel:add-model-handling into 6221ddbfa4399e96a372db6af0bf93c945236f61 on tyarkoni:master.

Coverage increased (+0.06%) to 99.731% when pulling a00c086cfbf17b712c71519b5cf891396f077f0d on paulbovbel:add-model-handling into 6221ddbfa4399e96a372db6af0bf93c945236f61 on tyarkoni:master.

great addition btw. 👍

Coverage decreased (-1.02%) to 98.657% when pulling bf9887dea5a70a92ba12b3b35b0747969e6769ce on paulbovbel:add-model-handling into 6221ddbfa4399e96a372db6af0bf93c945236f61 on tyarkoni:master.

Coverage increased (+0.06%) to 99.731% when pulling b23c842b875df63a2dfd3a00a0c00cceb8621a92 on paulbovbel:add-model-handling into 6221ddbfa4399e96a372db6af0bf93c945236f61 on tyarkoni:master.

I agree, this is an excellent addition, thanks! Re: the add_self API issue, per discussion in #166, my preference would be to break the API in 0.5 and (a) make it so that model=None initializes with an empty model list, and (b) remove the add_self argument entirely. Then users who want to initialize with self as the model can pass the special string 'self'--i.e., Machine(model='self'). I think that approach has the most sensible semantics, as I agree with @aleneum that it's kind of weird to say "hey, set yourself as the model by default, unless you explicitly say that you don't want that to happen". It makes much more sense to me to make the user explicitly acknowledge that they're trying to do something a bit counterintuitive (though very useful), which is to set the newly initialized Machine as its own model. That also means a naive user who hasn't bothered to read the documentation can probably intelligently guess (correctly) that the following will successfully set the Machine as its own model:
m = Machine(...)
m.add_model(m)

@tyarkoni:
yeah, I was also thinking about 'self'. What do you (@all) prefer as the default value then? model=None or model='self'? I can't decide. Second would stick to the current behaviour and also prominently show the availability of this option. First would be cleaner I guess.

Re: 'self'--funny, it didn't occur to me that we could just make model='self' the default, in which case the current behavior is preserved. I think by far the most common use case is that model will be explicitly passed another object or list anyway, so it's not like making model='self' the default will add work for most people (only the few who really want to initialize with no model at all). So I lean towards 'self' being the default. And actually, if we go with this solution, I would move to change this ASAP in the new release so that we can drop add_self before many people get used to it.
Re: initial, I guess I have a pretty strong aversion to forcing users to specify the initial argument in the most common use case where the Machine doesn't really start doing anything useful until it's explicitly triggered the first time. I think part of the reason the package has succeeded is that it appears, to the eye, very minimalistic (though there's plenty of power under the hood), and its behavior can be guessed at without having to read very much documentation. While conceptually it's perfectly sensible to expect a state machine to require a user to specify what state it starts in, I like packages that make sane guesses about the defaults. I also suspect that removing the automatic introduction of an 'initial' state when needed will break a lot of people's code. While I'm not averse to that on principle, this one strikes me as a change that we can easily avoid.
That said, I definitely agree with @paulbovbel that there should be some ability to initialize without a default initial state. I agree that the suggestion to allow None, False, or str values is a bit clunky, but I think it's probably the best balance between supporting the functionality we want and maintaining users' goodwill. I would probably reverse the meaning of None and False though, so that the new default is False, and it behaves like the current None--i.e., it creates a new 'initial' state if none is provided. Then explicitly setting None would produce the behavior @paulbovbel wants, where an exception is thrown if models are provided. One reason I like that is that it would be consistent with how we're handling the model argument, in that we're cultivating the expectation that some of the key arguments sometimes have to be explicitly set to None.
What do you guys think?

defaults that aren't None can have some caveats, so I would propose two options:
Option 1.
initial (default None):
if None, make 'initial' state under the hood. if False, set no initial state. if 'something', make 'something' initial state, must be added in states.
model (default None):
if None, add self. Otherwise, listify and add as model. If [], would add no models.

Option 2.
initial (default 'initial'):
if 'initial', make 'initial' state under the hood. if falsey (None or False), set no initial state. if 'something', make 'something' initial state, must be added in states.
model (default 'self'):
if 'self', add self. Otherwise, listify and add as model. If falsey (None or `[]), would add no models.

Let me know which option is preferable, and I will implement as part of this PR.

if 'initial', make 'initial' state under the hood.

hmm... what about default='initial' and 'initial' and 'something' get the same treatment:
If 'something' not in self.states, create state 'something'. This adds a possible bug based on spelling though but removes an execution side track. Otherwise we have to check if 'initial' may already exist.

I guess I see an arg that takes a 'placeholder' like a string and then does something else as dynamic, but that can be argued either way.
Anyways, will update PR with Option 2-ish.

+1 to @aleneum's suggestions. And actually, we should probably already be checking if a State with name 'initial' exists in the states argument before calling Machine.add_states('initial'), because it's conceivable that a user will want to define that state themselves and give it some extra behavior. I would suggest maybe deferring the addition of the 'initial' state until *after* the other states have been added. That will allow us to check against the keys in the .statesdict, and only add theinitial` state if it doesn't exist.
This also brings up a more general issue: right now, no uniqueness checking is done in Machine.add_states, which has the potentially undesirable side effect of overwriting older states with newer ones that share the same name. I think it makes sense to enforce a name uniqueness constraint, so maybe we should handle this by raising an exception if the user is trying to add a State whose name already exists. We could add an explicit overwrite argument that would suppress the exception and give the current behavior (where the last State passed in with a given name is used).

Not updating this PR.
I see a lot of tests and README docs that support:
states = ['beginning', 'middle', 'end']
m = Machine(None, states...)

Which breaks if meaning of model=None changes.
So please evaluate this PR on the merits of not changing the API (where add_self has already gone in), and leave API-refactoring to another contribution.

@paulbovbel:

I see a lot of tests and README docs that support... Which breaks if meaning of model=None changes...  leave API-refactoring to another contribution.

fair enough. What about this: You close this PR and open another one to merge your changes into dev-0.5? I would also use this branch to tackle #167. I (or someone else) will then do a PR from dev-0.5 to master during the next two weeks where we can evaluate if your uses cases will be covered.

Is this current PR unacceptable as-is? It doesn't modify the API ('add_self' already exists, initial=None behaviour is maintained).
I know an API shakedown tends to drag on, and I'm really keep on adding an 'initial state' arg to 'add_model' so I can roll transitions into my project.

Is this current PR unacceptable as-is?

Not at all! I (or we) meant it when I/we said thats a really neat contribution!
I can only speak for myself when I say that the only reason why I hesitate is that I fear that you have to code stuff twice if we change the meaning of keywords later on. The features you request are valid and reasonable. That's why I would like to see them merged into the master asap. But I do not want to change them much when they have been added there because it will require users to alter their code.
Anyway, if dev-0.5 is no option for you, how about this(@all):
we add these features (as is) to 0.4.4 since they only add new configuration scenarios.
Additionally, we add deprecation warnings for model=None and initial=None. This may also be good practise since it warns users about the upcoming changes.

+1, if that's acceptable. I have no problem updating my internal glue code later if there's an API shift for 0.5.

Alright, if @tyarkoni agrees, I will merge your PR and later add deprecation warnings for the 0.4.4 release. I was considering a setting like this (sorry for the mess. I am a bit in a hurry.):
class Machine:

    def __init__(self, *args, **kwargs):
        # ToDo: mapping of args to kwargs
        if model in kwargs and model is None:
            warning.warn("Beginning with release 0.5 model=None will not add any model to the machine. Use model='self' instead.",
                         DeprecationWarning)
        if add_self in kwargs:
           warning.warn("Beginning with release 0.5 add_self will be removed in favour for model='self'.",
                          DeprecationWarning)
        if  model is None and add_self:
            kwargs['model'] = 'self' # remove this for release 0.5

        self._future_init(**kwarg)

     def _future_init(model='self', ...)
         ....

similar behaviour for initial. I am not sure if this is how its done in Python but the above mentioned approach (masking the actual calls and checking the passed values) has the advantage that users who have not tinkered with model=None or initial=None, will see no warnings. For all of those people we can switch the default values without any interruption.
The rest will have one release to adapt their code before it will function differently. The warnings should still be there until release 0.5.1 at least. Feedback welcome!

:+1: Looks good.
@aleneum there is a built-in PendingDeprectationWarning that is typically used: https://docs.python.org/3/library/exceptions.html#PendingDeprecationWarning

I'm on board with the deprecation warning, but I really don't like the idea of implicitly passing args and kwargs in init, because it makes it impossible to know what the valid arguments are without inspecting the code or reading the docstring. As someone who relies on IDE completions a lot to determine what arguments to pass, I'm loathe to force users to go read the docs every time they want to initialize a Machine and can't remember what the valid arguments are.
I don't see it as a serious problem that users who might not have explicitly specified model=None will still get a warning, because some of those users will no doubt be intending to use the Machine as model, but simply not explicitly stating that because they know it's the default. So I think we still want to make it clear that the behavior will change even if users haven't tampered with the default arguments.

As someone who relies on IDE completions a lot to determine what arguments to pass...

good point. totally forgot about that (event though I make use of this feature a LOT as well). No real option, I agree.

I don't see it as a serious problem that users who might not have explicitly specified model=None will still get a warning, because some of those users will no doubt be intending to use the Machine as model, but simply not explicitly stating that because they know it's the default.

Agree, but according to my current understanding this wont change in the future since we switch from model=None/add_self=True to model='self' with exactly the same behaviour. So setting the machine as model will still be the default (or won't it?). Its kind of tough to communicate in a warning that you do not have to change anything. It might startle people without a reason.
We could just replace model=None with model='self' as the default value for 0.4.4. In this case warnings are only shown to people which set model=None explicitly. model=None and add_self=True will of course be treated like before. Is that an option?
First warning suggestion. Will be shown if model is None and add_self is True:
"Starting from transition version 0.5.0, passing model=None to the constructor will no longer add the machine instance as a model but add NO model at all. Consequently, add_self will be removed. To add the machine as a model (and also hide this warning) use the new default value model='self' instead."

We could just replace model=None with model='self' as the default value for 0.4.4. In this case warnings are only shown to people which set model=None explicitly. model=None and add_self=True will of course be treated like before. Is that an option?

+1

Ping for comment and/or merge and/or release

I am willing to merge it and conduct all the previously mentioned changes, but let's see what @tyarkoni  and/or @wtgee think.

Thanks for the ping--and yes, I agree with @aleneum's suggestion too. I think as soon as model='self' is the default, this PR is ready to merge.

:+1:


Explain public how to create public waves in Participants Wiki page

explain that adding @domain participant in a wave/swellrt document makes it public

Done


image cutting issue

I've typed long text and then got image by using painter.exportPng(). but it's cut image. the below image is mind map.
In the map, it's showing multi lines.

it's showing one line at an exported image. here is cut image

how can I get solved this issue?

This function is working in progress. To fix it, you could wrap the text manually.
https://github.com/ssshooter/mind-elixir-core/blob/6c18ece1dde35de1d5f89a1caf20ab4ae79248af/painter/index.js#L179


Wrong aircraft type showing.

Wrong aircraft again; this time I did change the selection and the Nano has LS4 as the aircraft type.
Now what? May have to resort to OLC.

Hi, for support requests please refer to<EMAIL_ADDRESS>in the future. Please also include a link to the flight in your support request.
Here is some information on how to change the aircraft after uploading your flight. We always choose the latest aircraft type uploaded with the same logger, which may differ from the aircraft specified in the file. In some cases this may lead to undesired behavior, but in most cases, this works well.

Thank you for your reply - I will try your suggestion soon.
Cheers for now.
George

From: moldhouse @.>
Sent: Sunday, 28 August 2022 7:49 PM
To: weglide/GliderList @.>
Cc: ls4top @.>; Author @.>
Subject: Re: [weglide/GliderList] Wrong aircraft type showing. (Issue #36)
Hi, for support requests please refer to<EMAIL_ADDRESS>in the future. Please also include a link to the flight in your support request.
Herehttps://docs.weglide.org/how_to/edit_flight.html is some information on how to change the aircraft after uploading your flight. We always choose the latest aircraft type uploaded with the same logger, which may differ from the aircraft specified in the file. In some cases this may lead to undesired behavior, but in most cases, this works well.
—
Reply to this email directly, view it on GitHubhttps://github.com/weglide/GliderList/issues/36#issuecomment-1229420767, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2DCKVWWO2EO4W7F7JL5KM3V3MY4LANCNFSM572TJZWQ.
You are receiving this because you authored the thread.Message ID: @.***>

Thank you again - success


codec-http2: fix some frame validation errors

Motivation:
Some of our HTTP/2 frame validations throw a stream error when they should be throwing a connection error. This is particularly true for frames carrying a headers block because failure to process the block will result in HPACK corruption.
Modifications:

elevate candidate stream errors to connection errors
add some tests

Result:
A more correct HTTP/2 codec.
Relates to https://github.com/netty/netty/pull/13789.

@bryce-anderson thanks!


Change directory.open_file() to use readonly open

On non-Linux and non-BSD platforms the direction.open_file() logic
defaults to a named path base open, rather than using openat calls.
However, this was using the File.create(...) call which opens files
for read/write, rather than just readonly. This in turn fails since
the FileWrite capability is explicitly dropped.
This commit simply switches to using File.open(...) which opens the
file in a readonly mode.
This fixes: https://github.com/ponylang/ponyc/issues/2695

Is there a test that can be added to protect against the regression, (a test which would fail on OSX CI without this change)?

Sure, no problem, I will add a unit test.

I've added an extra unit test for the Directory.open_file case.

Awesome!
FYI: I've created tests after this pattern too and just found out about: https://stdlib.ponylang.org/ponytest--index#tear-down which makes state setup and tear_down much easier and the test-code itself more clean.

@jemc I've submitted the style guide related tweak. Please let me know if this was what you meant?
Thanks,
Stewart.

Yeah, that's what I meant - I didn't merge yet because I wasn't sure if @mfelsche wanted to see the refactor to use tear_down instead of nested try blocks first.

@jemc @sgebbie no, it is fine as is. I am working on some other part of the files package and might refactor the whole test suite in one go in another PR.
Lets get this rollin'!


bdf2sfd: 1.1.4 -> 1.1.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/fcambus/bdf2sfd/releases.
meta.description for bdf2sfd is: "BDF to SFD converter"
meta.homepage for bdf2sfd is: "https://github.com/fcambus/bdf2sfd"
meta.changelog for bdf2sfd is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.1.5 with grep in /nix/store/fnhwld64wb1g667psczgajbxzca4di1l-bdf2sfd-1.1.5

directory tree listing: https://gist.github.com/b3c456f4beaf9ec007cdeccfafd56b79

du listing: https://gist.github.com/0c6927f91ed6401e00a827688d1fd90a

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

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
bdf2sfd

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

bdf2sfd

Maintainer pings
cc @dtzWill for testing.

Result of nixpkgs-review pr 102321 run on x86_64-darwin 1

1 package built:

bdf2sfd


Connection issue with Prysm Consensus

On the latest eth-docker, I keep getting this error in my validator logs
level=warning msg="Could not determine if beacon chain started: could not setup beacon chain ChainStart streaming client: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:4000: connect: connection refused": could not connect" prefix=validator
validator_1             | time="2022-05-12 16:16:59" level=warning msg="Could not determine if beacon chain started: could not setup beacon chain ChainStart streaming client: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:4000: i/o timeout": could not connect" prefix=validator
validator_1             | time="2022-05-12 16:17:03" level=warning msg="Could not determine if beacon chain started: could not setup beacon chain ChainStart streaming client: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:4000: i/o timeout": could not connect" prefix=validator

I noticed this line in prysm-base.yml - consensus:4000
https://github.com/eth-educators/eth-docker/blob/main/prysm-base.yml#L90
But port 4000 isn't referenced anywhere in the consensus section of that file. Was this a mistake perhaps?

I also noticed the line I mentioned above looks like it conflicts with this line in the same file.
https://github.com/eth-educators/eth-docker/blob/main/prysm-base.yml#L111

There's no conflict here btw, Prysm is a little odd. So it has the REST API on 5052, on the CL/beacon, and then a Google RPC on 4000, same process, for the validator to connect to, and then the validator client runs the web interface on 7500.
This has historical reasons and is different from literally every other client, where REST is used to connect from the validator client to the CL.

I don't have any local changes to that file, but I did notice my consensus logs look bad
or requesting node version: code=401, url=https://eth2-beacon-mainnet.infura.io:443/eth/v1/node/version, body=response body:
consensus_1             | project id required
consensus_1             | : did not receive 2xx response from API" prefix=main
consensus_1             | time="2022-05-13 17:26:53" level=warning msg="Running on Ethereum Consensus Mainnet" prefix=flags
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Checking DB" database-path="/var/lib/prysm/beaconchaindata" prefix=node
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Opening Bolt DB at /var/lib/prysm/beaconchaindata/beaconchain.db" prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Opened Bolt DB" elapsed=304.105139ms prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Creating block cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Created block cache" elapsed=322.744µs prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Creating validator cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Created validator cache" elapsed=431.179µs prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Updating DB and creating buckets..." prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="Updated db and created buckets" elapsed=20.839429ms prefix=db
consensus_1             | time="2022-05-13 17:26:53" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/beacon/weak_subjectivity"
consensus_1             | time="2022-05-13 17:26:53" level=info msg="falling back to generic checkpoint derivation, weak_subjectivity API not supported by server"
consensus_1             | time="2022-05-13 17:26:53" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/node/version"
consensus_1             | time="2022-05-13 17:26:53" level=error msg="Error retrieving checkpoint origin state and block: unable to proceed with fallback method without confirming node version: error requesting node version: code=401, url=https://eth2-beacon-mainnet.infura.io:443/eth/v1/node/version, body=response body:
consensus_1             | project id required
consensus_1             | : did not receive 2xx response from API" prefix=main
ethdocker_consensus_1 exited with code 0

Here are the beginning of those logs
Attaching to ethdocker_consensus_1
consensus_1             | time="2022-05-13 17:26:41" level=warning msg="Running on Ethereum Consensus Mainnet" prefix=flags
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Checking DB" database-path="/var/lib/prysm/beaconchaindata" prefix=node
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Opening Bolt DB at /var/lib/prysm/beaconchaindata/beaconchain.db" prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Opened Bolt DB" elapsed=387.242288ms prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Creating block cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Created block cache" elapsed=282.386µs prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Creating validator cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Created validator cache" elapsed=569.306µs prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Updating DB and creating buckets..." prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="Updated db and created buckets" elapsed=41.792347ms prefix=db
consensus_1             | time="2022-05-13 17:26:41" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/beacon/weak_subjectivity"
consensus_1             | time="2022-05-13 17:26:41" level=info msg="falling back to generic checkpoint derivation, weak_subjectivity API not supported by server"
consensus_1             | time="2022-05-13 17:26:41" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/node/version"
consensus_1             | time="2022-05-13 17:26:41" level=error msg="Error retrieving checkpoint origin state and block: unable to proceed with fallback method without confirming node version: error requesting node version: code=401, url=https://eth2-beacon-mainnet.infura.io:443/eth/v1/node/version, body=response body:
consensus_1             | project id required
consensus_1             | : did not receive 2xx response from API" prefix=main
consensus_1             | time="2022-05-13 17:26:43" level=warning msg="Running on Ethereum Consensus Mainnet" prefix=flags
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Checking DB" database-path="/var/lib/prysm/beaconchaindata" prefix=node
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Opening Bolt DB at /var/lib/prysm/beaconchaindata/beaconchain.db" prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Opened Bolt DB" elapsed=259.566511ms prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Creating block cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Created block cache" elapsed=208.432µs prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Creating validator cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Created validator cache" elapsed=3.648817ms prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Updating DB and creating buckets..." prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="Updated db and created buckets" elapsed=31.090257ms prefix=db
consensus_1             | time="2022-05-13 17:26:43" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/beacon/weak_subjectivity"
consensus_1             | time="2022-05-13 17:26:44" level=info msg="falling back to generic checkpoint derivation, weak_subjectivity API not supported by server"
consensus_1             | time="2022-05-13 17:26:44" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/node/version"
consensus_1             | time="2022-05-13 17:26:44" level=error msg="Error retrieving checkpoint origin state and block: unable to proceed with fallback method without confirming node version: error requesting node version: code=401, url=https://eth2-beacon-mainnet.infura.io:443/eth/v1/node/version, body=response body:
consensus_1             | project id required
consensus_1             | : did not receive 2xx response from API" prefix=main
consensus_1             | time="2022-05-13 17:26:45" level=warning msg="Running on Ethereum Consensus Mainnet" prefix=flags
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Checking DB" database-path="/var/lib/prysm/beaconchaindata" prefix=node
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Opening Bolt DB at /var/lib/prysm/beaconchaindata/beaconchain.db" prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Opened Bolt DB" elapsed=307.867077ms prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Creating block cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Created block cache" elapsed=4.617956ms prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Creating validator cache..." prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Created validator cache" elapsed=497.551µs prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Updating DB and creating buckets..." prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="Updated db and created buckets" elapsed=25.801276ms prefix=db
consensus_1             | time="2022-05-13 17:26:45" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/beacon/weak_subjectivity"
consensus_1             | time="2022-05-13 17:26:46" level=info msg="falling back to generic checkpoint derivation, weak_subjectivity API not supported by server"
consensus_1             | time="2022-05-13 17:26:46" level=info msg="requesting http://eth2-beacon-mainnet.infura.io/eth/v1/node/version"
consensus_1             | time="2022-05-13 17:26:46" level=error msg="Error retrieving checkpoint origin state and block: unable to proceed with fallback method without confirming node version: error requesting node version: code=401, url=https://eth2-beacon-mainnet.infura.io:443/eth/v1/node/version, body=response body:
consensus_1             | project id required

I also noticed if, in my browser, I go to http://eth2-beacon-mainnet.infura.io/eth/v1/beacon/weak_subjectivity or http://eth2-beacon-mainnet.infura.io/eth/v1/node/version both require a username/password.

Indeed. Please remove the RAPID_SYNC_URL. It is currently broken in Prysm when using Infura. A fix is available but hasn't made it into a release yet.


pipenv not creating pip.lock file

pipenv supposed to create pipfile and pip.lock file. But when I install a dependency. Pip.lock file isn't creating.
and I get this error message
Locking Failed! [pipenv.exceptions.ResolutionFailure]:   File "c:/users/ema/appdata/local/programs/python/python37/lib/site-packages/pipenv/resolver.py", line 69, in resolve [pipenv.exceptions.ResolutionFailure]:       req_dir=requirements_dir [pipenv.exceptions.ResolutionFailure]:   File "c:\users\ema\appdata\local\programs\python\python37\lib\site-packages\pipenv\utils.py", line 726, in resolve_deps [pipenv.exceptions.ResolutionFailure]:       req_dir=req_dir, [pipenv.exceptions.ResolutionFailure]:   File "c:\users\ema\appdata\local\programs\python\python37\lib\site-packages\pipenv\utils.py", line 480, in actually_resolve_deps [pipenv.exceptions.ResolutionFailure]:       resolved_tree = resolver.resolve() [pipenv.exceptions.ResolutionFailure]:   File "c:\users\ema\appdata\local\programs\python\python37\lib\site-packages\pipenv\utils.py", line 395, in resolve [pipenv.exceptions.ResolutionFailure]:       raise ResolutionFailure(message=str(e)) [pipenv.exceptions.ResolutionFailure]:       pipenv.exceptions.ResolutionFailure: ERROR: ERROR: Could not find a version that matches aniso8601<8.0.0,<=6.0.*,>=3,>=7.0.0 [pipenv.exceptions.ResolutionFailure]:       Tried: 0.48, 0.49, 0.50, 0.60, 0.70, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.90, 0.91, 0.92, 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 2.0.0, 2.0.1, 2.0.1, 3.0.0, 3.0.0, 3.0.2, 3.0.2, 4.0.0, 4.0.0, 4.0.1, 4.0.1, 4.1.0, 4.1.0, 5.0.0, 5.0.0, 5.0.1, 5.0.1, 5.1.0, 5.1.0, 6.0.0, 6.0.0, 7.0.0, 7.0.0 [pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.   First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.  Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.   Hint: try $ pipenv lock --pre if it is a pre-release dependency. ERROR: ERROR: Could not find a version that matches aniso8601<8.0.0,<=6.0.*,>=3,>=7.0.0 Tried: 0.48, 0.49, 0.50, 0.60, 0.70, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.90, 0.91, 0.92, 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 2.0.0, 2.0.1, 2.0.1, 3.0.0, 3.0.0, 3.0.2, 3.0.2, 4.0.0, 4.0.0, 4.0.1, 4.0.1, 4.1.0, 4.1.0, 5.0.0, 5.0.0, 5.0.1, 5.0.1, 5.1.0, 5.1.0, 6.0.0, 6.0.0, 7.0.0, 7.0.0 There are incompatible versions in the resolved dependencies. [pipenv.exceptions.ResolutionFailure]:       req_dir=requirements_dir [pipenv.exceptions.ResolutionFailure]:   File "c:\users\ema\appdata\local\programs\python\python37\lib\site-packages\pipenv\utils.py", line 726, in resolve_deps [pipenv.exceptions.ResolutionFailure]:       req_dir=req_dir, [pipenv.exceptions.ResolutionFailure]:   File "c:\users\ema\appdata\local\programs\python\python37\lib\site-packages\pipenv\utils.py", line 480, in actually_resolve_deps [pipenv.exceptions.ResolutionFailure]:       resolved_tree = resolver.resolve() [pipenv.exceptions.ResolutionFailure]:   File "c:\users\ema\appdata\local\programs\python\python37\lib\site-packages\pipenv\utils.py", line 395, in resolve [pipenv.exceptions.ResolutionFailure]:       raise ResolutionFailure(message=str(e)) [pipenv.exceptions.ResolutionFailure]:       pipenv.exceptions.ResolutionFailure: ERROR: ERROR: Could not find a version that matches aniso8601<8.0.0,<=6.0.*,>=3,>=7.0.0 [pipenv.exceptions.ResolutionFailure]:       Tried: 0.48, 0.49, 0.50, 0.60, 0.70, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.90, 0.91, 0.92, 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 2.0.0, 2.0.1, 2.0.1, 3.0.0, 3.0.0, 3.0.2, 3.0.2, 4.0.0, 4.0.0, 4.0.1, 4.0.1, 4.1.0, 4.1.0, 5.0.0, 5.0.0, 5.0.1, 5.0.1, 5.1.0, 5.1.0, 6.0.0, 6.0.0, 7.0.0, 7.0.0 [pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.   First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.  Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.   Hint: try $ pipenv lock --pre if it is a pre-release dependency. ERROR: ERROR: Could not find a version that matches aniso8601<8.0.0,<=6.0.*,>=3,>=7.0.0 Tried: 0.48, 0.49, 0.50, 0.60, 0.70, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.90, 0.91, 0.92, 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 2.0.0, 2.0.1, 2.0.1, 3.0.0, 3.0.0, 3.0.2, 3.0.2, 4.0.0, 4.0.0, 4.0.1, 4.0.1, 4.1.0, 4.1.0, 5.0.0, 5.0.0, 5.0.1, 5.0.1, 5.1.0, 5.1.0, 6.0.0, 6.0.0, 7.0.0, 7.0.0 There are incompatible versions in the resolved dependencies.

Hey,
i seem to have the same issue.
After investigating i came to conclusion what is happening.
In my case it goes like this:

graphene(2.1.5) requires aniso8601<=6.0.*,>=3
pipenv finds candidate aniso8601==5.1.0 (constraint was >=3,<=6.0.*)
aniso8601==5.1.0 requires relativetimebuilder>=0.2.0
pipenv finds candidate relativetimebuilder==2.0.0 (constraint was >=0.2.0)
Now comes the fun part.
relativetimebuilder==2.0.0 requires aniso8601<8.0.0,>=7.0.0, python-dateutil>=2.7.3
constraints for aniso8601 are <8.0.0,<=6.0.*,>=3,>=7.0.0

The newest constraints for aniso are unsolvable = NoCandidateFound exception.
11 June  relativetimebuilder has been updated to 2.0.0 what is probably cause of the problem.
I can provide entire log from "pipenv install -d --verbose" if that would help.
I did not find solution for this, please help 🆘

Thank you @Kitefiko , I have run into exactly this problem and you saved me some debugging. Based on your diagnosis, I have a workaround:
add this line to your Pipfile: relativetimebuilder = "<2.0.0"
For my particular set of packages, at least, this allowed a Pipfile.lock to be built.
It seems like the larger issue is that, even though a set of packages existed to satisfy the dependencies given in a Pipfile, Pipenv's dependency resolution algorithm backed itself into a corner. I'm guessing that fixing that is a hard problem (apparently dependency resolution in general is an NP-hard problem https://stackoverflow.com/questions/28099683/algorithm-for-dependency-resolution).
Do any of the Pipenv maintainers have some pointers about how to go about taking a crack at this, if one were so inclined?

@ftobia

add this line to your Pipfile: relativetimebuilder = "<2.0.0"
That was first thing that i actually tried, "=1.0.0" isn't working either. 😞

So if I downgrade everything, Will it fix the problem?

@Kitefiko
So if I downgrade everything, Will it fix the problem?

@iNightElf
I don't think, that would help.
You would have to get aniso8601 to version 4.* (that one doesn't require relativetimebuilder), but you wont be simply able to do that.
What could help you (kinda) at least continue development:

add this packages to Pipfile (aniso version that you need)
aniso8601 = "==5.1.0"
relativetimebuilder = "<2.0.0"
install with skipping lock
pipenv install --skip-lock

You will get some errors, but all packages will be installed hopefully.
Works for me.
Of course no locking.
Hope this will help.

@Kitefiko
Wow this actually solves my problem

When I add these two packages in pipfile
aniso8601 = "==5.1.0"        relativetimebuilder = "<2.0.0"

Then just do the normal
pipenv install
It's creating pip.lock file and after that, I can just install any package without any problem

@iNightElf
Glad it help. But doesn't do it for me.
Could you possibly provide your PipFile, so i can further investigate?

@Kitefiko
Sure why not?
These are the codes
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
pylint = "*"
[packages]
aniso8601 = "==5.1.0"
relativetimebuilder = "<2.0.0"
graphene = "*"
[requires]
python_version = "3.7"

@ftobia  & @iNightElf
@ftobia is correct the only thing that is actually needed is to specify
relativetimebuilder = "<2.0.0"
I would also recommend to add it in [packages] AND [dev-packages] - that's why it didn't work for me.
I think this workaround fixes the problem, but the underlying issue is still present. Thanks guys for help.

Closing the issue


limit of upgrade

so, is it possible to make the limit on post-moonlord? i'm playing with the calamity mod, and moonlord isn't a last boss, imbalance, i make the weapon that kill moonlord for 5 seconds xD
(sorry, if something writed incorrect, my english bad :D)

i know, in the description was writed about this, but, is it possible to make limit?
like options, something like that

Actually I was thinking of adding this feature, and so here we are. :D
Added config to set max upgrade as per commit 70cd5b1.
Steam version will be updated soonish, I had network problem right now.

Thanks, bro!


fix(interpolation): query key is out of range due to double calculation error

Description

This range check sometimes fails even in a normal case due to calculation error of double, resulting in the node dying.
https://github.com/autowarefoundation/autoware.universe/blob/d10310ddbbf5aaba20858173cb26e7fdcb30ea49/common/interpolation/include/interpolation/interpolation_utils.hpp#L74
To fix this issue, I created this PR.
If the query key's violation from the range of base_keys is epsilon, it is judged as valid and cropped to be inside the range of base_keys.
TIER IV internal link
https://tier4.atlassian.net/browse/T4PB-22737
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@tkimura4 @rej55 Could you review please.
I confirmed that failed scenario passed with this PR


create chart testing framework

once you've deployed a chart, run a series of tests against your release to ensure expected outcome

@michelleN: Do you have an overview of how all of this is going to work? I'd like to see what it is going to do and provide feedback/help if desired 😄

Hey @thomastaylor312 - would love any thoughts or feedback. Below is an overview.
The problem:
Chart consumers may not always know the chart author’s intention. Therefore, when a chart consumer installs a chart, he or she needs to be able to verify that the installation did exactly what it was supposed to do. In other words, the the application works as intended and the configuration specified in the values file and templating logic gives the desired outcome.
The solution:
We want chart authors to be able to specify definitions of success in the form of tests and package those with a chart. We also want chart consumers to be able run these tests to validate that the functionality of the chart is what the author desired.
Example questions that running a test might answer:
Does my username and password that I specified for my database actually work? Do the wrong credentials not work?
Does my web service work correctly?
I specified a service in my chart that was supposed to create a load balancer. Did that happen?
Is there data in my database after an upgrade?
High level implementation of an MVP:
We’re currently working on a helm test <release> command. It will fetch a release, run the tests, and return the results. A test is a pod definition with a hook annotation (helm.sh/hook: test) that specifies a container that runs a particular command. If that pod is in the completed state and the container exits 0, then we consider that a successful run. Any non-zero exit is considered a failure. This lets you abstract what your test is from the framework in helm that lets you run the test.
A chart author may specify multiple tests in a chart. We refer to the entire set of tests in a chart as a test suite. helm status will display the results from the last run of the test suite.

#1777 is a WIP PR for chart testing. You are welcome to check that out, build it. After installing the chart, you can run the tests using the helm test command to get an idea for the feel.

@michelleN Thanks for the good overview! So here are a few points of feedback/ideas:
So I feel like there are two different behaviors people would want here:

Tests - Ensuring that all cases are handled properly (kind of like unit tests).
Validation - Making sure the application is up

Tests
These would test things that a specific user might not care about, but are important to make sure the Chart will work in every way it is intended too. So if I have a nginx server that I want to work with 10 different configurations, I would want to deploy the Chart 10 times and validate it is working each time before cleaning up.
Validation
These would take care of making sure things are up and running as described in your overview. With the current behavior as described, I feel that instead of a separate command, this would be more along the lines of a flag called --validate on an upgrade, rollback, or install. Because if I request validation and it fails, I would want the release to be marked as failed.
I know my idea of "tests" might be out of scope for what you are trying to do here, but I wanted to bring up the overlap with your idea. Also, this idea of validation may overlap somewhat with I was working on with #1805
Thoughts? I know this is a lot.

On Tests:
Your idea of tests are really interesting especially because it's from the chart author's perspective. It would also be helpful for CI on the charts repo to be able to run different configurations and validate that the chart is working for a given matrix of configurations the way its supposed to.
I think what we're building right now in #1777 will set the foundation for describing how to validate a chart with a given configuration. Does what you are suggesting mean that a testing framework would also need to be able to consume different values files?
I'm interested in hearing more about how a chart author would describe the different configurations.
On Validation:
I agree that a flag makes sense here. What makes this automation difficult is that we don't really know exactly what it means for each resource type to actually be available and then there are the other requirements of making sure a PVC is bound or an external load balancer is up and running if it's specified. For an MVP, we chose not to bite off this part but instead focus on how to express a test definition and run a test definition and query test results.
I think your work #1805 could really help here and we could integrate it into the test framework. I'd be interested in chatting more about this and seeing what bumps, if any, you run into while solving #1805.

I completely agree that this work you are doing now would lay the foundation for tests. As for describing different configurations, I was thinking through stuff, but I didn't come to a complete answer. The best one I thought of was to have a test directory in a chart that would have filenames like {thing I am testing for}.yaml that would provide the specific sets of values you test against. Then the helm test command would know to look there by default (or another directory the user specifies) and then loop over the values files to do its tests.
I am hoping to have a PR open for #1805 today, so I'll link to this issue when I do.

@michelleN: The --wait PR

I'm joining this conversation late but I arrived here via conversation in the #helm Slack channel. Generally, I like the direction of this conversation and hope I might be able to contribute in some way.
As to the workflow from a Chart authors perspective, it might be useful to familiarize with the approach(es) to enabling this sort of pre-deployment validation and testing (in the Puppet world we called in Unit and Acceptance testing) in tools like Chef's InSpec, infrataster, serverspec, and other rspec-based tooling. There are similar, though fewer, tools in the Python world (TestInfra) and I've started looking for similar things from the Golang community without a lot of success so far. I mention various languages only because it might help to direct exploration of the underlying ideas and not to start any sort of language war. The hook-pointing-to-sidecar pattern above actually seems like it would be very non-opinionated as to language/toolkit.

I'm also late to the conversation (brought in via slack) but I'm curious if tests can be run pre-deployment.
This would be useful when charts make assumptions about a cluster
e.g.

dynamic disk provisioner available
loadBalancer available for service

I think charts should make as few assumptions about a cluster as possible but should present data to the user before deploying to let the user know if they need to update the values.yaml file or if a chart simply won't work because their cluster setup is incompatible (old version of kubernetes)
A real world example that just happened for a friend was he was trying to deploy stable/redis and it wouldn't start because persistence was enabled by default which assumed an alpha feature (dynamic provisioning) was available when it wasn't. Settings like this should be disabled by default but let the user know what the default setting is and possibly how it may impact them. e.g. Your mariadb pod is not using persistent storage and will lose all data when the pod restarts.

@michelleN, any update on this issue? Is it blocked on something else?

@foxish no blockers. the PR is in review

At what point do we mark this issue as closed?

@technosophos Do we want to split the validation idea out into its own issue?

@technosophos this can be closed. All follow up tasks in separate issues already.

+1 to splitting validation idea out into its own issue

Closing this as resolved. YAY!

Validation issue

Is there any validation script that can ensure  the application is actually running properly.


Schema dependency Failed prop type ERROR

Prerequisites

[x] I have read the documention

Description
When using schema dependencies, it causes an error.
Steps to Reproduce
var schema = {
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "credit_card": { "type": "string" }
  },
  "required": ["name"],
  "dependencies": {
    "credit_card": {
      "properties": {
        "billing_address": { "type": "string" }
      }
    }
  }
}

Actual behavior
When I try to enter a value in dependency field this error shows up:

warning.js:33 Warning: Failed prop type: The prop id is marked as required in BaseInput, but its value is undefined.
in BaseInput (created by TextWidget)
in TextWidget (created by Unknown)
in Unknown (created by StringField)
in StringField (created by SchemaField)
in div (created by DefaultTemplate)
in DefaultTemplate (created by SchemaField)
in SchemaField (created by ObjectField)
in fieldset (created by DefaultObjectFieldTemplate)
in DefaultObjectFieldTemplate (created by ObjectField)
in ObjectField (created by SchemaField)
in div (created by DefaultTemplate)
in DefaultTemplate (created by SchemaField)
in SchemaField (created by Form)
in form (created by Form)
in Form

Version
1.0.0

Yeah, having the same issue. The problem seems to be that an id is not being generated for each of the new fields that are being added as part of the dependency schema.

Hello, same issue here. How do you manage to manually add the id ?

Hey, submitted a PR for this, #778
Please take a look. This is a very important feature for us, and we need it back as soon as possible

Hi, somebody found how fix that issue?
When I use the < Form />, its works for me, but I'm using SchemaField, instead of Form, so can't find a way how to fix  The prop id is marked as required in BaseInput, but its value is undefined.

Any update on this issue? I am having a similar issue with dynamic schema dependency. The schema is not getting modified with the change of formData.

Hi @anudeesh, I found some workaround, have a look on Form component  at my form-builder repo


Chained inequalities

Something that would be nice to have is automatically translating chained (in)equalities to a set of constraints.
This is supported by the Python syntax but not (yet) in CPMpy
https://docs.python.org/3/reference/expressions.html#comparisons
x = intvar(lb=0, ub=5, name="x")
1 <= x <= 3

Output: x <= 3
Expected output: [x >= 1, x <= 3]

Thx @IgnaceBleukx. However, Comparison chaining is not possible with the current state of Python.
Any operation 1 <= x <= 3, will be evaluated to (1 <=x) and (x<=3) ... etc, where the "and" keyword is not overloadable yet.
See pep: https://peps.python.org/pep-0535/ ; https://peps.python.org/pep-0335/ and https://peps.python.org/pep-0532/ for more details.


Help adding support for USB webcam/Gstreamer RTP/UDP?

I've been trying to get my build to support standard USB webcams. Anyone know how to add this support when using meta-tegra? Also, does the Nvidia version of Gstreamer support any web streaming protocols like RTP/UDP? Any tricks to enable them?

Have you looked at NVIDIA's "L4T Accelerated Gstreamer User Guide"? That has example gstreamer pipelines for different types of camera inputs and should indicate which gstreamer plugin packages you need to include in your builds.  For RTP and UDP support, you just use the standard plugins; no NVIDIA-specific modifications are needed. RidgeRun has some example pipelines on their wiki.

Anything required to install extra plugins. I currently add "gstreamer" to the list of items for the image.
At a minimum, I cannot get v4l2src in gst-launch-1.0

On Mar 23, 2019, at 6:40 AM, Matt Madison<EMAIL_ADDRESS>wrote:
Have you looked at NVIDIA's "L4T Accelerated Gstreamer User Guide"? That has example gstreamer pipelines for different types of camera inputs and should indicate which gstreamer plugin packages you need to include in your builds. For RTP and UDP support, you just use the standard plugins; no NVIDIA-specific modifications are needed. RidgeRun has some example pipelines on their wiki https://developer.ridgerun.com/wiki/index.php?title=Gstreamer_pipelines_for_Jetson_TX1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/madisongh/meta-tegra/issues/124#issuecomment-475870634, or mute the thread https://github.com/notifications/unsubscribe-auth/AUXTFbHHdi1xWS8nAPlgZhUpk1EGqLdqks5vZi7TgaJpZM4b82D_.

All the plugins are packaged separately, although there are meta-packages for the good, bad, and ugly plugins that you could use to load them all in.  I use this page to help with figuring out which specific plugins to install - the package name to use is the combination of the module name and plugin name in the table on that page, so the v4l2src element is in gstreamer1.0-plugins-bad-video4linux2.


java crashes with EXCEPTION_ACCESS_VIOLATION

What version of OR-Tools and what language are you using?
Version: 9.10.4067
Language: Java
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CP-SAT
What operating system (Linux, Windows, ...) and version?
windows10
What did you do?
Steps to reproduce the behavior:
Run the java demo code of https://developers.google.cn/optimization/assignment/assignment_example#cp_sat_solution.
What did you expect to see
What did you see instead?
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffe9ae62f58, pid=20328, tid=0x0000000000002c20
Make sure you include information that can help us debug (full error message, model Proto).
Anything else we should know about your project / environment

Can you check the solution with #4225


How to reshape my dataset for RNN/LSTM model?

My dataset is 1415684 for training and 502203 for testing with 6 features ..
A sample of my dataset is as follows

(patient number, time in mill/sec., normalization of X Y and Z, kurtosis, skewness, pitch, roll and yaw, label) respectively.
1,15,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.872322164158,-3.51314800063,0
1,31,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.872322164158,-3.51314800063,0
1,46,-0.267422664673,0.0051143782875,-0.0191247001961,-85.7662354031,1.0928406847,-4.08015176908,0
1,62,-0.267422664673,0.0051143782875,-0.0191247001961,-85.7662354031,1.0928406847,-4.08015176908,0

so i need to reshape it for an RNN/LSTM model ..
i have tried the following code..
train = np.loadtxt("featwithsignalsTRAIN.txt", delimiter=",")
test = np.loadtxt("featwithsignalsTEST.txt", delimiter=",")
x_train = train[:,[2,3,4,5,6,7]]
x_test = test[:,[2,3,4,5,6,7]]
y_train = train[:,8]
y_test = test[:,8]
model = Sequential()
model.add(LSTM(30, return_sequences=True,
               input_shape=(1, 6)))  # returns a sequence of vectors of dimension 30
model.add(LSTM(30, return_sequences=True))  # returns a sequence of vectors of dimension 30
model.add(LSTM(30))  # return a single vector of dimension 30
model.add(Dense(1, activation='softmax'))

model.compile(loss='binary_crossentropy',
              optimizer='rmsprop',
              metrics=['accuracy'])

model.fit(x_train, y_train, batch_size = 200, epochs = 20, verbose = 1)

but it gives me the following error

Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (1415684, 6)

so i tried to reshape my dataset .. so i type the following code
x_train = x_train.reshape((1415684,5,6))
but it gives me the following error

x_train = x_train.reshape((1415684,5,6))
ValueError: total size of new array must be unchanged

Although my understanding is that the question is better suited for stackoverflow. You need to do
x_train = x_train.reshape((1415684,1,6))
or
x_train = x_train.reshape((1415684,6,1))
as per your input shape is wheather, (1,6) or (6,1)


Is it supported to use additional cudaStream_t's in a single kernel?

I noticed that it'd be good to run two CUDA kernels independently for a particular operation I'm making. The naturally way to do this is to run them in separate cuda streams. However, a cuda context owns a single cuda stream.
Based on my knowledge of CUDA (and my weaker knowledge of Caffe2's DAG Net's scheduling system), the purpose of each CUDA context having its own stream is so that different CUDA ops can run at the same time, so there shouldn't be a problem with an op owning its own streams in addition to this, since that would just mean potentially more concurrently running kernels.
But I'm curious if the developers have any warnings about this.

External developer, but this is in my opinion the right way to do it - note that the NCCL ops are an example where an operator can own its own set of threads: link.
You would need to be careful with respect to synchronization with the context stream.


Ubuntu 19.04, libssl

I upgraded to Ubuntu 19.04 the other day, and now I get this:
No usable version of the libssl was found
Error message: Connection request encountered an exception

Seems related to:
Microsoft/azuredatastudio#5134
Microsoft/vscode-python#5373
OmniSharp/omnisharp-vscode#3010

Copied from other forum: I'm on Ubuntu 19.04 (Disco), but what seems to work is installing the Ubuntu 18.10 (Cosmic) libssl1.0.0 package, even though it's older than the bundled Disco package, from the link below. However, I don't know if this will introduce any system instability or issues. And I don't know if this will work on Pop! OS.
https://packages.ubuntu.com/cosmic/libssl1.0.0

Thanks, @byroniac, that worked.
What I did:
$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu6_amd64.deb
$ sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu6_amd64.deb

Both versions are now installed, and everything works as expected.

Thanks, @byroniac, that worked.
What I did:
$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu6_amd64.deb
$ sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu6_amd64.deb

Both versions are now installed, and everything works as expected.

not found http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu6_amd64.deb

@funcelotwork

not found http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu6_amd64.deb

They have dropped cosmic (18.10) packages since I posted that. You may try digging around on packages.ubuntu.com and see if you can find something else that will work for you, if you are having the problem. I am on 19.10 now but I have not even tried.

I'm afraid we don't support 19.04. We support up to 16.04 and have started testing an 18.04 release.

use it from here it works somehow but unsure about security risks. Is there any potential risks?
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb

use it from here it works somehow but unsure about security risks. Is there any potential risks?
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb

Almost certainly with archived libssl files, I imagine. By definition, they are out of date.

use it from here it works somehow but unsure about security risks. Is there any potential risks?
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb

Almost certainly with archived libssl files, I imagine. By definition, they are out of date.

but cve has no report :S


feat: withDevTools disabled in prod, and tree-shaking docs

Solution to #53

Thanks @marcindz88. In the meantime, I've looked up the approach of the NgRx Devtools.
The approach for tree-shaking is very similar to what you proposed, namely, using the environment files.
Disabling it with isDevMode() does not exist. Instead, the user can set a logOnly property, which disables certain features like time traveling.
What if we provide logOnly as an option that is enabled by default instead?
Time traveling is unavailable at the moment, so it would not have an immediate effect.
Users could use the extension like
withDevtools('flights': options: {logOnly: !isDevMode()})?
And the signature could be
type Options = {
  logOnly: boolean
}
withDevtools(name: string, options: Options = {logOnly: false);

@rainerhahnekamp  Yeah I was thinking, that some users may want to enable devtools in some prod-optimized environments like test staging. However I don't really like repeating the configuration in every store in app.
Does this feature work in injection context? If yes maybe we could provide a provider that creates an injection token with global ngrx-toolkit configuration?

@marcindz88

However I don't really like repeating the configuration in every store in app.

You are right, I am all for an "injection" token approach. This would also fix the issue with one store having logOnly set to to true and another to false.
withDevtools has access to the injection context and as soon as it becomes relevant, i.e. it supports time travel, it can request the value of the injection token.

Btw, why do you disable dev tools in a production environment? I always found it extremely helpful for debugging and reproducing issues that only occur in production.
It is not that we are exposing any secrets. Anyone can monitor the network requests and—with a little bit of work—find out what's going on by looking at the minimized Javascript files.
Just curious to learn something new here.

I think there are several arguments for disabling / removing it in production:

Performance - Redux monitoring tool can become an overhead for application, as it stores the state and history of states of the application. I have seen it lag in large stores.
Bundle size
While a user can always find everything in obfuscated javascript files, it requires very good knowledge of Angular and is still non-trivial to observe actions and the flow of application state. It is hard to find and see the state of application without using debugger and knowledge about the app structure. With the Redux extension everything is visible for anyone, who has installed it, without much effort.

Do you think we should add one configuration token for the whole library or a per-feature approach?

Thanks for the detailed explanation. I suggest we go with one global configuration token. It should be just on or off

@rainerhahnekamp please take a look.
I have observed while testing that the store does not disconnect after application restart, I think this is because connect observer is not unsubscribed nor is disconnect called anywhere FYI https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Methods.md#disconnect.
Also, I was thinking and we could use the pattern of overriding action creators to be able to detect action dispatches without the use of updateState.

@rainerhahnekamp please also take a look at this experiment: https://github.com/angular-architects/ngrx-toolkit/commit/1c7ee5d597724b08d2f879f9dd451bdf83658737
It simplifies the code a bit and now whole actions with payload are visible in redux dev tools with no need for overriding of patchState.
However there is an issue with private actions - because these are not methods in the store they are not visible, but we could probably work around this somehow. Also the new dispatch action approach is probably not compatible, but we could override dispatch fn with the dev tools logic.

@marcindz88 thanks, I have another branch that deals with disconnection issues and some other stuff but haven't found the time to push it yet.
I'll also checkout the automatic action name detection change, although I still think updatePatch has its use case when developers want to provide a specific, readable name for the action.

@rainerhahnekamp regarding my experiment version: It is not only about the actionName, we should also pass action payload to redux extension. Also, we could prefix the action name with [name of store] and possibly change camelcase to a more readable version.

@marcindz88 In order to get only the documentation part merged, could you please remove all files except the README from your PR?

@rainerhahnekamp PR updated, I also added an a stub const for easier use in the environment file. Let me know if that's ok.

Thanks again @marcindz88


[IDEA/REQUEST]

Is your feature request related to a problem? Please describe.
Style the frontmatter with Metatable
Describe the solution you'd like
make the tag the same colour as the "normal" tags, so this: rgb(64, 150, 147), change the style to have a better implementation
Describe alternatives you've considered
Make it so that the user can change the color himself (using something like the Style Settings plugin)

The theme currently doesn't support the Metatable plugin, and the plugin itself hasn't transitioned to the new editor, which is my main focus.

Ok, thank you ! I love your themes !

Moved this to the "Icebox" section of the Roadmap so I don't forget it.


"Can not Fetch preview information" message should be "You are not permitted to view this patient"

"Can not Fetch preview information" 404
shoudl be replace by "You are not permitted to view this patient" 403
this is for demo user

I can change that but we will need some change also in the JS side, in files like ...phenopolis_browser/frontend/src/redux/actions/gene.js, ...phenopolis_browser/frontend/src/serviceWorker.js etc.

The reasoning to use 404 instead of 403, if I remember well, was from Daniele, to avoid giving the idea to users that they may hack our app because the data is there in the end.


CAMEL-13864: Allow subscriptionName to be set for non-durable shared subscription

@davsclaus: Could you plz review


test

my topic is about apples.

apples are red

apples are green

bananas are yellow

this is my block quote which i should not get credit for

here is my header

list item one
list item two
list item three
apples.

apples

apples are red
apples are green
apples are tasty

https://apple.com

/start

/start

/start

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help

/help


Updates for CakePHP 4.0

Hey, this should be the update for CakePHP 4.0.

@chrisShick any chance to get this merged? Anything missing in the PR?

@chrisShick I'm also waiting on this.

@smap9 thanks for getting this updated! I will get this merged.

@smap9 can you recreate the pull request to branch 4.0? I will then merge and release it as a new version

@smap9 I was able to get this going! Thanks for putting the work in.


Modify prettification logic for end-user fields

Notes for Reviewers
This PR fixes prettification logic. Refer to the comment in the file modified for more context.
The logic and principle for prettification/deprettification.

Specific considerations are made when schema is passed to be prettified like handling kubernetes specific fields.
A general rule of thumb is to never prettify or deprettify the end-user fields, the ones which are entered by USER.
For non schema files, it would be all end string fields (user input) and for schema files it would be ENUMS as they are the only system defined fields that are used at end user input.

Signed commits

[ ] Yes, I signed my commits.

Codecov Report
Patch coverage has no change and project coverage change: -4.14 :warning:

Comparison is base (a933aff) 16.11% compared to head (797cfc1) 11.98%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7463      +/-   ##
==========================================
- Coverage   16.11%   11.98%   -4.14%
==========================================
  Files         119      119
  Lines       16642    16642
==========================================
- Hits         2682     1994     -688
- Misses      13473    14326     +853
+ Partials      487      322     -165

Flag
Coverage Δ

gointegrationtests
?

unittests
11.98% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 12 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Error import @azure/service-bus React Native

I'm having problems using @azure/service-bus library with React Native; I tried 'yarn add @azure/service-bus', but when I executed ' import { ServiceBusClient } from '@azure/service-bus'; ' the project stops running and gives me the following error:
error: Error: While trying to resolve module @azure/logger from file<EMAIL_ADDRESS>the package<EMAIL_ADDRESS>was successfully found. However, this package itself specifies a main module field that could not be resolved<EMAIL_ADDRESS>Indeed, none of these files exist:
T:\Project\node_modules@azure\logger\browser\logger.js(.native|.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)
T:\Project\node_modules@azure\logger\browser\logger.js\index(.native|.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)
If I take out the import command ithe project runs again. I checked and indeed 'node_modules/@azure/logger' folder doesn't contain a 'browser' folder and therefore none of those files exist.

@Gabriel-Santos-de-Menezes
Thanks for creating this issue. Currently, the Azure SDK for JS doesn't support react native. This is something we're investigating, and you can track that effort here:
https://github.com/Azure/azure-sdk-for-js/issues/5771#issuecomment-748340692
There are a few changes we need to make before we can support react native, and we also need to determine what changes to make to our AMQP dependency, rhea so that it can support react native as well (AMQP is used by both service-bus and event-hubs.)
For now I'm going to close this issue as a duplicate of #5771. Please refer there for tracking our progress for react native support.


add eds service_name to LoadStats proto and populate it in LRS request

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Description:
Add eds_cluster_service_name in load report proto.
This new field gives LRS management server the  extra info that two clusters may be using the same set of hosts to serve, and it's the management server's call whether to aggregate on the clusterStats.
Risk Level: LOW (new field)
Testing: unit test
Release Notes:
[Optional Fixes #Issue] #5986

@htuch PTAL

@stevenzzzz can you merge master to pick up the compile_time_options CI fix?

sync done, thanks!

oops, tried to compress load git commits but compressed the pushed version.
PR updated. Added some new tests in upstream_impl_test.


Ability to choose between decoding gamesave.bin or generating initc.txt from the CLI.

The CLI program should prompt the user to specify whether they want to:

Decode the mission and difficulty from a specified gamesave.bin file, or
Generate an initc.txt configuration to a specified output, using a provided gamesave.gin

The syntax should be something like this:
h1sd.exe decode C:\path\to\gamesave.gin
h1sd.exe config C:\output\for\initc.txt C:\path\to\gamesave.gin

Introduced this feature in commit ec3a7523bae36766f7c7e2af35d86c4b14a60560.


Get of parameter immediately following set does not always return newest value.

from zhinst.qcodes import ZISession
import time
session = ZISession("localhost")

session.connect_device('dev4493')
mfli = session.devices['dev4493']

mfli.oscs[0].freq(11)
time.sleep(0.1)
mfli.oscs[0].freq(100)
print(mfli.oscs[0].freq())
time.sleep(0.1)
print(mfli.oscs[0].freq())

results in the following output
11.000000057492798
99.99999996068709

E.g. if you set a value of a parameter and get it right away it will typically not get the latest value but return the previous value.
Sleeping for 0.1 sec or so before getting seems to result in the correct value being returned.
I would expect set on any value to be blocking unless explicitly stated otherwise so this behavior is surprising.
Versions:
zhinst                   22.2.29711
zhinst-deviceutils       0.1
zhinst-qcodes            0.3.4
zhinst-toolkit           0.3.3

Tested with both
labone <IP_ADDRESS>
and
22.02.29711 with the same result

@jenshnielsen Thanks for raising this issue.
LabOne communicates to the device through the DataServer. By default the communication between the PythonAPI(Client) and the Device itself is asynchronous. Meaning setting a value in python (qcodes,toolkit or ziPython directly) only blocks until the value has been acknowledged by the Data Server but not the device itself.
If one wants a call that blocks until the device has received and acknowledged the new value one has to perform a deep/synchronous set. In toolkit or zhinst-qcodes this can be done with the keyword deep=True
from zhinst.qcodes import ZISession
import time
session = ZISession("localhost")

session.connect_device('dev4493')
mfli = session.devices['dev4493']

mfli.oscs[0].freq(11)
mfli.oscs[0].freq(100, deep=True)
print(mfli.oscs[0].freq())

should result in
99.99999996068709

I hope that answers the question. I am closing this issue. If Something is unclear feel free to reopen it at any time.

Hi @tobiasah The issue is that all other Qcodes instrument apis are normally blocking by default so its very surprising to see one that silently is not.

Just found the respective documentation of the deep flag.
https://docs.zhinst.com/zhinst-toolkit/en/latest/first_steps/nodetree.html#deep

@jenshnielsen I can understand your concern that all other common instruments do follow another design. However all devices at Zurich Instruments follow the above mentioned Client->Server->Device(s) design. This design allows high data throughput and efficient parameter changing.
Forcing the default operation to deep=True would severely degrade the overall performance of the experiments. Thus we think the default way should be the one offering the maximum performance and flexibility.
I was thinking of use case for your above mentioned problem but could not find one. Where did you encounter this problem?
In general I would use a transaction so set multiple parameter in a row.
with device.set_transaction():
    device.demods[0].freq(...)
    device.demods[0].enable(true)

This bundles all set requests into a single transaction and guarantees that all parameters have taken effect after it returns.


Example PDF outputs?

Can you include some example output PDFs?

Given that gen-invoice is specifically designed to be used with user-written templates, I'm not sure how instructive example output files would be. Any sample output would be generated using the (deliberately very plain and barebones) default template, which means it would not be representative of the results that users can expect once they've written their own templates. If there was a gallery of example templates contributed by the community then that might provide a better idea of what's possible, but as it stands there isn't really an effective way to communicate the flexibility of the template system aside from simply stating that it's limited only by your imagination and your skills in writing HTML and CSS.


Update @actions/core

to address https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Any chance of getting this incorporated into a release soon?

@sumnerwarren yep should be out now!

@davidgamero I don't see a new release yet. It looks like the release workflow failed: https://github.com/Azure/k8s-set-context/actions/runs/4018476655


⚠ ClamAV has degraded performance

In fcdb28b, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 81 ms

Resolved: ClamAV performance has improved in cd2b2e2.


Strange white thing in top left of screen

Hi I just upgraded to version 20204.2
And see this weirdness in the app now...

I have seen similar issues in the desktop slack app recently and in Chromium browser, so I'm assuming it's an issue with the version of Electron in use?
Version: Insomnia Core 2020.4.2
Release date: 06/11/2020
OS: Linux x64 5.8.16-2-MANJARO
Electron: 10.1.5
Node: 12.16.3
V8: <IP_ADDRESS>-electron.0
Architecture: x64
node-libcurl: libcurl/7.73.0 OpenSSL/1.1.1h zlib/1.2.11 zstd/1.4.5 libidn2/2.3.0 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0

Its still an issue after today's update too...

Version: Insomnia Core 2020.4.2
Release date: 09/11/2020
OS: Linux x64 5.8.18-1-MANJARO
Electron: 10.1.5
Node: 12.16.3
V8: <IP_ADDRESS>-electron.0
Architecture: x64
node-libcurl: libcurl/7.73.0 OpenSSL/1.1.1h zlib/1.2.11 zstd/1.4.5 libidn2/2.3.0 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0

CTRL + ALT + I opens the console
Excecute: window.location.href="chrome://flags/#enable-vulkan"
I have an AMD graphic card and this stop the glitches for me.

Thanks for the reply.
That crashes the app for me.

RX590 here. It crashed for me too. I reopened the app and glitches were gone.

Still have the issue after reopening here.

I think this might be an issue with Electron itself, rather than with Insomnia.


⚠ Cioos Pacific CKAN Sitemap has degraded performance

In 9ad13be, Cioos Pacific CKAN Sitemap (https://catalogue.cioospacific.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 17803 ms

Resolved: Cioos Pacific CKAN Sitemap performance has improved in 8c0ab79 after 7 minutes.


Add combination operators to selectors

Enhancement description
While defining my rules, I need to define some fine grained rules such as:

If class implements interface X, I want it to use trait A or B or C
if class uses trait A, I want its class to implement interface A and one of ( B or C )

Currently, all rules are combining as an and operator.
Those operators may be useful:

all of (and operator)
any of (or operator)
none of (not operator)
one of (xor operator)
at least X of
at most X of

Suggested approach or solution
By creating new selectors, I can now define more precise rules
$this->newRule
    ->classesThat(Selector::implementInterface('EventSauce\EventSourcing\AggregateRoot'))
    ->mustInclude()
    ->classesThat(
        Selector::oneOf(
            Selector::haveClassName('EventSauce\EventSourcing\AggregateRootWithAggregates'),
            Selector::haveClassName('EventSauce\EventSourcing\AggregateRootBehaviour'),
            Selector::haveClassName('EventSauce\EventSourcing\AggregateAlwaysAppliesEvents'),
        )
    )
    ->build();

i used that PR to enforce test structure within our application
    public function test_application_tests(): Rule
    {
        return PHPat::rule()
            ->classes(
                Selector::AllOf(
                    Selector::inNamespace('\App\Tests\application'),
                    Selector::classname('/Test$/', true),
                )
            )
            ->shouldExtend()
            ->classes(
                Selector::OneOf(
                    Selector::classname(ApplicationCommandTestCase::class),
                    Selector::classname(ApplicationWebTestCase::class),
                ),
            )
        ;
    }

    public function test_integration_tests(): Rule
    {
        return PHPat::rule()
            ->classes(
                Selector::AllOf(
                    Selector::inNamespace('\App\Tests\integration'),
                    Selector::classname('/Test$/', true),
                )
            )
            ->shouldExtend()
            ->classes(
                Selector::OneOf(
                    Selector::classname(IntegrationKernelTestCase::class),
                    Selector::classname(IntegrationLegacyKernelTestCase::class),
                ),
            )
        ;
    }

    public function test_unit_tests(): Rule
    {
        return PHPat::rule()
            ->classes(
                Selector::AllOf(
                    Selector::OneOf(
                        Selector::inNamespace('\App\Tests\bundle'),
                        Selector::inNamespace('\App\Tests\unit'),
                        Selector::inNamespace('\App\Tests\legacy'),
                    ),
                    Selector::classname('/Test$/', true),
                )
            )
            ->shouldNotExtend()
            ->classes(
                Selector::AnyOf(
                    Selector::classname(WebTestCase::class),
                    Selector::classname(KernelTestCase::class),
                    Selector::classname(ApplicationWebTestCase::class),
                    Selector::classname(ApplicationCommandTestCase::class),
                    Selector::classname(IntegrationKernelTestCase::class),
                    Selector::classname(IntegrationLegacyKernelTestCase::class),
                )
            )
        ;
    }

and this works flawlessly :heart:
especially selectors like
            ->classes(
                Selector::AllOf(
                    Selector::inNamespace('\App\Tests\application'),
                    Selector::classname('/Test$/', true),
                )
            )

could be written with a regex too, but thats far easier to grasp imho :)
so, what needs to be done to get this added @carlosas ? :)


Client does not support authentication protocol requested by server

ER_NOT_SUPPORTED_AUTH_MODE: @Client does not support authentication protocol requested by server; consider upgrading MySQL client

Hey @victorgois07! 👋
Your issue do not follow our guidelines.

Make sure that you are only reporting bugs or submitting feature requests on Github.
2. In case of feature requests, please be descriptive and explain how this feature helps a broader audience and not just you.

If you are not submitting a bug and neither a feature request, then please use the forum or discord server
In any case, issues which are not descriptive enough will be closed. Please respect our time.

Issue doesn't adhere to the guidelines of creating a proper issue.

Make sure that you are only reporting bugs or submitting feature requests on Github.
In case of feature requests, please be descriptive and explain how this feature helps a broader audience and not just you.

If you are not submitting a bug and neither a feature request, then please use the forum or discord server
In any case, issues which are not descriptive enough will be closed. Please respect our time.


ETOR Issue Coordination

Spike Goal
While an external facing SLA is currently blocked, our team should share a mutual understanding with ReportStream on what constitutes an urgent/catastrophic failure versus ongoing operational service requests.
Notes

Would partners use the RS Help Desk to notify us of issues?
How would we notify RS and/or the Help Desk regarding incidents we identify?
What training or docs would we need to provide to the Help Desk?

Timebox
2 weeks
Tasks

[x] Find out how we ask for help from RS when we're in the middle of an incident. - @halprin

[x] Document this in the incident process.

[x] Find out how we formally send RS an incident that should be owned by them. - @halprin

[x] Document this in the incident process.

Notes

Optional: Any reference material or thoughts we may need for later reference

We consider this body of work complete, and follow on work will be complete in #1580 , #1577 , #1448 , #1447.


fix TypeError

fixes #67

PR much appreciated. This apparently occurs, as was mentioned in the issue, when a paging is consumed until the end. So some tests should also be written for this and the other type of cursor paging, FullArtistCursorPaging.


Add Integration Tests

Execute as a total both JDBC and Elastic, run tests that include both.
part of the unipop-test module

This sort of works now. Further development will continue in #72


Fixed put_listings_item

Same problem, endpoint need to 2 path params not only one:

Path
sellerId  required
A selling partner identifier, such as a merchant account or vendor code.
string

Path
sku  required
A selling partner provided identifier for an Amazon listing.
string

The body param required need to be isolated from the **kwargs as data=kwargs.get('body')

Body
body  required
The request body schema for the putListingsItem operation.

The regular call could be:
For reference only
seller_id = 'AXXXXXXXXXXXXX'
seller_sku = 'NEW-SKU-TR-7838383884'
issue_locale = 'es_ES'
marketplace_id = 'A1RKKUPIHCS9HS'
dictionary = {
"productType": "LUGGAGE",
"requirements": "LISTING",
"attributes": {
"recommended_browse_nodes": [
{
"value": "2008004031",
"marketplace_id": "A1RKKUPIHCS9HS"
}
],
...
}
}
try:
res = ListingsItems(account=store, marketplace=marketplace).put_listings_item(
    sellerId=seller_id,
    sku=seller_sku,
    marketplaceIds=marketplace_id_es,
    issueLocale=issue_locale,
    body=dictionary
)

logging.info(res)

except SellingApiException as ex:
print(ex)

That doesn't look like in line with all other calls, let me check tonight - will merge or fix later.

That doesn't look like in line with all other calls, let me check tonight - will merge or fix later.

ok thank you

Have you tested if the first commit works? Would actually make sense to keep it like you've done.

Have you tested if the first commit works? Would actually make sense to keep it like you've done.

Yes I have tested:
'payload': {'issues': [],
'sku': 'NEW-SKU-TR-783838XXXXX',
'status': 'ACCEPTED',
'submissionId': 'ab56a7cfd7124eb8bd26842955d12345'}}
Maybe you can find a more elegant solution : )

I've merged it, I think it makes sense to have it like this for the endpoint. Thank you!


refactor: remove code based validation

Explanation
Remove code based validation.

/cherry-pick release-0.2


Buildwork CSS Refactor - DO NOT MERGE

Description

How and where has this been tested?

How this was tested:
Browser(s) and OS(s) this was tested with:

Screenshots

To-do list

[ ] If my change impacts other components, I have tested to make sure they don't break.
[ ] If my change impacts documentation, I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have tested these changes in Windows High Contrast mode.

[ ] This pull request is ready to merge.

Closing this PR as this is stale now.


[Bug] Visual Map display Error

Version
5.4.0
Link to Minimal Reproduction
https://github.com/2796673723/echarts-visualmap
Steps to Reproduce
I want to set different colors inside and outside of a range by using visualMap. Examples options are as follows:
{
  show: false,
  pieces: [
    {
      gte: 0,
      lte: limit,
      color: '#4A90E2',
    },
  ],
  outOfRange: { color: '#FF0000' },
}

Current Behavior
The line at the bottom appears in two colors.

Expected Behavior
As per the settings I want the bottom line to only show blue.
Environment
- OS:Windows10
- Browser:Chrome 110.0.5481.180
-<EMAIL_ADDRESS>
Any additional comments?
No response

yes, a bug on pieces border values, Demo Code

It seems like that VisualMap isn't accounting for the LineWidth.

This problem is the same as what I encountered. Have you resolved it in the end?

为什么还没解决啊

@Steve245270533 @day-xue This is an open-source project and if you want your issues to be fixed faster, the best way is to make a pull request rather than waiting for others to help.

他为什么不设计成指定的数组下标来设置颜色


Improve stable sort performance

This PR

Improves performance

Issue created here. I'm not sure if this is ok solution, but simple array.sort could be used

This may need putting behind a Game Config flag because Array sort is unstable on lots of older browsers, and without a stable sort, it causes all kinds of rendering errors on the likes of IE.

@photonstorm not sure how to proceed here - created additional commit, but not sure this is the right way

Leave this with me - I think we can switch this flag automatically if, for example, we detect IE vs. Chrome. Plus, I can't merge it because the PR contains files that shouldn't be updated :) (like the TS defs). But I'll have a play with this now, as I think we can use it somehow.

Ok, this feature is now in the master branch (and enabled based on browser detection), so worth you re-testing your previous demos, please.

Commented the perf improvement on issue


auth.http.auth_req.params parameters can use json format data?

Under the emq_auth_http.conf configuration file, can the parameters of auth.http.auth_req.params be in json format?
Like: auth.http.auth_req.params = {"clientid":%c,"username":%u,"password":%P}
I tried, but failed

No, I suggest you customize the code and put that Json structure into the http message body.


Code Repeat and Disk Path can be getted from config

if (Config == "XMode: Mini")
                {
                    if (Environment.Is64BitProcess)
                    {
                        DllPath = @"C:\MiniNoMoreCookies_x64.dll";
                    }
                    else
                    {
                        DllPath = @"C:\MiniNoMoreCookies.dll";
                    }
                }
                else if (Config == "XMode: Disabled")
                {
                    if (Environment.Is64BitProcess)
                    {
                        DllPath = @"C:\NoMoreCookies_x64.dll";
                    }
                    else
                    {
                        DllPath = @"C:\NoMoreCookies.dll";
                    }
                }
                else if (Config == "XMode: Enabled")
                {
                    if (Environment.Is64BitProcess)
                    {
                        DllPath = @"C:\XNoMoreCookies.dll";
                    }
                    else
                    {
                        DllPath = @"C:\XNoMoreCookies_x64.dll";
                    }
                }

std::wstring UserPath(L"C:\\Users\\");
std::wstring EdgePath;
std::wstring BravePath;
std::wstring ChromePath;
std::wstring FirefoxPath;
std::wstring YandexPath;
std::wstring OperaPath;
std::wstring WaterfoxPath;
std::wstring VivaldiPath;
BOOL Startup()
{
    wchar_t Username[50];
    DWORD UsernameLen = 50 - 1;
    if (GetUserNameW(Username, &UsernameLen))
    {
        UserPath = L"\\??\\C:\\Users\\";
        UserPath.append(Username);
        UserPath.append(L"\\");
        EdgePath = UserPath.c_str();
        EdgePath.append(L"AppData\\Local\\Microsoft\\Edge\\User Data");
        BravePath = UserPath.c_str();
        BravePath.append(L"AppData\\Local\\BraveSoftware\\Brave-Browser\\User Data");
        ChromePath = UserPath.c_str();
        ChromePath.append(L"AppData\\Local\\Google\\Chrome\\User Data");
        FirefoxPath = UserPath.c_str();
        FirefoxPath.append(L"AppData\\Roaming\\Mozilla\\Firefox\\Profiles");
        YandexPath = UserPath.c_str();
        YandexPath.append(L"AppData\\Local\\Yandex\\YandexBrowser\\User Data");
        OperaPath = UserPath.c_str();
        OperaPath.append(L"AppData\\Roaming\\Opera Software\\Opera Stable");
        WaterfoxPath = UserPath.c_str();
        WaterfoxPath.append(L"AppData\\Roaming\\Waterfox\\Profiles");
        VivaldiPath = UserPath.c_str();
        VivaldiPath.append(L"AppData\\Local\\Vivaldi\\User Data");
        return true;
    }
    else
    {
        return false;
    }
}

This codes using hard coded disk label, C:\ can be getted from config. Users maybe not using C: disk label or it's can be secured etc if any of them, your app will not work.

const char* Browsers[] = { "msedge.exe", "firefox.exe", "vivaldi.exe", "chrome.exe", "brave.exe", "browser.exe", "opera.exe", "waterfox.exe" };

const wchar_t* Browsers[] = { L"msedge.exe", L"firefox.exe", L"vivaldi.exe", L"chrome.exe", L"brave.exe", L"browser.exe", L"opera.exe", L"waterfox.exe" };

const wchar_t* Browsers[] this list is duplicated (created with same name on two place)
const wchar_t* Publishers[] = { L"mozilla", L"microsoft", L"brave", L"waterfox", L"yandex", L"opera", L"vivaldi" };

This lists can be getted from embedded source or a another header file like a consts.h.
BOOL IsBlacklistedApp(wchar_t* FileNamez)
{
    if (Signed2)
    {
        BOOL IsBlacklistedPublisher = FALSE;
        std::wstring Publisher(GetPublisherName(FileNamez));
        if (Publisher.c_str() != NULL)
        {
            const wchar_t* PublisherName = Publisher.c_str();
            const wchar_t* Publishers[] = { L"python", L"oracle" };
            int Size3 = sizeof(Publishers) / sizeof(Publishers[0]);
            wchar_t LowercasePublisher[100];
            wcscpy_s(LowercasePublisher, 256, PublisherName);
            for (int i = 0; LowercasePublisher[i] != L'\0'; i++)
                LowercasePublisher[i] = towlower(LowercasePublisher[i]);
            for (int i = 0; i < Size3; i++)
            {
                if (wcsstr(LowercasePublisher, Publishers[i]) != NULL)
                {
                    IsBlacklistedPublisher = TRUE;
                    break;
                }
            }
        }
        return IsBlacklistedPublisher && Signed2;
    }
    return false;
}

i don't understand that can you explain this to me?
switch (arg)
                    {
                        case "--ignore-updates":
                            Settings.CheckUpdates = false;
                            break;
                        case "--ignore-warnings":
                            Settings.ShowWarnings = false;
                            break;
                        //this setting is turned off by default for security reasons, you can enable it by editing the code
                        /*
                        case "--direct-uninstall":
                            if (!Settings.DirectInstall)
                                Settings.DirectUninstall = true;
                            break;
                        */
                        case "--show-browsers":
                            Settings.ShowBrowsers = true;
                            break;
                        case "--no-output":
                            Settings.ShowOutput = false;
                            break;
                    }

You can use library for that. C# has a lot of library for parsing args.
Environment.CurrentDirectory + "\\Components\\MiniNoMoreCookies_x64.dll";

You can use Path.Combine on there
            string MiniNoMoreCookiesx64 = Environment.CurrentDirectory + "\\Components\\MiniNoMoreCookies_x64.dll";
            string MiniNoMoreCookiesx86 = Environment.CurrentDirectory + "\\Components\\MiniNoMoreCookies.dll";
            string NoMoreCookiesx64 = Environment.CurrentDirectory + "\\Components\\NoMoreCookies_x64.dll";
            string NoMoreCookiesx86 = Environment.CurrentDirectory + "\\Components\\NoMoreCookies.dll";
            string XNoMoreCookiesx64 = Environment.CurrentDirectory + "\\Components\\XNoMoreCookies_x64.dll";
            string XNoMoreCookiesx86 = Environment.CurrentDirectory + "\\Components\\XNoMoreCookies.dll";

And you can use function to fix code repeating.
This variables is duplicated too is defined in 2 places (public static void Install(string Option, bool SecureBoot) and public static bool IsComponentsAvailable(string Option)). You can use class for getting this variables.
You can use ILogger (Microsoft.Extensions.Logging) interface for logging. You can use Serilog it's very easy logger with ILogger interface support.
static double Version = 2.3;

You can get Version info from AssemblyInfo.

Thanks for your issue, i will fix/improve most of what you mentioned, for the "C" drive label i'm aware of this issue but honestly forgot to fix that in the last update.
for the part that you don't understand it's basically blacklisting python and java as they are signed binaries but they can execute code that is programmed by other people (if you know what i mean) so if the normal mode is used it will blacklist java and python as they are signed but at the same time have the possibility of executing malicious code.