Kibana 6.4.x upgrade

Upgrading Datasweet Formula for Kibana 6.4.x.
Closes #26
Main changes:

[x] Project structure changed due to new Kibana Plugin Generator
[x] Private injector changed in some module imports (see Plugin API Changes in 6.4)
[x] applyColumnGroups params changed
[x] ESLint config added and code style fixed

To run the project using the scripts provided by Kibana Plugin Generator, you should place this plugin inside ../kibana-extra folder, then run yarn kbn bootstrap and yarn start.
Since this is a big change in project structure, I suggest you to organize plugin releases versions by Kibana versions (just as I did in my plugin). E.g.: Datasweet Formula's v1.1.1 plugin works for Kibana versions from 5.6.x to 6.3.x, version v1.2.0 works for Kibana 6.4.x. What do you think, @tcharlot-datasweet?

Hi @gmatheus
Thx for your PR :+1: !
Just one question : i guess with your changes, the plugin can't be updated for previous version of kibana ?

@tcharlot-datasweet That's right. This is mainly because Elastic team updated the plugin development scripts since Kibana 6.3. The plugin-helpers dependency is now a package inside ../../kibana/packages, so, to run/build the project, you must have an updated Kibana copy inside parent folder.
They also removed some Angular services and changed some classes from Kibana source code, so we had to refactor some imports (just as you did in the first commit of this PR). In the long term, this can generate a lot of conditional-versioning logic in the code.
If you organize plugin releases versions as I mentioned above, sometimes you can backport a feature or bugfix through versions. Example:

Imagine you have master branch and v1.1.x branch. Master is for Kibana 6.4.x and v1.1.x branch is for Kibana 5.6.x ~ 6.3.x versions.
Some bugfix is pushed to master. You can backport it if needed:

git checkout v1.1.x
git cherry-pick <commit from master>

This applies the bugfix commit from master into v1.1.x branch!
If your team depends directly on previous versions of Kibana, you can do the opposite: set the master branch to point to the current version of plugin and create a new branch to handle 6.4.x version and future updates. In this case, this PR should target your 6.4.x branch instead of master. What do you think?

Hi @gmatheus
Can u fix your PR ? I will create a new branch v1 for old kibana (<= 6.3.x) and merge your changes into master.
Thx for your time 👍

@tcharlot-datasweet Conflicts resolved! Please wait a little bit to merge this one, I just noticed an error while using the Formula Plugin with "other values" feature (from terms bucket aggregation):

I'll try to fix this in the next days!

Ok 👍
Thx :)

Just realized this is not a plugin-related bug (see this issue), so I guess we're ready merge this PR!

@tcharlot-datasweet , do you plan to merge this PR and release it soon? We migrated Kibana to 6.4 and datasweet plugin is not working now. It would be very helpful if this fix releases. Thanks in advance and great work!


sharing favorites / filter / settings of tarifs etc via google account

Shold be possible to share data across devices via google account (like many other apps do so). No need of own synchronisation server etc. Same count = same config :)

Related to #85.
Sync via Google Account (i.e. data stored in Google Drive) could be a relatively straightforward solution, however we have to keep in mind that this would only work on devices with Google Services, so the F-Droid version of the app would not be able to use it.

Documentation: https://developers.google.com/drive/api/guides/appdata, https://googleapis.github.io/google-api-java-client/android.html


bash block in Adding a system path seems errant

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-system-path
What part(s) of the article would you like to see updated?
echo "{path}" >> $GITHUB_PATH

Additional information
This block seems errant. It's incorrect. It won't do what the user is trying to achieve and won't do the other thing that the user could be interested in considering.
The simplest resolution would be to remove the block entirely.
I'm not sure what was intended, and I have a headache, so I'm going to leave things at that.

quite a few examples in this file use {value} instead which would be less confusing, as it would be slightly more obvious to a user that it's a thing that should be substituted, whereas {path} is very close to ${path} which is a bash notation for an expansion of a variable named path.

@jsoref Thanks for opening a PR! I'll get this triaged for review ✨

echo "{path}" >> $GITHUB_PATH لا اله الا الله محمد رسول الله

@jsoref 👋 Thanks for your contribution and as ever, thanks for opening an issue first. You're correct about that block and I agree with you that the simplest solution would be to remove it. For the sake of keeping this issue on the named topic, you or anyone else is welcome to open a PR with that change.
I agree with you in principle about the placeholders in the rest of the article, but I'd prefer to handle that separately, and we're happy to discuss that with you in a new issue if you're interested. This article doesn't conform to our new(ish) guidance on placeholders, so we'd look to update it to do that: https://docs.github.com/en/contributing/style-guide-and-content-model/style-guide#placeholders


pullPolicy for brokerJob fetched from wrong section of values.yaml

Describe the bug
In values.yaml, the image pullPolicy is listed under .Values.[type].configuration.brokerPod.image.pullPolicy.
However the pullPolicy actually used comes from a level up at .Values.udev.configuration.pullPolicy.
That means specifying the pullPolicy as documented in values.yaml has no effect.
Expected behavior
The pullPolicy documented in values.yaml is also the one used in the templates.
I'd imagine the templates should change, since the pullPolicy in the values is in the expected place, but either way around would work.

@melinda-mytra nice find. I agree that fixing this in the templates so jobs use the same pattern as pods is the right approach. Would you be willing to take this on?


Optimize position of login popup for multi-monitor setups

This PR is to optimize position of login popup for multi-monitor setups. It centre aligns the popup in chrome and firefox also opens the pop up in the right screen.
The solution for this is to calculate the left and top positions of the popup from the screen resolutions. The solution I referred to: https://stackoverflow.com/questions/4068373/center-a-popup-window-on-screen

The link that you added to PR is to the question not the answer. So please add the link to the answer.
Also availLeft and availTop are non-standard. So if we can avoid them, we should. What's the point of having those in the calculation?
You can see that in here it's suggesting that we should avoid using this attribute if we can.

The solution I pointed out. It is what I referred. I googled on how else to get the screen left offset. And went through MDN docs and saw availLeft and availTop. We need to add those so that it aligns in the centre. It represents the left position of the available screen space, excluding areas occupied by other system elements.
I have added jsdoc that explains everything, And on the position from top have reverted changes as we need  popup to show up closer to the top of the page.
When going through all the solutions I realised that we need to add a left offset. I avoided using window.screenLeft or window.screenX to solely depend on screen calculations instead of window

Since @PoornimaVKrishnan couldn't find any solution that works consistently, we decided to just close this PR.
Refer to this comment for more information.


Adds a Tomcat lookup

The TomcatLookup can be used to retrieve the engine, host and context names under which the application is running. These are also provided by the original Tomcat JULI implementation (cf. ClassLoaderLogManager#replaceWebApplicationProperties).
It also provides three helper properties *.logger that resolve to the logger name used by ServletContext#log.

I am against introducing components for 3rd party software integrations. These better be developed and maintained by the community; Log4j provides first-class extensibility mechanisms for this very reason. The core is complicated enough; there is a never-ending backlog of issues and improvements that can take the lifetime of the entire team. I think maintainers should rather focus on those.


Introduces Cache API

This introduces the new API wazero.Cache interface which can be passed to wazero.RuntimeConfig. Uses can configure this to share the underlying compilation cache (in-memory cache by wasm.Engine or the compilationcache.NewFileCache) across multiple wazero.Runtime. And along the way, we deletes the experimental file cache API as it's replaced by this new API.
Notably this allows us namespace API which complicates the API as well as the internals, and the removal of it will be done in a subsequent PR.
Signed-off-by: Takeshi Yoneda<EMAIL_ADDRESS>

no intention to neither delete namespace in this PR

thanks. I will look into this this evening!


Int16 attribute type breaks rendering

Describe the bug
Int16 attribute type for vertex stream position doesn't render with d3d11, d3d12 or Vulkan. But works with d3d9, opengl, metal.
To Reproduce
Repro using 01-cubes sample: https://github.com/CedricGuillemet/bgfx/commit/374a52ac6660852b536f5df4af9a2ddb378e7d20
Expected behavior
Expected sample to render cubes.
Additional context
If this is unsupported by the API (I didn't find any relevant info), it should be exposed as a cap.

Note that this works in all backends if you change a_position in varying.def.sc from vec3 to ivec3.

@bkaradzic Do you think it's a bug that can be fixed in bgfx? If not, work is on my side.

Yeah, not a bug... It should be int vector type in shader.


Update PxL script Vis Specs to use required arguments.

(WAIT TO LAND: needs fix for Invalid VIs spec error for missing argument defaultValue field)
This PR should cause no visible changes. Instead, it is preparation for @NickLanam's planned UI changes that will alert users to the fact that some scripts have required arguments without which no Live View data will appear:

Required args will be denoted with an asterisk next to the argument name.
An error message when the user tries to run a script missing required argument values.

Vis Spec Arguments:

To make a Vis Spec's argument required, omit the defaultValue field. To run the script, a value must be provided in the Live UI / CLI / API.
To make a Vis Spec's argument optional, provide a defaultValue field containing a string or empty string. An empty string means it's not pre-filled argument, but it's optional anyway.

Updates to the README.md are to fix the linter check

The invalid vis spec issue turned out to be a false alarm. It is safe to do this with the UI code as it is today. Thanks for the quick update!


Remove JLayout and replace with flex layout PART 5 (Javascript)

See https://github.com/silverstripe/silverstripe-framework/issues/6012 for full description
Because I had to remove the majority of the Javascript to implement a flexbox layout, we have removed a lot of other needed layout code. We need to work out what code needs to be kept to work independently from JLayout.
I haven't looked too far into this but we should be keeping the functionality that .column-hidden provides which hides and shows panels. Refer to the sections which have been removed in order to style in flexbox format here https://github.com/open-sausages/silverstripe-framework/commit/f56537c32a0c28870759c65022a68d86c11dba8a
PART 5 Everything works with preview and panel size adjustments:

[x] Split mode

[x] Preview mode

[x] Edit mode

[x] Auto change to split mode

[x] Disable split mode for small screens

[x] Framework test module

Pull request is part of the parent issue https://github.com/silverstripe/silverstripe-framework/issues/6012


Conditional top 20

Closes #82

Merging to continue. @matthewsmawfield Please do review this at your leisure some time later. Thanks!


Upload dataseg in git repository

Currently the dataset is hosted on OSF. It would be more convenient to host the data using git technology.
Pros:

sct_run_batch can include the version of git-versioned dataset in the log file
People can open issues in the GH repository if there are problems with some data
People can submit PR (eg: update of spinal cord mask).

Suggestions
We have the following options to make this happen:

Create a new repository to host the datasets on github. Files are small enough. The whole dataset is ~100MB.
Create a GIN git repository on Compute Canada. Tagging @kousu

Dataset has now moved to https://github.com/sct-pipeline/gm-challenge-data


[Task]: Upgrade Hadoop version used for performance testing

What needs to happen?
Currently, our HDFS performance tests pull an image made by a former contributor 5 years ago and no longer maintained: https://github.com/apache/beam/blob/8ec0568d12d495e83719848fe23c2474177b009d/.test-infra/kubernetes/hadoop/LargeITCluster/hdfs-multi-datanode-cluster.yml#L80
We also have other k8s scripts pulling thrid-party images that is likely not receiving maintenance throughout .test-infra. In general, the docker file should be included in beam repo and someone can upgrade it.
Issue Priority
Priority: 2
Issue Component
Component: testing

Also resolves CVE-2022-25168


⚠ Bofrost.lu has degraded performance

In 7cb175e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2654 ms

Resolved: Bofrost.lu performance has improved in 0fd8adc after 1 hour, 27 minutes.


What is the chance to add Subscription ?

Hey, your client works perfect with Query and Mutation.
Its any chance to add Subscription support >>??

Thanks. This is a good suggestion. I will look into it. The newer python versions support async out of the box. I am not 100% familiar with subscribe, but I imagine passing an async iterable to a call back function.

If you need i can create server GraphQL with few subscription to test?

Any chance to write anything in actual month??

Yea I can. Can you get the test server up?

ofc, give me 2 days. I will send info

Any updates on the issue?

I haven't had any time to work on this, but I am still waiting for the test server info.

Websocket support would indeed be great, so we can have subscriptions :)

Can you provide more details on how you would like to use a subscription API? It will help me determine the best interface.

Sorry I fear I'm not familiar enough with Python and its async library to provide a relevant feedback in API design.
In JS, this doc shows how subscription client is created, and here is the subscription API:
apolloClient.subscribe({
  query: gql`
    subscription onNewItem {
        newItemCreated {
            id
        }
    }`,
  variables: {}
}).subscribe({
  next (data) {
    // Notify your application with the new arrived data
  }
});

Also, you may have a look at this Python gql client that apparently supports subscriptions: https://github.com/tdip/gql-subscriptions/tree/develop

Thanks, this is helpful. I wrote something far simpler than tdip's gql subscriptions package. I also use websockets, but the problem is that the connection must be kept alive with a while True statement. I've posted the question here https://github.com/aaugustin/websockets/issues/581
I'm thinking of keeping the API very basic so the keep-alive problem is transferred to the developer for now. The only use case I'm testing against is whenever a subscription is received, the payload is printed. I can commit the code this weekend.


Another parser bug to test

Here is another good test case showing a bug in egglog.
I found it implementing a flattener for egglog rules

Fixed by #98


[3.0] Remove Dubbo embedded JSON implementation

What is the purpose of the change
Dubbo embedded JSON implementation is no longer needed in Dubbo.
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #9474 (d748273) into 3.0 (4b2a2af) will decrease coverage by 0.23%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                3.0    #9474      +/-   ##
============================================
- Coverage     65.31%   65.07%   -0.24%
- Complexity      354      355       +1
============================================
  Files          1204     1204
  Lines         52079    52079
  Branches       7783     7736      -47
============================================
- Hits          34017    33893     -124
- Misses        14430    14547     +117
- Partials       3632     3639       +7

Impacted Files
Coverage Δ

...a/org/apache/dubbo/rpc/filter/AccessLogFilter.java
24.35% <0.00%> (-44.88%)
:arrow_down:

...va/org/apache/dubbo/rpc/support/AccessLogData.java
53.16% <0.00%> (-37.98%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
46.15% <0.00%> (-15.39%)
:arrow_down:

...ache/dubbo/remoting/transport/AbstractChannel.java
75.00% <0.00%> (-12.50%)
:arrow_down:

...main/java/org/apache/dubbo/common/utils/Stack.java
87.09% <0.00%> (-9.68%)
:arrow_down:

.../remoting/transport/netty4/NettyServerHandler.java
58.13% <0.00%> (-9.31%)
:arrow_down:

.../apache/dubbo/remoting/transport/AbstractPeer.java
63.04% <0.00%> (-8.70%)
:arrow_down:

.../common/threadpool/serial/SerializingExecutor.java
70.37% <0.00%> (-7.41%)
:arrow_down:

...va/org/apache/dubbo/registry/RegistryNotifier.java
76.92% <0.00%> (-5.13%)
:arrow_down:

...pache/dubbo/remoting/transport/AbstractServer.java
57.14% <0.00%> (-4.29%)
:arrow_down:

... and 26 more

Continue to review full report at Codecov.

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


DESCENDING PRIORITY QUEUE in C++ (GSSoC'21)

🚀 Feature
Have you read the Contributing Guidelines on Pull Requests?
Yes !
AIM :: DESCENDING PRIORITY QUEUE in C++
Motivation
As i didn't found DESCENDING PRIORITY QUEUE in C++ / C-Plus-Plus , So i am willing to contribute it...
Pitch
Hi I am GSSoC'21 participant,
"I am looking to work on the DESCENDING PRIORITY QUEUE in C++"
I will write the clean and optimized code , by keeping best case time and space complexity in mind and
with  brief commenting and algorithm.
I will use C++ language.

/assign


matched underline tabs variant to PP

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


[ISSUE #8182] Modify variable names to enhance readability #8182

Which Issue(s) This PR Fixes

Fixes #8182
Brief Description

Change the variable name 'group' to 'subGroup' and change the variable name 'subscription' to 'subExpression'
How Did You Test This Change?

Start namesvr and broker, set namesvr in the code, set parameters, then run producer and consumer, run well, and the message can be sent and consumed

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

Project coverage is 42.85%. Comparing base (dcc88c6) to head (fe5f73f).

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #8183      +/-   ##
=============================================
- Coverage      42.91%   42.85%   -0.06%
+ Complexity     10373    10362      -11
=============================================
  Files           1270     1270
  Lines          88723    88723
  Branches       11405    11405
=============================================
- Hits           38073    38026      -47
- Misses         45947    45989      +42
- Partials        4703     4708       +5

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


deployed contracts to polygon mumbai testnet

Closed for now since this is an older contract version. Can re-visit later. Thanks for the contribution @Deveshb15


DSR Notifications (toast)

USER STORY
As an admin I want a big red banner or some prominent signal on the Fides UI that tells me that the DSR automation is failing/throwing errors.
I also want to be able to configure alerts - such as to send me an email or a text on my phone when there are failures (I should be able to set a threshold such as if a connector throws errors more than or less than n number of times, start/stop notifying me).
I want to be able to generate a report of the number of errors thrown per connector (type of DSR execution error).
REQUIREMENTS
Notifications (email only) and alerts (toast messages) will be used just for DSRs today but plan for a future state where they can be used for other features.
AC

add error toast that displays at the top of the Subjects Request tab that must be dismissed by user

This story is currently blocked by DSR configure alerts (BE)#1493

Here is my initial PR.

this was tested in the test_env a little while back. closing now.


[terra-text] Accept and attach ref to the inner span.

Summary
Closes #2627.

@bjankord @tbiethman
Should this be a MVB according to the documentation [1]?
[1] https://reactjs.org/docs/forwarding-refs.html#note-for-component-library-maintainers

Do we need this to be documented for consumers here..?

@supreethmr

Do we need this to be documented for consumers here..?

Sure, that could be helpful. Added a line : https://github.com/cerner/terra-core/pull/2638/commits/34acdd5e881dda18a7150fda89edd0fc860641e7

@nramamurth Yeah, same issue. Theme repos are using the react-docgen version from terra-props-table. We are working on resolving that issue in terra-dev-site and then that change will eventually make its way into the theme repos and then we'll go ahead and re-add this PR.


Ability to add tips

Here we go! More to come in theme.
Ref theme changes: https://github.com/tastyigniter/ti-theme-orange/pull/5

That was quick! Definitely a great start!
I'm with @jeromio on supporting both fixed and percentage amounts. Also, multiple amounts to choose from like the screenshot by @justinbriansmith, its same on UberEats but with fixed amounts.
Maybe add a repeater form field to the cart settings page to handle the amounts and a switch for fixed/percentage?

I've added the ability to toggle tipping on and off in cart settings, and also choose from some fixed percentages for now.
It can handle both % and fixed values being passed to the field now, which covers both uses.
I will add the percentage value selection as a cart setting when I next get time to work on this.

i would like to contribute in this if its possible

That’s great! Check out the pull requests I linked to and see if you can add anything.

On 5 Jun 2020, at 17:09, Salhi Haider Ali<EMAIL_ADDRESS>wrote:

i would like to contribute in this if its possible
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@sampoyigi Check this over and let me know what you think. Between this and the theme changes it should be pretty much done.

Ok, see the changes added, if you're okay with it I'll merge. Let me know if any clarifications are needed :)

Looks good, go for it.

On 6 Jun 2020, at 21:48, Sam Poyigi<EMAIL_ADDRESS>wrote:
Ok, see the changes added, if you're okay with it I'll merge. Let me know if any clarifications are needed :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/tastyigniter/ti-ext-cart/pull/7#issuecomment-640116199, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMVO5UZGKQ26KIALVN75LRVKTQTANCNFSM4NSUSBPA.

Question for @ryanmitchell: What provides the field_radiotoggle.php file? Seems like it would be in TastyIgniter itself, but I can't find a branch with that file?

It’s in the theme PR - the link is in the first comment.

On 19 Jun 2020, at 17:05, jeromio<EMAIL_ADDRESS>wrote:

Question for @ryanmitchell: What provides the field_radiotoggle.php file? Seems like it would be in TastyIgniter itself, but I can't find a branch with that file?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Nvmd - I found it. It's in TastyIgniter on the "develop" branch.

Ok, next problem:
Call to undefined method Igniter\Flame\Foundation\Http\Kernel::appendMiddlewareToGroup() on line 28 of Extension.php.
I tried figuring this out, but I'm stumped. This is not new code, but I never had this error before moving to the tipping branch. Any ideas?

Maybe I can re-phrase this: How can I setup an environment (versions of each component) so that I can get TastyIgniter working with this new tipping feature?

@jeromio If you have the latest develop branch of TI, flame, local, cart and the orange theme it should be enough to get it working
I thing @sampoyigi is moving towards the next beta release of TI so if you are struggling to get it working it’s probably worth waiting for that.

Ya, so I tried cloning each repo to get the latest from master or develop (not all components have a develop branch). That lead to lots of  hair pulling and basically just a borked site that didn't work at all.
SO I started over and discovered the 'edgeUpdates' => true switch in the docs. This is pretty cool and I was able to Update and find the new tipping feature in Cart settings. But the actual storefront site didn't work. I discovered that the edgeUpdates doesn't get develop branches where there were deps and it also seems to ignore the flame library code, leaving it too many versions behind. So I subbed in develop branch clones for flame and TI, but then there are weird deps on other versions of files - some of which don't appear to be in any available branch. An example is the Igniter\Flame\Foundation\Http\Kernel::appendMiddlewareToGroup() call in cart/Extension.php. That just doesn't exist anywhere? I commented that one out, then ran into several other discrepancies and it became a wack-a-mole of doom. I ended up deep into mealtimes and menu_item_options vs menu_options. Ironically (sadly?) I don't need that mealtimes feature. I really just need tipping - it's a critical feature. Not sure how to get the development config working to be able to run the latest code. Perhaps I just have bad luck (eg, I presume @ryanmitchell was able to run this and test it?).
Extra bummer bc I am now out of time and will have to go back to the other platform that I was using (weebly). It's kinda terrible, BUT, it does support tipping....

Sorry to hear that @jeromio
@sampoyigi is currently packaging up and preparing a new beta release, though by the sounds of it it may be too late for you.


Fix broken unittest test discovery

Closes https://github.com/microsoft/vscode-python/issues/16576
Test discovery with unittest was not working at all. This is now fixed
with a more reliable method.  (Issue #16593)

I have no experience with Node at all, but I followed the contribution/coding instructions to run tests and all the existing discovery tests seem to pass ok. I don't know if you need more tests, but someone will need to write them for me if so.
See discussion at https://github.com/microsoft/vscode-python/discussions/16565 for more background.

CI is picking up failures that my local CI run did not get for some reason, are the wiki coding instructions complete? However I see the failure looks genuine, my new code is picking up tests that were not seen beforehand.

I do now know enough about Typescript to fix these errors. What I do know is that my new code is correct and works as I've run it over actual code bases and it spits out the test list as required, which means that the test inputs are likely broken.
Can someone help please?

@brettcannon Are you able to help at all here please? I know my new Python discovery works but I don't know what I need to do to fix the tests that are clearly bad tests.

Hi @bigjools , thanks for the PR. This was received during the long weekend hence I haven't gotten a chance to look at it yet. Will do it soon.

Hi - did you manage to check this out yet? (unintentional pun, ha)

I am re-writing most of the tests for this. So this change should go into the branch that I am working on (test-ui branch).

@bigjools I tried changing the branch but it picked up a lot of stuff from main. Can you use the test-ui branch and then cherry pick your commits on top of it instead of main?

UPDATE: @karthiknadig is handling the rebase part.

Hey thanks guys. I am in Australia so there's a bit of a delay, but I see someone is working on the rebase. Thanks!

Also apologies for not being able to contribute more to the tests. Unfortunately I know zero about Typescript, I only know Python.

I have moved your changes to the test-ui branch. See here https://github.com/microsoft/vscode-python/pull/16703
Closing this here. You will get credit when that branch is merged with main.


Fix concurrent search NPE with track_total_hits, size=0, and terminate_after

Description
Change EmptyTopDocsCollectorContext::createManager to not return a null manager.
Same query no longer returns NPE:
curl -X GET "localhost:9200/_search?size=0&track_total_hits=true&pretty&terminate_after=1000000" -H 'Content-Type: application/json' -d'
{
    "query": {
        "match_all": {}
    }
}
'
{
  "took" : 889,
  "timed_out" : false,
  "terminated_early" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 4,
      "relation" : "eq"
    },
    "max_score" : null,
    "hits" : [ ]
  }
}

Related Issues
Resolves #10054
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@reta @sohami could you help review this PR? Thanks!


chore: fix e2e yarn berry tests

Motivation
The Yarn 2 CI is failing for a while now and it's quite difficult to debug those Yarn 2/3 PnP-only issues.
For now, I'm reverting to node-modules linking, but would be happy to add another test with PnP mode if anyone is able to make it work.
CC @SamChou19815 in case you are interested to troubleshoot the issue. I was not able to do so (https://github.com/facebook/docusaurus/pull/5340).
Repro steps:
rm -rf my-website-canary

npx @docusaurus/init@canary init my-website-canary classic --skip-install

cd my-website-canary

rm -rf node_modules yarn.lock .yarn .yarnrc.yml
yarn -v

yarn set version berry
yarn -v

yarn set version 2.4.2
yarn -v

yarn config set pnpMode loose
yarn config set enableGlobalCache true

yarn install

yarn start

Apart a few deps error, the main error is:

Watchpack Error (initial scan): TypeError: Cannot destructure property 'withFileTypes' of '(intermediate value)(intermediate value)(intermediate value)' as it is null.

Unfortunately can't figure out where this comes from, and the PnP zip files do not help debug this problem.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
ci

@slorber  The withFileTypes error seems to be an known issue that is just fixed a few days ago, but Yarn hasn't released a new stable version yet: https://github.com/yarnpkg/berry/issues/3234
Maybe we can merge this now or test with canary versions of Yarn.

Thanks all, finally fixing this annoying issue!
We'll revert to a stable release, and try to disable loose mode in the future.
As Yarn 3 is out, I don't feel like we need to have tests for Yarn 2 anymore, probably not worth it to add more 2 more CI jobs, we already have a lot


change follow all to follow if any recommendation is deselected in onboarding

Small one. Just changing Follow All to Follow if we deselect anyone in the follow recommendations during onboarding.

This is a welcome change (and it has saved me opening an issue about it, thanks!) because I saw this review in the App Store where a user had this problem during onboarding:

The unticks aren't lost -- it presents new suggestions if you go back

But the ticks/unticks you did previously are retained. Not super clear though


ARC-1059 url params revert and JWT token fix

Fixed the JWT token generation which wasn't using the correct path/query to generate the token from, causing a 401 http status from the jira API.

Could you point to the places in the code which were causing issues and how it was fixed?
Also, can we add tests for it?


add vanchor benchmarks and weights

Summary of changes
Changes introduced in this pull request:

Add benchmarks and weights for vanchor pallet

Reference issue to close (if applicable)

Closes #227

Codecov Report
Base: 54.25% // Head: 53.03% // Decreases project coverage by -1.22% :warning:

Coverage data is based on head (e6ce8a0) compared to base (806ed32).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #260      +/-   ##
==========================================
- Coverage   54.25%   53.03%   -1.23%
==========================================
  Files          54       55       +1
  Lines        1926     1980      +54
==========================================
+ Hits         1045     1050       +5
- Misses        881      930      +49

Impacted Files
Coverage Δ

pallets/vanchor-verifier/src/benchmarking.rs
0.00% <ø> (ø)

pallets/vanchor/src/benchmarking.rs
0.00% <0.00%> (ø)

pallets/vanchor/src/lib.rs
83.25% <0.00%> (ø)

pallets/vanchor/src/weights.rs
0.00% <0.00%> (ø)

standalone/runtime/src/lib.rs
0.00% <ø> (ø)

primitives/src/runtime.rs
100.00% <0.00%> (+100.00%)
:arrow_up:

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.


HElp，Failed to build RiderLink plugin at E:\UE_5.3."

Running AutomationTool...
Using bundled DotNet SDK version: 6.0.302
Starting AutomationTool...
Parsing command line: BuildPlugin -Unversioned -Plugin=C:\Users\27149\AppData\Local\Temp\UnrealLink\Kiboxub\RiderLink.uplugin -Package=C:\Users\27149\AppData\Local\Temp\UnrealLink\Jirakaf
Initializing script modules...
Unhandled exception: System.Exception: Script module "E:\UE_5.3\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\CookedEditor\CookedEditor.Automation.dll" not found for record "E:\UE_5.3\Engine\Intermediate\ScriptModules\CookedEditor.Automation.json"
at UnrealBuildBase.CompileScriptModule.Build(RulesFileType RulesFileType, HashSet1 FoundProjects, IEnumerable1 BaseDirectories, IEnumerable1 DefineConstants, BuildFlags BuildFlags, Boolean& bBuildSuccess, Action1 OnBuildingProjects, ILogger Logger) in E:\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Build\System\CompileScriptModules.cs:line 350
at UnrealBuildBase.CompileScriptModule.InitializeScriptModules(RulesFileType RulesFileType, String ScriptsForProjectFileName, List1 AdditionalScriptsFolders, Boolean bForceCompile, Boolean bNoCompile, Boolean bUseBuildRecords, Boolean& bBuildSuccess, Action1 OnBuildingProjects, ILogger Logger) in E:\UE_5.3\Engine\Source\Programs\Shared\EpicGames.Build\System\CompileScriptModules.cs:line 196
at AutomationToolDriver.Program.MainProc() in E:\UE_5.3\Engine\Source\Programs\AutomationTool\Program.cs:line 478
AutomationTool executed for 0h 0m 0s
AutomationTool exiting with ExitCode=1 (Error_Unknown)
BUILD FAILED
无法为 E:\UE_5.3 构建 RiderLink 插件
Failed to build RiderLink plugin

Same here, and I see there is a lot of people with this issue...

My workaround is (Unreal 5.3):

Settings -> Unreal Engine -> Extract Rider Link in Game
Compile game (so plugin gets compiled)
Cut the plugin from YourGameFolder -> Plugins -> Deverloper to -> F:\UE\UE_5.3\Engine\Plugins\Marketplace\Developer
Restart Rider

Looks like they have an issue in the way they tell the UnrealBuildTool to build the plugin, wrong parameters.

Getting the same thing in 5.4. Honestly have never had the rider plugin ever just be able to install after a fresh install of the ide. It either gives me this same error message or gets stuck at 73% when installing for hours.
idea.log

@linqen unfortunately, we use officially provided tools by Epic Games and use their recommended arguments :(
Starting with UE 5.3+, UBT changed the way it processes and compiles managed dependencies (aka build.cs and target.cs files), but this issue doesn't look like it.

@hypoxiastars what's your version of Rider?
Would you be so kind as to try verifying UE installation and trying again?
Epic Games Launcher > UE 5.3 >... > Verify
And try to install it once again?

@omgAyane in your case, you get an internal compiler crash (the message should be visible in the RiderLink installation panel).
It's either:

VS compiler ran out of memory (double check you have enough space on disk if swap enabled. Sometimes it's due to disk C is full)
it's an actual problem with VS toolchain (there was a number of issues with UE not working with the latest builds of VS).
Make sure you have a correct VS installed for your version of UE:
https://dev.epicgames.com/documentation/en-us/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine?application_version=5.3

Oh interesting okay. I'm using ue5.4 and have VS2022 17.9.5. VS and Rider were both installed on my C drive. Which has 712gb free of 930gb.

@omgAyane huh... Do you have swap enabled and what's your RAM size?
I used to see the message with VC internal crash all the time during UE4.20-4.22 era, but I thought it became much better lately. It was mostly because UE is trying to compile all the files in a single pass using Unity blobs, and we were working this around with decreasing the size of the blob.

64gb of RAM. Where can I check for the disk swap is enabled? Is that a page file thing?

Same Issue :
Running AutomationTool...
Using bundled DotNet SDK version: 6.0.302
Starting AutomationTool...
Parsing command line: BuildPlugin -Unversioned -Plugin=C:\Users\User\AppData\Local\Temp\UnrealLink\Sipofeg\RiderLink.uplugin -Package=C:\Users\User\AppData\Local\Temp\UnrealLink\Wybugaf
Initializing script modules...
Total script module initialization time: 0.09 s.
Using C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe
Executing commands...
Copying 414 file(s) using max 64 thread(s)
Reading plugin from C:\Users\User\AppData\Local\Temp\UnrealLink\Wybugaf\HostProject\Plugins\RiderLink\RiderLink.uplugin...
Building plugin for host platforms: Win64
Running: C:\Program Files\Epic Games\UE_5.4\Engine\Binaries\ThirdParty\DotNet\6.0.302\windows\dotnet.exe "C:\Program Files\Epic Games\UE_5.4\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" UnrealEditor Win64 Development -Project="C:\Users\User\AppData\Local\Temp\UnrealLink\Wybugaf\HostProject\HostProject.uproject" -plugin="C:\Users\User\AppData\Local\Temp\UnrealLink\Wybugaf\HostProject\Plugins\RiderLink\RiderLink.uplugin" -noubtmakefiles -manifest="C:\Users\User\AppData\Local\Temp\UnrealLink\Wybugaf\HostProject\Saved\Manifest-UnrealEditor-Win64-Development.xml" -nohotreload -log="C:\Users\User\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_5.4\UBA-UnrealEditor-Win64-Development.txt"
Log file: C:\Users\User\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_5.4\UBA-UnrealEditor-Win64-Development.txt
Total execution time: 1.73 seconds
Unhandled exception: System.ArgumentNullException: Value cannot be null. (Parameter 'element')
at System.Attribute.GetCustomAttributes(MemberInfo element, Type attributeType, Boolean inherit)
at System.Reflection.CustomAttributeExtensions.GetCustomAttributes[T](MemberInfo element)
at UnrealBuildTool.ModuleRules.IsValidForTarget(Type moduleType, ReadOnlyTargetRules targetRules, String& invalidReason) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Configuration\ModuleRules.cs:line 1636
at UnrealBuildTool.UEBuildTarget.AddAllValidModulesToTarget(ILogger Logger) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 3938
at UnrealBuildTool.UEBuildTarget.PreBuildSetup(ILogger Logger) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 3403
at UnrealBuildTool.UEBuildTarget.Create(TargetDescriptor Descriptor, Boolean bSkipRulesCompile, Boolean bForceRulesCompile, Boolean bUsePrecompiled, UnrealIntermediateEnvironment IntermediateEnvironment, ILogger Logger) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 1392
at UnrealBuildTool.UEBuildTarget.Create(TargetDescriptor Descriptor, BuildConfiguration BuildConfiguration, ILogger Logger) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 1226
at UnrealBuildTool.BuildMode.CreateMakefileAsync(BuildConfiguration BuildConfiguration, TargetDescriptor TargetDescriptor, ISourceFileWorkingSet WorkingSet, ILogger Logger) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 1114
at UnrealBuildTool.BuildMode.BuildAsync(List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, ISourceFileWorkingSet WorkingSet, BuildOptions Options, FileReference WriteOutdatedActionsFile, ILogger Logger, Boolean bSkipPreBuildTargets) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 396
at UnrealBuildTool.BuildMode.ExecuteAsync(CommandLineArguments Arguments, ILogger Logger) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 252
at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 660
Took 1.81s to run dotnet.exe, ExitCode=6
UnrealBuildTool failed. See log for more details. (C:\Users\User\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_5.4\UBA-UnrealEditor-Win64-Development.txt)
AutomationTool executed for 0h 0m 2s
AutomationTool exiting with ExitCode=6 (6)
BUILD FAILED
Failed to build RiderLink plugin for C:\Program Files\Epic Games\UE_5.4
Failed to build RiderLink plugin


Logs from handler crashes not logged with level = error?

I am not sure which thing is to blame as I updated a bunch of libraries + switched to Bandit in the same round, but since that I noticed that some of the log lines that I'd expect to be logged as error are not marked as one in our DataDog panel.
We're using Gigalixir, with DataDog attached as syslog drain, so I think the problem is that these log lines are not logged with log level = error:
As you can see, logs from other places in the system are properly logged as errors (maked in red), it's just when the request handler crashes on something like parsing JSON or parsing multipart body (i.e. in Plug.Parsers) that I don't see it as error

Is there a Bandit configuration I should change or you folks think it's unrelated and I should look for problem elsewhere?

Bandit intentionally does very little logging on its own; along with Thousand Island they both strongly embrace 'let it crash' as a general policy and so most of the logging you will see comes from the BEAM logging a Bandit process crash. The stacktrace lines in your logs are coming directly from the BEAM, so configuring the level they're logged at is a VM concern concern and specifically not something that Bandit has any configuration for on its own.
I'm not entirely sure where to go to change the level that the BEAM logs crashes at (I'd love to learn, though!). Curiously if I crash a process in an iex session the whole things gets logged as error:

As an aside, this has been a pervasive source of user issues; Cowboy generally silently swallowed errors with no logging of any kind, so when folks switch to Bandit they'll often start seeing crashes and stack traces that have always been there, but never got surfaced.

So what I did was that I created two applications from scratch, Phoenix 1.7.7: one with Cowboy, another one with Bandit. There's nothing in them, just default scaffold of
$ mix phx.new --no-ecto --no-html errors_[cowboy|bandit]

and the Bandit app obviously has replaced Cowboy with Bandit according with Readme. Now, let's say I crash the Plug.ParsersJson with this curl command, which sends a broken JSON:
$ curl -X POST http://localhost:4000/ \
   -H 'Content-Type: application/json' \
   -d '{"login:"my_login","password":"my_password"}'

The behavior on Cowboy is that I get printed an error in debug level like this:
**[info] POST /
[debug] ** (Plug.Parsers.ParseError) malformed request, a Jason.DecodeError exception was raised with message "unexpected byte at position 9: 0x6D (\"m\")"
    (plug 1.14.2) lib/plug/parsers/json.ex:95: Plug.Parsers.JSON.decode/3
    (plug 1.14.2) lib/plug/parsers.ex:340: Plug.Parsers.reduce/8
    (errors_cowboy 0.1.0) lib/errors_cowboy_web/endpoint.ex:1: ErrorsCowboyWeb.Endpoint.plug_builder_call/2
    (errors_cowboy 0.1.0) deps/plug/lib/plug/debugger.ex:136: ErrorsCowboyWeb.Endpoint."call (overridable 3)"/2
    (errors_cowboy 0.1.0) lib/errors_cowboy_web/endpoint.ex:1: ErrorsCowboyWeb.Endpoint.call/2
    (phoenix 1.7.7) lib/phoenix/endpoint/sync_code_reload_plug.ex:22: Phoenix.Endpoint.SyncCodeReloadPlug.do_call/4
    (plug_cowboy 2.6.1) lib/plug/cowboy/handler.ex:11: Plug.Cowboy.Handler.init/2
    (cowboy 2.10.0) /home/hubert/Projekty/hubertlepicki/errors_cowboy/deps/cowboy/src/cowboy_handler.erl:37: :cowboy_handler.execute/2
    (cowboy 2.10.0) /home/hubert/Projekty/hubertlepicki/errors_cowboy/deps/cowboy/src/cowboy_stream_h.erl:306: :cowboy_stream_h.execute/3
    (cowboy 2.10.0) /home/hubert/Projekty/hubertlepicki/errors_cowboy/deps/cowboy/src/cowboy_stream_h.erl:295: :cowboy_stream_h.request_process/3
    (stdlib <IP_ADDRESS>) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
**

On Bandit, I get the same + repeated the same message with log_level = :error:
[info] POST /
[debug] ** (Plug.Parsers.ParseError) malformed request, a Jason.DecodeError exception was raised with message "unexpected byte at position 9: 0x6D (\"m\")"
    (plug 1.14.2) lib/plug/parsers/json.ex:95: Plug.Parsers.JSON.decode/3
    (plug 1.14.2) lib/plug/parsers.ex:340: Plug.Parsers.reduce/8
    (errors_bandit 0.1.0) lib/errors_bandit_web/endpoint.ex:1: ErrorsBanditWeb.Endpoint.plug_builder_call/2
    (errors_bandit 0.1.0) deps/plug/lib/plug/debugger.ex:136: ErrorsBanditWeb.Endpoint."call (overridable 3)"/2
    (errors_bandit 0.1.0) lib/errors_bandit_web/endpoint.ex:1: ErrorsBanditWeb.Endpoint.call/2
    (phoenix 1.7.7) lib/phoenix/endpoint/sync_code_reload_plug.ex:22: Phoenix.Endpoint.SyncCodeReloadPlug.do_call/4
    (bandit 1.0.0-pre.10) lib/bandit/pipeline.ex:116: Bandit.Pipeline.call_plug/2
    (bandit 1.0.0-pre.10) lib/bandit/pipeline.ex:22: Bandit.Pipeline.run/6
    (bandit 1.0.0-pre.10) lib/bandit/http1/handler.ex:31: Bandit.HTTP1.Handler.handle_data/3
    (bandit 1.0.0-pre.10) lib/bandit/delegating_handler.ex:18: Bandit.DelegatingHandler.handle_data/3
    (bandit 1.0.0-pre.10) /home/hubert/Projekty/hubertlepicki/errors_bandit/deps/thousand_island/lib/thousand_island/handler.ex:399: Bandit.DelegatingHandler.handle_continue/2
    (stdlib <IP_ADDRESS>) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib <IP_ADDRESS>) gen_server.erl:865: :gen_server.loop/7
    (stdlib <IP_ADDRESS>) proc_lib.erl:240: :proc_lib.init_p_do_apply/3

[error] GenServer #PID<0.701.0> terminating
** (Plug.Parsers.ParseError) malformed request, a Jason.DecodeError exception was raised with message "unexpected byte at position 9: 0x6D (\"m\")"
    (plug 1.14.2) lib/plug/parsers/json.ex:95: Plug.Parsers.JSON.decode/3
    (plug 1.14.2) lib/plug/parsers.ex:340: Plug.Parsers.reduce/8
    (errors_bandit 0.1.0) lib/errors_bandit_web/endpoint.ex:1: ErrorsBanditWeb.Endpoint.plug_builder_call/2
    (errors_bandit 0.1.0) deps/plug/lib/plug/debugger.ex:136: ErrorsBanditWeb.Endpoint."call (overridable 3)"/2
    (errors_bandit 0.1.0) lib/errors_bandit_web/endpoint.ex:1: ErrorsBanditWeb.Endpoint.call/2
    (phoenix 1.7.7) lib/phoenix/endpoint/sync_code_reload_plug.ex:22: Phoenix.Endpoint.SyncCodeReloadPlug.do_call/4
    (bandit 1.0.0-pre.10) lib/bandit/pipeline.ex:116: Bandit.Pipeline.call_plug/2
    (bandit 1.0.0-pre.10) lib/bandit/pipeline.ex:22: Bandit.Pipeline.run/6
    (bandit 1.0.0-pre.10) lib/bandit/http1/handler.ex:31: Bandit.HTTP1.Handler.handle_data/3
    (bandit 1.0.0-pre.10) lib/bandit/delegating_handler.ex:18: Bandit.DelegatingHandler.handle_data/3
    (bandit 1.0.0-pre.10) /home/hubert/Projekty/hubertlepicki/errors_bandit/deps/thousand_island/lib/thousand_island/handler.ex:399: Bandit.DelegatingHandler.handle_continue/2
    (stdlib <IP_ADDRESS>) gen_server.erl:1123: :gen_server.try_dispatch/4
    (stdlib <IP_ADDRESS>) gen_server.erl:865: :gen_server.loop/7
    (stdlib <IP_ADDRESS>) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: {:continue, :handle_connection}
State: {%ThousandIsland.Socket{socket: #Port<0.11>, transport_module: ThousandIsland.Transports.TCP, read_timeout: 60000, span: %ThousandIsland.Telemetry{span_name: :connection, telemetry_span_context: #Reference<0.2307709195.431489030.153875>, start_time: -576460748161934911, start_metadata: %{parent_telemetry_span_context: #Reference<0.2307709195.431489025.154755>, remote_address: {127, 0, 0, 1}, remote_port: 45260, telemetry_span_context: #Reference<0.2307709195.431489030.153875>}}}, %{handler_module: Bandit.InitialHandler, http_1_enabled: true, http_2_enabled: true, opts: %{http_1: [], http_2: [], websocket: []}, plug: {Phoenix.Endpoint.SyncCodeReloadPlug, {ErrorsBanditWeb.Endpoint, []}}, websocket_enabled: true}}

So there is a difference indeed, b/c in production the debug error is filtered out, and I think because Bandit/ThousandIslands use proper OTP primitives the logger picks up a GenServer crash and reports on it. This is great and indeed is precisely what you describe @mtrudel b/c we will get more crashes logged that were silently swallowed before.
What I think my problem is, that these logs do not follow the configured format, in my case:
 config :logger, :console,
    format: "$time $metadata[$level] $message\n",

which I think is the default. So the crash is logged, and indeed people will see more errors after switching to Bandit, but they're not going to be alerted by them by something that ingests and parses logs, because the level (and other metadata) are missing.
What would be super cool is that when Bandit request crashes, on something like parsing JSON or multipart/form data requests, we do get logs that not only use the correct :error level, but also follow the format and retain metadata that may have been set by some Plugs in the pipeline that executed successfully before reaching the crashing parsers.
I wonder if you think that's possible to achieve, and if so - maybe can point me towards what configuration - or code changes need to be done, I could take a shot at implementing this as a feature because, to be fair, the lack of proper logging when something like crashes from early Plugs has been bothering me for years.

@hubertlepicki did you find any success with setting logging levels in the BEAM directly? I'd love to have a consistent story to tell folks that bring this up

@mtrudel actually the log levels and format are correct. The problem are in my case the multi-line log statements that are logged, with no span/tracing info attached and DataDog cannot figure it out.
If you look at the screenshot you provided you can see that only the first line has the formatter-provided timestamp and [error] level, the rest of the report is underneath. There are several ways to fix this:

you can write a custom Console Logger formatter that would split the log multi-line log messages and format each line separately
you can use this custom logger formatter, that follows Heroku's log format that does precisely that  https://hex.pm/packages/logfmt_ex

but we decided to switch to the structured logging using JSON and this library https://github.com/Nebo15/logger_json
So far this is running fine on staging, but I consider the issue resolved as I can see the nicely formatted logs being detected as Errors in DataDog.
This issue can remain closed as it turned out that it didn't have any fault on the Bandit side.


add leave room report action to app

Details

Fixed Issues

related to https://github.com/Expensify/App/issues/33574
cc: @jasperhuangg
Tests

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Setup

create test user A, B, and C
log in as user A, and create a workspace X
create three rooms, each assigned to workspace X. One should be public, one private, and the last one should have workspace visibility.
Invite user B to the workspace so that they are a workspace member
Invite user B and C to each of the rooms

For the private room:

as user B, click the vertical three dot menu in the upper right hand corner and choose to leave the room
as user A, confirm that user B left a "left the chat" message
as user C, leave the room
as user A, confirm that user C left a "left the chat" message

For the workspace visibility room:

as user B, leave the room
as user A, confirm that user B doesn't leave a message
as user C, leave the room
as user A, confirm that user C left a "left the chat" message
as user A, go to the policy admin room for your workspace and confirm that there is a corresponding "user C left name-of-your-room" message

For the public room

as user B, leave the room
as user A, confirm that user B doesn't leave a message
as user C, leave the room
as user A, confirm that user C doesn't leave a message

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

I have read the CLA Document and I hereby sign the CLA

@Julesssss Ah yes I encountered that issue too. Its a bug that I believe is unrelated to this. Let me see if I can find the relevant slack thread. I might just need to merge in main to fix it.
Are you selecting a workspace for when you create a room? That is the workaround that worked for me.

Are you selecting a workspace for when you create a room?

I'm not sure tbh. Thanks for the link, it looks like it might be fixed today 🤞

@Gonals @Julesssss @jasperhuangg ready for review 🙂

We don't need reviewer checklist

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Cherry-picked to staging by https://github.com/francoisl in version: 1.4.33-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to staging by https://github.com/Julesssss in version: 1.4.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/Julesssss in version: 1.4.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.4.34-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


[ENH] Fluid Where and WhereDocuments query filter with examples and t…

…ests
Description of changes
Summarize the changes made by this PR.

Improvements & Bug fixes

Added helper class for fluent Where and WhereDocument filter queries

Test plan
Unit and integration tests added. All tests are locally passing.
Documentation Changes
Updated examples/basic_functionality/where_filtering.ipynb with examples.
Separate PR can be raised for doc updates.

@HammadB,
I think this looks far cleaner:
where_filter = Filters.where().and_(
        Filters.where().eq("category", "electronics"),
        Filters.where().or_(Filters.where().gt("price", 100), Filters.where().lt("price", 50)),
    )
    print(where_filter)

    where_doc_filter = Filters.where_document().or_(
        Filters.where_document().contains("laptop"), Filters.where_document().contains("macbook")
    )
    print(where_doc_filter)

Outputting:
{'$and': [{'category': {'$eq': 'electronics'}}, {'$or': [{'price': {'$gt': 100}}, {'price': {'$lt': 50}}]}]}
{'$or': [{'$contains': 'laptop'}, {'$contains': 'macbook'}]}

Now both filters directly inherit from Dict class WhereDocumentFilter(Dict[str, Any]): so no need to call to_filter or anything like that.

That said perhaps directly inheriting the Where and WhereDocument is even better.

Another design idea here
And(Where("a == 5"), Where("b == 6")) Supporting string based operators could be nice.

@HammadB Does this look good:
print((Attr("a") == 1) | ((Attr("category") == 10) & (Attr("price") == 100)))
print((Attr("category") == 10) & (Attr("price") == 100))

not exactly "fluid" but pythonic for sure

Yeah not fluid but its very pythonic which I like. It will instantly make sense to people who can write basic boolean expressions in python. Rather than having to contort to a new way of thinking about boolean order.
And it even should extend to the in operator when we support it right? Will not work?
What do you think about this design?

@HammadB, let me try with in and not.

Yeah, I think we if we do this we should just disallow operators we don't support. For example we support != via ne but if we can't do not x == b then we should be able to error.

@HammadB , $in and $nin are also a bit clunky but still pythonic:
print((Attr("category") >> ["business", "sports"]))
print(~(Attr("category") >> ["business", "sports"]))

{'$in': {'category': ['business', 'sports']}}
{'$nin': {'category': ['business', 'sports']}}

Note: I have changed to predicate logic as this is more in line with the rest of the operators (previously, I had intended {'author': {'$in': ['john', 'jill']}}. But with the operator in front looks more aligned with the rest)

Yeah, I think we if we do this we should just disallow operators we don't support. For example we support != via ne but if we can't do not x == b then we should be able to error.

Should I add the operators and simply raise an error or expect Python to raise an incompatible type error (which it would most of the times, but there might be some weird corner cases)

I am confused, I meant the python operators in and not, not the bitwise operators. I.E python supports ''hello' in set()' etc.

I am confused, I meant the python operators in and not, not the bitwise operators. I.E python supports ''hello' in set()' etc. If the goal is to match what is pythonic we should do what is expected and I don't think bitwise operators are?

Should I add the operators and simply raise an error or expect Python to raise an incompatible type error (which it would most of the times, but there might be some weird corner cases)

I think we should add the operators and error so we can give a descriptive error message.

The issue with in and not are that both are Boolean and cannot be overwritten like rest but if bitwise are weird then perhaps we can do fluid for in and not in. e.g. Attr("myattr").In([])  and .Nin([]). Not great but not too terrible.

Actually I just noticed that all the operations use bitwise operators, how does this work under the hood btw?

The issue is that all boolean operators like and or etc they must return boolean (language semantics) so we can't just turn the operator overload into a class that can be used further down.
On thought is to have externalized conditions and upon bool we can just update those rules but it feels a bit weird. I can try it out and see what gives.

I see, the standard boolean operators are not overloadable. Only the bitwise ones.
Hmmm this gives me pause on the design using operators since a lot of python users are not used to using the bitwise operators.

@HammadB maybe there is a way, let's keep at this for just a bit more.

:) We will find something! Thanks for all the experimentation.

@HammadB , I think I can make it work in the most pythonic way possible:
print(Filter.where(Attr("category") == 10 or (Attr("price") == 100 and Attr("price") == 100)))

In order to turn it into Where we'll have to wrap it in a function but I think that is the least annoying thing of all :)
Gonna wrap this tomorrow morning.

@HammadB,
I think I finally nailed it:
if __name__ == "__main__":
    print(Filter.where("k" == "10" and ("p" == "x" or "p" == "y")))
    print(Filter.where("k" == "10" and "p" == "x" or "p" == "y"))
    print(Filter.where("k" in [1, 2, 3, 4]))
    print(Filter.where("m" in ["a", "b", "c"]))
    print(Filter.where("k" not in ["a", "b", "c"]))
    try:
        print(Filter.where(1 in ["a", "b", "c"]))
    except Exception as e:
        print(e, file=sys.stdout)
    print(Filter.where("a" != "b"))
    try:
        print(Filter.where(not "a"))
    except Exception as e:
        print(e, file=sys.stdout)

Resulting in:
Evaluating: "k" == "10" and ("p" == "x" or "p" == "y")
{'$and': [{'$eq': {'k': '10'}}, {'$or': [{'$eq': {'p': 'x'}}, {'$eq': {'p': 'y'}}]}]}
Evaluating: "k" == "10" and "p" == "x" or "p" == "y"
{'$or': [{'$and': [{'$eq': {'k': '10'}}, {'$eq': {'p': 'x'}}]}, {'$eq': {'p': 'y'}}]}
Evaluating: "k" in [1, 2, 3, 4]
{'$in': {'k': [1, 2, 3, 4]}}
Evaluating: "m" in ["a", "b", "c"]
{'$in': {'m': ['a', 'b', 'c']}}
Evaluating: "k" not in ["a", "b", "c"]
{'$nin': {'k': ['a', 'b', 'c']}}
Evaluating: 1 in ["a", "b", "c"]
Unsupported left hand side type: <class 'int'>. Must be a string.
Evaluating: "a" != "b"
{'$ne': {'a': 'b'}}
Evaluating: not "a"
Unsupported node type: <class 'ast.UnaryOp'>

The simplest solutions are usually the right one :D

AST!!!

Ah nice - I didn't realize python just exposes the AST parser like this

Let me do a quick push so you can have a look. It's dead simple and quite elegant (well maybe except one small string extraction part but I can iterate over it to make it more robust)

closing, rebased implementation in #1089


Recursive walkback on selecting "Next 200 items" item in Aspect Inspector

I've been unable to identify the change that caused this, but the PAI "next 200 items" expanding item is causing a repeating error (for me) from the ListTreeView when clicked. The issue seems to be that  AspectInspector>>expandBatchAccessor:  suppresses events while removing the "next NNN" item, and adding the new items, then it refreshes the entire tree below the parent aspect. When the ListTreeView (displaying the variable names) is refreshed, its model has been updated to remove the "next" item, but the view itself still has the item in its handle->object map. LTV's refresh action causes the Windows ListView control to attempt to redraw the item that has been deleted, and the NM_GETDISPINFO  notification handler of LTV then attempts to find information about the item in the model, but the item is no longer in the model.
This renders the inspector unusable for examining large collections. The only workaround to prevent meltdown is to go into the debugger and close the LTV, then use the basic inspector instead.
14:19:47, 26 July 2017: Unhandled exception - a NotFoundError('Not found: next 200 items')

ExpandingTreeModel(Object)>>errorNotFound:
[] in ExpandingTreeModel(TreeModel)>>getNodeFor:
IdentityDictionary(LookupTable)>>at:ifAbsent:
ExpandingTreeModel(TreeModel)>>getNodeFor:ifAbsent:
ExpandingTreeModel(TreeModel)>>getNodeFor:
ExpandingTreeModel(TreeModel)>>parentNodeOf:
ExpandingTreeModel(TreeModel)>>parentOf:
ListTreeView>>parentOf:
ListTreeView>>depthOf:
ListTreeView>>indentationFor:
ListTreeView>>indentFromRow:
ListTreeView(ListView)>>onDisplayDetailsRequired:
ListTreeView>>onDisplayDetailsRequired:
ListTreeView(IconicListAbstract)>>nmGetDispInfo:
ListTreeView(ListView)>>nmNotify:
ContainerView(View)>>wmNotify:wParam:lParam:
ContainerView(View)>>dispatchMessage:wParam:lParam:
[] in InputState>>wndProc:message:wParam:lParam:cookie:
BlockClosure>>ifCurtailed:
InputState>>wndProc:message:wParam:lParam:cookie:
----------------------------------------------------------------------------------------------------

Repeat every few milliseconds...

Fixed by f4e247cb5354f14a79af89805c0f41da1109e367


Shared volume performance

Is there any solution for this?
https://github.com/boot2docker/boot2docker/issues/593

Not currently at the moment.  Looks like you're on Windows, your best choice there might be to use something like filesystem watching + rsync or, alternatively, Samba.


tfenv should install version described in terraform-version if available.

I was playing around with tfenv and discovered that if the version of terraform is missing locally, it fails. What I would suggest instead of failing to try to download that version if available remote:
diff --git a/libexec/tfenv-version-name b/libexec/tfenv-version-name
index 1d8cb74..fec4d53 100755
--- a/libexec/tfenv-version-name
+++ b/libexec/tfenv-version-name
@@ -30,8 +30,18 @@ version_exists() {
   [ -d "${TFENV_ROOT}/versions/${version}" ]
 }

+version_exists_remote() {
+  tfenv list-remote \
+  | grep "${1}"
+}
+
+
 if version_exists "${TFENV_VERSION}"; then
   echo "${TFENV_VERSION}"
 else
-  error_and_die "version \`${TFENV_VERSION}' is not installed (set by ${TFENV_VERSION_FILE})"
+  if version_exists_remote "${TFENV_VERSION}"; then
+    tfenv install "${TFENV_VERSION}"
+  else
+    error_and_die "version \`${TFENV_VERSION}' is not installed and not exists on remote. If that's a mistake, please install requested version manually (set by ${TFENV_VERSION_FILE})"
+  fi
 fi

@vutoff
Thank you for your suggestion.
However, I'm not yet able to imagine your problem.  Please let me know it exactly.
I think that if a version described in .terraform-version is not yet installed, just running tfenv install before using terraform resolves it. And tfenv-version-name is just a command to show current Terraform version. I think installing the missing version in the command is excessive responsibility.

@abinashmeher999 why would you check every time? If you simply call cd workspace && tfenv install && terraform per what kamatama41 mentioned as part of your CI script it should only install if the version has changed otherwise it should detect that you already have it and simply continue. If you aren't seeing this "idempotent" behavior it sounds like something that could be improved, but trying to run terraform and magically having a version install if the .terraform-version exists is NOT a behavior I would expect as you mentioned, it would be very magic and potentially an issue if you didn't expect the job to actually install a new version.

@espoelstra I am doing the same thing now. I do a tfenv install everytime I switch to a project directory. It is idempotent and works fine.
However, think of a situation where the build service is provided as a service by one team to another. The user team is just expected to call terraform as they normally did with their own project. To make it easy for the users and not expose details of tfenv, they can just ask them to keep a .terraform-version in the project file and download all possible versions of terraform with tfenv. But again installing all versions of terraform might not be feasible for everyone.

trying to run terraform and magically having a version install if the .terraform-version exists is NOT a behavior I would expect as you mentioned, it would be very magic and potentially an issue if you didn't expect the job to actually install a new version.

I totally agree with this, which is why I suggested to introduce an environment variable that would need to be set to enable this magic. So at all times the user enables this fully knowing the consequences and it is a lot cleaner.

I'd have concerns allowing this behaviour via an environment variable, to be honest — I could very easily see myself installing tfenv, setting it for convenience one day, and then being confused why colleague's machines didn't behave the same as mine later on. I think idempotently running tfenv install is a preferable mechanism for handling this, as it's guaranteed to behave consistently across machines with tfenv.

@liamdawson Good point. This would make tfenv behave differently on different machines.


Deploy VPC resources with non crossplane VPC

What happened?

I wanted to deploy a security group in my existing AWS VPC.
But it looks like we need to have created the VPC using crossplane to deploy resources in int which is kinda annoying.
Is there a way to do it or it's mandatory to have the VPC created with crossplane ?
cannot resolve references: mg.Spec.ForProvider.VPCID: cannot get
referenced resource: VPC.ec2.aws.crossplane.io "vpc-XXX"
not found

How can we reproduce it?

Create a ec2 security group with crossplane that references a VPC non created with crossplane
What environment did it happen in?
Crossplane version: 1.17.0

Cloud provider or hardware configuration: AWS
Kubernetes version (use kubectl version) : 1.29
Kubernetes distribution (e.g. Tectonic, GKE, OpenShift): EKS

You can specify the spec.forProvider.vpcId explicitly in the SecurityGroup resource.  If you use spec.forProvider.vpcRef.name then it will look for a corresponding Crossplane resource.

Yes - as long as there is no Managed Resource that controls the VPC it will remain untouched.


Round jimp.rgbaToInt values

The r,g,b and a parameters of the jimp.rgbaToInt method should be rounded.
I just encountered strange results because I passed floating-point values as color values which causes them to leak into the other channels (because e.g r = 122.354564; r * Math.pow(256, 3) is not suffixed with 24 zero bits).
Proposed fix (add after line 408):
either rounding
r = Math.round(r);
b = Math.round(b);
g = Math.round(g);
a = Math.round(a);

or throwing
if (r % 1 !== 0 || g % 1 !== 0 || b % 1 !== 0 || a % 1 !== 0)
        return throwError.call(this, "r, g, b and a must be integers", cb);

This is a good idea. Could you code up a pull request?

Fixed with https://github.com/oliver-moran/jimp/pull/226. Thank you.


Enrich existing OSS (edge) to Cloud replication guide

We need to update the existing replications guide that walks through setting up the replication streams. We should add the following:
Clarify all the different ways you can use replication streams:

Edge (2.2+) to Cloud
Edge (2.2+) to Enterprise
Edge (2.2+) to central OSS (1.x or 2.x)

Have examples of the following:

Replicate raw data
Replicate downsampled data
Custom tag and replicate data

Relevant URLs

https://docs.influxdata.com/influxdb/cloud/write-data/replication/
https://docs.influxdata.com/influxdb/v2.2/write-data/replication/

We should also add an example of configuring queue size with the --max-age and --max-queue-bytes


Local deployment

Adds option to deploy locally.  Need to change reference to branch in qhub-terraform-modules before merging.

Closing for bigger PR #287 which has a fully tested local deployment (almost complete)

@costrouc, This PR uses kind (Kubernetes in Docker), which can be provisioned directly with Terraform, which is distinct from deploying to an existing local Kubernetes cluster.  Just a thought, but perhaps this feature could still be integrated as a separate kind provider?  I can make the updates and changes necessary if you are open to the idea.


ReferenceError: __generator is not defined

TypeScript Version:  2.1.0 / nightly (2.2.0-dev.201xxxxx)
Code

export class allPipePipe implements PipeTransform {
  constructor (
      @Inject('dynamicFormService') private formService,
  ) {}

  async transform(val:string) {
    const value = val.split('/')[0];
    const type = val.split('/')[1];
    const number = val.split('/')[2] ? val.split('/')[2] : '';
    switch (type) {
      default:
        let name = await this.getTypeName(value,number);
        return name;
    }
  }

  getTypeName (value,number) {
    return new Promise((resolve,reject) => {
      this.formService.getDictionary(10).subscribe((data:any) => {
          let val:any = data.pageData.filter(item => item.value == value)[0];
          resolve(val.name);
      });
    })
  }
}

// A *self-contained* demonstration of the problem follows...
thanks

Expected behavior:
return name = await promise
Actual behavior:
__generator is not defined

The error you mention seems like a runtime error.  If that is correct, then it is likely more of an issue with your TypeScript configuration or how the code is being run at runtime.
You should provide accurate version information, your TypeScript configuration, and how the code is being run at runtime in order for anyone to provide help.

I've solved this problem with the webpack configuration problem
Finally, I solved my problem in a non-async method


⚠ sandbox-api.piste.gouv.fr healthcheck has degraded performance

In 425a6e1, sandbox-api.piste.gouv.fr healthcheck (https://sandbox-api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 5913 ms

Resolved: sandbox-api.piste.gouv.fr healthcheck performance has improved in e6857a4.


Update Readme

Created with https://github.com/dkhamsing/frankenstein

FYI
http://free60.org/GamePad redirects to
http://free60.org/wiki/Main_Page
Not sure where this page is now..


Remove intermediate containers while building

So that it doesn't hold on to disk resources forever.

This is a trade-off between speed compiling the images and space. I'd rather have it configurable or give an option to sandbox to remove intermediate images, at which point you can just use docker directly.
docker rmi $(docker images -a -q)
I may have missed other benefits (but I have plenty of disk space).

Configurable is also fine. I found myself running out of space when i did a build_all 2 weeks ago. My disk is 100GB.

Also, I'm not sure how it improves speed. The images I built were all independent.

Sorry, rebuilding an image I meant. If you modify just the last line of a dockerfile, you save having to download/setup anything before and just use the cached images. I'd vote for having this configurable or adding an option to sandbox to remove intermediate images (don't have a strong opinion).

Already in master though gerrithub.


[ENG-2841] Delete Revision In Progress Button

Ticket: []
Feature flag: n/a

Purpose
The purpose of this change was to enable users to delete revisions in progress.
Summary of Changes
-Added a delete button to the registries-left-nav
-Added logic to the component.ts file to the registries-left-nav file to enable the delete
Screenshot(s)

Side Effects
This change may potentially conflict with other permission or moderations states and should be tested for each of the RegistrationReviewStates and RevisionReviewStates.
QA Notes

Closed in favor of #1348


AMPI built-in keyval attributes for mype, numpes, etc. are broken

Original issue: https://charm.cs.illinois.edu/redmine/issues/959

AMPI_KEYVAL_MYPE, AMPI_KEYVAL_NUMPES, AMPI_KEYVAL_MYNODE, AMPI_KEYVAL_NUMNODES are defined in AMPI for all communicators but they are not actually set.

Original date: 2016-01-21 23:45:24

Changed name of attributes to AMPI_MY_PE, AMPI_NUM_PES, AMPI_MY_NODE, and AMPI_NUM_NODES.
~~https://charm.cs.illinois.edu/gerrit/#/c/1018/~~ https://github.com/UIUC-PPL/charm/commit/e7eabb9eb1b8bbe772a1c1368c6a08e330476478


feat: compatible with Toggl API v9

This removes a whole bunch of unused dependencies, upgrades to the latest version of other dependencies, and fixes the script so that it uses the Toggl "v9" API, as the "v8" API is no longer working.

Upd: I tested this, works perfectly.


livePhoto.writeToPhotoLibrary is failing on live photos

-Convert to a plain image if grabbing live photo in ImageManager


Issue with Rotated Objects

When using this with rotated objects it measures the object as if it here at 0 deg rotation, I think it should use the rotated width of the object.

Thanks! Will check how I fix this.
On Tuesday, 30 August 2016, Ian Soper<EMAIL_ADDRESS>wrote:

When using this with rotated objects it measures the object as if it here
at 0 deg rotation, I think it should use the rotated width of the object.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PEZ/SketchDistributor/issues/10, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB1Ov1TPfr0wd1Bxml27qMpSAui7kZ2ks5qlFBdgaJpZM4JwrXS
.

@iansoper: Sorry for the super long delay. But now it should work.

Reopening this issue as the fix caused new, problems. See issue #14.

I'm sorry, it seems that Sketch does not offer a way to keep the precision of the distribution while handling the rotated objects case. I have this reverted the fix. Reopening this issue.


beeeeeeeeeeeeeeeeeeeeeeeee

    beeeeeeeeeeeeeeeeeeeeeeeee

Duplicate of #
Originally posted by @mishalhossin in https://github.com/ROboX18/literate-engine/issues/4#issuecomment-1266393124

grtg45


Issue with docker-proxy

My info
root@cl4:~# docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64
root@cl4:~# docker info
Containers: 8
Images: 1402
Server Version: 1.9.1
Storage Driver: devicemapper
 Pool Name: docker-9:2-11796976-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem:
 Data file: /dev/loop6
 Metadata file: /dev/loop7
 Data Space Used: 26.81 GB
 Data Space Total: 107.4 GB
 Data Space Available: 80.57 GB
 Metadata Space Used: 63.56 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.084 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /home/docker/devicemapper/devicemapper/data
 Metadata loop file: /home/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.77 (2012-10-15)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.14.32-xxxx-grs-ipv6-64
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 31.38 GiB
Name: cl4.digitalpine.ru
ID: EBKP:QGD5:NTHF:D3XO:4KFW:WQHI:M5YN:PFCV:PT7A:D5O5:NRB6:BODJ
Username: sergek
Registry: https://index.docker.io/v1/

When i start ct
root@cl4:~# docker start 90b
Error response from daemon: Cannot start container 90b: failed to create endpoint kibana on network bridge: Error starting userland proxy: listen tcp <IP_ADDRESS>:5601: bind: cannot assign requested address
Error: failed to start containers: [90b]

It`s old vpn-address on host and now deleted from network. Where i need edit for well work?

@maxkrylov Can you tell me how you started your docker daemon and also can can you post the output of docker inspect 90b? Most likely you have a -p option when created this container which was mapping to the VPN address which is now gone.

i dont khow about start docker daemon. im newbie on project. How i can see that?

@maxkrylov the container configuration is set to an interface ip-address that no longer exists. The container network configuration is immutable.
Closing this issue. pls feel free to comment and we can continue to discuss here.


when serializing dependencies, make sure it takes only the master language

this should kick in,
https://github.com/larshp/abapGit/blob/master/src/objects/zcl_abapgit_object_msag.clas.abap#L222

tested, it currently takes all languages

Check the xml file of a MSAG. It is only generating the Master Language for the messages.
What makes the fill big, is the dependent long Text.

For MSAG's outside of our development package, the long texts should not be downloaded.
If it is our development package, it should only do the requested language (if setting say so).

There is more that is not needed for dependencies.

for longtexts, see https://github.com/abaplint/abaplint-sci-client/issues/75 and need https://github.com/larshp/abapGit/pull/3607 to be merged


[go_router] Add onInit and onDispose callbacks to routes

copied from https://github.com/csells/go_router/issues/297
I'd like to wrap a branch of widget tree into provider.
But if I'll try to resolve a provided class from the nested route, it will tell there's no such a class:
final _router = GoRouter(
  routes: [
    GoRoute(
      path: '/',
      builder: (context, state) => Provider(create: (context) => ProfileController(), child: HomeScreen()),
      routes: [
        GoRoute(
          path: '/reg',
          builder: (context, state) => RegistrationScreen(profile: context.read<ProfileController>()),  // throws an error
        ),
      ],
    ),
  ],
);

The reason is these routes actually are spawned as neighbours, not in the parent-child relations in the widget tree.
|
|- Provider<ProfileController>
|-- HomeScreen
|- RegistationScreen // cannot get ProfileController from here

The only routing package where it is solved is GetX. It used its own Binding system, allowing to bind controller to the routes, and get them in the nested routes, and automatically dispose it when route is closed (refer to: https://github.com/jonataslaw/getx/blob/master/documentation/en_US/dependency_management.md#bindings)

You copied the wrong message.
Finally, we agreed on the following: (quote from the original topic)
You currently can register dependencies the following way:
GoRoute(
        path: '/profile',
        builder: (context, state) {
          GetIt.I.registerSingleton<IProfileController>(ProfileController());
          return ProfileScreen(onDispose: () {
             GetIt.I.unregister<IProfileController>(disposingFunction: (controller) => controller.dispose());
             }
           ),
        },
      ),

Slightly cumbersome.
You could add onInit and onDispose callbacks for better management
GoRoute(
        path: '/profile',
        builder: (context, state) => const ProfileScreen(),
        onInit: () => GetIt.I.registerSingleton<IProfileController>(ProfileController());
        onDispose: () => GetIt.I.unregister<IProfileController>(disposingFunction: (controller) => controller.dispose());
      ),

That would be much cleaner. And this controller could be read from all the child routes.
https://github.com/csells/go_router/issues/297#issuecomment-1008436177

No need to create such kind wrapper in go_router.
It can be done easily by user side.
If you do not know how to do it, i can leave the link
https://gist.github.com/II11II/9da36d5e9cf34cb293df20f31f70f20c

Why not to embed it right into GoRoute? So the user won't have to create such wrappers.

It can be done easily by user side.
Everything can be done on the user side. However, this is not convenient.

register it in the main app when app start the scope it to that specific page or widget

This is exactly what I was looking for.
Any update?
@subzero911
GoRoute(
        path: '/profile',
        builder: (context, state) {
          GetIt.I.registerSingleton<IProfileController>(ProfileController());
          return ProfileScreen(onDispose: () {
             GetIt.I.unregister<IProfileController>(disposingFunction: (controller) => controller.dispose());
             }
           ),
        },
      ),

In above snippet code, this line GetIt.I.registerSingleton<IProfileController>(ProfileController());  will be call multiple times because builder trigger every time when navigate -> GetIt error: already registered inside GetIt


quote_data fails with InvalidTickerSymbol - quotes endpoint requires auth token now

GET requests for quotes now require that you pass your access token.
For anyone looking for a quick fix to the problem, in your quote_data and quotes_data functions in Robinhood.py, replace:
req = requests.get(url, timeout=15)

with:
req = requests.get(url, headers=self.headers, timeout=15)

which will pass your auth token with your quotes request.
For any future PR, make sure to change the InvalidTickerSymbol() raise, because it's not really accurate.
s/o to https://github.com/Ladinn/algotrader/issues/11 for the idea!

Still failing for me. Integrating the headers=self.headers argument doesn't fix the error. I merely obtain a top level stack trace 404 error:
HTTPError: 404 Client Error: Not Found for url: https://api.robinhood.com/quotes/spy/

accompanied with the InvalidTickerSymbol error generated within the catchall HTTPError within the function.
I am using .quote_data('spy')

Found the issue I think. The issue lies in the fact that the ticker must also be uppercase 😐in addition to passing the headers as listed above.

@trevorwelch Thanks for the fix! Any idea why it hasn't been merged with the master yet?

@trevorwelch Thanks for the fix! Any idea why it hasn't been merged with the master yet?

I do not know why it hasn't been merged. There are constant little fixes in chasing around an private/'unofficial' API like this though, so it would be nice if there was an active maintainer.

Thank you for your work, @trevorwelch. I’m reviewing the open PRs today


❓ [Question] More average batch time for torch-tensorrt compiled model than torchscript model (fp32 mode).

❓ Question
I am comparing the performances of the torchscript model and the torch-tensorrt compiled model, when I am running in float32 mode, the average batch time is more for torch-tensorrt model. Is this expected?1. I am running the below code to compare torchscript model and torch-tensorrt compiled models,
class LeNetFeatExtractor(nn.Module):
    def __init__(self):
        super(LeNetFeatExtractor, self).__init__()
        self.conv1 = nn.Conv2d(1, 128, 3)
        self.conv2 = nn.Conv2d(128, 16, 3)

    def forward(self, x):
        x = F.max_pool2d(F.relu(self.conv1(x)), (2, 2))
        x = F.max_pool2d(F.relu(self.conv2(x)), 2)
        return x

class LeNetClassifier(nn.Module):
    def __init__(self):
        super(LeNetClassifier, self).__init__()
        self.fc1 = nn.Linear(16 * 6 * 6, 120)
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 10)

    def forward(self, x):
        x = torch.flatten(x,1)
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x

class LeNet(nn.Module):
    def __init__(self):
        super(LeNet, self).__init__()
        self.feat = LeNetFeatExtractor()
        self.classifer = LeNetClassifier()

    def forward(self, x):
        x = self.feat(x)
        x = self.classifer(x)
        return x

def benchmark(model, input_shape=(1024, 1, 32, 32), dtype='fp32', nwarmup=50, nruns=100):
    input_data = torch.randn(input_shape)
    input_data = input_data.to("cuda")
    if dtype=='fp16':
        input_data = input_data.half()

    print("Warm up ...")
    with torch.no_grad():
        for _ in range(nwarmup):
            features = model(input_data)
    torch.cuda.synchronize()
    print("Start timing ...")
    timings = []
    with torch.no_grad():
        for i in range(1, nruns+1):
            start_time = time.time()
            features = model(input_data)
            torch.cuda.synchronize()
            end_time = time.time()
            timings.append(end_time - start_time)
            if i%100==0:
                print('Iteration %d/%d, ave batch time %.2f ms'%(i, nruns, np.mean(timings)*1000))

    print("Input shape:", input_data.size())
    print("Output features size:", features.size())

    print('Average batch time: %.2f ms'%(np.mean(timings)*1000))

model = LeNet()
model.to("cuda").eval()
benchmark(model, dtype="fp32")
inpt = torch.empty([1,1,32,32]).to("cuda")
traced_model = torch.jit.trace(model, inpt)
benchmark(traced_model, dtype="fp32")
script_model = torch.jit.script(model)
benchmark(script_model, dtype="fp32")

compile_settings = {
    "inputs": [torch_tensorrt.Input(
            min_shape=[1024, 1, 32, 32],
            opt_shape=[1024, 1, 33, 33],
            max_shape=[1024, 1, 34, 34],
            dtype=torch.float
        )],
    "enabled_precisions": {torch.float} # Run with FP16
}

trt_ts_module = torch_tensorrt.compile(traced_model, **compile_settings)
benchmark(trt_ts_module, input_shape=(1024, 1, 32, 32), dtype="fp32")

Check below my performance comparison results:

Warm up ...
Start timing ...
Iteration 100/100, ave batch time 39.72 ms
Input shape: torch.Size([1024, 1, 32, 32])
Output features size: torch.Size([1024, 10])
Average batch time: 39.72 ms
Warm up ...
Start timing ...
Iteration 100/100, ave batch time 39.74 ms
Input shape: torch.Size([1024, 1, 32, 32])
Output features size: torch.Size([1024, 10])
Average batch time: 39.74 ms
Warm up ...
Start timing ...
Iteration 100/100, ave batch time 39.77 ms
Input shape: torch.Size([1024, 1, 32, 32])
Output features size: torch.Size([1024, 10])
Average batch time: 39.77 ms
WARNING: [Torch-TensorRT] - Dilation not used in Max pooling converter
WARNING: [Torch-TensorRT] - Dilation not used in Max pooling converter
WARNING: [Torch-TensorRT TorchScript Conversion Context] - TensorRT was linked against cuBLAS/cuBLAS LT 11.5.1 but loaded cuBLAS/cuBLAS LT 10.2.2
WARNING: [Torch-TensorRT TorchScript Conversion Context] - Detected invalid timing cache, setup a local cache instead
WARNING: [Torch-TensorRT TorchScript Conversion Context] - Max value of this profile is not valid
WARNING: [Torch-TensorRT TorchScript Conversion Context] - TensorRT was linked against cuBLAS/cuBLAS LT 11.5.1 but loaded cuBLAS/cuBLAS LT 10.2.2
WARNING: [Torch-TensorRT] - TensorRT was linked against cuBLAS/cuBLAS LT 11.5.1 but loaded cuBLAS/cuBLAS LT 10.2.2
WARNING: [Torch-TensorRT] - TensorRT was linked against cuBLAS/cuBLAS LT 11.5.1 but loaded cuBLAS/cuBLAS LT 10.2.2
Warm up ...
Start timing ...
Iteration 100/100, ave batch time 57.29 ms
Input shape: torch.Size([1024, 1, 32, 32])
Output features size: torch.Size([1024, 10])
Average batch time: 57.29 ms

Environment

Build information about Torch-TensorRT can be found by turning on debug messages

PyTorch Version (e.g., 1.0): 1.10
CPU Architecture: x86_64
OS (e.g., Linux): Ubuntu 18.04
How you installed PyTorch (conda, pip, libtorch, source): pip
Build command you used (if compiling from source): python3 setup.py install
Are you using local sources or building from archives: local
Python version: python 3.6.8
CUDA version: 11.3
Any other relevant information:

Additional context
Is the above results are expected? Is torch-tensorrt compiled performs better only for fp16 mode?

Hi @harishkool, what GPU are you running on?

K80 GPU.

Hi @harishkool. There are a few combing factors here. First, K80 is a deprecated device by TensorRT; see support matrix. This means the kernels selected by TensorRT may not be optimal for K80.
The other issue is the aten::Int op was not supported previously by Torch-TRT causing the graph to be segmented. TensorRT has some optimizations for BERT that require the entire graph to be offloaded to TensorRT, and without them performance suffers.
Once the aten::Int PR is merged perf should improve in your usecase, however, we can't make guarantees on K80 unfortunately.
Let us know if you have more questions about this!