travis: fix build failure

https://travis-ci.org/github/inveniosoftware/invenio-formatter/jobs/664497132#L311
$ requirements-builder --level=min setup.py > .travis-lowest-requirements.txt
Traceback (most recent call last):
  File "/home/travis/virtualenv/python2.7.15/bin/requirements-builder", line 8, in <module>
    sys.exit(cli())
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/requirements_builder/cli.py", line 69, in cli
    output.writelines(lines)
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/click/_compat.py", line 88, in writelines
    for line in lines:
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/requirements_builder/cli.py", line 66, in <genexpr>
    '{0}\n'.format(req)
  File "/home/travis/virtualenv/python2.7.15/lib/python2.7/site-packages/requirements_builder/requirements_builder.py", line 108, in iter_requirements
    exec(setup_fp.read(), g)
  File "<string>", line 0
SyntaxError: encoding declaration in Unicode string
The command "requirements-builder --level=min setup.py > .travis-lowest-requirements.txt" failed and exited with 1 during .

Problem is similar to inveniosoftware/invenio-app#63

Tasks

Remove python 2 support according to the Python 2 support RFC in order to fix build error.
Likely the same problem as in Invenio-App will happen where another build error will be triggered due to six version conflict.


Blip used for downstream tasks，e.g. Vision-Language Navigation

Hi,
I wonder if it could be used for vision-language navigation tasks （R2Rtask）？
Thanks~

Sorry but I'm not very familiar with VLN


chore: add accessibility features where needed

I'll be utilizing regEx to identify areas in need of accessibility improvements. These regEx patterns will help me locate specific elements within the codebase that require accessibility enhancements.

I will .take this.

Before beginning this @RitaDee, can we discuss the issue? What is the regex checking for exactly?
Also, there's tools like Axe to help uncover accessibility issues.

Before beginning this @RitaDee, can we discuss the issue? What is the regex checking for exactly?
Also, there's tools like Axe to help uncover accessibility issues.

The combined regular expression is used to identify potential accessibility issues within HTML code. It's to catch specific patterns of
code that may indicate missing or problematic accessibility features, like missing "alt" attributes for images, missing labels for form inputs, empty anchor tags, or elements without ARIA attributes.
I can explore the stated tool too, if you permit me to

Before beginning this @RitaDee, can we discuss the issue? What is the regex checking for exactly?
Also, there's tools like Axe to help uncover accessibility issues.

The combined regular expression is used to identify potential accessibility issues within HTML code. It's to catch specific patterns of code that may indicate missing or problematic accessibility features, like missing "alt" attributes for images, missing labels for form inputs, empty anchor tags, or elements without ARIA attributes.
I can explore the stated tools like Axe too (it doesn’t look like it is a free extension), if you permit me to

It's a free browser extension. There's a paid product as well, but it's not required. Feel free to use the regex as well, but open separate issues for the things to fix.
Thanks for looking into this!

It's a free browser extension. There's a paid product as well, but it's not required. Feel free to use the regex as well, but open separate issues for the things to fix.
Thanks for looking into this!

@nickytonline, I need clarity on how to tackle this based on what you stated "open separate issues for the things to fix."  So, you want me to fix them in bits right? Take a look at this:

Yeah fix them in bits, but also don't tackle them right away as we do have some internal initiatives to work on this as well, so it's better to open the issues, have a discussion and then move forward.
Already I see on that page the links which are the crayon and right chevron icons, do not have text to say what they are for.

Yeah fix them in bits, but also don't tackle them right away as we do have some internal initiatives to work on this as well, so it's better to open the issues, have a discussion and then move forward.

Okay. Thanks

Yeah fix them in bits, but also don't tackle them right away as we do have some internal initiatives to work on this as well, so it's better to open the issues, have a discussion and then move forward.

Okay. Thanks

What is your thought on this:
https://github.com/open-sauced/app/issues/2028?

@RitaDee, I'm going to go ahead and close this as you're opening up separate issues for things a11y issues you discover. Thanks for working on all this!

@RitaDee, I'm going to go ahead and close this as you're opening up separate issues for things a11y issues you discover. Thanks for working on all this!

Sure @nickytonline!


Making a file available while in transit

Is it possible for a client to request a file (with chunked transfer) while it is being uploaded and before the transfer is completed? From what I see playing with curl and slowly transfering a large file, caddy starts serving it only after the file is fully received, and is give a name on the storage, until then the file is temporary and not visible.
Am I correct?

That's exactly what happens, by design. The idea is to have another tool monitor the upload destination, and act on complete downloads.
It's currently not possible to serve partial content while an upload is going on, to get a kind of streaming or generally.
Caddyserver's architecture does not allow for an implementation of that behaviour (other perhaps than wrapping everything in a plugin of its own; but we'd have a lot of duplication). Therefore please don't expect it for that http server.

I am interested in such a store-and-forward tool myself, though.

Thanks for the quick answer. Caddy is being used here https://github.com/streamlinevideo/streamline as an origin server, with ffmpeg pushing hls and dash segments, but I could not see how this could also be used for CMAF low-latency chunked transfer. To have that functionality in such a small package would be really nice..

Yes, I agree. This plugin is focused on uploads (and moves, and deletes) only, and everyone is free to wrap it into something larger.
I'd really like to see another webserver—there's many opportunities for a better architecture—, but currently don't have the time to implement one.


Use vue-resource to get JSON over http

vue-resource to get JSON over http explained:
https://laracasts.com/series/learning-vue-step-by-step/episodes/11

Got something working from this example:
http://stackoverflow.com/questions/32082488/getting-started-with-vue-resource
http://jsfiddle.net/dccbbkam/2/


[dc-488] link to workspace blocking

Tested manually both aborting and not aborting.
Ran integration tests.
Ran test-flakes against link-to-new-workspace.
We are starting with a blocking approach, despite the length it will take to export. If we see large dropoffs in mixpanel after release, we will re-evaluate then

The reason there is no error message now, actually @breilly2 is that the TDR returns a 401. Technically they should return a 403 (@nmalfroy )
The 401 is getting detected as an expired token, and attempting to reload the auth token, which succeeds. This is because 401 is most often used as a proxy issue, and not as insufficient permissions.

Yeah, that's a known thing. We need to go through all of our 401 (or most of them at least) and convert them to 403's


COVID 19 tracker for Karnataka

Updated miscellaneous.md to include kar.covid19-info.website/

Hi, getting a privacy/malware alert when trying to reach your website. Could you please fix that?

Thanks! I'll check and get back

Hello, could you please verify this again when you get a chance? Thanks!
While I could not replicate the privacy/malware alert, I did get the sub-domain verified in the Google Search Console. Since then, I have run the site through various blacklist checkers and none of them have reported it as malicious or infected with malware.

@AbhishekPednekar84 can you please resolve the conflicts? Will merge after that.

Resolved. Thanks!


Implement PEP 685 -- Part 1

Coverage decreased (-0.1%) to 99.089% when pulling e3efa1eba13b1ae87f8f170be89aa406dd0e48d8 on pep685-part1 into a2c812dc49ec38c764fce2fd629daa3ae5b92249 on master.


Add Selection API

This adds the Selection API as documented on MDN. Non-standard features such as modify are not included.
Support for this API seems very good according to Can I use.
I would appreciate as much feedback as possible on this, particularly on the introduction of the SELECTION effect, and around the effects used in general.
Some feedback on the approach used for type would also be great.
I think it also makes sense to add more on the Range data type. I'd like to do this in accordance with the documentation on MDN but I'm not sure what the appropriate effect should be.
Thanks in advance.

I think this looks great. Re: type_, we can probably drop the Partial via unsafePartial - I think I've done that elsewhere whenever we implement the enumeration of possible string values according to the spec.

I fixed the conflicts with master locally but now I'm getting this:
[1/1 ScopeConflict] bower_components/purescript-eff/src/Control/Monad/Eff.purs:36:1

  36  foreign import data Eff :: # Effect -> Type -> Type
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  Conflicting definitions are in scope for kind Effect from the following modules:

    Control.Monad.Eff
    Prim

Travis is OK with this so not sure what's happening locally.

That's the error you get if you try and compile 0.11 libraries with 0.10 - maybe old compiler in node_module getting picked up if you installed the npm dependencies locally? :)

@garyb I just fixed the latest conflicts. Please let me know if you think anything else needs to change here.

@garyb would you mind taking another look at this please?

I was a little apprehensive about adding this, since it is still experimental and the spec is just a working draft... but at least there is a spec! And it's decently supported as you point out.
Sorry I ignored it for ages!

Hey, I have noticed some selection and range API functions in the HTMLInputElement and HTMLTextArea modules, but are there any plans to implement more of the Selection API? Especially functions concerning selections not in input elements and text areas but anywhere in the document?


Set default DISTRO, disable prelink

Setting the default DISTRO to include systemd means that the rvi-sota-client
starts by default, making it work 'out of the box'.  image-prelink seems to be
broken at the moment, so I've disabled it by default.

Review score: 11/11


Affix crafting information from the GGPK

Our current Affix information is from exilemods.com. Biggest issue with that is that it's outdated, so I want to get the information directly from the GGPK (through the files I already exported in RePoE).
Since the GGPK's mod information is based on tags, I'll take the opportunity to replace our ItemGroup and ItemType enums by GGPK based information with ItemClass (based on ItemClasses.dat) and Tags (based on Tags.dat). This will hopefully make a lot of conversions between enums and other enums or game information much easier (e.g. it already made the ItemBaseLoader 1/3 shorter). And it should be helpful later on for the computation rewriting.
This is the last thing I want to do before starting with #463, so I thought I'd let you know.
Edit: I'll also switch over to translating mod/stat ids on-the-fly while crafting instead of using pre-translated strings. I'll need to implement translation anyway and this'll fix items with changing translations depending on the value, like Ventor's Gamble.

@brather1ng will that allow the us to chooseVaal mods on the items?


To many requests

Exception: Service invoked too many times for one day: urlfetch. (line 43). is the error I am getting. Is there a way to slow down the API calls? Is there a way to store the information in a cash and call it once per cycle designated by the user? This is my code:=markets_prices().

I find it hard to believe you're running into that error solely via markest_prices unless you're refreshing it like every minute as its only a single request each time.
Keep in mind this limit is account wide, so this sheet might not be the one using up your quota.

I just discovered that there was a sheet in the background full of api calls. Thanks for the reply!

@EroldHareka, I suggest throttling API requests.


Add containerization file for website

Added configuration files for containerization. Dockerfile file for PHP, and docker-compose file for the multi-container environment. Used PHP:FPM latest, Nginx, and MariaDB containers.
This is to make it easier for more developers coming on board to get started with development without platform differences
To get started, run docker-compose in the root directory, for data persistence, please uncomment the MySQL volumes in the docker-compose file

This is not part of the issues created but I thought it would be a good addition for development to be done to the project

We shall keep it in mind, thanks alot


[SPARK-24215][PySpark] Implement repr_html for dataframes in PySpark

What changes were proposed in this pull request?
Implement repr_html for PySpark while in notebook and add config named "spark.jupyter.eagerEval.enabled" to control this.
The dev list thread for context: http://apache-spark-developers-list.1001551.n3.nabble.com/eager-execution-and-debuggability-td23928.html
How was this patch tested?
New ut in DataFrameSuite and manual test in jupyter. Some screenshot below.
After:

Before:

Not sure who is the right reviewer, maybe @rdblue @gatorsmile ?
Could you help me check whether it is the right implementation for the discussion in the dev list?

Test build #90834 has started for PR 21370 at commit ebc0b11.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3365/
Test PASSed.

Test build #90834 has finished for PR 21370 at commit ebc0b11.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90834/
Test FAILed.

@HyukjinKwon @holdenk @ueshin

we will wait for the tests to be fixed first.
@xuanyuanking could you update the PR description to clarify which is "before" which is "after"?

retest this please

Test build #90871 has started for PR 21370 at commit ebc0b11.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3399/
Test PASSed.

Test build #90872 has finished for PR 21370 at commit f2bb8f3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90872/
Test FAILed.

Test build #90871 has finished for PR 21370 at commit ebc0b11.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90871/
Test FAILed.

Test build #90896 has started for PR 21370 at commit a798cf2.

Thanks all reviewer's comments, I address all comments in this commit. Please have a look.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3413/
Test PASSed.

Merged build finished. Test PASSed.

Test build #90896 has finished for PR 21370 at commit a798cf2.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/90896/
Test FAILed.

Merged build finished. Test FAILed.

Can we also do something a bit more generic that works for non-Jupyter notebooks as well? For example, in IPython or just plain Python REPL.

@rxin, __repr__ is the equivalent for ipython and the python REPL. _repr_html_ is the convention used by jupyter to replicate __repr__ in notebooks with HTML output.

Test build #91022 has started for PR 21370 at commit feb5f4a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3494/
Test PASSed.

Test build #91022 has finished for PR 21370 at commit feb5f4a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91022/
Test FAILed.

Can we also do something a bit more generic that works for non-Jupyter notebooks as well?

Can we accept spark.sql.repl.eagerEval.enabled to control both __repr__ and _repr_html_ ?
The behavior like below:

If not support repr_html and open eagerEval.enable, just call something like show and trigger take inside.
If support repr_html, use the html output. (Here need a small trick, we should add a var in python dataframe to check whether repr_html called or not, otherwise in this mode _repr_html and repr will both call showString).

I test offline an it can work both python shell and Jupyter, if we agree this way, I'll add this support in next commit together will the refactor of showString in scala Dataset.

Test build #91205 has started for PR 21370 at commit 94f3414.

Test build #91205 has finished for PR 21370 at commit 94f3414.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91205/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3622/
Test PASSed.

Test build #91206 has started for PR 21370 at commit 425bee1.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3623/
Test PASSed.

Test build #91206 has finished for PR 21370 at commit 425bee1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91206/
Test PASSed.

@viirya @gatorsmile @ueshin @felixcheung @HyukjinKwon
The refactor about generating html code out of Dataset.scala was done in 94f3414. Please help to check whether it is appropriate when you have time. Thanks!
@rdblue @rxin
The lastest commit also include the logic of using spark.sql.repl.eagerEval.enabled both control __repr__ and _repr_html_. Please have a look when you have time. Thanks!

Test build #91297 has started for PR 21370 at commit d4bf01a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3701/
Test PASSed.

Test build #91297 has finished for PR 21370 at commit d4bf01a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91297/
Test PASSed.

Test build #91354 has started for PR 21370 at commit 9c6b3bb.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3736/
Test PASSed.

Test build #91354 has finished for PR 21370 at commit 9c6b3bb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91354/
Test PASSed.

Merged build finished. Test PASSed.

Test build #91389 has started for PR 21370 at commit 7f43a8b.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3760/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91389/
Test PASSed.

Test build #91410 has started for PR 21370 at commit 5b36604.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3772/
Test PASSed.

Merged build finished. Test PASSed.

Test build #91410 has finished for PR 21370 at commit 5b36604.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91410/
Test FAILed.

retest this please

Test build #91416 has started for PR 21370 at commit 5b36604.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3778/
Test PASSed.

Test build #91416 has finished for PR 21370 at commit 5b36604.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91416/
Test PASSed.

Merged build finished. Test PASSed.

Test build #91449 has started for PR 21370 at commit 597b8d5.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3795/
Test PASSed.

Test build #91449 has finished for PR 21370 at commit 597b8d5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91449/
Test PASSed.

Merged build finished. Test PASSed.

Thanks @HyukjinKwon and all reviewers.

@xuanyuanking @HyukjinKwon Sorry for the delay. Super busy in the week of Spark summit. Will carefully review this PR today or tomorrow.

Test coverage is the most critical when we refactor the existing code and add new features. Hopefully, when you submit new PRs in the future, could you also improve this part?

Of cause, I'll do this in a follow up PR and answer all question from Xiao this night. Thanks for all your comments.


Add missing error checks in tests

This at least partially explains some of the test timeouts that we are seeing.  Basically the following sequence of events has been occurring:

Creating a Kubernetes job results in a timeout error for some undetermined reason (maybe cuz Kubernetes is overwhelmed by integration tests)?

We were ignoring the error returned from CreateJob, so we used the returned job ID in subsequent API calls without knowing that it's nil.

Because job ID is nil, pachd crashed, resulting in tests hanging.

However, this PR does not solve the fundamental problem which is that Kubernetes sometimes times out when we try to create a job.

@sjezewski could you take a look?

LGTM
If nothing else, we'll have more descriptive (and quicker) errors on CI to help us refine this further


OAuth User Identifier is also used as Username

General Problem
Currently when configuring the OAuth integration with portainer the User identifier field is used to identify the user and also as the username.
Many Single Sign On solutions providing OAuth provides a unique persistent ID for user identification, but this is not necessarily a "human readable" identifier.
Our specific problem
In our organisation we use FusionAuth as IAM and SSO solution, which exposes the sub field which is a UUID and causes ugly looking usernames in Portainer. It also makes it hard for admins to manage users, such as managing teams and roles for individual users, as we have random UUIDs to try and identify users by instead of human readable usernames. We can not use the users display name or their e-mail as users might update these on their profile page.
Proposed solution
The proper solution to this would be to use the User identifier mapped to the Id field in the portainer.db>users model and then have the username be another configurable variable. The username should then be updated every time the user logs in to pull any changes from the SSO provider, but will stay persistent for any chanages as the User identifier should never change.
Screenshot

The User identifier value maps to the Portainer users.Username, and I think a lot of people are using the email or name as the User identifier rather than the sub. Do you have any specific requirements around that?

Yes, many people might be using email or name for this field, but those are not necessarily persistent. If a user updates their email or name on their profile page tied to their SSO account, then try to log into Portainer again, then Portainer would think they are a totally new and different user.
As mentioned in the main ticket, in our organisation we use FusionAuth as SSO and OAuth provider for Portainer. We also have a profile page where it is possible for users to update their name and email. This is not especially unique to our organisation, even Github allows you to update both your display name, username and email in your profile settings (however github does warn about potential side effects of changing your username). In our organisation, we have never had a need for unique persistent usernames which are on human readable form, all other services we utilize with OAuth supports the notion of display name being different from the persistent user id.

Adding a +1 that we would also really love this feature. We would love to use discord for oauth, but there are only fields that are ugly as usernames, or fields that are not unique across users, causing a security flaw. We would love to be able to use discord's numerical id as the "username" and discord's username as the display name.


You can add and edit tags up to three tags on a proposal

We need a better way for users to find proposals that interest them. Therefore, I propose adding the ability to add tags to a proposal upon creating it as well as the ability to edit them.
I also want to limit tags to 3 so that tags are more useful for organisation and finding purposes. It's also a useful tool for speakers struggling to choose three tags to wonder whether their proposal covers too much scope!
In a separate chunk of work, we can add the ability to filter proposals down by tags.

@nodunayo you should add the "help wanted" label ;)


Cannot find Gradle Tasks tasks

Extension Name: vscode-gradle
Extension Version: 3.8.0
OS Version: Windows 10 20H2
VSCode version: 1.61.0
Describe the bug
Trying to run tasks provided by Gradle Tasks results in "command gradle. not found".
To Reproduce

Install Gradle Tasks.
View -> Command Palette
Enter "Find Gradle Tasks" and hit enter
A popup appears that says "Command 'Find Gradle Task' resulted in an error (command 'gradle.findTask' not found)

The same happens with "Refresh Gradle Tasks".
Expected behavior
I expect some sort of action to be taken, with no error dialog.
Screenshots
Output from "Gradle Tasks"
I do not have a "Gradle Tasks" tab on the "Output" panel.
Does the bug still exist if you disable all other extensions?
Unclear; I need the "Remote - SSH" extension (in my local workspace) to load the workspace. The problem
Additional context
This is a remote workspace (via SSH), and Gradle Tasks is installed in my local and remove workspace.

Thanks for the report. Could you try if this issue still exists in a local project? This would help us to confirm if it's related to the remote environment.

Has there been any movement on this or is there a workaround?  I can confirm that this extension (v3.12.5) doesn't work with remote-ssh (v0.85.2022071315)  No elephant icon appears in the activity bar and the only information given in the "Runtime Status" is "'javaProject.gradle' is not a valid menu identifier"

@cmitchell if no elephant icon can be found in the activity bar, mostly the gradle extension has not been activated. You can check the conditions to activate the extension and find if your project contains certain files. https://github.com/microsoft/vscode-gradle/blob/db4104b727fb528e1127f26b1fd0a44c4adce939/extension/package.json#L35-L44

@CsCherrYY  -- Thanks, but I was confirming that the issue is specific to when you are using vscode via remote ssh (that's why I included the version of the ssh extension)  The same code repository and gradle setup works fine with the gradle extension locally, so it's definitely NOT related to an activation condition.
Has anyone tested this extension when using the remote-ssh plugin?  Other extensions work fine over ssh, so that's why I think there's an issue with this extension and not the ssh remote extension.

Any movement on this? I still see the same issue when using this extension via remote-ssh, but not when running locally.

I encountered (the same?) issue when opening the project in WSL environment. The Elephant icon is missing, I can see Gradle commands from a command panel but many things seem broken.
I didn't have or use a ssh-remote extension/plugin. But I believe the WSL is still considered "Remote" by VSCode.
Stuck for almost 2 hours. Thank to this public issue report, moved my project files from WSL to Windows Desktop and the Elephant icon now appears on the side activity bar.


增加对龙芯的loongarch64架构的支持

增加对龙芯的loongarch64架构的支持，已通过测试;
Target physical machine product name：Loongson-LS3A5000-7A2000-1w-EVB-V1.21
Capture unit or camera product name：Spirer RP28WD305(USB2.0)

Thanks PR! I will review soon.
Just as an FYI, are there any resellers who can buy this physical machine from outside of China? The only ones I know of are aliexpress and taobao, but alexpress is the only one I have actually purchased from.

我的测试电脑是从龙芯中科公司采购的主板进行组装的，是无法网购的，你可以在aliexpress 和 taobao上查找其他型号的计算机，只要处理器是龙芯3A5000或3A6000就可以了


fix: deactivate cross compile dev shell for aarch64-linux

The dev shell for this architecture seems broken anyway, which prevents flake evaluation. No harm in deactivating the shell till someone actually wants to develop fedimint with cross-compilation on ARM Linux.
Fixes #6428

@dpc if you know a better way of not defining an attribute dependent on a boolean expression I'd love to know! // and optionalAttrs feels like a hack.

Successfully created backport PR for releases/v0.5:

#6437


CoreText Performance: Call ID2D1RenderTarget::BeginDraw()/EndDraw() f…

…ewer times
Fixes #1620

This change is

My profiler has been acting up since I took a recent update, so I haven't been able to get a measurement yet. Will make one when I can.

:shipit:


Is zookeeper still required?

Hi,
Kafka consumer client library introduced callback interface for life cycle event (i.e onPartitionsRevoked) which is guaranteed  to be invoked on all consumers prior to rebalance start, which can be used in order to upload files and commit offsets before rebalance start
I know it's only been introduced in 0.9 version, but given that version or above, why is zookeeper still necessary?
only thing I can think of is that it might apply the wrong policy (i.e upload a files smaller than required or before file age reached..
implementing this using the lifecycle event might even reduce the effort consumers need to be dealing with after rebalance, since they need to re consume the same messages again.. (assuming partitions did not reached the same consumer and trimming cannot be applied...)
Am I missing something else?

Giving that Kafka still depends on ZK on metadata management, we probably won't tackle secor's dependency on ZK until KIP-500 is implemented: https://cwiki.apache.org/confluence/display/KAFKA/KIP-500%3A+Replace+ZooKeeper+with+a+Self-Managed+Metadata+Quorum


Added trailing widgets for vertical stepper

Hi! please see https://github.com/BrianCraig/another_stepper/pull/2#issuecomment-1880850969

@SulabhShrestha Please make the PR to https://github.com/rajnishsharma1/another_stepper, thanks!


Convert to async/await syntax

Currently, Redite uses pure promises, which does increase its compatibility with older version of Node (4.x.x without a polyfill such as Bluebird or when), but does make its code flow quite messy to go through. I could try to redo some of the code with promises, however I feel that moving to the new async/await syntax would be a lot easier, as well as making future maintainability much easier, and if a user does need to use/support an earlier version of Node, they can always use something like Babel to transpile it.

Closed in a51d136.


Update README

Updated README file.

Hi @ablacan looks good, thanks for preparing this. This PR, however, also changes 36 other files. Sorry to be a pain, but could  you create a new branch based on the current master branch and include only the updated README file? This way we can make a separate PR for updates to the code.


Fixes #4621

Fix a faulty bitmask that causes issue https://github.com/rdkit/rdkit/issues/4621.

@greglandrum can you take a look at this?

I'll merge this after that last CI test passes (it clearly shouldn't matter...)


🚀 Feature: Make search bar for first screen with predefined choices

(Also find a YouTube video to display for each choice at the end of the section)

[ ] :wave: I may be able to implement this feature request

This is a :rocket: Feature Request

maybe i could get one of our devs started on this since this is a simpler task! we meeting later this week so we'll discuss more later :)

maybe i could get one of our devs started on this since this is a simpler task! we meeting later this week so we'll discuss more later :)


[BugFix] Fix parquet reader getting the wrong parquet field in min-max-filter

Fixes #23845
In the min-max reader, we getting the wrong ParquetField. This situation will happen when the parquet file contains complex types.

@Mergify backport branch-3.0


Build fails on 32 bit arm (option -m64)

Hi, there seems to be a problem deciding between -m32 or -m64 options in Makefile on 32 bit arm:
$ make
mkdir -p /home/khu/test/libbloom/build
cc   -Wall -O3 -m64 -std=c99 -fPIC -DBLOOM_VERSION=1.5 -I/home/khu/test/libbloom -I/home/khu/test/libbloom/murmur2 -c murmur2/MurmurHash2.c -o /home/khu/test/libbloom/build/murmurhash2.o
gcc: error: unrecognized command line option ‘-m64’
make: *** [Makefile:117: /home/khu/test/libbloom/build/murmurhash2.o] Error 1

I recommend setting the BITS=default either in the compilation environment or the make invocation. I'm not familiar with gentoo package build environment details but hopefully it allows for setting such variables?
I prefer to keep the build interface consistent so I prefer not to change the default, as that would change the behavior for anyone who has been expecting -m64 to be the default as it has been for a long while.
I suggest not patching the Makefile locally as that will just make future version updates more brittle. If for some reason you can't set BITS in the environment, I could add a special makefile target which does the same thing. That way you don't need to carry any local patches. But try setting BITS first, as the most straightforward solution.

In v2, I removed BITS and the defaults. It will now build as the platform default.


Use github release logs

Its good practice for all repositories on github to post releases to github releases
We should investigate and on how we want to automate this and how at what granularity.

[ ] Decide on whether we post one release for all (with chapters for each packages) or one release for each package #175
[x] Investigate changelog generation. Lerna is generating CHANGELOG.MD with the help of conventional commit today, maybe this can also be posted to github releases?

Github has its own system for generating changelogs, might this be any good? It has some beneficial features with crediting contributions and tagging users which is good for open-source
Lerna can also create github release: https://github.com/lerna/lerna/tree/main/libs/commands/version#--create-release-type

Relevant:

https://github.com/digdir/designsystem/issues/172

We are now using github releases with changeset bot and gh action.


Middleware

[ ] All tests pass
[x] I have run npm run gen-doc

Description
TelegramBot object now expose the method use to insert a middleware to manage the incoming message.
References
Issue #242

Is it possible to come up with an example illustrating a simple use case where this new feature is being used? It would really help in designing and validating the feature.
Otherwise, we are happy to see a PR! :100:

Sure! for example it's possible to creating a simple authentication middleware like this one:
bot.use((message, next) => {   const chatId = message.chat.id;   if (chatId === 1234) {     next();   } else {     bot.sendMessage(chatId, 'Chat unauthorized');   } });
or a middle for analytics like the issue #242
It's possible to build a chain of many middleware and break the chain avoiding the next method calling.

Why are text messages (and not other types of messages) used in handling the middlewares? Is it possible to allow all types of messages?

I can change the code and pass the update object (the same of the method processUpdate (https://core.telegram.org/bots/api#update) instead of message object inside the middleware.
Do you thing this could be useful?

Now the middleware function accept as first argument the update object.
This is an example of how to use it:
bot.use((update, next) => {
  console.log(update);
  next();
}).use((update, next) => {
  if (!!update.message) {
    const chatId = update.message.chat.id;
    if (chatId === 1234) {
      next();
    } else {
      bot.sendMessage(chatId, 'Chat unauthorized');
    }
  }
});

You can also chain more use method.

Things are looking better. Here are some suggestions:

It would be better if the processUpdate() method remain largely same as before. Just before emitting the relevant events, we would handle the middlewares (using a _executeMiddlewares() method, for example).

How do the middlewares and the rest of update processing work together? Are events always emitted even if a middleware stops the chain execution i.e. events and middlewares are independent of each other. Or would it work like below, where the middlewares affect the events:

processUpdate(...) {
    ...
    // the callback is invoked if all the middlewares invoke `next()` in their executions!
    return this._executeMiddlewares(update, function() {
        // the events are now emitted, etc.
        // ...
    });
}

What do you think?

IMO the events should be emitted only if all of the middlewares have called next.
Also, would it be possible to change the event inside a middleware? An example would be that I have a "nickname" field in database for each userid and I'd like the 'chat' or 'from' part of each message to have that nickname as well, will I be able to do this?

Yeah, that should be possible, just like in Express. The middlewares can mutate the Update object.

This pull request was abandoned?

Would love to have support for middlewares!


Stirling Generator crash

When i use the Stirling generator in to following set up http://imgur.com/Q9ONqec , when i put coal blocks in it crashes my world and i am unable to load the world again.
crash log - http://pastebin.com/wHCz0Y1f
enderio version - 1.7.10-<IP_ADDRESS>5
forge - <IP_ADDRESS>1
java - 1.8.0_25

You have different versions of the RF API loaded. EnderIO uses the new RF API starting with build 301. You need to upgrade the other mods to also use the new RF API.


fix(controller): legacy fix should modify dict instead of dict view

When trying to modify the unit_tags, the following error occurs:
TypeError: dict_items object does not support item assignment.
This is because it is a view and not a dict. You have to modify
the dict directly in order for this to work.

@thealmightygrant would you mind rebasing off master? The test failure was unrelated, but is fixed up in master so your PR should go green now. Thanks!

Should be good to go now.

I just hit this on master, so I can confirm this is a bug (sorry for the delay btw, we're all working on v2 at the moment) :)

thanks @thealmightygrant!


Move local transaction to sharding-jdbc

Move local transaction to sharding-jdbc

Pull Request Test Coverage Report for Build 4937

13 of 13 (100.0%)  changed or added relevant lines in 2 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.004%) to 64.416%

Files with Coverage Reduction
New Missed Lines
%

sharding-orchestration/sharding-orchestration-reg/src/main/java/io/shardingsphere/orchestration/reg/newzk/client/zookeeper/base/Holder.java
4
73.91%

Totals

Change from base Build 4936:
0.004%

Covered Lines:
8244

Relevant Lines:
12798

💛  - Coveralls


Drop iTarget or oTarget for rebalancing channels

Behaviour is achievable by only using one of the threshold as follows

if only oTarget is configurable:

if oTarget is below the current outbound liquidity: allow AR to be enabled/disabled
if oTarget is above the current outbound liquidity: channel work as liquidity source

Similarly for iTarget:

if iTarget is above the current inbound liquidity: allow AR to be enabled/disabled
if iTarget is below the current inbound liquidity: channel work as liquidity source

Same goes for Autopilot (AP) since it will enable/disable AR automatically according to oTarget|iTarget thresholds shown in the first cases above

Thanks for your proposal. Let me explain the situation:
Imagine a channel acts as a source. I only want to push out it and under no circumstances, I want to rebalance into it.
My current settings for such a channel are oTarget 10% and iTarget 100%.
With your proposed changes this would not be possible.
Scenario 1 (only oTarget is configurable):
I would set oTarget to 10%. Everything will go fine until the channel hits 10% Outbound and 90% Inbound. Now AP would be allowed to enable AR and the channel would be rebalanced. Setting Max Cost to 0 wouldn't even help since there are 0 fee routes to rebalance the channel.
Scenario 2 (only iTarget is configurable):
The same issue as described above but for sink channels. Imagine a Channel I never want to use as a source for rebalances. Now my usual settings would be 100% oTarget and 10% iTarget. With your proposal, I wouldn't be able to define the 100% oTarget. Therefore the AP could define the channel as a source and disable AR, which would lead to a situation where the channel would be used to rebalance out of. Setting Max Cost wouldn't matter at all.
Conclusion: Neither of your proposed solutions would work in a real life scenario.


Consider stopping IPC service when stopping GUI

If the GUI fails to launch or crashes, the IPC runs in zombie mode with no ability to control. Only a reboot fixes it.
Perhaps instead we should stop the IPC service if the pipe disconnects. And only start it when launching the GUI app.
Marking as Tauri because I think it's a Linux issue too?

Also the IPC service runs with elevated privileges so I don't think we can allow the GUI to start it unless we do something like, put all the connlib stuff into a subprocess and restart that process. But this was a problem of just bailing out when we shouldn't bail out, so we don't need a subprocess for that

Wait, did this also happen on 409039a?

Yeah I think so -- it happened with the last main windows client built this morning (~3 hours ago).

Also the IPC service runs with elevated privileges so I don't think we can allow the GUI to start it unless we do something like, put all the connlib stuff into a subprocess and restart that process. (Like a Chromium web content worker) But this was a problem of just bailing out when we shouldn't bail out, so we don't need a subprocess for that

I gotcha. Can we disconnect the tunnel then if the GUI isn't connected? Then we can leave the service running harmlessly in the BG.
If it's modify network stuff without a GUI to manage it then we have an accidental headless client lol.

We do disconnect the tunnel, right now connlib is supposed to start when the GUI asks for a connection and drop when the GUI disconnects 🤔
The only thing the IPC service should do without a GUI connected is deactivate DNS control (which is supposed to be safe and idempotent) and then loop around to wait for another GUI. If you have matching GUI and IPC logs showing the GUI quitting and the IPC service continuing to do stuff, that would be very interesting

If you have matching GUI and IPC logs showing the GUI quitting and the IPC service continuing to do stuff, that would be very interesting

Challenge accepted, hold my beer!

You're right -- I was unable to get the IPC service into a zombie connected state with the GUI running.
Would it be hard to show an error if the IPC service isn't running when the GUI starts? I think that might at least let the user know it "tried" and to check the log directory.

show an error if the IPC service isn't running when the GUI starts?

I was working on that last week, it needs conflicts resolved now and then I need to have conectado review it https://github.com/firezone/firezone/pull/5454
There's a lot of WIP

I was unable to get the IPC service into a zombie connected state without the GUI running.

We should be okay then, so I'm closing this as unplanned. There's been a lot of bugs the last week or two but these ones did get fixed. The IPC service could still panic or something, but that's less likely and hasn't been seen in the wild.


scaling affects the color of image

that's 50% scaling, any idea why? or how to keep the image original color?

http://php.net/manual/en/function.imagegammacorrect.php It can be related to gamma correction. Can you check further on that?

This is fixed in 1.9.1. Thanks for reporting.

I have the same problem, using 1.9.3 :

I have the same problem using version 1.9.3


Add Clear and ClearCollect functions

We are missing Clear and ClearCollect functions that exist on Power Apps.
Collect, Clear, and ClearCollect functions in Power Apps

Note that certain data sources may restrict these - so failure is a common result. For example, dataverse blocks these calls so that makers don't accidentally delete an entire table.


Temporary fix to make win32 yellowbox not use %'s for now

Please select one of the following

[ ] I am removing an existing difference between facebook/react-native and Microsoft/react-native :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into Microsoft/react-native :thumbsup:
[ ] I am making a fix / change for the macOS implementation of react-native
[x] I am making a change required for Microsoft usage of react-native

Description of changes
Until we properly support % sizes in layout for win32, make yellowbox use something other than %'s
Microsoft Reviewers: Open in CodeFlow

/azp run

Great success.


User/Ben/Task Inheritance

Removed not implemented errors from mission planner and created a default execute method in task which raises not implemented. This is the same behavior as before, but is more generalizable and robust.

Overall, I think this works, but the inline NotImplementedError makes it possible to partially implement the functions, and leave the error handling for later. I think that functionality gets lost with this PR

can we close this


Thread Names not updating with collapsed output

I have an Java application that uses an Executor to parallelize work.  Before each chunk of work, the Runnable renames the worker thread based on the task that it is accomplishing and then resets the name at the end of its work.  When I use async-profiler externally, it looks like it connects via MXBeans and takes thread dumps, which end up having the renamed thread names.  This is very useful as I often want to focus in on one specific task.  But when I run the profiler as an agent using the command and dumping collapsed output
start,event=itimer,threads

The thread names all seem to be the original ThreadFactory-assigned thread names.  I tried to look through the code and I think it's caching the thread names based on the OS thread id, so it's only getting the first name that it sees and then that's sticky forever after.  I'm wondering if there is any sort of flag, configuration or other method of dumping that would preserve the JVM thread name at the point that the sample is taken and work when running as an agent.

One Java thread has one name in async-profiler reports.
The profiler takes care of thread renaming, but keeps only the last name.

Is there any way to get the thread name assigned to the sample when the sample is taken rather than when the profiling is completed?
After reading a bit about this: https://github.com/jvm-profiling-tools/async-profiler/issues/106
It looks like JFR was introduced to be able to keep the timestamps of individual samples.  If I switch JFR will it also maintain the thread name from the point of the sample?  Or is does it just maintain a reference to the thread and I will get whatever name happens to exist at the time that I collect the sample?

In JFR format, thread names are obtained in the same way.

Any ideas or hints on where to adjust things to try to maintain the thread name that existed at the point of sample?  I believe I understand that it's impossible to eliminate races and it's clear that it would add to the overhead in terms of CPU and memory, but wondering what part of the code would need to be adjusted to be able to even support this?

Current data model of the profiler implies at most one instance of a given thread (i.e. Java thread can't have more than one identifier).
Changing this would require notable architectural modifications, which are not on my list right now, unfortunately.

I was looking through the code a bit more to try to figure out where this would happen.  It looks like the threadId is pushed onto the stack at
https://github.com/jvm-profiling-tools/async-profiler/blob/170451990ba6b1c16ea54491a90d0ca3d81dee48/src/profiler.cpp#L653-L655
And then read back out at
https://github.com/jvm-profiling-tools/async-profiler/blob/170451990ba6b1c16ea54491a90d0ca3d81dee48/src/frameName.cpp#L245-L257
I understand now that ThreadMap is the map of thread id to the name.  So, it's clear that in the profiler you are just grabbing the thread id and then using that to get the name of the thread in the frameName code.  The actual updating of the _thread_names appears to happen asynchronously.
It seems like it should be possible to implement something that keeps track of the thread name at time of sample by

Adjusting the code at https://github.com/jvm-profiling-tools/async-profiler/blob/170451990ba6b1c16ea54491a90d0ca3d81dee48/src/profiler.cpp#L653-L655 to lookup the thread name with a jvmti VM::getThreadInfo call, then that name could be pushed into a dictionary.
Adjust the code at https://github.com/jvm-profiling-tools/async-profiler/blob/170451990ba6b1c16ea54491a90d0ca3d81dee48/src/frameName.cpp#L245-L257 to know about the dictionary of names and lookup with that instead.  Maybe introduce a new type BCI_THREAD_NAME instead of BCI_THREAD_ID and use that to differentiate?

I'm not well versed in C nor in jvmti so not really sure how easy the above things are.  The open questions in my mind are

How expensive is the VM::getThreadInfo call, if that's called for all of the threads at the point of generating the event and it is expensive, this could be a non-starter.
Is there a good object that can be used as a dictionary?  I had assumed that there would be something already in the code and looked around, but it looks like the current profiling code always assumes that it can get the strings from the VM or some other part of the system and doesn't actually maintain its own dictionaries.  This makes a lot of sense as it minimizes memory usage, but also didn't give me any hints for how easy/hard it is to create a dictionary?

Does this cover the architectural modifications you were talking about?  Or is there something I'm missing?

GetThreadInfo is not safe inside a signal handler.
In general, any function that may lock or allocate, is prohibited within Profiler::recordSample.

In the absence of updates on the issue, it will be closed as outdated.


Run interactions immediately after a line

Consider this block:
    Hi!
    [c:SomeInteraction]
    Now, I will say bye.
    So bye!

This should execute SomeInteraction immediately after "Hi". Right now, it does so:
    Hi!
    Now, I will say bye.
    So bye!
    [c:SomeInteraction]

Because it will just execute at the end of that continuous "block".

✅ Fixed in 0bc4f65.


It seems the 'package.json'has some version misstack?

I fond the 'package.json'file maybe have version error:

Please conside to fix it.

@wwhai Hi, which branch are you running on? What is your Node version? It is recommended to try run it under the develop branch.
yarn

yarn dev

@wwhai Hi, which branch are you running on? What is your Node version? It is recommended to try run it under the develop branch.
yarn

yarn dev

readme should be updated

Sorry about that. I will update later,thanks!


Bug in simple_bridge

simple_bridge works incorrectly with the 'undefined' atom. See more there: https://github.com/nitrogen/simple_bridge/issues/56

we'll wait for a fix there and update SB later


New docs: open API specification

⬆ Relates to https://github.com/RasaHQ/growth/issues/1436
This ticket is about making the Open API specification work with the new doc system. The current API spec lives in docs/_static/spec/, and is made available at https://rasa.com/docs/rasa/api/http-api/

oh right, yes did that - doesn't look pretty but it gets rendered.

we need to decide design-wise what to do with this page, the content is pretty wide so it might make sense to remove the left-hand sidebar (we did this in the previous docs as well). we definitely need to reduce the whitespace though.
current in new docs:

previous:

@tmbo yep, it's in my scope, I'll dig in when I get back. Good to have this input. @eliseboyd and I need to develop a globally consistent responsive layout concept that will contain all of these scenarios

it's not working properly with a production build: make docs fails with ReferenceError: Buffer is not defined. Tried the workarounds in this issue but didn't work 🤷

we need to decide design-wise what to do with this page, the content is pretty wide so it might make sense to remove the left-hand sidebar

So one thing that's tricky about this, is that ReDoc assumes a full-width layout and sets its own @media breakpoints accordingly, whereas our layout will be limited in width from a certain breakpoint, probably around 1400px max... is it out of the question to consider building the API docs to a different subdomain? This seems like a common scenario from what I've seen

mhm, I think from a usability perspective it would be helpful to at least keep the header and its navbar - I think full width is fine though and I agree on something a lot of other documentation pages do as well. the way the framework evolved also made that API less important now than e.g. a year ago.

do you think keeping at least the header would be something we should/can do?
@tmbo which header do you mean exactly here?

@m-vdb I notice that the dependency "redoc": "^2.0.0-rc.31" is already on master; does this mean you are going with the 2.0 React-based version of redoc?

I think that's what it means :D but it's a very early implementation of the open API spec. We kept this issue open so if we want to do something different, we still can.

@tmbo which header do you mean exactly here?
I meant the navbar (so logo + top level navigation)

@m-vdb it doesn't seem to render properly though https://rasa.com/docs/rasa/next/api/http-api
we can def use a different library, I just added this one to make sure they API appears somewhere in some form until we figure out how to include it properly.

I meant the navbar (so logo + top level navigation)

@tmbo OK so I would say since we're not going to be using any other top level features from Docusaurus i.e. a blog or other arbitrary pages, design-wise we will probably prefer to move the items there (title, version-dropdown, github link) in to the top of the sidebar. I haven't quite begun to dig in to it to figure out how to pull apart the code but AFAIK this should be possible as of the latest patch releases

@tmbo fixed here => https://github.com/RasaHQ/rasa/pull/6325

@m-vdb I'm encountering something I didn't realize before: rasa and rasa-x each have their own API documentation, so the solution we were thinking of, with linking just "API" in the header nav doesn't make sense because there isn't one single global API but two product-specific ones...is this right?

Yes this is right, these are 2 different APIs. There are also other APIs (that are not HTTP ones). Here are the current items under the "API" left menu on Rasa:

@m-vdb OK how many of these need to use ReDoc to document them? Just the HTTP ones right?

none, only the HTTP ones

@m-vdb OK @eliseboyd and I are working on the assumption there is one HTTP API documentation per site (rasa, rasa-x), that will be using the ReDoc component 👍

and there is also the Action Server HTTP API: https://rasa.com/docs/rasa/next/running-action-server#action-server-http-api which is currently in Rasa docs, but should be moved to the Rasa SDK docs, if I'm not mistaken (cc @erohmensing to double check)

Does something like this make sense then?

I agree we should keep the redoc full width, without our sidebar - but it still needs the top navbar to show you where you currently are in the context of the docs, and that you're away from the regular docs. It seems to be a common pattern to have API/SDK separated into a very visually different section. To make it even clearer, the left logo could also say "Rasa API/SDK"

yeah I was thinking about something like this. I don't think I should be the one deciding though :) WDYT @erohmensing @akelad @tmbo ?

Just for more context, the issue I'm trying to solve is that currently when you go into the api docs, e.g. here, it's unclear what page you're on and how to get back to the docs / how this page relates to any other page. At minimum, these pages should have a title and "Rasa Open Source" or "Rasa X" should be selected in the top nav as the active link, depending on which section you're in.
The suggestion above goes a step further towards (hopefully) clearer information architecture, but value thoughts :)

@erohmensing would the Rasa SDK docs be using a ReDoc style documentation then, or a Docusaurus style like the main docs? I had understood you were considering deploying another Docusaurus instance to handle this

The docs themselves would be docusaurus style, as there's lots of typical docs info about what actions are, how they should be used etc, that needs to go in there. Though I don't think a redoc would hurt, as we're currently trying to figure out the easiest way to keep the user up to date with all of the tracker methods without using an autoclass like we did before(https://rasa.com/docs/rasa/api/rasa-sdk/#tracker)
The action server API also has a few endpoints that should get Open API specs (e.g. here: https://rasa.com/docs/rasa/api/action-server/ but there's actually at least 2 endpoints missing that we should document)
So basically the SDK package would ideally be as documented as the rasa open source package (docs, redoc, api)

the issue I'm trying to solve is that currently when you go into the api docs, e.g. here, it's unclear what page you're on and how to get back to the docs / how this page relates to any other page.

I totally agree with @eliseboyd, i've griped about this many times. I think the simplest way to handle this would just be for API specs to open in a new tab, if they don't have a sidebar to help you get back to where you came from, but definitely think @eliseboyd 's "at minimum" is very valid to knowing which API you're looking at

OK @eliseboyd it sounds like this might be more complex than what you've pictured above; we'll have to try out some different solutions

Happy to workshop stuff together as well, we're still also not sure where the SDK/action server stuff really fits in, which makes it difficult

Sounds good! If we think this might take a bit of time to figure out, @erohmensing's suggestion to open in a new tab sounds like a good first step too. In that case, I'd suggest these immediate small fixes:

Open any redoc links in new tab, add an 'external link' icon next to any of those links in the sidebar
Add a page title/description on any redoc page
Set Rasa / Rasa X as the active link in the top navbar

@lunelson @eliseboyd should we close this ticket or do we still need it?

🙏 I'll close it for now, as it's technically done—though the actual UI/navigation should be improved in the future, but this is a theme issue. I'll create a follow-up there.


Adobe I/O SSR (React) action does not work

After creating a new AEM project, the SSR (React) build does not work on Adobe I/O after deployment via npm run deploy-ssr-ioruntime.
Locally the Adobe I/O SSR build also does not work unless a debugger is attached. I assume this is because code is proxied from the actual src folder and dependencies can be resolved properly in this case.
Expected Behaviour
Activation for the SSR action on Adobe I/O is successful and returns the rendered HTML.
Actual Behaviour
SSR Rendering does not work and following warning is shown in the error.log
22.06.2023 11:24:30.095 *WARN* [[0:0:0:0:0:0:0:1] [1687425868769] GET /content/wknd-spa-react/us/en/home.html HTTP/1.1] com.adobe.cq.remote.content.renderer.impl.servlet.RemoteContentRendererRequestHandlerServlet Remote error: code = 400 and message = {_  "code": "QueNTNEWFEurukDJiHCtb8DX3IcEUSxP",_  "error": "Response is not valid 'message/http'."_}

The activations on Adobe I/O show the following type of errors.
{
  "result": {
    "error": "Initialization has failed due to: Error: Cannot find module '/nodejsAction/TMmhc0Rf'\n    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)\n    at Function.Module._load (internal/modules/cjs/loader.js:562:25)\n    at Module.require (internal/modules/cjs/loader.js:692:17)\n    at require (internal/modules/cjs/helpers.js:25:18)\n    at eval (eval at <anonymous> (/nodejsAction/services/runner.js:76:49), <anonymous>:1:1)\n    at /nodejsAction/services/runner.js:76:49"
  },
  "size": 506,
  "status": "application error",
  "success": false
}

Reproduce Scenario (including but not limited to)

Create a new project via aem-project-archetype with frontendModule=react, enableSSR=y
Follow the WKND SPA (with SSR) Tutorial
Setup an Adobe I/O Project with various workspaces and configure AIO environment variables
Deploy application to AEM (via mvn) and Adobe I/O (via aio)
Trigger SSR by opening http://localhost:4502/content/wknd-spa-react/us/en/home.html?wcmmode=disabled

Platform and Version
AEM Archetype Version 42
macOS Ventura 13.4
Node v16.20.1
NPM 8.19.4
Logs taken while reproducing problem
After npm run start-ssr-ioruntime the dist folder has the following structure.
 dist
├──  app.js
├──  app.js.map
├──  application
│  └──  actions
│     ├──  ssr-temp -> ~/aem-guides-wknd-spa.react.ssr/ui.frontend/dist/application/actions/wknd-spa-react-0.1.0/ssr-temp
│     ├──  ssr.zip -> ~/aem-guides-wknd-spa.react.ssr/ui.frontend/dist/application/actions/wknd-spa-react-0.1.0/ssr.zip
│     └──  wknd-spa-react-0.1.0
│        ├──  ssr-temp
│        │  ├──  index.85e18686cff29326ff33.js
│        │  └──  index.js
│        │     └──  app
│        │        └──  app.js
│        └──  ssr.zip
└──  last-built-actions.json

A fix for this known issue seems to be underway. As a workound the following was recommended by support which seems to do the trick.
a. delete the node modules folder by running rm -rf node_modules
b. delete package.lock.json file by running rm -f package-lock.json
c. clean up the NPM cache by running npm cache clean --force
d. install all packages again by running npm install
e. rename ./actions/common -> ./actions/zcommon,  adapt manifest.yml, ./actions/ssr/index.js, ./script/postWebhook.js


How to improve AI's strength

if AI is stronger,it willl be better. Can i set some settings to imporve AI's strength?

i noticed that too

No, there are only settings to make the AI weaker. Implementing a new AI is out of scope of this project.


Missing lifetime specifier for the WindowHandler trait

I nee to ensure that a property has the same lifetime as my WindowHandler implementation :
impl<'a> WindowHandler<EditorEvent> for EditorWindowHandler<'a>

But if I try to specify a lifetime I get this error :
error[E0308]: method not compatible with trait
 note: expected fn pointer `fn(&mut EditorWindowHandler<'a>, &mut WindowHelper<EditorEvent>, _)`
          found fn pointer `fn(&'a mut EditorWindowHandler<'a>, &mut WindowHelper<EditorEvent>, _)`

I think that the problem is that the WindowHandler trait is declared with anonymous lifetime specifier.

Is it possible to make the lifetime of your property 'static? The WindowHandler needs to exist until the program exits.
If that doesn't work, please could you post a more complete code sample to show what you're trying to achieve?

I tried your solution :
struct EditorWindowHandler {
    editor: Editor<'static>,
    ...
}

But when it comes to to on_keyboard_char method of the EditorWindowHandler :
fn on_keyboard_char(&mut self, helper: &mut WindowHelper<EditorEvent>, unicode_codepoint: char) {
        self.editor.add_char(unicode_codepoint.to_string());
    }

I get this error message because the compiler don't know that my window handler is static :
 fn on_keyboard_char(&mut self, helper: &mut WindowHelper<EditorEvent>, unicode_codepoint: char) {
    |                --------- this data with an anonymous lifetime `'_`...
159 |             self.editor.add_char(unicode_codepoint.to_string());
    |             ----------- ^^^^^^^^ ...and is required to live as long as `'static` here

Would it be possible to provide a (shrunk-down) full Rust file which demonstrates this please, which I can compile myself? Currently I'm having trouble understanding how this issue could occur, and I'm not sure that adding an explicit lifetime to the WindowHandler would fix things.

You can find my projet source code at this url.
Normally you will have the error message when trying to cargo run.

Thanks! I've had a look, and that code compiles correctly when the lifetime specifiers are removed.
I assume the lifetimes were added due to the lambdas in each MenuItem -- while a lambda-based approach should work without needing lifetime specifiers, I'd suggest going with an event-based approach instead. Each MenuItem could contain an "event type" enum constant, and then this could be sent to the main app through the event_sender.
I've attached a couple of patches that demonstrate this approach -- the first one removes the lifetime specifiers to get the code building, and the second one adds a MenuSelection enum and uses it for menu events. Hope this is helpful :)
patches.zip

Thanks a lot for your help, it works as intended :)


fix duplicate field network and ipv4 error

error like:
vendor/github.com/sparrc/go-ping/ping.go:97:10: duplicate field name in struct literal: network vendor/github.com/sparrc/go-ping/ping.go:98:7: duplicate field name in struct literal: ipv4

Thank you, but this was fixed by #27 already


Android dot BLANK,iOS is work.

Android dot BLANK,iOS is work.
Android的小圆点不显示,iOS是正常的.如图:

i guess it doesnt supports android currently


plugin-techdocs: add group filtering support to EntityListDocsGrid

Signed-off-by: Simon Ninon<EMAIL_ADDRESS>Hey, I just made a Pull Request!
Our organization is using EntityListDocsGrid to build a custom Tech Docs home page.
We'd like EntityListDocsGrid to support the ability to filter which docs it should render, in a similar fashion as ScaffolderPage supports configuring "groups".
For example, ScaffolderPage supports the following syntax:
        <ScaffolderPage
          defaultPreviewTemplate={defaultPreviewTemplate}
          groups={[
            {
              title: 'Recommended',
              filter: entity =>
                entity?.metadata?.tags?.includes('recommended') ?? false,
            },
          ]}
        />

We'd like the following similar configuration option for EntityListDocsGrid:
        <EntityListDocsGrid
          groups={[
            {
              title: 'Recommended',
              filter: entity =>
                entity?.metadata?.tags?.includes('recommended') ?? false,
            },
          ]}
        />

For now, we've "forked" EntityListDocsGrid in our Backstage repo to implement that change, but wanted to open-source that back.
Note that the implement is vastly inspired from how it was done in ScaffolderPage to keep things consistent (see: https://github.com/backstage/backstage/blob/master/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPage.tsx and https://github.com/backstage/backstage/blob/master/plugins/scaffolder/src/components/TemplateList/TemplateList.tsx)
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] ~Added or updated documentation~
[x] Tests for new functionality and regression tests for bug fixes
[ ] ~Screenshots attached (for UI changes)~
[x] All your commits have a Signed-off-by line in the message. (more info)

Hey Awanlin,
For sure, here is how we're using it below
We have a custom tech docs home page component when we use the EntityListDocsGrid and where we added a Search Bar
export type CustomTechDocsHomeProps = {
  groups?: Array<{
    title?: React.ReactNode;
    filter: (entity: Entity) => boolean;
  }>;
};

export const CustomTechDocsHome = ({ groups }: CustomTechDocsHomeProps) => {
  const otherDocsGroup = {
    title: groups ? 'Other Documentation' : 'All Documentation',
    filter: (entity: Entity) => {
      const filtered = (groups ?? []).map(group => group.filter(entity));
      return !filtered.some(result => result === true);
    },
  };

  return (
    <TechDocsPageWrapper>
      <Content>
        <EntityListProvider>
          <CatalogFilterLayout>
            <CatalogFilterLayout.Filters>
              <TechDocsPicker />
              <UserListPicker initialFilter='all' />
              <EntityOwnerPicker />
              <EntityTagPicker />
            </CatalogFilterLayout.Filters>
            <CatalogFilterLayout.Content>
              {/*
              // @ts-ignore */}
              <TechDocsSearch entityId={{}} entityTitle='all' />
              { groups &&
                groups.map((group, index: number) => (
                  <EntityListDocsGrid key={`${group.title}-${index}`} group={group} />
                ))
              }
              <EntityListDocsGrid group={otherDocsGroup} />
            </CatalogFilterLayout.Content>
          </CatalogFilterLayout>
        </EntityListProvider>
      </Content>
    </TechDocsPageWrapper>
  );
};

Then, we have something like the following in our App.tsx:
    <Route path="/docs" element={<TechDocsIndexPage />}>
      <CustomTechDocsHome
        groups={[
          {
            title: "🌟 The Golden Path 🌟",
            filter: entity =>
              entity?.metadata?.tags?.includes('recommended') ?? false,
          },
        ]}
      />
    </Route>

I've done a bit of redacting, but here is what it looks like:

Handing this PR off to you, @realandersn

not stale 👀

Thanks for the review, @agentbellnorm. I've used a ternary expression where suggested and added modified the documentation example to showcase the ownedByUser predicate. I've fully re-tested as well and confirmed that it still works with these changes and that the ownedByUser predicate works.
FYI, the ownedByUser predicate will just list the documentation owned by the current user.

Happy Dance! Pretty excited to start using this. Many thanks @Cylix


Retry (based on 'timeout' parameter) evicting if descheduling violates its PDB.

Is your feature request related to a problem? Please describe.
I have 100 nodes in k8s. I have an app (name: test1) and on every node I have 10 pods of this app. So I have 1000 pods of this app at all. I have also PDB configured with minAvailable=990. Additionally, pods for this apps are configured to be shutdown gently (they need  3 minutes to do that - so such pods are in terminating state for about 3 minutes).
If descheduler decides that pods from 4 nodes should be evicted, because of PDB configuration (we can have in termination state only 10 pods at once), only one node finally can be "cleared". All other pods (follow documentation) 'are not evicted if descheduling violates its PDB'
🙏 I'd love to evict those all 4 nodes in one descheduler run/loop 🙏 (it can take a little bit longer because of pdb, but don't need to wait for the next descheduler run).
Describe the solution you'd like
I'd like to have an kind of 'timeout' parameter to set how long descheduler would be retrying evicting/descheduling pods if PDB is violates (e.g. wait 3 sec and try again, and 3 sec and again ... until timeout is reached). I'm thinking about similar feature like we have within kubectl drain command (try again and again) and --timeout option.
What version of descheduler are you using?
descheduler version: 0.24.1

Thanks for the request @AndrzejWisniewski
Descheduler evictions use the Eviction API, which is what controls PDB checking. It does look like that API will return a 429 Too Many Requests error if creating the Eviction object would violate a PDB, so we might be able to react to that and backoff/retry the strategy again. It would actually probably be wise of us to do something with that error, which I don't think we handle at all right now.


KeyError: 'field' for custom validation errors when 422 Error is returned

I see this behavior when I am trying to submit a pull request from one branch to another that already exists. I was expecting an exception of some sort, but I wasn't expecting a KeyError.
Here is my stacktrace:
  File "/home/john/.cache/pypoetry/virtualenvs/tofu-press-py3.7/lib/python3.7/site-packages/gidgethub/abc.py", line 128, in post
    jwt=jwt, oauth_token=oauth_token)
  File "/home/john/.cache/pypoetry/virtualenvs/tofu-press-py3.7/lib/python3.7/site-packages/gidgethub/abc.py", line 82, in _make_request
    data, self.rate_limit, more = sansio.decipher_response(*response)
  File "/home/john/.cache/pypoetry/virtualenvs/tofu-press-py3.7/lib/python3.7/site-packages/gidgethub/sansio.py", line 311, in decipher_response
    fields = ", ".join(repr(e["field"]) for e in errors)
  File "/home/john/.cache/pypoetry/virtualenvs/tofu-press-py3.7/lib/python3.7/site-packages/gidgethub/sansio.py", line 311, in <genexpr>
    fields = ", ".join(repr(e["field"]) for e in errors)
KeyError: 'field'

When I poked inside the code and inspected what data I was getting back, this is what github sent back to me:
{
  'message': 'Validation Failed',
  'errors': [
    {
      'resource': 'PullRequest',
      'code': 'custom',
      'message': 'A pull request already exists for sandbox:1.'
    }
  ],
  'documentation_url': 'https://developer.github.com/enterprise/2.17/v3/pulls/#create-a-pull-request'
}

I've been playing with the code, but as I'm mostly unfamiliar with the internals of this repository I decided I would post an issue first to get feedback. I might still post a PR before feedback is given based on how much free time I have today.
Here is the 422 error documentation for github: https://developer.github.com/v3/#client-errors
As you can see, my error is shaped like this:

Resources may also send custom validation errors (where code is custom). Custom errors will always have a message field describing the error, and most errors will also include a documentation_url field pointing to some content that might help you resolve the error.

I propose a change to the parsing of the errors so that custom errors do not throw a KeyError exception.

The feedback is we should fix this. 😄 I left some comments in your PR.

#81 also ties into this by having a similar problem when non-JSON is returned.


Repair other units

This allows specific unit types to repair other units. Currently only the medic is able to do so. Images have been added for the medic unit-type, along with an image to highlight the border of targeted friendly units in green. Bugs include medics being unable to repair others after moving once and inconsistent tile-masking.
Update: I've fixed the first bug. The tile-masking is improved, though probably not ideal.

The use of sets for :can-repair in data.cljs is good, but they needed to be loaded into the DataScript DB a little differently. Each item in the set should result in a datom attached to the unit type entity in the DB. The closest analog for how this should work is :unit-type/zoc-armor-types.

I'm not familiar with DataScript, so I'm having some trouble with this. Should I be altering the schema as defined in db.cljs?

Yep, attributes with cardinality > 1 need schema entries. It should look something like this: https://github.com/Zetawar/zetawar/blob/5672efd67f8b8a2a06e5e67911d83c32cc039b6f/src/cljs/zetawar/db.cljs#L56

Is that last commit closer?

Hmm... that is odd. I'll take a closer look.

On a different note, are you okay with two of the repair functions I added in game.cljs (can-be-repaired? and compatible-armor-types-for-repair?) not following the check-next-state model you use for can-repair?, can-attack?, etc.?

You mean should a unit be able to repair another unit regardless of what state the other unit is in? If that's the question, I'd say yes.

I mean should a unit have to check its state at all to be able to repair another unit.
can-be-repaired? is currently...
(defn can-be-repaired? [db game unit]       (< (:unit/count unit) (:game/max-count-per-unit game)))
(which doesn't use the database at all)
...instead of something like...
(defn can-be-repaired? [db game unit]     (try (check-can-be-repaired db game unit)     true     (catch :default ex       false)))
...which is how most of the surrounding functions have been designed.

Ah, I see what you mean. It doesn't really need to check the state, but it probably should work the same way as 'check-in-range' where there is both a 'check' version that throws an exception and a '?' version that returns a value. That way you can call the 'check' version in the 'repair-other-tx' as an assertion.

I adapted those functions. Let me know if they look alright and anything else you'd like worked on when you have the chance.

I'm traveling now, so it might be a few days before I can take a look. But I'll check it out as soon as I get a chance.

Merged. Thanks for all your work on this! I'll get started on a review/cleanup branch soon and ping you when it's ready.

Cool, thanks for all your help.


Use Case that is not clear

Suppose I have a SQL View which acts as a proxy to a lookup table.  For example, suppose I am editing Orders, and I have a Customer SQL View.  It selects only a few columns from Customer, including its primary key (CustomerId).  An Order must have a customerId, so I if we were dealing with Entities, Order would have a Customer property w/ Foreign Key of CustomerId, and Customer would have an Id field and both would have navigational properties.  If I "lie" to EF and say that Customer is a Table, it works, but EF wants to act like Customer is updatable (It isn't - it's just a lookup).  If I use the above method and say this is a View, albeit with a key (presumably because the View is defined as returning, say, the Customer ID and Name), what happens?  Do I trigger errors because I defined a View as 'keyless'?  Do the navigational property restrictions kick in and prevent one side from seeing the other?   In short, is there any reason to stop 'lying' to EF and telling it that the View is really a table?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0cc10f39-8fe5-e856-5839-9aa5e9d435c6
Version Independent ID: 10ddba97-42d2-0cda-3e7f-eaeb4fda74b0
Content: Keyless Entity Types - EF Core
Content Source: entity-framework/core/modeling/keyless-entity-types.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @AndriySvyryd
Microsoft Alias: ansvyryd

If you have a view with properties that can be used as keys just map it to a normal entity with ToView.


Supports nth_value, first and last in window context

Contributes to #4005
Contributes to #5061
Changes:

Supports nth_value in the window context
For row-based window frame, the Spark plan converts First to NthValue, so should support nth_value
Supports first in the window context
Supports last in the window context

Limitation:
Not support sort by double in the first/last window operations.
Signed-off-by: Chong Gao<EMAIL_ADDRESS>

Currently not support sort by double
I will post another commit to support sort by double after checking with @mythrocks.
@mythrocks  Could you please help check:
Not support creating double range:
range_window_bounds.cpp:36: Unsupported range type. Only Durations and non-boolean integral range types are allowed.
def test_first_last_order_by_double():
    assert_gpu_and_cpu_are_equal_sql(
        # Coalesce is to make sure that first and last, which are non-deterministic become deterministic
        lambda spark: three_col_df(spark, int_gen, string_gen, double_gen, num_slices=1).coalesce(1),
        "window_agg_table",
        'SELECT '
        'a, b, c, '
        'first(a) OVER (PARTITION BY b ORDER BY c RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) '
        ' FROM window_agg_table')

E                   Caused by: ai.rapids.cudf.CudfException: cuDF failure at: /home/chongg/local-disk/code/spark-rapids-jni/thirdparty/cudf/cpp/src/rolling/range_window_bounds.cpp:36: Unsupported range type. Only Durations and non-boolean integral range types are allowed.
E                   	at ai.rapids.cudf.Table.rangeRollingWindowAggregate(Native Method)
E                   	at ai.rapids.cudf.Table.access$3200(Table.java:41)
E                   	at ai.rapids.cudf.Table$GroupByOperation.aggregateWindowsOverRanges(Table.java:3955)
E                   	at com.nvidia.spark.rapids.GroupedAggregations.$anonfun$doRangeAggs$1(GpuWindowExec.scala:736)
E                   	at com.nvidia.spark.rapids.GroupedAggregations.$anonfun$doAggInternal$4(GpuWindowExec.scala:702)
E                   	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
E                   	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
E                   	at com.nvidia.spark.rapids.GroupedAggregations.withResource(GpuWindowExec.scala:653)
E                   	at com.nvidia.spark.rapids.GroupedAggregations.$anonfun$doAggInternal$2(GpuWindowExec.scala:701)
E                   	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
E                   	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)

build

build

This is the current limitation of range windows in general: range-window functions are not currently support on a non-integral, non-timestamp OBY column. This should fail for any aggregation.

Note: Apologies for not realizing that the OBY column from the example query in #4005 is DOUBLE:
SELECT gender,
       FIRST(salary,true) OVER (PARTITION BY gender
                                ORDER BY salary)
FROM df2

As stated here, this amounts to a RANGE query with a DOUBLE ORDER BY column (salary). For the reasons stated above, this query will not be accelerated unless the query is specified as follows:
SELECT gender,
       FIRST(salary,true) OVER (PARTITION BY gender
                                ORDER BY salary
                                ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
FROM df2

cc @revans2. I would have thought that the plugin converts (unbounded, 0) windows from RANGE to ROWS. But it looks like it only does this for (unbounded, unbounded). (It's been a while.)
I've thought about it: it is not viable for us to change GpuWindowExpressionMetaBase#tagExprForGpu() to do the RANGE->ROW conversion for (unbounded, 0).
My apologies for missing that the OBY column is double, in #4005. This will need work in libcudf. I'll raise an issue for this.

It might be viable to allow for RANGE->ROW conversions if the aggregation is FIRST()/LAST(), but this might be a hack. I'll consult @revans2's advice, and update here.

build

build

@mythrocks  @revans2  Thank you for the help.


refactor(cdk/testing): simplify harnesses extending ContentContainerComponentHarness with a different root element

We have some test harnesses that extend ContentContainerComponentHarness, but have to override all methods, because their content is in a different element.
These changes clean up such usages by having a protected method for retrieving the harness root element that can be overwritten when necessary.

The Saucelabs failure seems to be due to an issue with Saucelabs themselves.


Change message send type

Change message.channel.send to message.reply for better message comprehension

discord update adds this, very well, implementing group later


Exception handling for GPIO number conversion

The stoi function is used for converting the value of GPIO environment variable to an integer. When a non-integer is set for the value, the application crashes:
$ sudo snap set matter-pi-gpio-commander gpio=x
$ sudo snap run matter-pi-gpio-commander.lighting
...
[1677659847.179663][14576:14576] CHIP:SVR: Using GPIO x
terminate called after throwing an instance of 'std::invalid_argument'
  what():  stoi
/snap/matter-pi-gpio-commander/x7/bin/run.sh: line 3: 14576 Aborted                 (core dumped) $SNAP/bin/lighting-app $ARGS

The test-blink app has exception handling for stoi : https://github.com/canonical/matter-pi-gpio-commander/blob/4df75fad2a661c2a93e73867909444b8cbce41bc/test-blink.cpp#L24-L33
Originally posted by @farshidtz in https://github.com/canonical/matter-pi-gpio-commander/pull/9#discussion_r1120206407

Here is a potential solution:
bool stoi_no_throw(const std::string& s, int& outResult) {
    size_t idx = 0;
    outResult = std::stoi(s, &idx);
    return idx == s.length();
}

CHIP_ERROR LightingManager::Init()
{
    mState = kState_On;

    char *envGPIO = std::getenv(GPIO);
    if (envGPIO == NULL || strlen(envGPIO) == 0)
    {
        ChipLogError(AppServer, "Environment variable not set or empty: %s", GPIO);
        return CHIP_ERROR_INVALID_ARGUMENT;
    }

    if (!stoi_no_throw(envGPIO, gpio))
    {
        ChipLogError(AppServer, "Non-integer value for GPIO: %s", envGPIO);
        return CHIP_ERROR_INVALID_ARGUMENT;
    }

    ChipLogProgress(AppServer, "Using GPIO %d", gpio);
    wiringPiSetupGpio();
    pinMode(gpio, OUTPUT);

    return CHIP_NO_ERROR;
}

Here is a potential solution:
bool stoi_no_throw(const std::string& s, int& outResult) {
    size_t idx = 0;
    outResult = std::stoi(s, &idx);
    return idx == s.length();
}

CHIP_ERROR LightingManager::Init()
{
    mState = kState_On;

    char *envGPIO = std::getenv(GPIO);
    if (envGPIO == NULL || strlen(envGPIO) == 0)
    {
        ChipLogError(AppServer, "Environment variable not set or empty: %s", GPIO);
        return CHIP_ERROR_INVALID_ARGUMENT;
    }

    if (!stoi_no_throw(envGPIO, gpio))
    {
        ChipLogError(AppServer, "Non-integer value for GPIO: %s", envGPIO);
        return CHIP_ERROR_INVALID_ARGUMENT;
    }

    ChipLogProgress(AppServer, "Using GPIO %d", gpio);
    wiringPiSetupGpio();
    pinMode(gpio, OUTPUT);

    return CHIP_NO_ERROR;
}

Alternatively, we could find another library which doesn't throw exceptions for string to int conversion; see https://stackoverflow.com/a/24786330/3041544
We could also look into enabling exception handling and make it possible to use modern libraries that use it. It should be fine doing so since this application is meant to run on Linux and can cope with the extra overhead.

Before detailing the library support for -fno-exceptions, first a passing note on the things lost when this flag is used: it will break exceptions trying to pass through code compiled with -fno-exceptions whether or not that code has any try or catch constructs. If you might have some code that throws, you shouldn't use -fno-exceptions. If you have some code that uses try or catch, you shouldn't use -fno-exceptions.
And what it to be gained, tinkering in the back alleys with a language like this? Exception handling overhead can be measured in the size of the executable binary, and varies with the capabilities of the underlying operating system and specific configuration of the C++ compiler. On recent hardware with GNU system software of the same age, the combined code and data size overhead for enabling exception handling is around 7%. Of course, if code size is of singular concern than using the appropriate optimizer setting with exception handling enabled (ie, -Os -fexceptions) may save up to twice that, and preserve error checking.
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_exceptions.html

Closing since the gpio configuration now gets validated: https://github.com/canonical/matter-pi-gpio-commander/pull/13


Node version 14 not supported; ERR_INVALID_ARG_TYPE on xible.init()

I am not very knowledgeable with Node.js, so that might be the problem.
When I try to install xible via Dockerfile...
FROM ubuntu:20.10
RUN apt-get update
RUN apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_current.x | bash -
RUN apt-get install -y nodejs
RUN npm install xible -g
RUN xible server start
I get the follow errors when building this Docker image...
Step 6/7 : RUN npm install xible -g
---> Running in 1f6391a8f020
/usr/bin/xible -> /usr/lib/node_modules/xible/bin/xible.js
/usr/bin/xiblepm -> /usr/lib/node_modules/xible/bin/xiblepm.js

<EMAIL_ADDRESS>postinstall /usr/lib/node_modules/xible/node_modules/core-js-pure
node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:

https://opencollective.com/core-js
https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

<EMAIL_ADDRESS>postinstall /usr/lib/node_modules/xible/node_modules/xible-wrapper/node_modules/core-js-pure
node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:

https://opencollective.com/core-js
https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

<EMAIL_ADDRESS>postinstall /usr/lib/node_modules/xible/node_modules/nodemon
node bin/postinstall || exit 0

Love nodemon? You can now support the project via the open collective:

https://opencollective.com/nodemon/donate

npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/xible/node_modules/xible-wrapper/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/xible/node_modules/xible-nodepack-filesystem/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/xible/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

<EMAIL_ADDRESS>added 1448 packages from 625 contributors in 23.576s
Removing intermediate container 1f6391a8f020
---> d4a93245423a
Step 7/7 : RUN xible server start
---> Running in 4477f805a676
2020-07-11T01:46:26.919Z xible {
node: '14.5.0',
v8: '<IP_ADDRESS>-node.23',
uv: '1.38.0',
zlib: '1.2.11',
brotli: '1.0.7',
ares: '1.16.0',
modules: '83',
nghttp2: '1.41.0',
napi: '6',
llhttp: '2.0.4',
openssl: '1.1.1g',
cldr: '37.0',
icu: '67.1',
tz: '2020a',
unicode: '13.0'
}
2020-07-11T01:46:26.921Z xible initWeb
2020-07-11T01:46:27.091Z xible:config loading "/root/.xible/config.json"
2020-07-11T01:46:27.091Z xible:config error reading "/root/.xible/config.json": Error: ENOENT: no such file or directory, open '/root/.xible/config.json'
2020-07-11T01:46:27.091Z xible:config creating "/root/.xible/config.json"
2020-07-11T01:46:27.116Z xible:config loading "/root/.xible/config.json"
2020-07-11T01:46:27.132Z xible init
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received type number (6)
at Object.writeFile (fs.js:1385:5)
at Xible.writePidFile (/usr/lib/node_modules/xible/index.js:84:8)
at Xible.init (/usr/lib/node_modules/xible/index.js:155:10) {
code: 'ERR_INVALID_ARG_TYPE'
}
The command '/bin/sh -c xible server start' returned a non-zero code: 1

It seems that node version 14 is not supported at the moment. Node version 13 does work. I'm looking into it, meanwhile you could use version 13 of Node in your docker.

Issue has been fixed in release 0.19.0 which is available on NPM now. Thanks for reporting this!

@will-hill Just an FYI; XIBLE can now be found on docker hub and installation instructions are available.
There is still some work to be done here. Notably: https://github.com/SpectrumBroad/xible/issues/94
But it's working nonetheless!


feat: Conditional display of skip or continue during user creation in the project creation

This adjusts the second step of the project creation. Up to now, there was always the "skip" button shown even if a user was added. As this is quite misleading this PR changes it such that the button states "continue" if at least one user was added.
Resolves: #632

Seems to break the frontend tests. Has to be fixed before it can be merged.


CB-17772 AWS upgrade to postgres 11: call upgrade

The goal was to:

get the list of upgrade candidate versions, and select the highest from them
call the upgrade via the SDK
wait until the upgrade finishes

On AWS when upgrading Postgres to a different major version, the minor is predefined in an upgrade matrix that needs to be queried first via a describeDBEngineVersionsRequest. That will offer one or more upgrade options - it makes sense to select the highest version.
After calling the upgrade method the RDS does not enter instantly the upgrading state - the AWS waiter thus exits immediately. Therefore a custom poller was introduced to wait until the RDS enters the upgrading state.
It was tested both on non-HA and HA setups. Cluster setups (3 instances) are not yet available for version 11.
See detailed description in the commit message.

The upgrade is extended with creating a custom parameter group. Both commits are now available on a new PR, hence closing this one.


Refcounts integration tests for mathematical binary operations

Add integration tests to compare refcounts before and after mathematical binary operations.
See #125 for more details.

please can you add floor division(//) and power(**) to this test suite

please can you add floor division(//) and power(**) to this test suite

please can you add floor division(//) and power(**) to this test suite

Good spot, added in latest commit. Thanks.

please can you add floor division(//) and power(**) to this test suite

Good spot, added in latest commit. Thanks.

@amaeckelberghe what's the verdict? Is this a bug?

It looks as if it's not Pyjion related because the test fails in the CPython suite as well. I will check if it is related to the version of Python (3.9.0 vs 3.9.1).

It looks as if it's not Pyjion related because the test fails in the CPython suite as well. I will check if it is related to the version of Python (3.9.0 vs 3.9.1).

@amaeckelberghe I'm gonna merge this one. Thanks for the PR!