[BUG] cannot import name 'url_quote' from 'werkzeug.urls' | WITH FIX!

Describe the bug
Fresh install, unable to run.
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.9/dist-packages/werkzeug/urls.py)
To Reproduce
Steps to reproduce the behavior:

Ubuntu 22
Git clone the github project
https://github.com/Kav-K/GPTDiscord/blob/main/detailed_guides/INSTALLATION.md#install-system-packages-python
python3.9 gpt3discord.py
ImportError: cannot import name 'url_quote' from 'werkzeug.urls'

OR

docker run -d --name gpt3discord -v env_file:/opt/gpt3discord/etc/environment -v /containers/gpt3discord:/data -v /containers/gpt3discord/share:/data/share ghcr.io/kav-k/gptdiscord:main-full

Expected behavior
The application should've concluded the "Retrieved the General and Moderations DB" step and proceeded to the next step, after startup, and ran successfully
Additional context
Tried with python3.9 & 3.10
Whole debug statement(this was from the docker version which used 3.10 for some reason but even using python3.9 non docker, identical in errors)
Loading environment from /opt/gpt3discord/etc/environment
Loading environment from None
Attempting to retrieve the settings DB
Retrieved the settings DB
Attempting to retrieve the General and Moderations DB
Retrieved the General and Moderations DB
Traceback (most recent call last):
  File "/opt/gpt3discord/bin/gpt3discord.py", line 24, in <module>
    from services.health_service import HealthService
  File "/usr/local/lib/python3.10/site-packages/services/health_service.py", line 4, in <module>
    from flask import Flask
  File "/usr/local/lib/python3.10/site-packages/flask/__init__.py", line 5, in <module>
Attempting to retrieve the General and Moderations DB
    from .app import Flask as Flask
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 30, in <module>
    from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/site-packages/werkzeug/urls.py)

HERE is where the issue is, and a solution
Name: Werkzeug
Version: 3.0.0

So lets downgrade to minimum requirement
flask 2.2.3 requires Werkzeug>=2.2.2
So I did
python3.9 -m pip install werkzeug==2.0.0
And wouldn't ya know? it worked! I'd hope you guys can modify requirements.txt to avoid this in the future!

I literally just hit this issue. Thank you for the post!

Ok, when I ran
python3.9 -m pip install werkzeug==2.0.0
It obviously didnt work since you noted that flask 2.2.3 required >= 2.2.2.
So just change to python3.9 -m pip install werkzeug==2.2.2 and it works fine.

Ok, when I ran
python3.9 -m pip install werkzeug==2.0.0
It obviously didnt work since you noted that flask 2.2.3 required >= 2.2.2.
So just change to python3.9 -m pip install werkzeug==2.2.2 and it works fine.

I am so sorry, I meant 2.2.2! That's what I installed for it to work correctly, thanks for correcting it!

This seems to fix it.


refine get sink local state does not require an id.

Proposed changes
The current runtime state is one pipeline task per task, and within one task, there will only be one sink.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


problem for from constraint

i have rule like this:
when {    n1: Number from [1,2,3,4,5];   }
but i got :
[ Number, "n", "true" ]
in js file.
Is it my fault?
Thanks in advance!

No, what you are seeing is the default constraint which is, the boolean constant true.  It's important to remember that 'from' is providing a substitute for facts in working memory. It is providing facts that are not in working memory,  The from modifier is not a constraint, just a source of data.  So what you really have is: n1 : Number;  with a from modifier to provide the number fact(s).


allow function value for loadPath

fixes i18next/i18next-xhr-backend#235

published<EMAIL_ADDRESS>thanks for providing this PR.

Thank you for the quick merge and release.


S3 access: us-east-1 versus us-east-2

Flintrock version: 0.10.0
Python version: 3.6.5
OS: Amazon Linux
Spark: 2.3.1

Hi Nicholas!
This is not so much an issue, but a question/observation/suggestion.
I have been hitting my head against the problem of accessing S3 files from Spark cluster launched with flintrock.
This is my setup: I've launched a Spark 2.3.1 cluster and added both hadoop-aws-2.7.3.jar and aws-java-sdk-1.7.4.jar to the spark/jars folder on master and slaves.
I launch PySpark using
pyspark --master spark://172.___.___.122:7077

What Doesn't Work
I have a bucket on us-east-2, which I try to access as follows:
rdd = sc.textFile("s3a://bucket-on-us-east-2/gutenberg_sub/3/5/6/7/35678/35678.txt")
rdd.collect()

This initially looks like it is going to work.
[Stage 0:>                                                          (0 + 1) / 2]

But then I get a flurry of errors with Status Code: 400 and AWS Error Message: Bad Request.
What Does Work
I have a copy of the same bucket on us-east-1.
rdd = sc.textFile("s3a://bucket-on-us-east-1/gutenberg_sub/3/5/6/7/35678/35678.txt")
rdd.collect()

That works flawlessly.
I've done a lot of reading to try and resolve/understand this issue. I got the idea that some extra settings were required for us-east-2, so I tried it again but using the following:
sc.setSystemProperty("com.amazonaws.services.s3.enableV4", "true")

hadoop_conf = sc._jsc.hadoopConfiguration()
hadoop_conf.set("fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem")
hadoop_conf.set("fs.s3a.endpoint", "s3.us-east-2.amazonaws.com")

I also tried a bunch of other fiddly options that I read about on SO, but none of them sorted the problem.
After hitting my head against this for quite some time I am just going to use buckets on us-east-1 in future since they seem to work fine.
However this leaves me with some questions:

What's the difference between us-east-1 and us-east-2 that accounts for this behaviour? I've read that us-east-2 only supports version 4 signatures while us-east-1 supports both versions 2 and 4. Is this at the core of the issue?
Would it make sense to mention this in the flintrock README so that other people don't waste a lot of time with this particular issue?

Again thanks for an awesome bit of software: flintrock is making my life so much easier! Just AWS is causing headaches!
Best regards,
Andrew.

Different regions of AWS sometimes support different features or require different options to be set, like in this case. So yes, the main difference is that one region requires a newer signature version whereas the other doesn’t.
There’s no way for Flintrock to account for all the intricacies of AWS, either in code or via documentation, so for these kinds of things I think it’s best to leave the problem to others to solve, like Stack Overflow, the Spark docs, or the AWS docs. There are also some guides linked to from the README that may include information like this.

Agreed, you can't hope that Flintrock will cater for or document all of the nooks and crannies of AWS.
However, in the interests of saving users time and frustration I think that it might be worthwhile mentioning in the README that S3 access will work well with Version 2 signatures but might be problematic with only Version 4 signatures.
Thanks for your feedback again.


how to choose the margin parameter?

In your code the margin is 0.2 ,but in other code,I see margin is much bigger than yours（e.g 16）

You can always see the visualization when you change the margin. During my previous experiment, the margin doesn't matter really much. The way to create the dataset(the pairing) seems to be more important.


fix: add google domain to frame-src CSP

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


improve unused _ASTableCellView manage safe and performance

Why need this change?:

unsafe to save draft (sync-contents)
Sometimes unexpected _ASTableCellView attached onto view hierarchy after remove content

Change made & impact:

remove synchronizeFetchContent completion callback and support stack frame lock
activeTextContainCellNode should be weak referrence
create a removeUnusedInternalASTableCellViewIfNeeds method, check unused InternalASTableCellView(_ASTableCellView) during scroll.

Test Scope:

sustain.

Vertified snapshots (optional)

Codecov Report

Merging #62 into master will decrease coverage by 1.68%.
The diff coverage is 59.37%.

@@            Coverage Diff             @@
##           master      #62      +/-   ##
==========================================
- Coverage   67.26%   65.57%   -1.69%
==========================================
  Files          25       25
  Lines        1738     1743       +5
==========================================
- Hits         1169     1143      -26
- Misses        569      600      +31


Local policy edits not taking affect when using Set

Hi, thanks for the module. It's very good. The help text from about_RegistryValuesForAdminTemplates.Help.txt was very helpful.
I found that when I set a local policy group option, the machine didn't update it's policy until after a reboot or until I ran the command gpupdate /force
So for instance, I ran the command
Set-PolicyFileEntry $env:systemroot\system32\GroupPolicy\Machine\registry.pol -Key 'Software\Policies\Microsoft\Windows\Explorer' -ValueName 'NoNewAppAlert' -Data 1 -Type DWord
The affect didn't take place until after I ran gpupdate /force
I think this is fine but I didn't see anyway in the help information or documentation on set-PolicyFileEntry that you need to then call gpupdate/reboot.
Is this expected behaviour of the module?

hmm I'm on windows10 20H2 and there is no such file (registry.pol).
Moreover, the string "Password must meet complexity requirements" from gpedit.msc is not present in any of the .adml files in %SystemRoot%\PolicyDefinitions\en-US\
so it can't be traced to its registry key.
Do you have idea whether things have changed or just my windows 10 installation is broken ?

hmm I'm on windows10 20H2 and there is no such file (registry.pol). Moreover, the string "Password must meet complexity requirements" from gpedit.msc is not present in any of the .adml files in %SystemRoot%\PolicyDefinitions\en-US\
so it can't be traced to its registry key.
Do you have idea whether things have changed or just my windows 10 installation is broken ?

"Password must meet complexity requirements" does not belong to administrative templates.
Registry.pol file is located in:

C:\Windows\System32\GroupPolicy\Machine
C:\Windows\System32\GroupPolicy\User

Note that GroupPolicy folder is hidden and you need to show hidden files in windows explorer options.


Remove aamas25

Removing references to aamas25 and replacing them with last

great! Once you resolve the conflicts you are good to merge


invalid folder share for mcloud/ftp container

https://github.com/qaprosoft/qps-infra/blob/da59fabf565481cf81fb0f171a2cb037bcac7bc2/mcloud/docker-compose.yml#L23
volumes:
 - "data-volume:/usr/share/ftp:rw"

must be
volumes:
 - "data-volume:/share/ftp:rw"

Verified

fixed


Request with huge JSON response hangs postman

If making a request that renders a huge (~thousands of lines) chunk of JSON as the response, POSTMan will simply freeze and has to be force killed. Supposedly it will wake up minutes later when the data is processed, but in the mean time, the cancel request button, close tab button and just about everything is non-responsive.

@henhal What version of Postman are you using?

Hi @abhijitkane
Version <IP_ADDRESS> (packaged)
OS: win
Architecture: x86-32
Native client architecture: x86-64
I updated it today, previously I had the old version with the old look & feel, the issue was present on that version as well though.

Same here with a 13 mb JSON response. :( Same URL in Chrome displays it fine.
Version <IP_ADDRESS> (packaged)
OS: win
Architecture: x86-32
Native client architecture: x86-64

Not sure if this is the same problem but I get it on a 3.3MB zip file returned happens on 3.0 but not on versions before.
It freezes the response, and if I close the app or tab, postman will cease to work unless I disable it within google chrom.
On OSX 10.10


Non EPAC exemptions are not being removed.

Ensure all manually created exemptions get removed by running EPAC. Just the way policy assignments are, exemptions should also only be controlled through EPAC. As of v10.2.4, the logic is only adding exemptions, not deleting existing ones that are created in parallel in the Portal (or through something else other than EPAC)

Fixed in #636


Version 72

HTTP:

Tidy up set payload in http-server-fast
Refine Body::size specification
Newly constructed responses have a 200 OK result
Add http-server-threaded example
Various improvements to http_server_fast.cpp

WebSocket:

Add websocket-server-async example
Documentation tidying

Documentation preview:
http://vinniefalco.github.io/stage/beast/v72/

Merged


Is it possible to add comments above the constant in wp-config?

I am searching this in the docs or options but could not find it :) Supposing I have this constant to be added to wp-config:
define('MYTEST_CONSTANT', 'somevalue);
Is it possible to programmatically add a comment above it? Example:
/**
* Please do not remove this constant manually
*/
define('MYTEST_CONSTANT', 'somevalue);
The text comment: Please do not remove this constant manually is the one to be added programmatically via WP-config transformer library. I am not sure if this is possible? Thanks.

Hey there, no that is not supported by this library. It can only create, edit, or delete PHP constants and variable definitions. You would need to add this yourself to the file first then perhaps use that has your anchor string to place the constant definition immediately after it.

Thanks for the info!


New release?

Hi! I have a few 3.5+ packages relying on flit and future-fstrings. Using the dev version of flit is a bit cumbersome.
PS: If you find it to annoying to make releases, I recommend transitioning flit to get_version. It makes a new release as easy as git tag v1.2.3 && flit publish && git push --tags

1.3 is on PyPI now.
Thanks, but I don't find updating the version number is a significant amount of the effort in creating a new release, and I don't like the notion of packages looking up their own metadata at import time in any case.

Thank you so much!

I don't like the notion of packages looking up their own metadata at import time in any case.

Oh, why not? because there could be multiple versions of the same package installed?
In any case, it’s the only way to do it with flit having no build step!

For much the same reason that I don't like objects inspecting the stack to find out what their name is in some namespace; it feels inside-out. Especially for something that happens on import, I don't want the package poking around my filesystem trying to find its metadata, or running git in a subprocess.
The problem it's solving also isn't something that bothers me much. Assembling a decent set of release notes takes much longer than changing a version number.
I do find it slightly inconvenient at times that the version number has to be set in multiple places. You can see in the commit history that I initially forgot to change the version number to 1.3 for the docs, and had to make another commit to do that. But for this I prefer the kind of approach offered by bumpversion, where the extra complexity is in developer tools, not something that happens at runtime in the module.

Assembling a decent set of release notes takes much longer than changing a version number.

It’s true, however the state of the release notes on publication isn’t that important, since readthedocs/latest shows the release notes from the master branch. For my own projects, I usually prefer having bugfix releases out fast instead of waiting until I can take the time to update the release notes. Once I have the time, I go through the git history and retroactively compile the release notes.

I like to do release notes when I'm making the release, because otherwise I'll probably never do them. :slightly_smiling_face:

I like to do release notes when I'm making the release, because otherwise I'll probably never do them. :slightly_smiling_face:

I don’t know why I manage to not procrastinate in that regard while procastinating is so many others, but somehow it comes easily to me. Maybe because I enjoy reading release notes for projects I’m excited about (including this one, thank you for it!)

You can see in the commit history that I initially forgot to change the version number to 1.3 for the docs

Haha, that’s exactly what I wanted to avoid and why i wrote get_version. I think everything I have to do manually will be forgotten, including calling things like bumpversion. For my R stuff I also regularly forget recompiling the docs. If I can integrate things like that into the build system, I’m happy. Flit doesn’t have a customizable build step, so I went the metadata route.

projects I’m excited about (including this one, thank you for it!)

Thanks! :smiley:

I assume everything I have to do manually will be forgotten, including calling things like bumpversion

I'm not too worried about forgetting to increment the version number at all - that's an intrinsic part of what I think of as 'making a release'. And if I don't do it, the upload will fail anyway. But I do sometimes have trouble remembering the different places it needs updating.

Flit doesn’t have a customizable build step

The idea is still under consideration (#119), but it's not a priority at the moment. Part of what's so nice about Flit is the simplicity of not having a build step.
I did start a project called modeltee to automate release steps, as distinct from build steps. That includes things like tagging the release and publishing it to PyPI. I keep meaning to get back to working on it, to the point where I use it for projects like Flit.

As soon as any kind of information is at two separate places in the same project, I consider that a bug in the tooling.
I think cargo is a very good package manager. It allows a build.rs for the rare case that you need it, but most projects do without.

I agree that it's good to have a 'single source of truth'. That's why Flit doesn't require the version number in the configuration. But I prefer a bit of duplication to some of the solutions to avoid it.

Certainly. I think the my favourite solution would be get_version at development, and a AST modifying build step to dynamically replace __import__('get_version').get_version() with a version string.

Pros
Cons

Single truth
Complex

No prod dependencies

No _versioneer.py in VCS

Source of truth isn’t “backwards” in metadata


Uncaught TypeError: result.sort is not a function

[Enter steps to reproduce below:]

setup sftp host
browse hosts
click host
connection successful
error Uncaught TypeError: result.sort is not a function

Atom Version: 1.10.0
Electron Version: 0.37.8
System: Microsoft Windows 7 Enterprise
Thrown From: remote-edit package, v1.8.24
Stack Trace
Uncaught TypeError: result.sort is not a function
At /C:/Users/Username/.atom/packages/remote-edit/lib/model/sftp-host.coffee:276

TypeError: result.sort is not a function
    at file:///C:/Users/Username/.atom/packages/remote-edit/lib/model/sftp-host.coffee:152:34
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:486:20
    at nextTask (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:5008:33)
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:5015:17
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:339:31
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:847:20
    at file:///C:/Users/Username/.atom/packages/remote-edit/lib/model/sftp-host.coffee:145:95
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:486:20
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:3306:17
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:952:25
    at iteratorCallback (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:995:17)
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:847:20
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:3296:21
    at RemoteFile.module.exports.RemoteFile.isHidden (file:///C:/Users/Username/.atom/packages/remote-edit/lib/model/remote-file.coffee:15:7)
    at file:///C:/Users/Username/.atom/packages/remote-edit/lib/model/sftp-host.coffee:145:61
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:3294:13
    at eachOfArrayLike (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1002:13)
    at eachOf (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1052:9)
    at _filter (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:3293:9)
    at Object.<anonymous> (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1057:20)
    at async.waterfall._this.emitter.emit.message (file:///C:/Users/Username/.atom/packages/remote-edit/lib/model/sftp-host.coffee:145:19)
    at nextTask (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:5021:18)
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:5015:17
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:339:31
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:847:20
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:486:20
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1074:13
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:952:25
    at iteratorCallback (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:997:17)
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:847:20
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1071:17
    at file:///C:/Users/Username/.atom/packages/remote-edit/lib/model/sftp-host.coffee:139:49
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1069:13
    at eachOfArrayLike (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1002:13)
    at eachOf (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1052:9)
    at _asyncMap (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1067:9)
    at Object.map (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:1057:20)
    at file:///C:/Users/Username/.atom/packages/remote-edit/lib/model/sftp-host.coffee:139:17
    at nextTask (C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:5021:18)
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:5015:17
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:339:31
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\async\dist\async.js:847:20
    at C:\Users\Username\.atom\packages\remote-edit\node_modules\ssh2-streams\lib\sftp.js:1503:13
    at SFTPStream._transform (C:\Users\Username\.atom\packages\remote-edit\node_modules\ssh2-streams\lib\sftp.js:382:17)
    at SFTPStream.Transform._read (_stream_transform.js:167:10)
    at SFTPStream._read (C:\Users\Username\.atom\packages\remote-edit\node_modules\ssh2-streams\lib\sftp.js:170:15)
    at SFTPStream.Transform._write (_stream_transform.js:155:12)
    at doWrite (_stream_writable.js:301:12)
    at writeOrBuffer (_stream_writable.js:287:5)
    at SFTPStream.Writable.write (_stream_writable.js:215:11)
    at Channel.ondata (_stream_readable.js:536:20)
    at emitOne (events.js:90:13)
    at Channel.emit (events.js:182:7)
    at readableAddChunk (_stream_readable.js:153:18)
    at Channel.Readable.push (_stream_readable.js:111:10)
    at SSH2Stream.<anonymous> (C:\Users\Username\.atom\packages\remote-edit\node_modules\ssh2\lib\Channel.js:146:15)
    at emitOne (events.js:90:13)
    at SSH2Stream.emit (events.js:182:7)
    at parsePacket (C:\Users\Username\.atom\packages\remote-edit\node_modules\ssh2-streams\lib\ssh.js:3163:10)
    at SSH2Stream._transform (C:\Users\Username\.atom\packages\remote-edit\node_modules\ssh2-streams\lib\ssh.js:551:13)
    at SSH2Stream.Transform._read (_stream_transform.js:167:10)
    at SSH2Stream._read (C:\Users\Username\.atom\packages\remote-edit\node_modules\ssh2-streams\lib\ssh.js:212:15)
    at SSH2Stream.Transform._write (_stream_transform.js:155:12)
    at doWrite (_stream_writable.js:301:12)
    at writeOrBuffer (_stream_writable.js:287:5)
    at SSH2Stream.Writable.write (_stream_writable.js:215:11)
    at Socket.ondata (_stream_readable.js:536:20)
    at emitOne (events.js:90:13)
    at Socket.emit (events.js:182:7)
    at readableAddChunk (_stream_readable.js:153:18)
    at Socket.Readable.push (_stream_readable.js:111:10)
    at TCP.onread (net.js:531:20)

Commands
  2x -0:25.7.0 remote-edit:browse (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "disabledPackages": [
      "remote-sync"
    ]
  }
}

Installed Packages
# User
file-icons, v1.7.19 (active)
pigments, v0.34.0 (active)
project-manager, v2.9.7 (active)
remote-edit, v1.8.24 (active)
remote-sync, v4.1.2 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (active)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (active)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.241.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

On settings, activate the option to see hidden files. (not best solution, but works).
The problem seems to come from the way of filtering the hidden files, maybe somebody knows more about async.filter

package.json
"dependencies": {
"async": ">=0.9.0",
 replace with

"async": "<2.0.0",

and cmd window "npm install" inside directory remote-edit package.


ci(dependabot): Add default Dependabot reviewer

Add @mark-stopka as default reviewer for dependency updates thru Dependabot

Used GitHub action has an issue https://github.com/marocchino/validate-dependabot/issues/233

@scarmuega please just approve review, I will squash and merge, it is too much mess and I was not able to fix https://github.com/txpipe/oura/issues/100


Video Conference Mute Toolbar provides no means of identification

Description of the new feature / enhancement
Personally, I think this should be filed as a bug, as IMO having an element of a program, especially one that can show independently at "random" times, with no way to identify what program it belongs to is just bad practice. I enabled this module for testing then forgot to disable it, and later noticed the toolbar popup and couldn't figure out what was causing it. There's no icon, no tooltip, no right-click menu, nothing. I had to do a web search to figure out what it was from so I could disable it. There needs to be some sort of identification attached to it.
Scenario when this would be used?
See above
Supporting information
No response

I'd also like to point out that one of the arguments against removing the tray icon mentioned in issue #765 is/was concern over how users would access the program, because apparently PowerToys users aren't smart enough to open the start menu and type "powertoys" and hit enter, yet this module requires running PT as admin to enable/disable, which requires not only running it from the start menu, but specifically selecting to run as admin. I find it interesting the developers simultaneously believe users can't figure out how to run PT via the start menu and that they can not only do that but run it as admin. Meanwhile, many (most?) apps that require elevation in certain cases have an option to restart them as admin, without requiring the user to close them and run them manually, yet PT, the app whose users can't handle the start menu, doesn't have such a feature. Very bizarre logic.

VCM is in maintenance mode and we will only resolve a small amount of issues in it moving forward, please see #21473


CX Stored_XSS @ website/include/comments.php [master]

Stored_XSS issue exists @ website/include/comments.php in branch master
The application's <?php embeds untrusted data in the generated output with echo, at line 1 of website\pictures\view_flymake.php. This untrusted data is embedded straight into the output without proper sanitization or encoding, enabling an attacker to inject malicious code into the output.
The attacker would be able to alter the returned web page by saving malicious data in a data-store ahead of time. The attacker's modified data is then read from the database by the get_all_comments_picture method with mysql_fetch_assoc, at line 21 of website\include\comments.php. This untrusted data then flows through the code straight to the output web page, without sanitization.
This can enable a Stored Cross-Site Scripting (XSS) attack.
Severity: High
CWE:79
Vulnerability details and guidance
Checkmarx
Lines: 28

Code (Line #28):
	 while ($row = mysql_fetch_assoc($res))

Issue still exists.

Issue still exists.


Add customizable classnames for scrollbar and scrollabar-container

It might be useful when reactScrollbar used in project with css-modules and there is no way to define .scrollbar and .scrollbar-container css classes.

@souhe ping

@souhe ping

Hey, I'm sorry.
@avanes please see my comment in PR #88


Make FC041 smarter about CURL usage

Closes https://github.com/acrmp/foodcritic/pull/305, closes https://github.com/acrmp/foodcritic/issues/240

@lamont-granquist @jaymzh I'll need your eyes on the test cases


website(showcase): refactor with lodash methods.

Asaf, regardless of Lodash or vanilla JS, my concern is that you are breaking hydration stage when rendering items in a non-deterministic order.
I'd advise to move shuffling into useEffect hook.

@noomorph I had no idea this might happen. I now see that the images are for some reason cached and stays on their position although other parts of the card replaces the position. Locally I had no such problem.
I'm reverting this change


BUG: All rides repaint immediately upon park load

This isn't technically against the purpose of the feature, but it's not intended.
Could be solved by marking everything as having been painted upon parkInit(). not sure other potential issues with doing that though.

I'm still seeing this occurring with the latest release, with the Six Flags Great Adventure park colors. Great plugin but I don't want it repainting the classic rides

@sudofox Thanks for the note. I believe this has been fixed further after a substantial rebuild, but I haven't pushed the fix to release yet. I'm on a new pc and am having some data issues, but I'll ping on next release.

Fixed along with other improvements in v1.2.0, live now. https://github.com/ltsSmitty/OpenRCT-Ride-Painter/releases/tag/v1.2.0

Thanks for your prompting! I'd love any feedback or ideas you have - you can find me on the OpenRCT discord at Smitty#5288!


Updating the Campaign Model

Responds to Updating the Campaign Model #449
##Issue
Schema and model needed to be updated to accommodate the addition of Single Campaign Mode
##Fix
Add fields to campaign.js and<PHONE_NUMBER>5151_create-campaigns-table.js. Additionally make some fields nullable to accommodate the new schema.

Hi @paramsiddharth - I decided to pick up this issue since I'm familiar with knex migrations and objection models from working on Implement logging#406. Other than adding back the down(knex) function, are there any other changes to be made before this PR is merged? Thanks!

Hi @paramsiddharth - I decided to pick up this issue since I'm familiar with knex migrations and objection models from working on Implement logging#406. I have added back the down(knex) function like you requested. Are there any other changes to be made before this PR is merged? Thanks!

Hi @rsensenig — Good to see you picking up this issue! I think you need to look carefully at the down function. The up function alters the table in a certain manner. down should undo it i.e. If it is creating certain columns, it should delete them. 😊 Think carefully.

Hi @paramsiddharth - I decided to pick up this issue since I'm familiar with knex migrations and objection models from working on Implement logging#406. I have added back the down(knex) function like you requested. Are there any other changes to be made before this PR is merged? Thanks!

Hi @rsensenig — Good to see you picking up this issue! I think you need to look carefully at the down function. The up function alters the table in a certain manner. down should undo it i.e. If it is creating certain columns, it should delete them. 😊 Think carefully.

Thanks Param! I looked at the knex 'down' function again and updated it so that it drops the columns. Please let me know if this is correct now.

@DietBepis1 Hey Glenn! What do you think is the best way to make the property optional? I don't believe minLength: 0 should be the way to go  — Let me know what you think!
References:

https://stackoverflow.com/questions/16204871/what-is-the-difference-between-required-vs-optional-in-json-schema
https://vincit.github.io/objection.js/api/model/static-properties.html#static-jsonschema

@DietBepis1 Hey Glenn! What do you think is the best way to make the property optional? I don't believe minLength: 0 should be the way to go — Let me know what you think!
References:

https://stackoverflow.com/questions/16204871/what-is-the-difference-between-required-vs-optional-in-json-schema
https://vincit.github.io/objection.js/api/model/static-properties.html#static-jsonschema

After discussing and researching with @paramsiddharth I agree that minLength should be removed instead of being set to 0, so I went ahead and made that change. Let us know whether this looks good to you @DietBepis1.


Issue 615 table admin documentation

Rework is done, Please take a look.

Some how AppVeyor build failed, but not getting exact reason for failed. if any pointer ?

It ran out of time.  AppVeyor limits builds to 1hr, and if the build cache is not working it takes longer than that to build.  Rebuilding now (and the partial build is cached, so it usually works).

PTAL

@sduskis this looks good to me, but I think you should be one to approve.

@roopak-qlogic, can you please resolve the conflicts and address the comments?

Did not get chance to work on Thursday, Today Friday night IST I will complete this.

Also in addition of fixing comments, assuming to split bigtable_samples.cc in two file, like instance admin documentation right?

You can split the file if that is necessary.

PTAL

I have done with fixing review comments and merge conflicts, please take a look and let me know if any changes need to do.


ERROR: Failed building wheel for aiohttp for Python 3.12.0

ERROR: Failed building wheel for aiohttp for Python 3.12.0

Hi @Marckxp
Looks like aiohttp does not support python 3.12 yet. I suggest using an older version of python, if that's possible


SCAN: Iterate over cluster nodes in parallel rather than sequentially

with a MATCH scan I measured this as iterating over 2.5x keys per second compared to previous version (with 8 cluster nodes)

(tangentally related)
For the TYPE parameter, I also have a version that catches the exception on pre Redis 6.0 and manually does a separate TYPE call.
This is much faster when applied within scan_iter (check call happens in parallel against the correct node, and the queue never gets populated with keys that fail the check)

Hey @eoghanmurray -- just wanted to let you know I caught a couple bugs here and am releasing 2.0.2 with the fixes. Turns out we didn't manage to avoid all the race conditions anyway :(

Ah, the comments around the maxsize (and the -1 especially) make a lot of sense.

Yeah, also realize today that a large buffer is bad if the underlying keys have a high turnover of deletion/creation.  You'll get more 'key disappeared during scan' errors and miss more newly created keys.


Warning systems

Add some way to warn of approaching missiles which use active tracking + give it a penalty.  Mass?
Add some other way of warning against all missiles + give it a disproportionately larger penalty.  Ties into countermeasures.
Stretch goal: system tech levels, allowing finer information for larger penalties.

I'm wary of making an entity for this because people will probably just dodge the restrictions and penalties with E2.  That's a general problem when it comes to ideas like this.  Thoughts?

Perhaps use some sort of proximity detector for the warning system, larger proximity range, more mass or perhaps use battery entities that consume energy? (Range vs Energy usage ratio?)

That would be nice, and it'd also be a nice reason for someone to sidestep the downsides by making a E2 which only does the good stuff.  To create something that we can enforce balance upon, we need to offer something which simply isn't possible or simply isn't as good otherwise.


PiRogue Supported Android iOS versions

User feedback suggest specifying which operating systems versions are supported by PiRogue section on the homepage.

I don't know what to think, the version of Android is relevant for a few features.

@U039b Let me think on how to clarify this with a single line.


chore(memory_management): move to local imports

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
This change is very simple. It improves some changes from another PR mentioned below.
Refer to a related PR or issue link (optional)
#7397

🤔

Why is it keep retrying

No ideas. Mergify sometimes doesn't work well.


An error occurs when batch_size is set to 2 or more.

Traceback (most recent call last):
File "/home/mvp/run/train_3d.py", line 473, in
main()
File "/home/mvp/run/train_3d.py", line 309, in main
train_3d(config, model, optimizer, train_loader, epoch,
File "/home/mvp/run/../lib/core/function.py", line 65, in train_3d
out, loss_dict = model(views=inputs, meta=meta)
File "/home/anaconda3/envs/mvp_voxelpose/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/home/anaconda3/envs/mvp_voxelpose/lib/python3.9/site-packages/torch/nn/parallel/distributed.py", line 1008, in forward
output = self._run_ddp_forward(*inputs, **kwargs)
File "/home/anaconda3/envs/mvp_voxelpose/lib/python3.9/site-packages/torch/nn/parallel/distributed.py", line 969, in _run_ddp_forward
return module_to_run(*inputs[0], **kwargs[0])
File "/home/anaconda3/envs/mvp/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/home/mvp/run/../lib/models/multi_view_pose_transformer.py", line 318, in forward
get_rays_new(self.image_size,
File "/home/mvp/run/../lib/models/position_encoding.py", line 272, in get_rays_new
pixel_camera = torch.bmm(xy1.flatten(1, 2).repeat(views, 1, 1),
RuntimeError: Expected size for first two dimensions of batch2 tensor to be: [2, 3] but got: [8, 3]
I ran training with batch_size=4, but this error occurred. Does anyone know how to fix it?

hi, batch size larger than 1/per gpu is not supported, please modify the code or try the https://github.com/openxrlab/xrmocap implementation


resolve Rhea mapping for 'linoleoyl-CoA desaturase activity' GO:0016213

(9Z,12Z)-octadecadienoyl-CoA + 2 [Fe(II)-cytochrome b5] + 2 H(+) + O2 = (6Z,9Z,12Z)-octadecatrienoyl-CoA + 2 [Fe(III)-cytochrome b5] + 2 H2O EquivalentTo EC:<IP_ADDRESS>	(most probable)	0.75
(9Z,12Z,15Z)-octadecatrienoyl-CoA + 2 [Fe(II)-cytochrome b5] + 2 H(+) + O2 = (6Z,9Z,12Z,15Z)-octadecatetraenoyl-CoA + 2 [Fe(III)-cytochrome b5] + 2 H2O ProperSubClassOf EC:<IP_ADDRESS>		0.1
(9Z,12Z)-octadecadienoyl-CoA + 2 [Fe(II)-cytochrome b5] + 2 H(+) + O2 => (6Z,9Z,12Z)-octadecatrienoyl-CoA + 2 [Fe(III)-cytochrome b5] + 2 H2O EquivalentTo METACYC:<IP_ADDRESS>-RXN	(most probable)	0.75
linoleoyl-CoA desaturase activity EquivalentTo METACYC:<IP_ADDRESS>-RXN	(most probable)	0.8
linoleoyl-CoA desaturase activity EquivalentTo EC:<IP_ADDRESS>	(most probable)	0.8
linoleoyl-CoA desaturase activity ProperSubClassOf (9Z,12Z)-octadecadienoyl-CoA + AH2 + O2 = (6Z,9Z,12Z)-octadecatrienoyl-CoA + A + 2 H2O		0.08
(9Z,12Z,15Z)-octadecatrienoyl-CoA + 2 [Fe(II)-cytochrome b5] + 2 H(+) + O2 => (6Z,9Z,12Z,15Z)-octadecatetraenoyl-CoA + 2 [Fe(III)-cytochrome b5] + 2 H2O EquivalentTo METACYC:RXN-13426	(most probable)	0.75

@balhoff I think METACYC:RXN-13426 and METACYC:<IP_ADDRESS>-RXN are the same?
Do you get the MetaCyc xrefs from RHEA or from GO? I cannot find METACYC:RXN-13426 in GO.

@amorgat @kaxelsen
Would RHEA consider a grouping reaction for EC:<IP_ADDRESS>?
CHEBI:139565 - octadecadienoyl-CoA(4−) is a common parent to CHEBI:57383 - linoleoyl-CoA(4−) used in RHEA:47140 and CHEBI:74034 - α-linolenoyl-CoA(4−) used in RHEA:47144

@balhoff I think METACYC:RXN-13426 and METACYC:<IP_ADDRESS>-RXN are the same?
Do you get the MetaCyc xrefs from RHEA or from GO? I cannot find METACYC:RXN-13426 in GO.

@pgaudet MetaCyc xrefs come from both Rhea and GO.

Then I will direct my question to @amorgat and @kaxelsen

I think METACYC:RXN-13426 and METACYC:<IP_ADDRESS>-RXN are the same?

They are not the same.
METACYC:RXN-13426 has alpha-linolenoyl-CoA (C18:3 = C18 fatty acid with 3 double bonds) as substrate while
METACYC:<IP_ADDRESS>-RXN has linoleoyl-CoA (C18:2 only 2 double bonds) as substrate.
This is the same reason we cannot group the two reactions, CHEBI:139565 only groups C18:2 fatty acids.

[ ] Added RHEA:47144 as a xref. Both RHEA:47144 and RHEA:47140 are narrowMatch.
[ ] Fixed definition to "Catalysis of the reaction: (9Z,12Z)-octadecadienoyl-CoA + 2 Fe(II)-[cytochrome b5] + 2 H+ + O2 = (6Z,9Z,12Z)-octadecatrienoyl-CoA + 2 Fe(III)-[cytochrome b5] + 2 H2O. Can also use a substrate with 3 double bonds (a (9Z,12Z,15Z)-octadecatrienoyl-CoA and add a fourth double bond (a (6Z,9Z,12Z,15Z)-octadecatetraenoyl-CoA)."

Note that RHEA:22196 has been replaced by RHEA:47140, so we can ignore that mapping.

linoleoyl-CoA desaturase activity is an exact match for https://www.rhea-db.org/rhea/47140 - linoleoyl-CoA is the same as (9Z,12Z)-octadecadienoyl-CoA
https://www.rhea-db.org/rhea/47144 is a different reaction, one which concerns alpha linolenoyl-CoA - i.e. (9Z,12Z,15Z)-octadecatrienoyl-CoA - so not really a narrow match
it will really confuse people if you map both to a GO term for "linoleoyl"

Hi @alanbridge
Looking at this once again  - for GO this is the same reaction, ie the enzyme is not specific for one or the other substrate. Of course it can be annotated in two processes, depending on the product generated by the reaction.

Changed def xref from 2 narrow RHEA to exact EC:<IP_ADDRESS>


[LOG] As a user on Paloma, I want the status update transactions to be batched every 60 blocks into one transaction

As a user on Paloma, I want the status update transactions to be batched every 60 blocks into one transaction so that the system is not overloaded with status update transactions that burn gas, transaction fees and blockspace.
Acceptance Criteria

We want to reduce the number of logging transactions like this status update as transactions. https://paloma.explorers.guru/transaction/B470BF653BB9B4EEFCC80DD4A910EA3053D08749A7C6AB0A27AC96BF593EA731?height=28603113
Batch these into 1 every 60 blocks. That's at least 1 per minute
Include the following transactions:

Add Status Update
Keep Alive
Any others that no longer need block insertion each block.

Not needed. Issue was vault txes.


Renaming Component Causes Disconnection

When I rename a State or Transition, then zoom out, all connections involving the renamed component get severed.
The following error message is printed:
 (Node not found: "Stop" (relative to "/root/EditorNode/@@596/@@597/@@605/@@607/@@611/@@615/@@616/@@617/@@633/@@634/@@643/@@644/VBoxContainer/ScrollContainer/VBoxContainer/GraphFSMEdit").)

This seems to print for every connection to and from the renamed component.

Based on GraphEdit.get_connection_list(), it seems that whenever GraphEdit needs to redraw a connection, it accesses its children node by their name. Renaming the component, even when it would also renames its GraphNode counterpart, does not affect GraphEdit's connection list, so it won't be able to find the renamed node.
I can think of two solutions:

Having renaming a component also update the GraphEdit's connection list accordingly. However, the only way to access the list is by GraphEdit.get_connection_list(), but I'm not sure whether getting an Array by function would let me access the reference to edit.
Don't name GraphNodes by their associated component names. Using its default name consistently prevent rename, which would prevent GraphEdit from ended up getting missing node.

I've tried solution 1. Just as I thought, GraphEdit.get_connection_list() does not return the reference.

Issue resolved with solution 2.


Tab cycling skips buttons in the Project Manager

Godot version
v4.1.rc2.official [46424488e]
System information
Godot v4.1.rc2 - Windows 10.0.19045 - Vulkan (Compatibility) - GeForce GTX 550 Ti () - Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz (4 Threads)
Issue description
In the Project Manager.
Tab cycling through the Gui elements in the Create New Project dialog,
skips the bottom two buttons: Create & Edit and Cancel
https://github.com/godotengine/godot/assets/13420573/99b7cd69-d8eb-4d8a-849e-688752adcc8c
The same thing happens with the bottom two buttons in the Select a Folder to Scan dialog:
Select Current Folder and Cancel
And in the Import Existing Project dialog, it skips the top right Browse button,
and only cycles between the bottom two buttons: Import & Edit and Cancel,
Steps to reproduce

Open the Project Manager
Press the New Project button
Press Tab to cycle through the Gui elements

Observed
The bottom two buttons are skipped.
Expected
The bottom two buttons should also be accessible by navigating through them with Tab.
Minimal reproduction project
N/A

We can see the opposite happening when pressing the Import button instead of the New Project one. Using Tab we can only cycle through the Import & Edit and Cancel buttons in that case.
Also inside New Project clicking on the Import & Edit or Cancel buttons makes it so that now we can focus on them but not on the rest of the buttons in the dialog window.
https://github.com/godotengine/godot/assets/38991758/088d7200-118f-4f1c-ad12-dd9e5c61c85e
Since the two buttons belong to the Confirmation Dialog and Accept Dialog classes, and the rest of the focusable elements to the ProjectDialog class (Which extends Confirmation Dialog and Accept Dialog ), the function that moves the focus between nodes (Control::find_next_valid_focus()) doesn't seem to be able to access either the parent's class or the inherited class's elements when starting from one element that doesn't belong to it. Probably because they don't share the same base container.


Dpdk merge

Backports:
netdev-dpdk: update vhost user client port status.: Can be back-ported to 2.6
dpif-netdev: Fix per packet cycles statistics.: Can be back-ported to 2.6

replace the pull request


fix: fair exhibitors

This PR resolves []
Description
Fixes:

[x] broken exhibitors scroll
[x] disables scroll between tabs on Fairs due to exhibitors having rails as content for better ux
[x] converts FetchQuery in fair page to useLazyLoad to not do a request every time that we visit the page

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

fair exhibitors scroll fix + perf improvements - gkartalis

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (fair exhibitors scroll fix + perf improvements - gkartalis)

  Generated by :no_entry_sign: dangerJS against f31710d89d94bf1c4cc9648878e94818f1bfa649


Temporary increase in memory when executed pyrevolve.Operator leads to memory error

A python script running a TTI RTM for only one shot with pyrevolve (https://sesibahia-my.sharepoint.com/:u:/g/personal/oscar_ladino_fieb_org_br/EWpX_VT4U3lCqdAArLVaGKABe9oysSb0KKRDlqIyL1XpwA?e=TgKdL4) runs fine for a period of time before crashing with the following error:
  File "/home/oscarm/.conda/envs/devito-v4.2.2/lib/python3.8/site-packages/pytools/prefork.py", line 49, in call_capture_output
    popen = Popen(cmdline, cwd=cwd, stdin=PIPE, stdout=PIPE,
  File "/home/oscarm/.conda/envs/devito-v4.2.2/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/home/oscarm/.conda/envs/devito-v4.2.2/lib/python3.8/subprocess.py", line 1637, in _execute_child
    self.pid = _posixsubprocess.fork_exec(
OSError: [Errno 12] Cannot allocate memory

It seems to be that forking to call the compiler when applying the pyrevolve.Operator temporarily doubles the memory of the parent process. If the parent process is using more than half of the system memory, it will lead to run into a memory error. A workaround is to precompile the code before instantiate the CheckpointOperator object, i.e
cp = DevitoCheckpoint([u,v])
op_fwd = solver.op_fwd(save=False)
op_fwd.cfunction
op_imaging.cfunction
wrap_fw = CheckpointOperator(op_fwd, src=geometry.src, u=u, v=v, ... )
wrap_rev = CheckpointOperator(op_imaging, u=u, v=v, ... )

However, it would appear that there is another possible solution as suggested in this thread https://devitocodes.slack.com/archives/C7JMLMSG0/p1593739206410500?thread_ts=1593727821.408500&cid=C7JMLMSG0

I think the current evidence points at the fork before compilation being the culprit.

@tjb900 ever noticed anything like this?

Yeah, definitely
It's worth noting that the physical memory usage doesn't increase as both processes refer to the same physical memory, but if there is anything in place that limits the total virtual memory footprint of a group of processes or all processes on the system, this kind of thing can trip it up (e.g. the value of /proc/sys/vm/overcommit_ratio).
Possible workarounds are:

change whatever is using fork/exec to use posix_spawn instead. In Python >= 3.8, Popen and friends (which is what is used by codepy, indirectly via pytools) will use posix_spawn in some circumstances (see https://docs.python.org/3/whatsnew/3.8.html). So it might just be as simple as updating to Python 3.8. That would be the easiest thing to try here.
(if you control the system) tweak whatever is causing the additional virtual memory footprint to cause a problem. As I mention above, there is very little additional physical memory consumed by the fork, so it's a policy issue not a resource one.
compile early before large allocations have been made, thus avoiding forking later in the execution. Note that fork can cause various troubles with some MPI implementations as well.
use madvise(MADV_DONTFORK) on large allocations so that these virtual memory areas are not present in the new child after fork(). This could be a feature of the devito allocators, perhaps?

Finally, in answering this I have noticed that codepy uses pytools.prefork to actually spawn the compiler, and this module is explicitly designed to avoid some of the above issues. It does this by supporting forking a "fork server" early in the process before e.g. MPI is initialised or large memory allocations occur. And then the compiler processes are forked from that tiny process rather than the application process itself.
See https://github.com/inducer/pytools/blob/main/pytools/prefork.py
It looks to me like the intention of the above module is that calling pytools.prefork.enable_prefork() very early in your application might sidestep some of the above issues quite neatly.

That's really a nice comprehensive answer. Thanks a lot @tjb900 .

We have been seeing the same memory errors in Stride when compiling certain operators. After doing some tests, it seems calling pytools.prefork.enable_prefork() early solves the problem.

Yeah, I've just been running into this lately as well. Seems like it might be a good idea to switch the compiler/mpi/gpu sniffs to use pytools.
Note that along the same lines, there is also an issue with the allocators initializing - ctypes.util.find_library uses subprocess to do some pretty hacky stuff. That will be harder to fix, but I guess applications that run into this problem can manually initialise the allocators early.

these are memoized now, is it still an issue?


nightscout as cgm error

Hi all. My nightscout CGM doesn't work now.I find error in log 'NightscoutAPI.swift - fetchLastGlucose(sinceDate:) - 87 - WARN: error("Glucose fetching error: The data couldn’t be read because it isn’t in the correct format.")',but it works fine yesterday.I don't know why.
2024-03-28T02:01:24+0000 [Nightscout] FetchTreatmentsManager.swift - subscribe() - 26 - DEV: FetchTreatmentsManager heartbeat
2024-03-28T02:01:24+0000 [Nightscout] FetchTreatmentsManager.swift - subscribe() - 27 - DEV: Start fetching carbs and temptargets
2024-03-28T02:01:24+0000 [Nightscout] NightscoutAPI.swift - fetchLastGlucose(sinceDate:) - 87 - WARN: error("Glucose fetching error: The data couldn’t be read because it isn’t in the correct format.")

Fix for this in current dev. 4.7.0


Reusing provisioner.sh bash script

@ctienshi @VimukthiPerera As I see the difference between boxes/api-manager/provisioner/provisioner.sh and boxes/api-manager-analytics/provisioner/provisioner.sh is as follows:
< #!/bin/bash
---
> # This script acts as the machine provisioner during the Vagrant box build process for WSO2 Identity Analytics Server.
17c17,18
< WSO2_SERVER=wso2am
---
> # set variables
> WSO2_SERVER=wso2am-analytics
26d26
< CONFIGURATIONS=${DEFAULT_MOUNT}/identity-server/confs
31a32
>
45a47
>
87a90
>
95c98
<
---
> echo "Successfully removed APT cache"

Wouldn't it better to parameterize WSO2 server name and product component specific configurations and use a single script for this purpose?

this has been fixed with https://github.com/wso2/vagrant-apim/pull/15

Closing as of above comment.


[Question]: Same item found in different lists - how can I idiomatically solve the "shared state" problem?

TL;DR: in a Flutter application, we have different paginated lists which can possibly overlap, i.e. an Item could appear in myItems(page: 2), favoriteItems(page: 0), searchedItems(page: 7), ...
We want a idiomatic, testable and clean way to synchronize shared state (e.g. isFavorite state) for all of the above without adding extra BE requests.
There's a complete example available to reproduce the question above.
If you're reading this, you can ignore the following wall of text. Originally this issue proposed an imperative API, which is rejected by Riverpod's declarative nature.

~# Is your feature request related to a problem? Please describe.~
~I find myself, very often within my daily work, in need of a way to:~
~1. synchronize state in the whole application, whose initialization should be made from another provider~
~2. initialize a provider with an already-computed value (e.g. from another side effect, hard coded from the UI, from ephemeral state, from another provider, etc.) ~
~These two are related, but not also not quite.~
~### 1. synchronization~
~About (1), I've written a complete example which shows what we've been discussing so far. Running that app shows how an extra request per item is required.
Anyway, here's the requirements summary:~
~> There are some items, which are remotely fetched. It is possible to favorite/unfavorite them~
~> The items can be displayed in a paginated and possibly infinite list view, in a page. Actually, many of those.~
~> The items can be obtained in different ways: from a home page, from a search page or from a favorite page~
~> It is possible to fetch the details of a single item in their related details page~
~> In all of the above cases, we want to obtain the int? favoriteId state, which tells whether the item is favorited or not~
~> This important piece of information must stay synchronized across all pages, and across all the items, details included~
~Turns out, this is not so easy as of now.~
~In the repo above, I've tried an approach we've discussed on discord.~
~The main takeaway is: there is no easy way to pass in state from a provider to its "child" (sort-to-say).~
~I would call this problem "eager initialization with value", because I'd love to override a provider with a value that I already have, from its "parent".~
~### 2. initializeWith~
~About (2), I did not write a full example (yet), but I can describe the problem quickly.~
~> In the aformentioned application, I want to be able to search for items via some filters~
~> Following riverpod's best practices, filters are controlled via a notifier, and search results depend on them~
~> Results are pushed imperatively (see the structure below)~
~> Filters can be saved for later use (aka sent remotely to a DB) - it's handy to have them stored somewhere (e.g. user-generated content)~
~> Filters can also be obtained from other parts of the application (e.g. notifications, deep links, etc.)~
~> Summarizing, the pages can be structured as: Home -> SearchFilters -> SearchResults, Home -> SavedFilters -> SearchResults, Home -> Notifications -> SearchResults, etc.~
~> In other words, filters can be obtained from other parts of the application, not just manually by the user~
~> Therefore, I want to be able to initialize the filters notifier with the obtained filters without triggering double search requests~
~This isn't as easy as it looks.~
~The trivial observation would be to initalize the filers before triggering the search request, but this is not always possible.~
~In my use case, it's plain impossible. I cannot keep alive the filter controller in, say, home page, since I need to dispose of the filters (aka reset them) once I exit the page (or I'll get previous unintended filters when I re-enter the page).~
~# Describe the solution you'd like~
~I'd like a way to eagerly initialize, aka override, from a provider or from a widget, without using scoping or being concerned about ProviderContainer, at all.~
~Relying on scoping and/or the provider container feels like an internal detail leaking out of the library, rather than a way to solve a practical problem and I want to avoid that.~
~Also, scoping is not always feasible, and indeed it is not in my use case.~
~Solving (1) would look as easy as:~
@riverpod
class IsFavoriteController extends _$IsFavoriteController {
  @override
  int build(int id) => throw UnimplementedError('This provider is meant to be overridden');
}

@riverpod
FutureOr<List<Item>> someList(SomeListRef ref) async {
  final result = fetch(fromSomewhere);
  for (final item in result.items) {
    ref.override(isFavoriteControllerProvider(id), w: (ref) => item.isFavorite);
  }
}

~Solving (2) would look as easy as:~
class HomePage extends ConsumerWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    // we want to keep these alive
    ref.listen(filtersControllerProvider, (_, __) {});
    return TextButton(
      onPressed: () {
        // similar could be done in the `SavedFilters` or `Notifications` pages
        ref.override(filtersControllerProvider, w: (ref) => Filters.empty());
        // SearchResultsRoute().go(context);
      },
      child: const Text('Logout'),
    );
  }
}

~But obviously imagining is way harder than actually implementing it, so I'm not sure if this is even possible.~
~# Describe alternatives you've considered~
~Yes, I know, "one single data flow". But these words are not helpful in the above examples. I cannot distill the above requirements within the "one simple data direction" mantra.~
~Don't get me wrong, to me, Riverpod is the perfect tool for most of my use cases; but this one is a bit tricky.~
~I'm not sure yet, if this is a problem with the way riverpod works or if I'm missing a piece in how to use Riverpod for the above usecases.~
~My hope is - obviously - the latter.~
~So the alternatives are, for point (1), performing an extra network request to fetch the favorite state of each item, which is not ideal.~
~In my use case it rapidly begins to be not feasible.~
~For point (2), the obvious non-enthusiastic solution is... associate providers / controller with use cases. You'd write a filter controller for each use case (from home, from saved, from notification, etc.); search results should also be duplicated. We could minimize duplication via mixins or common functions, but it gets hard to maintain.~
~Another workaround I've thought to - a smelly one! - is the following~
extension RefKeepAliveWhileExecuting<T> on AutoDisposeFutureProviderRef<T> {
  Future<T> keepAliveWhileExecuting(AsyncValueGetter<T> callback) {
    final link = keepAlive();
    try {
      return callback();  // e.g asynchronously push other pages after we initialize with something, etc.
    } finally {
      link.close();
    }
  }
}

~AKA we keep alive the filter controller until the push is done, but this is heavily bug prone.~
~For example, when using go_router, there is no guarantee that push.future will ever finish (e.g. using context.go).~
~Additional context~
~Is it possible to see expect any change about the above in the near future (aka 3.0)? :eyes:~

The main takeaway is: there is no easy way to pass in state from a provider to its "child" (sort-to-say).

What does this mean exactly?
Isn't that what providers do, passing state to their children?

Solving (1) would look as easy as:
@riverpod
class IsFavoriteController extends _$IsFavoriteController {
  @override
  int build(int id) => throw UnimplementedError('This provider is meant to be overridden');
}

@riverpod
FutureOr<List<Item>> someList(SomeListRef ref) async {
  final result = fetch(fromSomewhere);
  for (final item in result.items) {
    ref.override(isFavoriteControllerProvider(id), w: (ref) => item.isFavorite);
  }
}

Why can't you do:
class IsFavoriteController extends _$IsFavoriteController {
  @override
   bool build(int id) => ref.watch(someListProvider).items.firstWhereOrNull((i) => i.id == id)?.isFavorite ?? false;
}

Honestly there's a bit too much to unpack in that issue.

Okay - true - give me one more chance - let's focus just on part (1) for now if you will

Why can't you do [...]

I forgot to mention that someListProvider is paginated - every list in these example is, even the favorite one.

what's the correct page to watch? Should I pass page around everywhere - which is not really feasible for my use case. (page leaks everywhere - it not just tedious but... you quickly find yourself with widgets or provider needing a page they don't really care about)
accessing lists is generally unsafe - especially the ?? false part: you can never really rely on firstWhere, e.g. invalidation refresh the provider and removes an item, or any other unexpected change. Generally speaking, the mental reactive model I have should watch this detail and not the other way around

It's not immediately clear to me what we're trying to solve.

I'm trying my best to summarize my use case, but without the right constraints, riverpod has a solution for the above problem. With the right requirements, I find myself in a pinch and I'm not sure this issue is open in here.
Give me one more chance with a bullet point:

You want to handle several list of items, paginated, possibly infinite, that have some common properties that need to be in sync!
I can't find an idiomatic way to "always find myself (aka app state) in sync between multiple providers (or controllers)"
"in sync" includes and isn't limited to the following events: some items are removed from the favorites (they disappear from a list and their favorite status should be propagated everywhere), some items are removed from the favorites (they appear in the favorite list, propagate it), some items are deleted entirely (etc.)

Your example has way too much code

Yes. Sorry.
Don't look at the code - execute the trivial app and notice how an extra request is performed when you tap a like, then - if you may - read the summary above to understand why I must perform that to synchronize state everywhere.

But no matter what, imperative overrides are a no-go.
Honestly I'm fine with whatever. Procedural, Functional, Object-Oriented, Event-based. Fine.
I need to ship, ship, ship features. Test them. And "fast" (aka at the right speed).
I'm all-in for reactivity - I guess you know 😛 - but I can't solve this problem.
Maybe a reactive emit

what's the correct page to watch? Should I pass page around everywhere

Sure, pass it around if need be.
If may be inconvenient by your standards, but it works.
I know that you dislike props drilling, as we've discussed variants of this multiple times. But that's ultimately the current solution.

I'm open to proposals. But I don't think this specific feature request is realistic for technical reasons.
If you have other ideas, I'm open to investigate those.
Although you always have the possibility to make a Notifier with a public setter in it, and invoke that setter wherever you want.
You'll break a few Riverpod principles and may have to use workarounds to bypass the internal error handling, but that should work.

Hi, I'm back. I wanted to reason about and experiment on this before wasting your time.

Sure, pass it around if need be.

I don't mind passing around props anymore, since our last discussion I accepted that 😄 I tried doing that, but it doesn't solve the problem.
You proposed:
class IsFavoriteController extends _$IsFavoriteController {
  @override
   bool build(int id) => ref.watch(someListProvider).items.firstWhereOrNull((i) => i.id == id)?.isFavorite ?? false;
}

But this won't work, because:

item could be in searchProvider(page: 5), into myFavoritesProvider(page: 0), and into myListProvider(page: 1). See? Passing pagearound gives inconsistent states, because.firstWhereOrNullwill returnnullin most cases, thusfalse` even if it's favorited
Say we solve (1), somehow. Again, we have myListProvider, myFavoritesProvider, searchProvider, homeProvider, anotherListProvider. They're all asynchronous List<T> fetchers. Question: which one should IsFavoriteController watch?

Then you propose to use a notifier just to have a public setter in it, but as you've pointed out that clearly breaks riverpod usage.

I also changed the first comment so this issue is narrowed down to a clear and simple problem. I hope this helps.

This applies to essentially any app out there. And it's very common to see inconsistent state in the app because it's changed in one place but not other (especially inside lists).
The way I handle it is by essentially having a single provider per Item. And instead of rendering List<Item> you render List<Reference<Item>> so the list is always up to date.  In this case my whole app is synchronized. Doesn't matter if I have 100 different lists where that item is present. They all will render exactly same thing. And once one of the properties is updated like isFavorite` because button was clicked or just because new state comes in a new list that will be reflected everywhere.
As to how exactly to do this is up to you.
In my case I use graphql, hook into response coming from api, and then place it into my cache that is then read by a provider.
This is a very basic explanation as I do bunch of other stuff like normalizing data to handle deeply nested objects, merging data so incompletely data doesn't just override, etc.
The comes with bunch of other advantages like navigating around the app with just ids as you always know where to get that data from, "free" offline mode as you already have the data cached, etc
But you can keep is simple and skip normalization if you have simple enough app and use-case.
I'm sure I can make it into a package. It's very generic and technically could be used with any "provider" package out there be it riverpod, bloc, or anything

Note that 3.0 is already adding a way to listen a provider without mounting it:
ref.listen(
  provider,
  weak: true,
  (prev, next) {

});

This should help solving this sort of problem. An Item provider could listen to multiple providers emitting an Item  instance and pick the most recent one, without triggering those providers.

Having generated repository for entities sounds fantastic and most likely cover all those cases

Sorry bout the late relpy! For @mattermoran:

As to how exactly to do this is up to you.

Well ofc. My point is: It seems I can't find an idiomatic way to do so.

In my case I use graphql, hook into response coming from api, and then place it into my cache that is then read by a provider.

See? That's the point. Riverpod is A Reactive Caching and Data-binding Framework. So why must we re-implement our own cache, again? (I suppose via a database / persistent storage of some kind).
Anyways, your following comment brings up a suggestion for @rrousselGit:

This is a very basic explanation as I do bunch of other stuff like normalizing data to handle deeply nested objects, merging data so incompletely data doesn't just override, etc.
This comes with bunch of other advantages like navigating around the app with just ids as you always know where to get that data from, "free" offline mode as you already have the data cached, etc

This should be addressed in the documentation: if Riverpod is meant to be used with some data normalization, or any best practice really, it should be explicitly told in a dedicated documentation page.

And about riverpod 3's new API @rrousselGit just showed: again, I'm not sure how this solves the above problem.
The main pain point of this issue is: even after data normalization, I am unable to determine which provider should be watched. Here you're suggesting something like:
watched.valueOrNull?.firstWhereOrNull((item) => item.id == id);  // weak listen, but still referencing one single list

But as I wrote 2 weeks ago (my last message), because of points (1) and (2), this proposal is cool, but I can't see how it addressed the "synced state problem".
Because of data normalization, I would love to do the following instead:
@Riverpod(lazy: true)
int favoriteId(int id) {
  return Uninitialized<int>;  // sentinel value, or something similar
}

// somewhere else
@riverpod
List<int> someList() async {
  final elements = await fetch();

With normalized data, you have only a single source of truth for what an entity is.
There's no case of "Item in home vs Item in detail page". They all should be using the exact same instance.
There shouldn't be a case where mutating one Item(id: 42) isn't reflected on other Item(id: 42), since there's only a single instance of it.

There shouldn't be a case where mutating one Item(id: 42) isn't reflected on other Item(id: 42), since there's only a single instance of it.

Yes this is very clear. This is what we're aiming at. This is why we're defining this ItemController with the "change favorite status mutation" on it.
The question in this thread is: how? (i.e. with riverpod)
The .firstWhereOrNull solution might bring to inconsistent state - if I've understood this correctly - so it's not really viable. Also, which list and which page should I watch?.

They all should be using the exact same instance
There's no case of "Item in home vs Item in detail page"

I think I might have a know-how gap I might need to fill.
Please, I'd be thankful if you'd help me out with this / point me towards some readings afterwards.
But.
Here's my POV, with a pragmatic problem to solve:
These two lists do come from semantically different sources, tho. Say I set to favorite my own item.
Such item now belongs to faovritesProvider(page: 5), while being on myItemsProvider(page: 2), but also casually appearing on homeProvider(page: 0).
The only way - that I currently see - is to have "one single source of truth" is to have an ItemController, but - again - the problem is its initialization. Am I stuck in a loop?

Hi 😸
I'm back on this issue, I re-read the whole conversations. Me and some colleagues tried some solutions towards this "synced-state-problem", but nothing is really working out.
I'm just curious - is this really a "riverpod" problem? Or is it a more generalized problem?
Because I can see our issue reproduced on several social platforms, e.g. Twitter's like system.
So I'm wondering if riverpod is ever considering to find a solution for this problem.
Or if it's relevant to riverpod at all.
Answering this would greatly help our R&D process. We might change everything just to tackle this one out.
And, consequently, we might close this issue with a "wont-fix" label.

The problem is by no means unique to Riverpod. It's a general software issue
That doesn't mean Riverpod won't try to solve this. That's what Riverpod does anyway, trying to solve general software issues. That's why Riverpod also will add things like offline persistence & stuff. Not unique to Riverpod, but good to have

Thank you for replying so fast!
I'm glad to know the issue is acknowledged then 😃

Using the upcoming listen(weak: true), you would become able to do:
@riverpod
Item itemById(ItemByIdRef ref) {
  ref.listen(
    homePageItems(page: 0),
    weak: true,
    (_, next) {

    }
}

Hello there! First of all thank you for solving this.
While we wait for Riverpod 3, I still can't fully understand how to solve this, given I can use the new weak: true API.
It's been a while, so here's the TLDR of the problem, hoping that you could clarify this.
An app shows a list of Books in its home page, but also allows me to search for a Book in a search page. Then again, each book has its detail page. Finally, there's a Library page, showing different libraries, each with their list view of Books.
Here's the twist: every book is likeable, aka all entities here share this common property.
How can I properly keep track of a book's bool isFavorite property, in every different page?
A typical user flow is, e.g., a book is liked in the library page; pressing "back", the home shows this book's favorite state updated accordingly.
How can I solve this problem using listen: weak?

As we are basically talking about related issues (#3781) I am currently facing the same issue.
I think how a weak listener can help is as follows (sorry I am on the phone so no code examples):
All mutations on an item should happen in the detailed provider/notifier. E.g. your update function on to like an item should be within the ItemNotifier.
This way all other providers can weakly listen to the according provider and update their internal state to match it to the ItemNotifier one.
So your PaginatedProvider fetched a List which then listens weakly to every ItemNotifier and if this notifier exposes a new state of an item in its list, it will update its state (the list of item) with the updated item.


:app:compileDebugJavaWithJavac FAILED

Im using:
RN v 0.25
Android Studio 2.1
Android SDK tools 25.1.3
Try with Android Simulator and Genymotion to run the app
--Im doing the tutorial app developing on windows for android, and error apeared:---
Microsoft Windows Versión 10.0.10586 2015 Microsoft Corporation. Todos los derechos reservados.
C:\WINDOWS\system32>cd c:\MyFirstRNProject
c:\MyFirstRNProject>react-native run-android
Starting JS server...
Starting the packager in a new window is not supported on Windows yet.
Please start it manually using 'react-native start'.
We believe the best Windows support will come from a community of people
using React Native on Windows on a daily basis.
Would you be up for sending a pull request?
Building and installing the app on the device (cd android && gradlew.bat installDebug...
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE
:app:prepareComFacebookFrescoDrawee081Library UP-TO-DATE
:app:prepareComFacebookFrescoFbcore081Library UP-TO-DATE
:app:prepareComFacebookFrescoFresco081Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipeline081Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipelineOkhttp081Library UP-TO-DATE
:app:prepareComFacebookReactReactNative0251Library UP-TO-DATE
:app:prepareOrgWebkitAndroidJscR174650Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:bundleDebugJsAndAssets SKIPPED
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.

Could not find tools.jar

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
Total time: 50.626 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

https://facebook.github.io/react-native/docs/getting-started.html ?

Hi there! Please follow the getting started guide and if you run into issues then we'd suggest posting them to StackOverflow, until you're able to confirm that it is indeed a bug and not a configuration mistake :) We have limited bandwidth to help out with troubleshooting setup issues. Thanks! Good luck!

I also encountered this problem, how are you, could you tell me how do you solve?

Hello, i only installed the Java development kit , build and worked ??
Enviado desde mi iPhone
El 19/10/2016, a las 9:52 a.m., hello_world <notifications<EMAIL_ADDRESS>escribió:
I also encountered this problem, how are you, could you tell me how do you solve?

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/facebook/react-native/issues/7489#issuecomment-254836606, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ASYciFQRMOs1jdcGzWKJKA6NgOhxVhh7ks5q1i6igaJpZM4IbTQt.

@huangyk @juanjopa95
I fixed this by reinstall java jdk.
This happened to me yesterday because of Windows java updated and cause my new init react native project no longer work.

If you have Android studio, then try open the android code, and run 'project' ==> 'clean', or just do cd android & ./gradlew clean, probably solve the issue.

Im facing the same issue
Execution failed for task ':app:compileDebugJavaWithJavac'.

Could not find tools.jar. Please check that C:\Program Files (x86)\Java\jre1.8.0_161 contains a valid JDK installation.

For Linux:
nano ~/.bashrc
export JAVA_HOME="/usr/lib/jvm/java-8-oracle"
if you have Java installed


Feature add ci

When you merge this pull request, it will automatically run a) rustfmt formatting, b) testing, c) building, and d) bats test, for example at push time.
It also adds a badge to the README.md file.

merged

Thanks for the merge 👍 :relaxed: :sparkles:


How to resample the audio stream captured by the sound card?

Hi, I use the DataAvailable event of WasapiLoopbackCapture to get the current audio stream. but I want to resample the audio stream.
I referenced your article and tried it, and no success.
Could you provide some good suggestions?
Thanks 🙂

Well that article is my recommendation for how to do this. What error did you get?

            using (var reader = new RawSourceWaveStream(data, 0, data.Length, SourceFormat))
            {
                using (var reSampler = new MediaFoundationResampler(reader, OutFormat))
                {

                    var outFile = Path.Combine(_outputFolder, $"rd_{DateTime.Now:MMdd-HH-mm-ss-fffff}.wav");
                    WaveFileWriter.CreateWaveFile(outFile, reSampler);
                }
            }

I resolved the source stream resample, but I don't want to stream out a file.
How can I fetch it out  byte[] ?
Thank you. @markheath


Support custom Not Found handler

Basic support for custom NotFound handler. Custom handler is set via  NotFoundHandler method:
m = chi.NewRouter()
m.NotFoundHandler(func(rw http.ResponseWriter, r *http.Request) {
   rw.WriteHeader(200)
})

It is yet to decide how this will work for additional mounted routers.

LGTM, besides the minor comments. Thanks for you contribution!

I could make the handler to accept interface{} but I'm concerned about providing a context for URL that will be missing which can be confusing.
Also, if NotFound is made as a middleware, do you have idea how it will know about non existing addresses for middlewares chained after it?
Alternatively, I see NotFound handler to be a part of the context. In such case NotFound middleware can change it from some default value. What do you think?

@pkieltyka btw: I can't think of any reason why we'd need ctx inside of NotFound handler. Is there any?

@VojtechVitek yea, I sort of feel the NotFound handler should be a chi.Handler to provide the context in case you want to output to the user some context, ... even url param... anything really, and its there so why not

@vladdy @VojtechVitek - what should we do about the notfound handler for mounted routers...?

@pkieltyka I'm not 100% convinced that ctx is useful here. If the router doesn't find any matching route -- then there's no context whatsoever, is it? This 404 handler represents "route not found", which is a different thing than end-handler's "resource not found" (which has ctx of course). We're not trying to solve the latter one.
I think that all the sub-routers should inherit their parent's NotFound handler. Thinking of it... I'd actually prefer doing pkg-wide global variable instead of putting handler into every Mux. This would be very close to stdlib's http.NotFound - lightweight, but configurable.
Something like:
chi.go:
var NotFound func(w http.ResponseWriter, r *http.Request) = http.NotFound // defaults to stdlib's NotFound

users-end-handler.go:
chi.NotFound = MyNotFoundHandler // router 404 will serve this handler instead

@VojtechVitek cool ideas. A package level handler is interesting and does simply the case where there is a single service powered by a stack of routers. But if for some reason someone wanted to have multiple "services" running defined by a few indepdent chi.Router's .. then they're screwed because they are all using the same notfound handler. So I tend to think thats not ideal in the end.
Btw, the ctx is passed to even routes that aren't matched.
for example..
r := chi.NewRouter()
r.Use(a)
r.Use(b)
r.Get("/dontmatchthis", ...)

.. for any not-found route, the request will run through the "a" and "b" middlewares. This is supported, by design. Remember we came across this for other things? ... so meaning, there could be a ctx passed down to NotFound ..

any news on this?

@edigu have a look at https://github.com/pressly/chi/pull/30 and let me know what you think. Let's move the discussion to that PR.

Closed in b9ba24fa6c5ac5b949cc7beaea5f80e4c5c5d3a0


[HWORKS-218] Fix upload for clustered payara

https://github.com/logicalclocks/hops-testing-ee/pull/578

Reverting stream upload because it moves the problem from disk to memory


Add relase 5 branches

Update terraform manifest for release 5 branches

@buger take a look at what it takes to add the changes to gromit. next time we could excercise creating the PRs from here


style: update to latest eslint-config

update to latest @ddadaal/eslint-config and update some code styles

Codecov Report
Base: 70.29% // Head: 70.29% // No change to project coverage :thumbsup:

Coverage data is based on head (9aecc68) compared to base (becbfb8).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #222   +/-   ##
=======================================
  Coverage   70.29%   70.29%
=======================================
  Files          93       93
  Lines        2380     2380
  Branches      304      304
=======================================
  Hits         1673     1673
  Misses        660      660
  Partials       47       47

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Nynko/backend exercises

Adding backend installation
Adding backend recursive proof
Adding tag over dependencies to ensure v0.34.0 is used

Great PR!


SAK-32561 Move the smileys to a fixed location.

This way when ckeditor gets upgraded we don’t lose the icons and people don’t end up with broken images in the HTML. This does have the downside that new images won’t get picked up automatically and any changes to icons won’t get picked up automatically.

On core call it seemed like it would be better for the reverse, just to switch the from/to and not add the smileys to the old location. The risk of smiley removal would be the only one we have but we could rewrite those I guess too. Hopefully by then we're on emojis

Ok, switched to just forwarding. However it's a little messy. I've tried to cope with the next ckeditor upgrade so that it doesn't all break when that happens.


Initial import of breeze

Breeze is a C++ header library that implements CUDA-style
algorithms to enable high performance data parallel
processing across a large number of platforms. E.g. CUDA,
HIP, SYCL, OpenCL.
This initial import is limited to a few simple algorithms
but includes large parts of the system for generating unit
tests across all supported platforms and the perf test
framework.
These algorithms have been developed to perform well across
a large set of platforms and hardware architectures while
still allowing specializations needed to achieve optimal
performance where it counts.
The purpose of this code is to use it in wave to provide
highly customized implementations of key algorithms
that perform well across a large set of acceleration
architectures.

@dreveman Curious, Wont it be better to add Breeze as a dependency rather than adding the code ?

@kgpai This is a new library that is going to co-evolve with Velox Wave so it's more convenient to put it in Velox

@kgpai This is a new library that is going to co-evolve with Velox Wave so it's more convenient to put it in Velox

Yes, that's the idea and in addition to making wave development as seamless as possible we might also want to integrate this more closely with velox going forward. E.g. running some of the unit tests in CI.

@assignUser There will be some code synchronization problem if we put this outside velox.  I think it's ok for now to put this in velox/experimental, and we can think about it harder when we want to move it out.

@dreveman I would like to import this into Meta internal build and CI for only testing the CUDA parts, and we don't use cmake internally, so need to rewire the build from scratch.  Is there anything that need to be noted (e.g. code generation) here?

@Yuhta

@dreveman I would like to import this into Meta internal build and CI for only testing the CUDA parts, and we don't use cmake internally, so need to rewire the build from scratch. Is there anything that need to be noted (e.g. code generation) here?

Makes sense. Nothing that special. Some test code needs to be generated using the python scripts in the test directory but it's hopefully easy to follow by looking at the cmake files. Most of it uses custom_commands, which will hopefully make it easier to follow how things are being built.
I recommend testing both CUDA and OpenMP. OpenMP is CPU only so easy to build and run as it just needs a compiler with openmp support. Testing something beyond just CUDA is a good way to ensure that CUDA specific code doesn't sneak into code that is supposed to be generic.

@Yuhta any more questions or feedback on this? Would be nice to get this merged before I proceed with adding more algorithms.

@Yuhta By any chance does the code generation succeed if the argument passed to --template is an absolute path? Apparently one possible cause for this (rather vague) error message is simply if the input path can't be found.
If that's the case then in the short term we can just better normalize the inputs before passing into libclang. Longer term it might make sense to move to a simpler test generation scheme.

@jon-rv It should not be an issue for the relative path because the kernels are generated without problem, it's only failing we we try to generate the test.

@Yuhta A couple more questions so I can try to reproduce the failure you ran into.
I just noticed that in your original error log there is a typo --template==... instead of --template=..., could that be the problem?  If not can you tell me what version of the libclang python bindings you are using?

@jon-rv Nice catch, it generates after I fix that.  Would be nice if we can get the hint from the error message.


upgrade to LIEF-0.11.1

Windows is having issues upgrading to this version of lief. will track in new ticket. #17


Switch from go-ping to pro-bing

The latter is the recommended, maintained fork to replace go-ping which is no longer maintained:
https://github.com/go-ping/ping/issues/221
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

Looks like the generated code needs an update.

Looks like the generated code needs an update.

NVM, seems to be happening on other PRs as well


Serializing from serde_json::Value changes if arbitrary_precision feature is enabled

Hello! I've noticed this strange behaviour when the feature arbitrary_precision from serde_json is enabled. This is the current code I have:
use serde_dynamo::AttributeValue;
use std::collections::HashMap;

use serde::Serialize;

#[derive(Debug, Serialize)]
pub struct D {
    d: u64,
}

fn main() {
    let test = D { d: 42 };

    let test_json = serde_json::to_value(test).unwrap();
    println!("JSON Value:\n {test_json:#?}");

    let item_json: HashMap<String, AttributeValue> = serde_dynamo::to_item(&test_json).unwrap();
    println!("JSON ITEM:\n{item_json:#?}");
}

with the following Cargo.toml:
[package]
name = "serde_dynamo_test"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
serde = { version = "1.0" , features = ["derive"] }
serde_dynamo = { version = "4.2.9" }
serde_json = { version = "1.0.108" }
#serde_json = { version = "1.0.108",  features = ["arbitrary_precision"] }

The output is this:
JSON Value:
 Object {
    "d": Number(42),
}
JSON ITEM:
{
    "d": N(
        "42",
    ),
}

but when I enable the  serde_json's arbitrary_precision feature, the output changes to this:
JSON Value:
 Object {
    "d": Number(42),
}
JSON ITEM:
{
    "d": M(
        {
            "$serde_json::private::Number": S(
                "42",
            ),
        },
    ),
}

Thank you!

A possible fix would be to include this code after this line behind a feature flag (since this is specific for making it compatible with the way serde_json encodes the arbitrary precision numbers).
       const TOKEN: &str = "$serde_json::private::Number";
        let value = match value {
            AttributeValue::M(mut map) if map.contains_key(TOKEN) => {
                if let Some(AttributeValue::S(number)) = map.remove(TOKEN) {
                    AttributeValue::N(number)
                } else {
                    return Err(ErrorImpl::Message(
                        "unable to serialize arbitrary integer".to_owned(),
                    )
                    .into());
                }
            }
            _ => value,
        };

There are also other places where this can be placed. This worked with this test that previously failed with the named flag:
#[test]
fn issue_90() {
    #[derive(Serialize)]
    struct Subject {
        id: u8,
    }

    let result = to_attribute_value::<_, AttributeValue>(Subject { id: 42 }).unwrap();

    assert_eq!(
        result,
        AttributeValue::M(HashMap::from([(
            String::from("id"),
            AttributeValue::N(String::from("42"))
        ),]))
    );

    assert_identical_json!(Subject { id: 42 });
}

If it is ok, I can make a PR with all the fixes

Hmm. I don't know. It'd make me really nervous to start tracking serde_json's private namespace to get things done.
I know the documentation says that we track serde_json closely, but to me this would be a step too far depending on serde_json's internals.

I agree is too far deeping on serde_json's internals! A cargo feature wouldn't be enough to remove this complexity if not needed anymore / not compile corde not really needed?


Update the FAQ to use constraint instead of dependencies (reflect #538)

What does this do / why do we need it?
[[dependencies]] was changed to [[constraint]] but the FAQ still has answers that reference the old field.
Which issue(s) does this PR fix?
Update the FAQ to use constraints instead of dependencies where the reference is to the manifest field.

This PR complements the changes in #736.

LGTM 😀


[Feat]: Include tailwind autocomplete and stable styling config with dark mode

Generate static styles with tailwind remove CDN usage.
Add stable config logic and dark mode
Add a theme toggle switch

@kom-senapati I have proposed a fix on this issue.
Please let me know if it works

Yup go ahead