[RFC] Client call output

I'm currently strugling on the api to generate for a call, there are multiple and none seems better thant the other for me and I would like to have some input before creating this.
The exemple will be based on a GET call to the '/posts' URL for an API.
Some parameters are available: 'author' to filter on post author, 'tag' to filter on tags.
Method Name
In Swagger, there is an operationId which serve as a unique identifier. We could use it to create the method name but this operationId has no normalization and can give weird name for method, so instead i think it will be better to use the METHOD and the PATH of the operation.
GET on /posts : public function getPosts
GET on /posts/{id}/comments public function getPostsComments
Input Api
The input API is the signature of the method wanted for the calls, there are 2 possibilities:
API Parameters as method parameters
public function getPosts($author = null, $tags = array())

Advantages

Easy to read
Consistent
Allow generation of documentation easier

Disadvantages

Parameters not linked to the call but linked to the implementation seems weird

For example, we may want to do some calls in async and some others sync, how to give this parameters in the method?

With many parameters to the API, the signature will be HUGE, like the build method for Docker:

public function postBuild($inputStream, $dockerfile = NULL, $t = NULL, $remote = NULL, $q = false, $nocache = false, $pull = NULL, $rm = true, $forcerm = false, $contentType = 'application/tar', $xRegistryConfig = NULL)

(And the run call will be even longer)
Fixed signatures with array
public function getPosts($parameters = array())

Advantages

Easy to add custom parameters like the async flag or others one

public function getPosts($parameters = array(), $async = true)

Easier to call with many parameters, no need to specify all the value if we want to only define the $xRegistryConfig parameter in the build call for Docker

Disdavantages

Harder to read for end user
Poor Documentation generation

Output API
When we will receive the response from the API, there are many options on what to give to the user:
Return a denormalized response
For the getPosts call, this will return (if the spec is good enough) an array of Post Object.
Advantages

Easy to use on user side

Disadvantages

Need to wait for the response to be complete (no async)
What to do on Error? (Throw exception)
What to do on other status codes (301, 204, 100, ... ) ?

Just return the Response
This will directly return the PSR 7 Response to the user.
Advantages

Async possible (can do another request even if first one is not finished)
Do not make any assumption so the user can choose what to do given the status code

Disadvantages

Lost all the possibility we have on the denormalization, still possible but will give a slow behavior for user (need to get the response, check the status code, pass it to the denormalization process, ...)

Another option (but certainly requiring more work) could be to pass custom object. That would solve the documentation generation and long parameters list problems. The main disadvantage is that api methods will be probably less intuitive (maybe not) to use... What do you think?

My 2cts:
Method name
Go for the getPostsComments way. This is how FOSRestBundle works i.e., and I never got any issue with the naming. The PHP API is as important as the public one for me.
Input API
This is hard. An array is not often enouth (lot's of "if / isset / empty" to do), some kind of QueryParam object, on which you can apply some validation and expose nice getter is a good way to solve this issue.
Having all the params as method parameters is a no-go. It's a pain.
Output API
Maybe the two could be made available? Even if you implement the first one (hydrate Post objects from the response) it's always good to be able get the real HTTP Response anyway.
Maybe wrap the Post objects array in a custom ListReponse object?
Also, I think Exception are the way to go, the HTTP Client (like Guzzle?) will be throwing custom exceptions for all the HTTP errors, your client should do that too, if there is an issues inside the response (bad JSON, no hydratation possible...).
Hope this is helping :) :beer:

If i use an Array for the Input API i my plan is to use with the options resolver component from Symfony

I'll go with @damienalexandre for method name.
Input API: Array with option resolver or an object with validation seems :+1:
Output API: I think that the developper should be able to get the Response directly.

+1 for the getPostComments thing
For the input. I have no idea how complicated it would be, but the idea of having a specialized value object instead of just an array is appealing. The OptionsResolver could be a compromise (even if I don't like it much, but that's personnal).
For the output. Could it be possible to wrap the http response in a Collection object or something, which would be able to asynchronously iterate on the response? This Collection object could also have a getRawResponse method to access the actual http response.

For the output i would love to wrap the response into another object (like a SwaggerResponse with the getPsrResponse to get the original response, or even a SwaggerResponse wich extends a Implementation of a PsrResponse and add some methods to get the deserialized response if available)
Having it async is difficult as i would need to inject the logic / service into this object which, in my view, must only contain data and no logic (to keep it correct with the current best practices on PHP)
I was also thinking as passing a parameter to the method to let user choose how he wants the response like
public function getPosts($parameters, ..., (RAW|PSR)_RESPONSE)

public function getPosts($parameters, ..., SCHEMA_RESPONSE)

The first one will only return the response and the second will return the denormalized response depending on the status code, but i'm not a fan of this sort of "flags" :/


Update dependencies

Update dependencies to their latest patch and minor versions. Skip major updates (e.g. 2.x.x => 3.x.x)

Hi! I can do this if that's alright


Creation of dynamic property LLAR\Core\CloudApp::$api is deprecated issues after upgrading to php 8.2

Dynamic properties are deprecated in php 8.2. These will be fatal errors in 9.0.
Just as a point of reference, WP Engine (one of the largest managed WordPress hosts) is force upgrading users from 8.0 to 8.2 so I think this merits a patch asap.
The large number of warnings makes debugging quite difficult.
Deprecated: Creation of dynamic property LLAR\Core\CloudApp::$api is deprecated in /var/www/html/wp-content/plugins/limit-login-attempts-reloaded/core/CloudApp.php on line 43
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\Stack::$live_preview is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 76
Deprecated: Creation of dynamic property Contentstack\Stack\Stack::$live_preview is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 76
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\Stack::$proxy is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 77
Deprecated: Creation of dynamic property Contentstack\Stack\Stack::$proxy is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 77
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\Stack::$timeout is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\Stack::$timeout is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 78
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\Stack::$retryDelay is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 79
Deprecated: Creation of dynamic property Contentstack\Stack\Stack::$retryDelay is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 79
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\Stack::$retryLimit is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 80
Deprecated: Creation of dynamic property Contentstack\Stack\Stack::$retryLimit is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 80
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\Stack::$errorRetry is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 81
Deprecated: Creation of dynamic property Contentstack\Stack\Stack::$errorRetry is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/Stack.php on line 81
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
[18-Aug-2023 19:37:31 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType.php on line 51
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$type is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/ContentType/Query.php on line 46
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$contentType is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 58
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$queryObject is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 59
[18-Aug-2023 19:37:32 UTC] PHP Deprecated:  Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78
Deprecated: Creation of dynamic property Contentstack\Stack\ContentType\Query::$json_translate is deprecated in /var/www/html/wp-content/themes/unito/libs/contentstack/contentstack/src/Stack/BaseQuery.php on line 78

Hello @jerturowetz , we've released a latest build that includes the fix for this issue. We're closing the ticket for now, but please feel free to reopen it if the problem persists.


Reference sellp conversion

Fixed a mistake in calculating the slice offsets in the conversion from dense to sellp.
The offset of slice n was previously just set to the length of slice n-1 but should be set to the sum over the lengths of all previous slices.

@hartwiganzt apparently, some tests are now failing, Fritz and I are looking into it.


[Feedback] Empty addresses after payment?

After creating an account from a guest order (using the PayPal button on the product page directly), it seems that I have two addresses in my account, but they are empty:

I think it happens with non-shippable products. When we pay with PayPal, from the product page, we have no place from where we can get the billing (and unneeded shipping) address :/
To be honest, I have no idea how it should be handled right now 😄 Hopefull I (or anybody else) would come up with some idea soon 🖖


Overflow IP Popover

Adds Overflow IP Popover
Factors out IP Address display with "right" and "left" variants

Coverage decreased (-5.7%) to 52.624% when pulling 79e5e84ca03de0d3fd7294a2b5a0ebd8f648c4cd on asauber:M3-25-overflow-ips into 6f627522cfb1e5fb72542b058bf1183b51c09285 on linode:voldemort.


Support shared thread pools for zstd

In https://github.com/gyscos/zstd-rs/pull/283 , I implemented support for sharing a thread pool across compression contexts, to speed up multithreaded compression and avoid having multiple contexts compete for a fixed number of CPUs.
I'd love to have support for this in async-compression.

I think we can expose it as another option for zstd encoder/decoder?


Fixes several (but not all) accessibility issues

Problem being solved
Blind users/users who rely on a screen reader are unable to interpret large portions of our website.
This was discovered by using the axe DevTools chrome extension which automatically finds accessibility gaps in websites (generally just low-hanging fruit). This was run on the home page https://winnipegpolicecauseharm.org/.

Solution
Added aria-labels to links and alt text to images.
Pre-conditions for merge

[ ] Ensure the new theme has been thoroughly tested with a screen reader (I recommend testing NVDA+Firefox+Windows and VoiceOver+Safari+Mac).
[ ] Confirm that there is no loss of functionality.

Out of scope

page-get-involved.hbs contains several <img> elements that don't have alt however I'm not sure if this page is even a part of the app 🤔. Example:
https://github.com/winnipegpolicecauseharm/wpch-ghost-theme/blob/90cdf9647d9c0f1e618a99caef571f4089d92c74/page-get-involved.hbs#L76-L77
These previews remain not accessible to users who depend on a screen reader:

Axe analysis was done only on the home page of https://winnipegpolicecauseharm.org/. Other pages were not tested and may have more undiscovered accessibility issues.

Thanks for getting started on this, it’s definitely been neglected. I’ll look at it more thoroughly in the next while (this week is a tragic nightmare) but thoughts on using role="presentation" in some places vs alt text? I think some of these images really are presentational and should be skipped by screen readers.
And the CI problems are definitely nothing you did, it needs updating.

Thanks for getting started on this, it’s definitely been neglected. I’ll look at it more thoroughly in the next while (this week is a tragic nightmare) but thoughts on using role="presentation" in some places vs alt text? I think some of these images really are presentational and should be skipped by screen readers.
And the CI problems are definitely nothing you did, it needs updating.

You're welcome :D
I like the idea of utilizing role="presentation" for the social media <img> elements since this is pretty redundant
https://github.com/winnipegpolicecauseharm/wpch-ghost-theme/blob/bfd4be7c5af8a17d7ec19f0cfaa79a0ad02b98a5/partials/footer.hbs#L5
Screen readers would read out something along the lines of:

"W P G police harm Facebook page."

"Facebook logo."


Jakartify - to Jakarta EE 9

Built against j.p:jakarta.jakartaee-api:9.0.0 and o.g.m.d:glassfish:6.0.0

May I ask for review, please?

Thanks for checking.


Enable distributed queries of gowarcserver processes

This PR enables distributed queries of gowarcserver processes, and so closes #4.

This PR is missing aggregation to children in indexhandler and resourcehandler (pywb feature). It should remain as a draft until it is added

Changes in this PR is deprecated for PR #24


Update to Spring Boot 3.1.1

@daniel-frak can you review PR https://github.com/daniel-frak/backity/pull/85


compatibility patch

This will fix some compatibility issues with some node.js use-cases. This fix will handover the module loading request in node.js to 'require' without breaking the original code in some apps/scripts is that already using this package.
resolves #14

I also encountered this problem.
Platform: Windows
pino: 8.1.0
pino-pretty: 8.1.0
This is my source code file logger.js:
const pino = require('pino')
require('pino-pretty')
const dayjs = require('dayjs')

const log = pino({
  transport: {
    target: 'pino-pretty',
    options: {
      colorize: true
    }
  },
  base: {
    pid: false,
  },
  timestamp: () => `,"time":"${dayjs().format('YYYY/MM/DD HH:mm:ss')}"`,
})

module.exports = log

Then I use the<EMAIL_ADDRESS>package into an exe program, run the executable program get an error as follows:
node:internal/event_target:915
  process.nextTick(() => { throw err; });
                           ^

TypeError: Invalid host defined options
    at eval (eval at <anonymous> (C:\snapshot\backEnd\node_modules\real-require\src\index.js:4:20), <anonymous>:3:1)
    at start (C:\snapshot\backEnd\node_modules\thread-stream\lib\worker.js:33:19)
    at Object.<anonymous> (C:\snapshot\backEnd\node_modules\thread-stream\lib\worker.js:87:1)
    at Module._compile (node:internal/modules/cjs/loader:1112:14)
    at Module._compile (pkg/prelude/bootstrap.js:1933:32)
    at Module._extensions..js (node:internal/modules/cjs/loader:1166:10)
    at Module.load (node:internal/modules/cjs/loader:988:32)
    at Module._load (node:internal/modules/cjs/loader:834:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at MessagePort.<anonymous> (node:internal/main/worker_thread:194:24)
Emitted 'error' event on ThreadStream instance at:
    at destroy (C:\snapshot\backEnd\node_modules\thread-stream\index.js:349:12)
    at Worker.onWorkerMessage (C:\snapshot\backEnd\node_modules\thread-stream\index.js:164:7)
    at Worker.emit (node:events:537:28)
    at MessagePort.<anonymous> (node:internal/worker:233:53)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:645:20)
    at exports.emitMessage (node:internal/per_context/messageport:23:28)
    at [kOnExit] (node:internal/worker:267:5)
    at Worker.<computed>.onexit (node:internal/worker:199:20)

I tried several times and found the problem at this location real-require/src/index.js.
const realImport = new Function('modulePath', 'return import(modulePath)')
After using require instead of import, the repackaging program ran normally. But I don't know why import can't be used.
The value of modulePath needs to be processed before using require
const realImport = (modulePath) => {
  // the value of modulePath like this :
  // modulePath = `file:///C:/snapshot/backEnd/node_modules/pino-pretty/index.js`

  // This is the correct code
  // return require('pino-pretty/index.js')
  // or like this
  // return require('C:/snapshot/backEnd/node_modules/pino-pretty/index.js')
}

PS: This issue is not related to the packaged node version. I tested v14, v16, and v18, all of which reproduced the problem


Best-effort approach and bug report

First, thank you for working on this project, it is awesome!
I've been running it through some projects and I noticed that for most, the conversion can't complete. I just get an error message.
So, I hacked together some try/catch in the code in order to ignore parsing exceptions and attempt to output what was successfully converted.
Would you consider "hardening" pytocs like that?
You can try running it through a large Python project for testing...
.
Here is one example of the type of errors that would interrupt the whole process:
class TestClass:
    def TestFunction(self):
        return TestValue(
            {
                **something
            }
        )

The Parser fails at line 2331 with k being null (which throws a NullRefEx).

Thanks for the feedback! A basic assumption pytocs makes is that the input Python programs are syntactically correct. The parser is therefore not "hardened" for junk inputs, but will (metaphorically) throw up its hands as soon as it encounters a syntactic anomaly.  Of course, this presupposes that the pytocs Python parser is correctly implemented. As you've discovered, there still are cases where the parser fails, and when it fails, it fails hard.
I do "train" pytocs on large Python projects to discovered bugs like this, but naturally there is always the possibility that unparseable constructs exist in projects I'm unaware of. Now that you've reported this particular case, I can fix the problem. If you have any other Python projects that pytocs fails on I'd be happy to fix those errors too. Just send me the URL to the source trees.
As for "hardening" as you put it, I suppose I could change the pytocs parser to generate "error" tokens / terms rather than throwing exceptions. Certainly core methods in the parser, like expr() and stmt() could catch any exceptions, emit a warning, and return a stub identifier like <parser-error> or a stub statement like # <parser-error>.

@MuleaneEve: I've implemented an exception handler in stmt(). Give it a whirl and see if it helps with stability.

Wow, that was fast :)
The exception handling is indeed better, but I was hoping that it would now allow a Folder Conversion to go through, even if some files are missing (with relevant error messages).
.
Regarding the specific example I gave, here is a similar one that doesn't work:
class TestClass:
    def TestFunction(self):
        return TestValue(
            {
                **something,
                **somethingElse
            }
        )

And here is another one:
class TestClass:
    def TestFunction(self):
        if (
           condition1
            and
            # Comment here => "not" is Unexpected
            not condition2
        ):
            return early
        return late

If you want to run pytocs through a large Python project, here is one (which has more unhandled scenarios):
https://github.com/ytdl-org/youtube-dl

By the way, my simplistic hack to make pytocs work on a whole folder even with errors is to make two changes:

Add a catch() { ... } to AstCache.getAST()#L124
Add if (module == null) continue; in ConversionUtils.ConvertFolderAsync()#L52

OK, I will reactivate the issue and work on that project. If you find any more by all means let me know. I want pytocs to be able to parse as much Python as possible, but since the language spec keeps changing, it's an eternal job :P

Thank you. I didn't want to bother you :)
For your quest of handling "all" of Python, there are loads of projects on GitHub:
https://github.com/topics/python?l=python
You can download a bunch, unzip them all in the same directory, and have fun converting them.

I've made a few commits that should address the issues you mentioned above. After the fixes, pytocs manages to parse https://github.com/ytdl-org/youtube-dl without crashing. I'll close the issue again, and look at some other large Python projects in my spare time. Thanks for reporting this!

Thanks again!


[WIP] Autoload everything

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

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

This is an experiment to see how much autoloading can speed up load time for brew. The idea is to reduce the number of files that are loaded at startup.
I got interested in this when looking at the output of brew prof ls and seeing that require got called 637 times.

As a result of autoloading I was able to get that number down to 382.

This seems to have an affect on how fast things load but it's really most significant on older hardware. Of course, this only affects startup time. If you need to load the file eventually, there's no real alternative.
In general, autoloading is nice because it is faster but IMO it is a bit harder to reason about and kind of magical which are some negatives. The module level autoloading is a lot nicer and maybe we'd be better off only doing that. The biggest performance boost here is essentially lazy loading all of the cask libraries.
We could also autoload all of the utils at start time and then just not include them anywhere. This would simplify the requires a bit but I'm not sure we really want to go in that direction. We already require around half of the utils at start time anyway though.
Benchmarks
10 Year Old iMac
Around 0.3 seconds faster.
Help Command
/u/l/Homebrew (master|✔) $ hyperfine --warmup=3 'brew help'
Benchmark 1: brew help
  Time (mean ± σ):      1.431 s ±  0.015 s    [User: 0.695 s, System: 0.637 s]
  Range (min … max):    1.416 s …  1.468 s    10 runs
/u/l/Homebrew (autoload_everything|✔) $ hyperfine --warmup=3 'brew help'
Benchmark 1: brew help
  Time (mean ± σ):      1.036 s ±  0.025 s    [User: 0.518 s, System: 0.432 s]
  Range (min … max):    1.008 s …  1.095 s    10 runs

List Command
/u/l/Homebrew (master|✔) $ hyperfine --warmup=3 'brew list'
Benchmark 1: brew list
  Time (mean ± σ):      1.612 s ±  0.023 s    [User: 0.786 s, System: 0.716 s]
  Range (min … max):    1.563 s …  1.657 s    10 runs
/u/l/Homebrew (autoload_everything|✔) $ hyperfine --warmup=3 'brew list'
Benchmark 1: brew list
  Time (mean ± σ):      1.301 s ±  0.008 s    [User: 0.662 s, System: 0.545 s]
  Range (min … max):    1.290 s …  1.318 s    10 runs

M1 Macbook
Around 0.1 seconds faster.
Help Command
/o/homebrew (master|✔) $ hyperfine --warmup=3 'brew help'
Benchmark 1: brew help
  Time (mean ± σ):     411.5 ms ±   0.8 ms    [User: 206.2 ms, System: 91.7 ms]
  Range (min … max):   410.2 ms … 412.7 ms    10 runs
/o/homebrew (autoload_everything|✔) $ hyperfine --warmup=3 'brew help'
Benchmark 1: brew help
  Time (mean ± σ):     308.2 ms ±   1.2 ms    [User: 140.7 ms, System: 55.4 ms]
  Range (min … max):   306.9 ms … 310.8 ms    10 runs

List Command
/o/homebrew (master|✔) $ hyperfine --warmup=3 'brew list'
Benchmark 1: brew list
  Time (mean ± σ):     459.0 ms ±   0.8 ms    [User: 237.5 ms, System: 106.6 ms]
  Range (min … max):   458.1 ms … 460.2 ms    10 runs
/o/homebrew (autoload_everything|✔) $ hyperfine --warmup=3 'brew list'
Benchmark 1: brew list
  Time (mean ± σ):     386.5 ms ±   1.0 ms    [User: 192.3 ms, System: 79.7 ms]
  Range (min … max):   384.9 ms … 387.8 ms    10 runs

Note that we already have a test to make sure that Formula doesn't get included when starting up the app. This makes sense since it has like 20 requires itself.

Closing for now. I might look into the zeitwerk gem to see if it could have a similar effect on loading times.

All in all I think this was an interesting experiment but I don't think these changes are worth merging in to the project.

Thanks for checking this out @apainintheneck, I agree!

Closing for now. I might look into the zeitwerk gem to see if it could have a similar effect on loading times.

I have personally found this to be a bit gnarly to use previously so am a bit dubious compared to this approach.

All in all I think this was an interesting experiment but I don't think these changes are worth merging in to the project.

Thanks for checking this out @apainintheneck, I agree!

Closing for now. I might look into the zeitwerk gem to see if it could have a similar effect on loading times.

I have personally found this to be a bit gnarly to use previously so am a bit dubious compared to this approach.

@MikeMcQuaid You're right. While I think that using zeitwerk would be more maintainable long term in the short term it would involve refactoring the entire project which is obviously off the table. Seems like that library really only makes sense for Rails projects.


Avoid infinite render on value change

Fixes #480 . Looks like the issue was closed even though a fix was never merged.

We had to roll this back, due to #484. Any thoughts on how to fix the render + not break acceptance tests?

I had not seen that issue thanks for linking. One thing I am having trouble understanding is why just returning ref.once('value') as a promise from _fetch would not work:
_fetch(ref) {
  return ref.once('value');
}

I have added a test which connects to a live firebase since that seems to be where the run loop issues were coming from. This test failed as expected with my initial commit, and now passes when only returning the promise from ref.once('value').

Ok updated. Let me know if you want to squash this down to one commit.

We can squash from the pull request. Tests are red though @steven-ferguson can you take a peek?

I was not able to reproduce the failures on my local machine. Would you mind kicking the build off again?

I kicked it off again, let's see how that goes.

Pushing out a release, btw.


Update error for 'Plot' block

Reproduction steps:

Drag a graph display block out
Create a 'Series' variable and drag inside graph display
Drag a plot block into workspace
Plot block updates with available 'Series' variable
Duplicate the existing 'Series' variable

Result:
The plot block selection changes to "none"
Expected:
The plot block selection she stay on the current 'Series' variable selected unless the variable is changed to a non 'Series' variable

The error is attributed to the fact that the plot blocks dynamicOptions() function updates the menu for variable selection by utilizing getAllVariables() which returns all variables in the workspace with a given name in no particular order, therefore if it does its subsequent checks (i.e. checking the type of the variable_set block) with a reference to a duplicated block, it does not find a block connection and fails to register as a 'Series' type variable.
Adding code that ensures it is checking the variable "definition" block should squash this issue.

Bug is not present but the "fix" has caused xml loading issues so the new code needs to be refactored


reloadOnInterval feature similar to reloadOnPrerender

🚀 Feature Proposal
Related to https://github.com/i18next/i18next-fs-backend/issues/38
Would it be possible to have a reloadOnInterval similar to reloadOnPrerender?
I am interested in fetching the latest locales after the cache expires (Please refer to expirationTime in the cache setup mentioned in the issue above.). From my understanding, the only way we can refetch the locales with i18next-http-backend is to make use of reloadOnPrerender.
Which would reload the translations whenever serverSideTranslations is called

what does this mean exactly? Does it fetch locales from fs and store it in-memory given cache has not expired yet?
How does it affect the performance overall?

Motivation
To make use of a cache layer with expirationTime e.g. in i18next-fs-backend
Example
This will be used to fetch the latest locales after the cache expires. It would go hand in hand with expirationTime of the cache layer.

update the i18next-chained-backend dependency and try to set the reloadInterval like here: https://github.com/locize/next-i18next-locize/blob/local-caching/next-i18next.config.js/node.js#L9

That does it. It's exactly what I was looking for, thank you again for the insanely fast response and updates. I really appreciate it.


Add the "life of a certificate" diagram

This PR is part of the work in https://github.com/cert-manager/website/issues/426. This diagram is not done, but I propose to release an initial version instead of waiting further.

Preview
https://deploy-preview-482--cert-manager.netlify.app/docs/concepts/certificate/

cc @irbekrm

Looks great to me already 🥳 🥳
(I think the correct preview link might be https://deploy-preview-582--cert-manager.netlify.app/docs/concepts/certificate/)
A small nit- I think the Order is not removed immediately, but just by the time the next Order needs to be created?
Suggestion: 'requestmanager creates CertificateRequest with revision = "1" since its revision is nil' <- perhaps it would make sense to drop the 'since its revision is nil', I imagine it would be either obvious or confusing?
Another suggestion: I think the Challenges are created from Order.status.authorizations fields, perhaps worth to move the arrows slightly to indicate this?
Agree that it might make sense to merge this as is though and I think the diagram is great- it should be super helpful to users already.
Please unhold to merge as is if you'd rather do that!
/hold
/approve
/lgtm

/test pull-cert-manager-website-verify

poke @irbekrm

Thanks for the poke 😄
I think we should merge this, it would give users a lot of value imo.
Thank you for working on this and making it so nice!
/lgtm
/hold cancel


[Bug]: Binding text widget to input widget of data type email, text is having a hyperlink, which takes user to a blank page

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I bind a text widget to an input widget of data type email, the text displayed has a link created, on clicking which, it goes to an "about:blank" page.
Expected behaviour - Expecting a new mail page to open up from the mail server (unsure though if this is a possibility at present)
Steps To Reproduce

Drop an input widget (Input1) onto the canvas.
Set data type to email.
Enter a test email address into this field.
Now drop a text widget on to the canvas.
Bind this text widget to the input widget (In the Text field of the property pane of text widget - enter something like this - Email: {{Input1.text}}.
The text in the widget that is displayed is the email id entered in the input widget. However, it also automatically has a link created ( as it is an email id. ) On clicking the link, user is taken to a blank page.
This behaviour is seen on canvas and deploy mode too.

Public Sample App
No response
Version
Release

@btsgh this is not a bug. Clicking on it opens the default mail client on the system


Error in yolo_head() in model.py

While testing on single image after training on VOC dataset, I encountered following errors.
In grid = K.cast(grid, K.dtype(feats)) on line 134, feats is a list. There is no dtype for list.
type(yolo_model.output) --> list
Error: AttributeError: 'list' object has no attribute 'dtype'
Screenshots of Error code attached:

Here are the steps I followed:

create yolo model from trained weights
pass yolo_model.output to yolo_eval along with test image size, anchors and classes
preprocess the image and run a session to get boxes, scores and classes as output.

your anchors is a list
you need to convert it to a numpy array
anchors = np.array(anchors).reshape(-1, 2)

what's the solution

Check this notebook.


Casperf fixes

build(container/images): reduce container image size

Fixup the spdk rpath in the pre-fixup allowing for the default
fixup phase to shrink.
Split io-engine derivation into 2 outputs, to avoid pulling in all binaries.

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

feat: add casperf container image

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

fix(io-engine-client): use MY_POD_IP is present

When running from k8s pod, we should not have to specify our own grpc endpoint.

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

chore: update auto assign list

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

fix(casperf/lvs): purge lvs by wiping the first 8MiB

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

fix(null_bdev): parse size with 64bit

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

chore: allow specifying release version of libspdk

Allows us to test performance within a dev shell.

Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

bors merge

bors cancel

bors merge

bors merge


Missing siblings()

The siblings() function of jQuery is missing here.
I suggest something like this:
//inspired from http://youmightnotneedjquery.com/#siblings
function siblings(el) {
    return Array.prototype.filter.call(el.parentNode.children, function(child){
        return child !== el;
    });
}

Looks good to me, can you raise a PR?

Added https://github.com/nefe/You-Dont-Need-jQuery#1.5


PL/SQL Explicit Cursor Definition

The Oracle PL/SQL explicit cursor definition syntax diagrams can be found here:
http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/explicit_cursor.htm#LNPLS01313
A corresponding (exemplary) ANTLR parsing file (http://www.antlr3.org/grammar/list.html) can be found here:
http://www.antlr3.org/grammar/1279318813752/PLSQL.g
cursor_definition:

cursor_definition :
        CURSOR ID parameter_declarations? IS select_statement
    ;

Solved by #87.


Console does not save my "dag" rotation selection

When I change the rotation of my "dag" within a project, this state is not being saved. I think this should become a default setting for the user per project/dag.

IIRC, keeping local user preferences has a lot of edge cases. We currently don't have a way to save user preferences in the backend. @jmcriffey to validate.
We should also move the issues to dash repo


erro

Very late, the project is very nice, so I haven't been able to reproduce it, it has these errors, at the moment I don't use any VR equipment, only the Unity VR simulator

I solved it, if anyone has the same error, just limit unity's fps, as it was unlimited, it was using a lot of resources, so I enabled vertical sync and it was at 60hz/fps and the ram usage was at ~800 mb.


Use pseudo entry and pseudo exit blocks for dominance.

For dominance calculations we use an "augmented" CFG
where we always add a pseudo-entry node that is the predecessor
in the augmented CFG to any nodes that have no predecessors in the
regular CFG.  Similarly, we add a pseudo-exit node that is the
predecessor in the augmented CFG that is a successor to any
node that has no successors in the regular CFG.
Fixes a subtle problem where we were implicitly creating
the block_details for the pseudo-exit node since it didn't
appear in the idoms map, and yet we referenced it.  In such a case the
contents of the block details could be garbage, or zero-initialized.
That sometimes caused incorrect calculation of immediate dominators
and post-dominators.  For example, on a debug build where the details
could be zero-initialized, the dominator of an unreachable block would
be given as the pseudo-exit node.  Bizarre.

Hi @umar456 this PR fixes some problems we saw with the switch-with-unreachable-default, but only on Linux debug builds, and Windows builds.  I think it was accidentally passing on Linux and Mac release builds.
The root cause was really subtle, basically because we were asking for the postdom order for the pseudo exit block, and creating garbage bookkeeping.
The key idea in the fix is to take care of unreachable blocks in a more uniform way, by adding a pseudo-entry node.  It's symmetric with pseudo-exit node.
Also, the pseudo nodes are never in any regular blocks' predecessor or successor lists.   Instead we temporarily fake an "augmented CFG" only during the dominance calculation.
I'd like reviews from @umar456 and maybe @antiagainst and @AWoloszyn

I also clarified the result of the dominance calculation.
The dominance calculation could use some unit-testing love.

+1

Addressed all feedback.

+2

Squashed.

Thanks for the reviews!


Expand your example a little bit

Juri,
Thanks for the date picker!
I'm new to Angular 2.  So, it took me a little while to figure out the syntax for your datepicker.  I'd add the following to your example:
<datepicker [(ngModel)]="test1.date" view-value="DD.MM.YYYY" model-value="DD.MM.YYYY" init-date={{test1.date}}>
If I have an existing date, then I need to pass it into your picker.
Thanks, again.

Hi,
No problem. I think example is pretty self explanatory, use init-date in a conjunction with model-value.
<datepicker [(ngModel)]="date" model-value="DD.MM.YYYY" init-date="12.5.2017"></datepicker>

But you are right. It would be better that initial date would be value passed to [(ngModel)] directive. I will fix that soon.


doctor should check that .pumpkins is git ignored

Problem
Users should ignore pumpkins dot folder, but may:

forget to do so
not know to do so
do it wrong (typo or so on)

Solution

If repo is using git
If repo does not have gitignore
Or if repo does have gitignore but not ignoring .pumpkins

Then

Tell the user what they should do and why
Offer to do it for them

Closed by #17.
Note:

Offer to do it for them

was punted to a future feature.


Segmentation fault (core dumped)

Hi,
I'm running linux mint cinnamon 19.1 on a Lenovo Yoga 710.
I tried to install syncplay with the tar.gz archive according to the guide on your website. After taking care of many problems with python, I still get an error I have not enough knowledge to deal with.
Error:
Segmentation fault (core dumped)
What can I do to make your application work?
[btw, I'm quite noob on linux]

Hi, could you tell us exactly what did you do to set up your environment? Thanks.

For full functionality Sycplay has the following dependencies:

python >= 3.4.0 (Last version which supported Python 2 was Syncplay 1.5.5)
twisted >= 16.4.0 (on Debian based distros python3-twisted)
PySide >= 1.2.2 or PySide2 >= 5.12.0
certifi >= 2018.11.29
pyopenssl >= 16.0.0
service_identity
idna >= 0.6 != 2.3
VLC >= 2.2.1 and/or mpv >= 0.6.2

It would be helpful if you could let me know what versions you are using for these. It would also be helpful to know your system locale (i.e. what language everything is in).

@nirolada If you want, you could also beta test our AppImage release, downloadable from here. This release should allow you to use Syncplay without setting up its environment. Further information about AppImages can be found on the official website: https://appimage.org.

I am closing this since no feedback has been received in the past three weeks. Please feel free to reopen it if you still encounter this issue. Once again, I encourage you to test our AppImage.


[BSO] stash build_all stuck waiting

🐛 Bug Report
Currently unable to use the build_all command due to the bot getting stuck "thinking" this only happened once I bought the supplies I was missing
before buying gold leaf:

supplies (not really relevant but):

after purchasing gold leaf (Item I was missing):

Should be fixed now. Feel free to re-open if its not.


model type flag

Description
Please explain the changes you made here. Reference related issues if applicable.
Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update

Checklist

[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Related Issues
Fixes #8
How Has This Been Tested?
Describe how the changes were tested.
Additional Context
Add any other relevant information or screenshots about the PR.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.

Project coverage is 41.77%. Comparing base (39c90fc) to head (7f7021a).

Files with missing lines
Patch %
Lines

cmd/create.go
0.00%
2 Missing :warning:

cmd/review.go
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
- Coverage   41.91%   41.77%   -0.15%
==========================================
  Files          16       16
  Lines         594      596       +2
==========================================
  Hits          249      249
- Misses        337      339       +2
  Partials        8        8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Dyno.deserialize doesn't like JSON

The change I made in https://github.com/mapbox/dynamodb-migrator/pull/3 (use Dyno.deserialize, expecting wire-format from a backup instead of line-deliminated JSON) doesn't play nice with feeding in a list of keys that look like { id: "foo", collection: "foo:bar"}.
I think the migrator should continue support for line-deliminated JSON, especially in stream mode (i.e. for  "give me a list of keys to target, and I'll do stuff to them").  Maybe this should be an additional option passed only in stream mode, like a --json flag or something. Since I messed this up in the first place I can take this on, let me know what you think @rclark.

Yeah sounds good -- there's no way to auto-detect whether the file is coming at you in wire-format or objects, so the user would have to specify. Assume wire format, let the user flag it if they're dyno objects.
I cringe at calling one wire-format and the other JSON because they're both JSON. Got any better ideas though? I kinda don't.


[WIP] New  component

Type of change

[ ] 🐛 Bug fix
[x] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[x] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[ ] npm test runs as expected.
[ ] npm run build runs as expected.

Remaning TODOs

[ ] Add element descriptors
[ ] Duplicate localization keys from Switcher
[ ] Write unit tests

!snapshot

Hey @panteliselef - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.28.0-snapshot.08bec15

@clerk/chrome-extension
0.3.27-snapshot.08bec15

@clerk/clerk-js
4.56.0-snapshot.08bec15

eslint-config-custom
0.3.0

@clerk/clerk-expo
0.18.18-snapshot.08bec15

@clerk/fastify
0.6.4-snapshot.08bec15

gatsby-plugin-clerk
4.4.5-snapshot.08bec15

@clerk/localizations
1.25.0-snapshot.08bec15

@clerk/nextjs
4.23.3-snapshot.08bec15

@clerk/clerk-react
4.24.0-snapshot.08bec15

@clerk/remix
2.10.0-snapshot.08bec15

@clerk/clerk-sdk-node
4.12.3-snapshot.08bec15

@clerk/shared
0.22.0-snapshot.08bec15

@clerk/themes
1.7.5

@clerk/types
3.50.0-snapshot.08bec15

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# eslint-config-custom
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/themes
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

Hey @panteliselef - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.28.0-snapshot.6a4df90

@clerk/chrome-extension
0.3.27-snapshot.6a4df90

@clerk/clerk-js
4.56.0-snapshot.6a4df90

eslint-config-custom
0.3.0

@clerk/clerk-expo
0.18.18-snapshot.6a4df90

@clerk/fastify
0.6.4-snapshot.6a4df90

gatsby-plugin-clerk
4.4.5-snapshot.6a4df90

@clerk/localizations
1.25.0-snapshot.6a4df90

@clerk/nextjs
4.23.3-snapshot.6a4df90

@clerk/clerk-react
4.24.0-snapshot.6a4df90

@clerk/remix
2.10.0-snapshot.6a4df90

@clerk/clerk-sdk-node
4.12.3-snapshot.6a4df90

@clerk/shared
0.22.0-snapshot.6a4df90

@clerk/themes
1.7.5

@clerk/types
3.50.0-snapshot.6a4df90

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# eslint-config-custom
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/themes
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

!snapshot

Hey @panteliselef - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.28.0-snapshot.5a912ff

@clerk/chrome-extension
0.3.27-snapshot.5a912ff

@clerk/clerk-js
4.56.0-snapshot.5a912ff

eslint-config-custom
0.3.0

@clerk/clerk-expo
0.18.18-snapshot.5a912ff

@clerk/fastify
0.6.4-snapshot.5a912ff

gatsby-plugin-clerk
4.4.5-snapshot.5a912ff

@clerk/localizations
1.25.0-snapshot.5a912ff

@clerk/nextjs
4.23.3-snapshot.5a912ff

@clerk/clerk-react
4.24.0-snapshot.5a912ff

@clerk/remix
2.10.0-snapshot.5a912ff

@clerk/clerk-sdk-node
4.12.3-snapshot.5a912ff

@clerk/shared
0.22.0-snapshot.5a912ff

@clerk/themes
1.7.5

@clerk/types
3.50.0-snapshot.5a912ff

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# eslint-config-custom
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/themes
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

Closing this for now, as we are considering changes in the UI

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Change CLI default root-dir

Is your feature request related to a problem? Please describe.
The current default root-dir is ./.lodestar in the current working directory when running lodestar.
Using a local root-dir has been convenient for development/debug purposes, but its not standard behavior for systemwide-installed programs.
Describe the solution you'd like
Brainstorm / implement a better default root-dir path. Some possible options:

$HOME/lodestar
Something following the XDG standard: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#basics
??

+1 to follow the XDG standard. Otherwise, default to $HOME/lodestar

unstale

@wemeetagain If we implement this should there be any migration? How would it deal with existing DBs?

IMO we shouldn't provide tooling (code) for this but rather add a migration guide markdown document that includes directions like:
# Move the lodestar directory to XYZ
mv .lodestar ~/XYZ


Release @google-cloud/dataproc v0.3.0

This pull request was generated using releasetool.

Codecov Report

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

@@          Coverage Diff          @@
##           master    #87   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines           4      4
=====================================
  Hits            4      4

Continue to review full report at Codecov.

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

Release is at https://github.com/googleapis/nodejs-dataproc/releases/tag/v0.3.0


Chip Entity does not show Name even when filled

The Chips Entity has an option for Name (optional) but, when filled, the name does not show at the top of the chip as expected.
Chips would be more useful (having to rely more on Entity cards now) with a Name visible

Can you provide more detail, I unable to reproduce the issue (version of HA, version of mushroom, config exemple, screenshots, etc...)

Thanks for that. I had mistakenly left it at content_info default
However, I am having issues with being able to tell the state of an Entity Chip when using name as the icon does not change color with toggling on/off as the default entities does
I did not see any option to show this. I looked at icon colors but ended up leaving it as default.
Perhaps offering a secondary info for Chip entities would provide added functionality? That would allow me to show if on/off in case the icon cannot change color to show this.
`type: custom:mushroom-chips-card
chips:

type: entity
entity: switch.mudroom_heat_basement_dehumidifier_switch
name: Basement
tap_action:
action: toggle
content_info: name
icon: mdi:toggle-switch
type: entity
entity: switch.zooz_zen15_power_switch_switch
content_info: name
name: Leila Heat
tap_action:
action: toggle
type: entity
entity: switch.attic_dehumidifier_switch
content_info: name
name: Attic
tap_action:
action: toggle
type: entity
entity: switch.unfinished_dehumidifier_switch_2
content_info: name
name: Unfinished
tap_action:
action: toggle
type: entity
entity: switch.crawlspace_dehumidifier_switch
content_info: name
name: Crawl
tap_action:
action: toggle
alignment: center
`

Neither icon changes color or type when toggle the icon

Just add a icon_color property 🙂 it's available with the editor.  Thought that was the solid color not the toggled color...


Golinks giving build constraints error after update

Not sure if this is specific to my setup or a wider issue with some more common update. Running Ubuntu 22.04.3, and after a series of system/application updates I'm now getting the below error when trying to start the golinks service using the following Terminal command:
TS_AUTHKEY="tskey-auth-{keygoeshere}" go run ./cmd/golink -sqlitedb golink.db

imports github.com/tailscale/golink
imports tailscale.com/tsnet
imports tailscale.com/ipn/ipnlocal
imports tailscale.com/wgengine
imports tailscale.com/net/tstun
imports gvisor.dev/gvisor/pkg/tcpip
imports gvisor.dev/gvisor/pkg/atomicbitops
imports gvisor.dev/gvisor/pkg/state
imports gvisor.dev/gvisor/pkg/state/wire
imports gvisor.dev/gvisor/pkg/gohacks: build constraints exclude all Go files in<EMAIL_ADDRESS>
Also a Linux complete noob, but I tried running "./update-flake.sh" and "go clean -modcache" which both completed -though the error remains.

It's not clear what you're doing. You omitted any info on what command you ran to get those errors.

Apologies. I've updated the original description to include that it happens when I try to run "TS_AUTHKEY="tskey-auth-{keygoeshere}" go run ./cmd/golink -sqlitedb golink.db" in Terminal to start providing the golinks service.

If you updated the golinks code to a newer version, it's likely you need a newer version of Go now. Do you have Go 1.21?

Was running Go 1.20, upgraded to 1.21 and was getting the same error. Downloaded the golinks newest ZIP file and tried to start the service in the new folder, and it started without issue (though I'll need to redo the actual links again).

Sounds like you figured it out. Fwiw, you can move the database file over and not need to remake the links.


Add TEA Ebook app

Hi,
I would like to add https://app.tea-ebook.com/ to the app list.
TEA Ebook is an epub reader for french bookstores.
Thanks.

Looks good. Since this is a French language app, can you add a locales array to the YML file?
locales:
  - fr

The app is also translated in english. Should I add the en locale as well?

👍


Update ORTTrainer with transformers 4.22.1 release

What does this PR do?

Update ORTTrainer and ORTSeq2SeqTrainer with transformers 4.22.1 release.
Enable PyTorch’s Fully Sharded Data Parallel (FSDP) training feature in the trainers.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Druid configuration for HA cluster

We have requirement to setup Druid cluster with 2 coordinator-overlord nodes, 8 historical nodes and 4 query nodes. Could I get reference to the configurations for setting up this cluster in high availability mode.

Druid cluster is scalable and fault tolerant. You can follow the doc for cluster deployment.

Thanks @FrankChen021 . We want to setup the same cluster in GCP using kubernetes and multi region setup. Could you please help us .

@averma111 to run on k8s use this https://github.com/druid-io/druid-operator
Please feel free to open issues in the above repo :)


Is there any aggregate agent in Huginn?

Let's suppose I have two agents, both emitting events like:
{
  "message": "Hello!",
  "time": "2016-03-08"
}

and
{
  "image": "https://imgs.xkcd.com/comics/standards.png",
  "title": "Standards"
}

What I would like to get is an aggregated event by merging the two:
{
  "message": "Hello!",
  "time": "2016-03-08",
  "image": "https://imgs.xkcd.com/comics/standards.png",
  "title": "Standards"
}

Is it possible to do in Huginn?

Hey @elvetemedve. That's a great question and suggestions.
Huginn doesn't really synchronize Events, so it'd be hard for it to know which ones you want to merge. Perhaps an Agent could have a window of time that it looks back, then merges any events received in that time into a single new one.  Would that work?

Hey @cantino,
That sounds good to me. Thanks for the hint.
I'll try to put together someting like this using a Javascript Agent. If I can get the list of connected sources and the actual source of a received event, then it should not be too hard.

Is there a way to get the IDs of connected source agents from a Javascript Agent?

I don't think we have a JS API for that right now, but it would be pretty strightforward to add if you'd like to give it a try.  Expose the Ruby result of sources.pluck(:id), basically.  Want to give it a try?

My Ruby knowledge is not too deep, so I won't try it now. IMHO a native agent would be better as a final solution. I think of the Javascirpt Agent implementation as a proof of concept.

I managed to create a simple event aggregate agent which merges the events from sources into a singe event.
Here is the JS code of it:
Agent.check = function() {

};

/**
 * Store all received event in memory for each source.
 * When all source emitted at least one event, look for trigger events.
 * Trigger events are coming from the configured triggering sources. When such
 * an event is received, this agent will merge all stored events and emit it.
 */
Agent.receive = function() {
  // "sources" is an array containing the attached agent's IDs
  // "triggeringSources" if we get an event from these agent,
  // then we should create a new event.
  var config = {"sources": [15,10], "triggeringSources":[10]};
  var events = this.incomingEvents();
  for(var i = 0; i < events.length; i++) {
    var agentId = events[i].agent_id;
    this.memory(agentId, JSON.stringify(events[i].payload));
    this.registerRecievedSource(agentId);
    if (config.triggeringSources.indexOf(agentId) != -1 && this.haveReceivedFromdAllSources(config.sources.length)) {
      this.createEvent(this.mergeReceivedEvents(config.sources));
    }
  }
};

/**
 * Register the fact that we have received an event from the given agent.
 */
Agent.registerRecievedSource = function(agentId) {
  var sources = this.memory('sources') ? JSON.parse(this.memory('sources')) : [];
  if (sources.indexOf(agentId) == -1) {
    sources.push(agentId);
  }
  this.memory('sources', JSON.stringify(sources));
};

/**
 * Check if all source agents have sent at least one event.
 */
Agent.haveReceivedFromdAllSources = function(numberOfSources) {
  var sources = this.memory('sources') ? JSON.parse(this.memory('sources')) : [];

  return sources.length == numberOfSources;
};

/**
 * Merge the JSON data from the given agents and return the result.
 */
Agent.mergeReceivedEvents = function(sources) {
  var mergedEvent = JSON.parse(this.memory(sources[0]));
  for (var i = 1; i < sources.length; i++) {
    var event = JSON.parse(this.memory(sources[i]));
    for (var attribute in event) {
      mergedEvent[attribute] = event[attribute];
    }
  }

  return mergedEvent;
};

IDs of the source agents are stored in a static array. It could be eliminated if it were a native agent.
Similarly I have a static configuration of sources which could trigger the merging. This also could be configured by ticking in checkboxes as a native agent.

Cool!  If you want to try it as a native agent, I'm happy to answer questions and offer code review.

This is indeed a useful feature. Yahoo Pipeline used to be able to do this.

It would make it a lot easier than funneling everything through to an agent that runs on a particular schedule (like EmailDigestAgent).

I'd be open to someone working on this.

I've modified @elvetemedve's code a little bit. My version is designed to collect new events from all of the sources and then push one aggregated. I am using this to aggregate couple of web crawlers scheduled at the same time. This modification allows to avoid race condition between agents and push event only when all of them finished the job.
Agent.check = function() {

};

/**
 * Store all received event in memory for each source.
 * When all source emitted at least one event, look for trigger events.
 * Trigger events are coming from the configured triggering sources. When such
 * an event is received, this agent will merge all stored events and emit it.
 */
Agent.receive = function() {
  // "sources" is an array containing the attached agent's IDs
  // "triggeringSources" if we get an event from these agent,
  // then we should create a new event.
  var config = {"sources": [25,24,23]};
  var events = this.incomingEvents();
  for(var i = 0; i < events.length; i++) {
    var agentId = events[i].agent_id;
    this.memory(agentId, JSON.stringify(events[i].payload));
    this.registerRecievedSource(agentId);
    if (this.haveReceivedFromdAllSources(config.sources.length)) {
      this.createEvent(this.mergeReceivedEvents(config.sources));
      this.log("Event sent")
      this.clearRecievedSource()
    }
  }
};

/**
 * Register the fact that we have received an event from the given agent.
 */
Agent.registerRecievedSource = function(agentId) {
  var sources = this.memory('sources') ? JSON.parse(this.memory('sources')) : [];
  if (sources.indexOf(agentId) == -1) {
    sources.push(agentId);
  }
  this.memory('sources', JSON.stringify(sources));
  this.log(`Agent ${agentId} added, currently ${sources.length} stored`)
};

Agent.clearRecievedSource = function(agentId) {
  this.memory('sources', JSON.stringify([]));
  this.log(`Recieved list cleared`)
};

/**
 * Check if all source agents have sent at least one event.
 */
Agent.haveReceivedFromdAllSources = function(numberOfSources) {
  var sources = this.memory('sources') ? JSON.parse(this.memory('sources')) : [];

  return sources.length >= numberOfSources;
};

/**
 * Merge the JSON data from the given agents and return the result.
 */
Agent.mergeReceivedEvents = function(sources) {
  var mergedEvent = JSON.parse(this.memory(sources[0]));
  for (var i = 1; i < sources.length; i++) {
    var event = JSON.parse(this.memory(sources[i]));
    for (var attribute in event) {
      mergedEvent[attribute] = event[attribute];
    }
  }

  return mergedEvent;
};


Mistake in README.md

var slug = tr.slugify;
var tr = transliteration.transliterate
'tr' was used before it was defined.
Please fix
var transliteration = require('transliteration'),
tr = transliteration.transliterate,
slugify = transliteration.slugify;

I've just fixed it, thanks for reporting!


Documentation for querying custom fields in API missing

Issue type
[ ] Feature request
[ ] Bug report
[X] Documentation

Environment

Python version:  3.6.2
NetBox version:  2.3.4-dev

Description
After hours of searching through documentation and source code how to query custom fields through the API, I eventually found out that this is actually possible by adding a cf_customfieldname=search_value as a query parameter.
This isn't very obvious unfortunately and I can't find anything in the documentation describing this functionality. Therefore, I think it'd be handy to add proper documentation on the API documentation site.
Thanks.

@friek Thanks for even reporting here, I was struggling with the same thing. It is very useful.


Cloudflare challenge updated?

Since this morning : CaptchaError: captcha on v4.0.1
var cloudscraper = require('cloudscraper').defaults({
  headers: {
    'Connection': 'keep-alive',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'Accept-Language': 'en-US,en;q=0.9'
  }
});
var uri = 'https://www.japscan.to';
cloudscraper.get(uri, function (error, response, body) {
  if (error) {
    throw error;
  }
  console.log(body);
});

error:
node_modules/request-promise-core/lib/plumbing.js:130
            throw thrownException;
            ^
CaptchaError: captcha

@ArnaudPiroelle It's the headers that you're using. Cloudflare has improved their browser integrity check (BIC) which is the main reason why v4.0.0 came so quickly. If you use the default headers, meaning don't override, Cloudscraper works just fine. UA randomization was tricky but we've got you covered in v4.0.0. :tada: If you want brotli support on nodejs versions prior to v11: npm install --save brotli. If you want bulletproof header then you want brotli support. Good luck!

Indeed! I upgrade node to v12 and it's works...
Thanks ;)


[FLINK-17084][table] Implement input type inference and output type strategy for ARRAY/ROW/MAP built-in functions

What is the purpose of the change
The type strategies are implemented using the new type stack. It also
removes those three planner expressions from the Blink planner as they
are no longer needed. Equivalent expressions in flink planner are not
yet removed as they are needed for converting to RexNodes.
It disables the FunctionDefinitionConvertRule for built-in functions as
the BridgingSqlFunction call generator supports only user defined functions so far.
Verifying this change
Added tests in InputTypeStrategiesTest and TypeStrategiesTest
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

I added the tests you asked for. I found out that it actually does not work for sql (works well for table api in this PR). I created a jira issue to track it: https://issues.apache.org/jira/browse/FLINK-17144


UI isn't refreshing correctly after large file operations

decouple the UI from the library events
trigger UI updates after filesystemwatcher buffer has emptied with an event

https://github.com/MediaComplete/MediaComplete.Lib/issues/2


Update submission received email

This is the email I received when a team member created a submission.
Hello,

Thomas Yu (thomas.yu) has created a submission to NLP Sandbox (NLP sandbox - Date Annotator) on behalf of NLP Sandbox Bots.

For further information please visit the challenge page.

Sincerely,

Synapse Administration

Can this message we updated?=

I would clarify that "NLP Sandbox Bots" is a team.
I would also remove the mention of "challenge".
Update the signature

For example:
Hello,

Thomas Yu (thomas.yu) has created a submission to the NLP Sandbox (NLP sandbox - Date Annotator) on behalf of the team NLP Sandbox Bots.

For further information please visit the project website.

Sincerely,

The NLP Sandbox Team

@tschaffter Ya, I will add an extra email template step and just disable the submission start emailing step that the orchestrator does.

@tschaffter Ohh also this isn't the email I'm talking about. i'm talking about this email.

@thomasyu888 I know. Let's say the present ticket is about the "submission received email", and the other ticket is about the "submission started email". Do you know where the latter ticket is?

@thomasyu888 I update the name of this ticket

There isn't a ticket for the latter.  Ill open a ticket.

@tschaffter To follow up with Platform team

Created this JIra: https://sagebionetworks.jira.com/browse/PLFM-6825.  Can close this ticket if we think the Jira ticket is enough.


Feature: add more opensauced.pizza branding

Type of feature
Style
Current behavior
We only have one logo and no pizza
Desired solution
Add more sauce to the footer, the header and, potentially, the navigation bars.
Announcement bar with a default message would be nice.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Are the graphical images/resources available?

Are the graphical images/resources available?

They are but they are also not up-to-date, @bdougie can we update https://github.com/open-sauced/assets or do we link to the new landing page?

My updates:

Thoughts? Shall I make a PR?

Waiting on getting the assets from the designer but will circle back with a zip. I will also update the assets repo


Add Hamburger Menu for Navbar on Mobile Devices

The current navigation bar lacks a hamburger menu for mobile devices, affecting the overall user experience on smaller screens. To improve responsiveness, I propose adding a hamburger menu that toggles the navigation links when viewed on mobile devices.
Please assign me with gssoc-ext and hacktoberfest tag . i want to work on this project!
Thankyou!

@srishti023 @ark0078 Thanks for creating the issue in BuddyTrail!!! The issue has been assigned to you.
Before you start working on your PR, please make sure to:

⭐ Star the repository if you haven't already.
Pull the latest changes to avoid any merge conflicts.
Attach before & after screenshots in your PR for clarity.
Include the issue number in your PR description for better tracking.

Level will given at the time of PR merge .Contributors  level will increase based on the quality and quantity of their contributions. The more effort and value you bring, the faster you'll progress. Put forth your best effort to unlock new levels and opportunities!
I'm excited to see your contribution as part of GSSOC EXTENDED 2024! 🎉
Don't forget to follow me on GitHub for more updates.
Happy open-source contributing! 🚀


jar部署到winserver2012 r2 上面服务器上的服务不定时停止

版本号：
2.2.1
问题描述：
jar部署到winserver2012 r2 上面服务器上的服务不定时停止。log日志如下。请指导调查方向谢谢。
截图&代码：

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (malloc) failed to allocate 32744 bytes for ChunkPool::allocate
Possible reasons:
The system is out of physical RAM or swap space
The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap
Possible solutions:
Reduce memory load on the system
Increase physical memory or swap space
Check if swap backing store is full
Decrease Java heap size (-Xmx/-Xms)
Decrease number of Java threads
Decrease Java thread stack sizes (-Xss)
Set larger code cache with -XX:ReservedCodeCacheSize=
JVM is running with Unscaled Compressed Oops mode in which the Java heap is
placed in the first 4GB address space. The Java Heap base address is the
maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress
to set the Java Heap base and to place the Java Heap above 4GB virtual address.
This output file may be truncated or incomplete.

Out of Memory Error (allocation.cpp:272), pid=102752, tid=0x0000000000008d20

JRE version: Java(TM) SE Runtime Environment (8.0_321-b07) (build 1.8.0_321-b07)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.321-b07 mixed mode windows-amd64 compressed oops)
Core dump written.

是的啊  我们尝试了些解决办法都没啥效果。请问有什么好的建议调查思路没啊？

启动的时候设置下内存参数，正常是不需要设置，只有服务器内存够就没问题


Gmres QR (rebased)

from https://github.com/google/jax/pull/4175

@alewis @gehring could you kindly consent to this PR again?
(I wanted to consolidate commits a little bit to de-clutter Git history)

@googlebot I consent.

@googlebot I consent


Minnaker install: initial login redirects to an invalid path

First login redirected to incorrect path.
path: https://<IP_ADDRESS>/api/v1/auth/redirect?to=http%3A%2F%2F<IP_ADDRESS>%2F%23%2Fsearch
response: {"timestamp":1575481570976,"status":400,"error":"Bad Request","message":"Requested redirect address not recognized."}
Hitting the IP address again gave me access to spinnaker, and subsequent logins work correctly.

Thanks for testing this @JeffCertain .  We will look into this as a bug and determine what could be causing this issue on first login.

First login redirected to incorrect path.
path: https://<IP_ADDRESS>/api/v1/auth/redirect?to=http%3A%2F%2F<IP_ADDRESS>%2F%23%2Fsearch
response: {"timestamp":1575481570976,"status":400,"error":"Bad Request","message":"Requested redirect address not recognized."}
Hitting the IP address again gave me access to spinnaker, and subsequent logins work correctly.

Exactly same issue here.


Closes: #1

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #1614

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


show polymer help and documentation in pub-serve

 Issue by sigmundch
Originally opened as dart-lang/sdk#20651

An idea:

 Comment by jakemac53

@sigmund is this part of https://codereview.chromium.org/513023002/? I know you had something working earlier.

Set owner to @sigmundch.

 Comment by sigmundch

An idea:
 - move all polymer documentation to the polymer package itself
 - serve the documentation not only in the site, but also make it available as an asset in pub-serve.
This would allow us to change docs together with changes in the package, but also to point to longer explanations about errors directly in pub-serve without requiring an internet connection

Removed area-kp label.
Added area-pkg label.

 Comment by sigmundch

yes - that CL covers error messages, but not the rest of the online documentation. this might be a good balance to start with.


[PE-D][Tester D] UI Color Scheme Not Appropriate For Target Audience

Describe the bug
Although this bright green fun colour scheme could be fine for people wanting to manage friend contacts, the UG also mentions that this could be used in an academic or work environment. Thus, the overall appearance of the UI could appear slightly unprofessional and not appeal to a portion of the target audience.
Corresponding Screenshot

Possible Solutions
For a more professional colour scheme, the developers can consider using simpler, monotone colours (like black and white).

Labels: severity.VeryLow type.FeatureFlaw
original: jayjay19630/ped#1

We don't think that this is considered a bug. We will stick with the current colour scheme.


Issues

Traceback (most recent call last):
File "/app/main.py", line 77, in
cs_list = code_scanning.list_code_scanning_alerts(
AttributeError: module 'src.code_scanning' has no attribute 'list_code_scanning_alerts'. Did you mean: 'list_org_code_scanning_alerts'?
Seeing following issues while trying to use this , Thanks for getting this actions though very useful

@some-natalie  Tagging for visibilty , Really appreciate if get any assistance on this issue please

Hey @yrsurya, can you try v0.4.0?  I think that's fixed by #7 that was merged but untagged.

Run<EMAIL_ADDRESS>/usr/bin/docker run --name cd98fb5997da1b9624d92bd0035558adb883f_d2e112 --label 4cd98f --workdir /github/workspace --rm -e GITHUB_PAT -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e GITHUB_STEP_SUMMARY -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/secret-scanning-reports/secret-scanning-reports":"/github/workspace" 4cd98f:b5997da1b9624d92bd0035558adb883f
Traceback (most recent call last):
File "/app/main.py", line 80, in
code_scanning.write_repo_cs_list(cs_list)
File "/app/src/code_scanning.py", line 81, in write_repo_cs_list
if cs["state"] == "open":
TypeError: string indices must be integers

@some-natalie  Any update on above error , Please let me know if need more inforamation

Hey @yrsurya - the cryptic-ish error means your PAT either is invalid or has the wrong scope needed to do.  I haven't yet had the time to improve some of the error handling to give more/better info on why it failed, but the work is defined in #9 if you care to take a stab at it. ❤
Here's what this looks like when running on the same repository that it is defined in:
    steps:
      - name: CSV export
        uses: some-natalie/ghas-to-csv@main
        env:
          GITHUB_PAT: ${{ secrets.PAT }}

I am sure provided correct PAT keys which had admin access to whole org , do we need to provide org details somewhere while pulling org wide secrets?

Hey @yrsurya , here's what it looks like for org-wide:
      - name: CSV export
        uses: some-natalie/ghas-to-csv@main
        env:
          GITHUB_PAT: ${{ secrets.PAT }}
          GITHUB_REPORT_SCOPE: "organization"
          SCOPE_NAME: "org-name-goes-here"


Set up backend

Hello fellow code reviewer,
Tasks I completed for this PR:
Backend:
I created a new Rails API app called 'hello-rails-back-end'.
I ensured that my project had a Postgres database set up.
I created a table for storing messages and added 5 different greetings.
I created an API endpoint that selects a random greeting from the table, incorporating a controller with an action and a Rails route.
Frontend:
I created a new React app called 'hello-react-front-end'.
I initialized the project with Git.
I created the App component with react-router.
I created the Greeting component to display a greeting, setting it up as a route within the App component.
I implemented a store, an action, and a reducer to connect to the API endpoint and retrieve the random greeting.
I displayed the random greeting in the Greeting component.
Documentation:
I added a link to my React app in the README file for the Rails API.
In the README file for the React app, I included a link to the Rails API.
For the review submission, I provided a link to the pull request in the Rails API.
In the frontend part repository, I included a PR with the necessary changes.
Thank you for your time and feedback.

Hi @jlberbesi
The link you shared for the frontend is not correct, and I therefore, unable to access the frontend

@rloterh That was done my friend.


mobx-react 3.0.4 breaks mobx-reactive2015-demo

onCanvasClick (in canvas.js) is not invoked on mouse click. Works fine when I downgrade to mobx-react 3.0.3.
Here's my package versions:
node 4.2.2
npm 2.14.7
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

On further investigation it appears not to be a problem with mobx-react level.


feat: exponential backoff for retries and permit cancelling bot.init

Makes sure that bot.init does not retry too fast.
Allows passing an AbortSignal to bot.init so the initialization process can be cancelled anytime.
Makes sure that calling bot.stop will abort any pending initialization.
Makes sure that polling does not start if the bot is stopped while the onStart callback is running.
Closes #291.

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

Comparison is base (59c5379) 36.65% compared to head (5938a95) 36.31%.

: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             @@
##             main     #377      +/-   ##
==========================================
- Coverage   36.65%   36.31%   -0.35%
==========================================
  Files          18       18
  Lines        4602     4646      +44
  Branches      166      166
==========================================
  Hits         1687     1687
- Misses       2913     2957      +44
  Partials        2        2

Impacted Files
Coverage Δ

src/bot.ts
15.45% <0.00%> (-2.50%)
:arrow_down:

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 at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Fix service definition and restore functions.

In 14db22f0, the DoctrineAuditRoutingLoader class was renamed but the service
definition was never updated. Additionally, some function calls, used in the
service definition were removed but the definition was never updated, causing
symfony to fail to intilize the service.

@roygoldman thanks for this PR but I won't merge it since I already pushed a fix to master

Awesome, I figured you would want to change the function name to correspond, but didn't have a suggestion of my own. Thanks for fixing everything!


How to use parsexp?

Hi, everyone,
I am trying to learn how to use Parsexp. I am sorry if I'm missing the obvious, but I couldn't find a basic example of how to use the library in the README, nor could I find any link to documentation.
Is the source code the only source of documentation?
Thanks for your time.

Hi Tiago,
Yes, it's true that a few examples of usage would help. I don't have time to write them at the moment, but here are a few simple example:

parsing a string containing a single s-expression: Parsexp.Single.parse_string_exn <string>
parsing a string containing a list of s-expressions: Parsexp.Many.parse_string_exn <string>
parsing a string containing a list of s-expressions and converting them to a list of integers (requires ppx_sexp_conv):

Parsexp.Conv_single.parse_string_exn <string> [%of_sexp: int]

Hope that helps

Hi Jérémie,
Meanwhile I understood Sexlib.of_string was enough for what I needed. I can add an example of using  Parsexp in the README if you are interested.
When would you want to use Parsexp.parse_String_exn instead of Sexlib.of_string?

Closing this PR as there doesn't seem to be anything more to do.


[civetweb] Dynamic linkage, debug pc file

Enable dynamic library linkage.
Install pc file for debug build.
Add usage file.
Cleanup.

Usage provided by CMake and pckconfig module test passed on x64-windows.


Cast integer and Float values when reading from dict

serializing and deserializing a dictionary (for example by storing it in a redis db) saves the ints and floats as string.

@lomenzel
Interesting. I'm using firebase's no-sql firestore database and it serializes as numbers just fine. The only field that serializes as a string is 'due'.
Might this be just a redis db issue?

It may be a redis issue. I first noticed a problem with State.New got serialized to "<State.New: 0>". It might be possible to Jsonify before storing it in redis but I thought it would be more elegant if fsrs also accepts the values being strings if they can be parsed

Understood. I'll take a look at the PR later today 👍

I'm taking a look at the ReviewLog's to_dict method and noticed that, while we have a self.state.value, we don't have a self.rating.value. You mentioned that your state variables are being serialized as strings, what about your rating variables? Are they also being serialized as strings?

haven't tried to serialize a review log yet but since it is also an int Enum i expect it to be

Would you mind giving that a shot just to confirm? If that also serializes as a string, could I get you to update the casting of the Rating variables and then bump the patch number in the pyproject.toml?

yes, it gets "<Rating.Easy: 4>"


cdan

first

1、please modify copyright to xidian
2、mindvision is no longer maintained. could you try mindcv?