[Implements #37] Dockerize the Web Client

@cascadianblue I have an error when I try to deid a note.

Steps to reproduce:

Type "plop" in the input field
Click on the button "De-identify Note"

Logs:
person-name-annotator         | detected max file descriptor number: 1048576
person-name-annotator         | lock engine: pthread robust mutexes
person-name-annotator         | thunder lock: enabled
person-name-annotator         | uwsgi socket 0 bound to TCP address :8080 fd 3
person-name-annotator         | Python version: 3.8.6 (default, Nov 25 2020, 02:47:44)  [GCC 8.3.0]
deidentifier-client           | /docker-entrypoint.sh: Configuration complete; ready for start up
person-name-annotator         | Python main interpreter initialized at 0x55d46fb4bf40
person-name-annotator         | python threads support enabled
person-name-annotator         | your server socket listen backlog is limited to 100 connections
person-name-annotator         | your mercy for graceful operations on workers is 60 seconds
physical-address-annotator    | Python main interpreter initialized at 0x55ba51b35330
physical-address-annotator    | python threads support enabled
physical-address-annotator    | your server socket listen backlog is limited to 100 connections
physical-address-annotator    | your mercy for graceful operations on workers is 60 seconds
physical-address-annotator    | mapped 145808 bytes (142 KB) for 1 cores
physical-address-annotator    | *** Operational MODE: single process ***
physical-address-annotator    | *** uWSGI is running in multiple interpreter mode ***
physical-address-annotator    | spawned uWSGI master process (pid: 1)
date-annotator                | spawned uWSGI worker 1 (pid: 14, cores: 1)
person-name-annotator         | mapped 145808 bytes (142 KB) for 1 cores
physical-address-annotator    | spawned uWSGI worker 1 (pid: 14, cores: 1)
physical-address-annotator    | spawned uWSGI http 1 (pid: 15)
physical-address-annotator    | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x55ba51b35330 pid: 14 (default app)
phi-deidentifier              | *** Operational MODE: single process ***
phi-deidentifier              | *** uWSGI is running in multiple interpreter mode ***
phi-deidentifier              | spawned uWSGI master process (pid: 1)
phi-deidentifier              | spawned uWSGI worker 1 (pid: 13, cores: 1)
person-name-annotator         | *** Operational MODE: single process ***
person-name-annotator         | *** uWSGI is running in multiple interpreter mode ***
person-name-annotator         | spawned uWSGI master process (pid: 1)
person-name-annotator         | spawned uWSGI worker 1 (pid: 14, cores: 1)
date-annotator                | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x55b3fcbb2f40 pid: 14 (default app)
phi-deidentifier              | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x561e23a6af40 pid: 13 (default app)
person-name-annotator         | WSGI app 0 (mountpoint='') ready in 2 seconds on interpreter 0x55d46fb4bf40 pid: 14 (default app)
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET / HTTP/1.1" 200 3014 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /static/css/main.95fdf74b.chunk.css HTTP/1.1" 200 2372 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /static/js/2.a1d235f6.chunk.js HTTP/1.1" 200 143746 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /static/js/main.97f62fc6.chunk.js HTTP/1.1" 200 18319 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /favicon.ico HTTP/1.1" 200 3870 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /logo192.png HTTP/1.1" 200 5347 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
phi-deidentifier              | [pid: 13|app: 0|req: 1/1] <IP_ADDRESS> () {42 vars in 675 bytes} [Wed Jan 27 01:28:47 2021] OPTIONS /api/v1/deidentifiedNotes => generated 205 bytes in 0 msecs (HTTP/1.1 404) 2 headers in 87 bytes (1 switches on core 0)

@cascadianblue I have an error when I try to deid a note.

Steps to reproduce:

Type "plop" in the input field
Click on the button "De-identify Note"

Logs:
person-name-annotator         | detected max file descriptor number: 1048576
person-name-annotator         | lock engine: pthread robust mutexes
person-name-annotator         | thunder lock: enabled
person-name-annotator         | uwsgi socket 0 bound to TCP address :8080 fd 3
person-name-annotator         | Python version: 3.8.6 (default, Nov 25 2020, 02:47:44)  [GCC 8.3.0]
deidentifier-client           | /docker-entrypoint.sh: Configuration complete; ready for start up
person-name-annotator         | Python main interpreter initialized at 0x55d46fb4bf40
person-name-annotator         | python threads support enabled
person-name-annotator         | your server socket listen backlog is limited to 100 connections
person-name-annotator         | your mercy for graceful operations on workers is 60 seconds
physical-address-annotator    | Python main interpreter initialized at 0x55ba51b35330
physical-address-annotator    | python threads support enabled
physical-address-annotator    | your server socket listen backlog is limited to 100 connections
physical-address-annotator    | your mercy for graceful operations on workers is 60 seconds
physical-address-annotator    | mapped 145808 bytes (142 KB) for 1 cores
physical-address-annotator    | *** Operational MODE: single process ***
physical-address-annotator    | *** uWSGI is running in multiple interpreter mode ***
physical-address-annotator    | spawned uWSGI master process (pid: 1)
date-annotator                | spawned uWSGI worker 1 (pid: 14, cores: 1)
person-name-annotator         | mapped 145808 bytes (142 KB) for 1 cores
physical-address-annotator    | spawned uWSGI worker 1 (pid: 14, cores: 1)
physical-address-annotator    | spawned uWSGI http 1 (pid: 15)
physical-address-annotator    | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x55ba51b35330 pid: 14 (default app)
phi-deidentifier              | *** Operational MODE: single process ***
phi-deidentifier              | *** uWSGI is running in multiple interpreter mode ***
phi-deidentifier              | spawned uWSGI master process (pid: 1)
phi-deidentifier              | spawned uWSGI worker 1 (pid: 13, cores: 1)
person-name-annotator         | *** Operational MODE: single process ***
person-name-annotator         | *** uWSGI is running in multiple interpreter mode ***
person-name-annotator         | spawned uWSGI master process (pid: 1)
person-name-annotator         | spawned uWSGI worker 1 (pid: 14, cores: 1)
date-annotator                | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x55b3fcbb2f40 pid: 14 (default app)
phi-deidentifier              | WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x561e23a6af40 pid: 13 (default app)
person-name-annotator         | WSGI app 0 (mountpoint='') ready in 2 seconds on interpreter 0x55d46fb4bf40 pid: 14 (default app)
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET / HTTP/1.1" 200 3014 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /static/css/main.95fdf74b.chunk.css HTTP/1.1" 200 2372 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /static/js/2.a1d235f6.chunk.js HTTP/1.1" 200 143746 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /static/js/main.97f62fc6.chunk.js HTTP/1.1" 200 18319 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /favicon.ico HTTP/1.1" 200 3870 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
deidentifier-client           | <IP_ADDRESS> - - [27/Jan/2021:01:28:41 +0000] "GET /logo192.png HTTP/1.1" 200 5347 "http://localhost:8000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
phi-deidentifier              | [pid: 13|app: 0|req: 1/1] <IP_ADDRESS> () {42 vars in 675 bytes} [Wed Jan 27 01:28:47 2021] OPTIONS /api/v1/deidentifiedNotes => generated 205 bytes in 0 msecs (HTTP/1.1 404) 2 headers in 87 bytes (1 switches on core 0)

The issue is due to this:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/api/v1/deidentifiedNotes. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/api/v1/deidentifiedNotes. (Reason: CORS request did not succeed).

The issue is due to this:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/api/v1/deidentifiedNotes. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/api/v1/deidentifiedNotes. (Reason: CORS request did not succeed).

@cascadianblue Can you comment/confirm that this is the behavior you expect with this PR?
@tschaffter yep, this is expected behavior for this PR. Could you try running a browser with same-origin protection turned off and see if it works for you then? If you are on Linux and have Google Chrome, you can run it with the following command:

$ google-chrome --disable-web-security --user-data-dir=~/TEMP/

@cascadianblue Can you comment/confirm that this is the behavior you expect with this PR?
@tschaffter yep, this is expected behavior for this PR. Could you try running a browser with same-origin protection turned off and see if it works for you then? If you are on Linux and have Google Chrome, you can run it with the following command:

$ google-chrome --disable-web-security --user-data-dir=~/TEMP/

This PR seems to be based on this article.

This PR seems to be based on this article.

This PR seems to be based on this article.

Yes, it is. Should I put that link somewhere in a comment or in the documentation?

This PR seems to be based on this article.

Yes, it is. Should I put that link somewhere in a comment or in the documentation?

Yes, it is. Should I put that link somewhere in a comment or in the documentation?

No. Capturing it here is enough.

Could you try running a browser with same-origin protection turned off and see if it works for you then? If you are on Linux and have Google Chrome, you can run it with the following command:

I don't use chrome on unix. I tried an extension to disable CORS on FF and Chrome but this does not help, the CORS error are still there. Here a potential solution below that you have mentioned in the past. I'll accept this PR and start addressing #45 to solve this issue.

Yes, it is. Should I put that link somewhere in a comment or in the documentation?

No. Capturing it here is enough.

Could you try running a browser with same-origin protection turned off and see if it works for you then? If you are on Linux and have Google Chrome, you can run it with the following command:

I don't use chrome on unix. I tried an extension to disable CORS on FF and Chrome but this does not help, the CORS error are still there. Here a potential solution below that you have mentioned in the past. I'll accept this PR and start addressing #45 to solve this issue.


Dual rhs2116 device

Attempt at #122
This is a draft because its non-functional for reasons unknow

Moved to


Should Windows Runtime AudioGraph be considered for a game?

According to https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/audio-graphs, this is a fine replacement for XAudio 2, but I don't see any mention of it here on the Audio section.

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

ID: b9008e09-1fd4-41d6-6265-0f48c84a21ec
Version Independent ID: f8cdcb5a-32de-a0a8-6c1d-7d1ad5f4b8ff
Content: Game technologies for Universal Windows Platform (UWP) apps - UWP applications
Content Source: windows-apps-src/gaming/game-development-platform-guide.md
Product: uwp
Technology: games
GitHub Login: @stevewhims
Microsoft Alias: stwhi

Hi, @BMarques! Thanks for this suggestion, it's a good idea. I've published updates to this topic (and to Audio for games), and those changes are now live.
So I'll go ahead and close this issue.
Thanks again!
Steve


Add an option to paket pack (or paket.template) to depend on current versions of packages

Currently, when I have paket.template file like this:
type project

then paket pack command will use version requirements from paket.dependencies. I would like to also be able to use versions from paket.lock.
E.g., I'd like something like this:
# paket.dependencies
Foo >= 1.0 < 3.0

# paket.lock
Foo (1.1)

# paket.references
Foo

# paket.template
type project
use-locked-versions >=

then paket pack would produce package with the following version requirement: Foo >= 1.1 < 3.0.
The new directive use-locked-versions specifies how to combine version from paket.lock with version requirement from paket.dependencies. In this case, it combines >= 1.0 < 3.0 with >= 1.1. It might be useful to be able to use this on per-package basis.
Do you think that this would be useful feature?

This proposal is different than specifying e.g.
# paket.template
type project
dependencies
  Foo >= CURRENTVERSION

because currently I'd have to enumerate all referenced packages in dependencies list.
Another option would be to allow wildcards in dependencies, e.g.,
# paket.template
type project
dependencies
  Bar >= 1.1
  Baz >= CURRENTVERSION
  Foo.* < 3.0
  * >= CURRENTVERSION

I think the second proposition with dependency wildcards would make sense.

I gave some more thought to this at noticed that CURRENTVERSION refers to the version of package being packed; we should probably add some more tokens that refer to version of a dependency, e.g.:
CURRENT_DEP_VERSION # version of a dependency from paket.lock (e.g., 1.2.3 or 1.2.3-alpha)
CURRENT_DEP_VERSION_MAJOR # trimmed to major version (1 or 1-alpha)
CURRENT_DEP_VERSION_MINOR # trimmed to minor (1.2, 1.2-alpha)

Yep that sounds reasonable
On Jun 25, 2015 9:16 AM, "Kalyanov Dmitry"<EMAIL_ADDRESS>wrote:

I gave some more thought to this at noticed that CURRENTVERSION refers to
the version of package being packed; we should probably add some more
tokens that refer to version of a dependency, e.g.:
CURRENT_DEP_VERSION # version of a dependency from paket.lock (e.g., 1.2.3 or 1.2.3-alpha)
CURRENT_DEP_VERSION_MAJOR # trimmed to major version (1 or 1-alpha)
CURRENT_DEP_VERSION_MINOR # trimmed to minor (1.2, 1.2-alpha)
—
Reply to this email directly or view it on GitHub
https://github.com/fsprojects/Paket/issues/901#issuecomment-115135119.

I would prefer a simple $ paket pack [...] use-locked-versions or something like that, which would tell Paket to take the version infos from paket.lock instead of paket.dependencies. Actually that's what I wanted to suggest, too :grin: And I think this would only make sense for paket.template-Files with type project.
On the other side, I don't see the benefit of things like Baz >= CURRENT_DEP_VERSION, since this is what's actually paket.dependencies is for.


Python Scientific Computing: Budget App Chart Unit Test Issue

Summary
Either the expected representation is wrong or the wording of the Budget App project is misleading. My assumption was the "o"s represent how much has been spent. So if you spent $200 out of $1000 deposited, you would see a "o" on lines for 20, 10, and 0. But even if it was the opposite as in how much is left in a budget category, that doesn't explain how 30% is spent on food when 900 was deposited and 105.55 was withdrawn. That rounds down from ~12% to 10%.
https://github.com/freeCodeCamp/freeCodeCamp/blob/680b319cea4cf0457640e5cbab31032a8c3bba15/curriculum/challenges/english/07-scientific-computing-with-python/build-a-budget-app-project/budget-app.md?plain=1#L734-L742
Received(by my code)

Expected(according to unit test)

Thank you for reporting this issue.
Per the description:

The chart should show the percentage spent in each category passed in to the function. The percentage spent should be calculated only with withdrawals and not with deposits.

This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "Get Help" button on the challenge on freeCodeCamp and choose the "Ask for help" option, which will help you create a question in the right part of the forum. Volunteers on the forum usually respond to questions within a few hours and can help determine if there is an issue with your code or the challenge's tests.
If the forum members determine there is nothing wrong with your code, you can request this issue to be reopened.
Thank you and happy coding.


Unable to export only .pck from command line

Godot version:
3.2.2 stable
OS/device including version:
mac os catalina 10.15.6
Issue description:
When attempting to export only a .pck file via cmd line godot also tries to export an executable binary.
If I have an export profile named "android" godot --export android builds/assets.pck tries to also export a .apk
With an ios profile it also tried to export a .ipa
Everything works fine if I try to do it manually via the editor.
Steps to reproduce:
Try to export only .pck via command line.

Use the --export-pack command-line option (added in 3.2.2) for this.


Add final file/device sync and verification into bmap::copy

Copy should also check if the resulting target and the source are being equals at the end, also compare their bmap files would be a way of verification

The verification may need to check first the kind of source (file / path / compressed file) copied and target (file / block device) to do a proper comparative.

bmap::copy definitely shouldn't be doing this. What is your goal/use-case here? It may still be a reasonably use-case the suggested fix is however not

The goal here was to simply check if bmap::copy was actually verifying what was written was, well, written against the checksums in the bmap file.
From code analysis, it turns out that is implemented, so we can close this issue.


Fixed various typos and other minor issues in docs

Hello people,
This pull request fixes various typos (and other minor issues) that exist in the project's documentation.
Please let me know if I have made any mistake in my submission.
I would be extremely thankful if I also received some feedback!
Thanks,
Jafer

Thanks for the contribution!!

You're most welcome @jamesagnew


Can't get this to work in Safari Technology Preview Release 45

Hi!
I can't get this plugin to work in the Safari Technology Preview, it looks like it's installed correctly in the extensions.

Hi,
I don't know how to help because I don't have any information. What have you tried? How do you know it's not working? Any info would be useful.

Yeah, sorry about that.
I have installed the v1.12 release here https://github.com/guyht/vimari/releases/tag/v1.12 . And I can see in my extensions gallery that it's installed and checked off. All the settings seem to be working, i.e. I can change them and the changes are remembered.
The logs when I open Safari Technology Preview also prints "vimari" somewhere in them, but I'm not too familiar with the logs.
When I'm on any web page none of the hotkeys are working. Nothing is happening if I press any of them, only keybindings that's native to the site (like GitHub) works. Seems like the extension isn't loaded correctly or something similar.
If there's any way I can get some debug information please tell me and I'll post it here.

I can't see any HTML injected into any sites either.

I just tested with the Safari Technology Preview and it works for me. Does it work in the normal Safari version for you?
One thing that is confusing with version 12 (and that has been changed in the upcoming version) is that you have to hold down the command prefix to make any function work. So by default you have to press Ctrl + f to display all the links.
Read the documentation carefully one more time, and if it still doesn't work then try re-install the extension and try Ctrl + f again.

I managed to get this working by reinstalling the Safari Technology Preview and readding the extension. Not sure what caused the issue, but it's working now. Thanks for the help :)


Pass flags to regex matcher

The ability to pass flags to the matches regular expression matcher would be useful - particularly the case insensitive flag:
{
    "request": {
        "urlPath": "/data",
        "queryParameters": {
            "param1": {
               "matches": "/full-Regex/i"
            }
        }
    }
}

...or maybe:
{
    "request": {
        "urlPath": "/data",
        "queryParameters": {
            "param1": {
                "matches": {
                    "pattern": "full-Regex",
                    "flags": "i"
                }
            }
        }
    }
}

Fwiw (and for other Googlers ending up here), use of embedded flags are permitted. e.g.
"matches": "(?i)full-Regex"


Add telemetry to the console host to report platform and version

Produce simple telemetry via Application Insights for the PowerShell Core console host.
This is limited to the console host and is not meant as generalized telemetry code for PowerShell Core. It will capture the GitCommitID and Platform Information when the console host starts. It enables opting out of sending telemetry. This does not include the changes required in setup to opt out of telemetry, which will be in a later PR.

:clock1:

@lzybkr from a performance perspective, the cost is quite low. I did the following test with the semaphore file present and then not present:
measure-command { 1..60 | %{ ./powershell.exe -c "exit" }
the average difference was about +2ms per invocation when the semaphore file was present. I'm happy to use other methodologies, just let me know what you would like to see.

Minor comment: Some of the using directives seem not necessary, and it's better to have them cleaned up.


Update help link in Github issue template

The issue template on Github has an out of date docs link

Codecov Report

Merging #855 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #855   +/-   ##
=======================================
  Coverage   98.14%   98.14%
=======================================
  Files         117      117
  Lines       10812    10812
=======================================
  Hits        10611    10611
  Misses        201      201

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 5f4b395...83a7bf2. Read the comment docs.


get list of enabled modules name  only

I have tried Module::all(); but it gives whole lots of information. I just need list of "enabled" modules name in an array. Is there any quick way?

That would be the way to do it.

Yes. Loop over that and call the getName() method for instance to get each module name.


Remove bidder table from userId.md

This is a very large file; I am suggesting removing some information that is duplicated and not very well maintained by adapters. As we plan to make files for each submodule soon, I am not sure how this table would fit in the future look.

Thanks @patmmccann  - Jean broke the userId modules into separate files already (!)


fix: use relative paths for referencing fonts

This is needed for using the fonts included in the distributable of this repository in projects where angie is included as a dependency. With absolute paths, bundlers will try to find the font in the project itself (which will then fail), instead of taking them from the installed package.

@andreasphil Nice! Checked with A2J and works like a charm there too. Thank you :star:


he never manages to make a working site!!

Describe the bug
always errors, I would like a refund if it is possible
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-9gz7ff
Steps to reproduce

Expected behavior
always errors, I would like a refund if it is possible
Screen Recording / Screenshot

Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

There are some excellent resources in #678 that others have found helpful in advancing their skills and building complex applications on the platform. This page contains insights on leveraging Bolt most effectively while maximizing token efficiency. Refund requests are handled through<EMAIL_ADDRESS>


v1.5.13 release

Pre-release

[x] Check that there are no release blockers for the targeted release version
[x] Ensure that outstanding backport PRs are merged
[x] Create a new project for the next release version

[x] Move any unresolved issues/PRs into the newly created release project

[x] Push a PR including the changes necessary for the new release (#10449):

[x] Update the VERSION file to represent X.Y.Z
[x] Update helm charts via make -C install/kubernetes
[x] Update AUTHORS via make update-authors
[x] Use Cilium release-notes tool to generate CHANGELOG.md
[x] Point .github/cilium-actions.yml to the newly created project
[x] Commit all changes with title Prepare for release vX.Y.Z

[x] Run CI
[x] Merge PR
[x] Add build targets for the new release on Docker Hub

[x] cilium
[x] cilium-operator
[x] cilium-docker-plugin

[x] Create and push both tags to GitHub (vX.Y.Z, X.Y.Z)
[x] ~Create helm charts artifacts in Cilium charts repository~ (N/A for v1.5)
[x] Create a release for the new tag vX.Y.Z, using the release notes
from above
[x] Announce the release in #general on Slack (only [@]channel for vX.Y.0)

Post-release

[x] Prepare post-release changes to master branch

[x] Update Stable releases section of the README
[x] Update the project pointers in .github/cilium-actions.yml

[ ] Update external tools and guides to point to the new Cilium version:

[ ] kops
[ ] kubespray

No need to upgrade external guides, they're on v1.7.


Document optimisticData and rollbackData

I just found out that you can do this for optimistic updates. This is amazing and should be documented:
const completeTaskMutationResult = api.task.complete.useMutation({
  onMutate(variables) {
    const updatedTask = {
      ...task,
      completedDate: variables.isCompleted ? new Date() : null,
    } satisfies Task

    return {
      optimisticData: updatedTask,
      rollbackData: task,
    }
  }
})

Did you see this - https://github.com/klis87/normy/tree/master/packages/normy-react-query#optimistic-updates-arrow_up ?
By the way, you could even do something like this:
const completeTaskMutationResult = api.task.complete.useMutation({
  onMutate(variables) {
    const updatedTask = {
      id: task.id,
      completedDate: variables.isCompleted ? new Date() : null,
    }

    return {
      optimisticData: updatedTask,
      rollbackData: task,
    }
  }
})

, because you need to pass only attributes which are changed (plus identifier you use for objects). Your way works as well, just curiosity.
You might be also interested in https://github.com/klis87/normy/issues/11 - rollbackData could be calculated automatically based on optimisticData, as all it really should be is an denormalized object based on the same structure as optimisticData object.

Closing, if you still think there is something not documented, please reopen


add prefix_model options

By default, the redis key is "model:id:key". I want to dynamically add the value of the property. But the redis_prefix method is not appropriate. add options prefix_model: :group
example:
class Staff < ActiveRecord::Base
   include Redis::Objects
   belongs_to :group

   hash_key :extra, prefix_model: :group
end

the redis key is "group:1:staff:1:extra"

This is related with #195 BTW I think we should come up with a more flexible approach like allowing a proc to be evaluated on the key option.

Unfortunately this diff no longer merges but I am open to changing the way that redis keys are named.  If you would like to resubmit, I would be willing to look at it.  I know this was a long time ago.


error after subsetting

browser: mac/chrome

sequence
fearonLaitin default data
subset 'ccode', selecting nearly all values
console error: Uncaught TypeError: Cannot read property 'labl' of undefined

happening near the end of subsetSelectSuccess

sequence:

subsetSelectSuccess

populatePopover - iterate through variable <p>'s

findNodeIndex - based on the <p>.id, get the "id"/name being received is undefined

popoverContent


Integration Stopped Working - Also failed to set up as well

Please check Services, Known Bug / Issues and Troubleshooting over here first: https://github.com/fuatakgun/kia_uvo/blob/master/README.md
Region and Brand of car
USA Hyundai Santa Fe 2020
Version of the integration
v2.10.5
Describe the bug
The integration started failing to connect Sunday 7/16/2023. First noticed the issue when I went to remote start the car from the Home Assistant App. Got it to work for about 15 minutes earlier today then it stopped. Removing and reconfiguring and now it just fails to set up at all.
Debug logs if an error occurred
Logger: custom_components.kia_uvo.config_flow
Source: custom_components/kia_uvo/config_flow.py:63
Integration: Hyundai / Kia Connect (documentation, issues)
First occurred: 6:17:57 PM (3 occurrences)
Last logged: 6:19:06 PM
Unexpected exception
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 714, in urlopen
httplib_response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 403, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1053, in validate_conn
conn.connect()
File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 419, in connect
self.sock = ssl_wrap_socket(
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/util/ssl.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/util/ssl.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/ssl.py", line 517, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/ssl.py", line 1075, in _create
self.do_handshake()
File "/usr/local/lib/python3.11/ssl.py", line 1346, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1002)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py", line 798, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/util/retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.telematics.hyundaiusa.com', port=443): Max retries exceeded with url: /v2/ac/oauth/token (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1002)')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/config/custom_components/kia_uvo/config_flow.py", line 159, in async_step_user
await validate_input(self.hass, user_input)
File "/config/custom_components/kia_uvo/config_flow.py", line 63, in validate_input
token: Token = await hass.async_add_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/hyundai_kia_connect_api/HyundaiBlueLinkAPIUSA.py", line 114, in login
response = self.sessions.post(url, json=data, headers=self.API_HEADERS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/adapters.py", line 517, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.telematics.hyundaiusa.com', port=443): Max retries exceeded with url: /v2/ac/oauth/token (Caused by SSLError(SSLError(1, '[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:1002)')))
Outlined here: https://github.com/fuatakgun/kia_uvo/blob/master/README.md
To Reproduce
Try to set it up but can't get past the credentials screen. Verified my login info as well
Expected behavior
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
This error originated from a custom integration.
Home Assistant 2023.7.2
Supervisor 2023.07.1
Operating System 10.3
Frontend 20230705.1 - latest

Thank you!!!


JVM Crash when using allocation profiling

Dear Async profiler experts,
When I use the following command to do allocation profiling, JVM crash, could u pls kindly help to have a look? Thx!!!
./profiler.sh -d 5 -e mprotect -f a.svg
Async profiler version: 1.8.6
Java version (I have installed debug symbol):
openjdk version "1.8.0_282-debug"
OpenJDK Runtime Environment (build 1.8.0_282-debug-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08-debug, mixed mode)
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/builddir/build/BUILD/java-1.8.0-openjdk-<IP_ADDRESS>2.b08-1.amzn2.0.1.x86_64/openjdk/hotspot/src/share/vm/runtime/mutex.cpp:336), pid=28535, tid=0x00007f8c6aa7d700
#  assert(w == 0 || w == _LBIT) failed: invariant
#
# JRE version: OpenJDK Runtime Environment (8.0_282-b08) (build 1.8.0_282-debug-b08)
# Java VM: OpenJDK 64-Bit Server VM (25.282-b08-debug mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   https://forums.aws.amazon.com/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x00007f8ca0001800):  JavaThread "Attach Listener" daemon [_thread_in_native, id=28595, stack(0x00007f8c6a97d000,0x00007f8c6aa7e000)]

Stack: [0x00007f8c6a97d000,0x00007f8c6aa7e000],  sp=0x00007f8c6aa7ae20,  free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xe64d7f]  VMError::report(outputStream*)+0xf2b
V  [libjvm.so+0xe661ff]  VMError::report_and_die()+0x475
V  [libjvm.so+0x6a35a6]  report_vm_error(char const*, int, char const*, char const*)+0xb4
V  [libjvm.so+0xbc273e]  Monitor::ILocked()+0x4a
V  [libjvm.so+0xbc29e9]  Monitor::ILock(Thread*)+0x79
V  [libjvm.so+0xbc39c6]  Monitor::lock_without_safepoint_check(Thread*)+0x5a
V  [libjvm.so+0xbc3a35]  Monitor::lock_without_safepoint_check()+0x23
C  [libasyncProfiler.so+0x21b25]  VM::loadMethodIDs(_jvmtiEnv*, JNIEnv_*, _jclass*)+0xb5
C  [libasyncProfiler.so+0x2248b]  VM::init(JavaVM_*, bool)+0x46b
C  [libasyncProfiler.so+0x22632]  Agent_OnAttach+0x22
V  [libjvm.so+0xa71a0d]  JvmtiExport::load_agent_library(AttachOperation*, outputStream*)+0x351
V  [libjvm.so+0x425a05]  attach_listener_thread_entry(JavaThread*, Thread*)+0x21e
V  [libjvm.so+0xe00b66]  JavaThread::thread_main_inner()+0x136
V  [libjvm.so+0xe00a11]  JavaThread::run()+0x1b3
V  [libjvm.so+0xc18d1d]  java_start(Thread*)+0x1ca
C  [libpthread.so.0+0x740b]  start_thread+0xdb

@RoySunnySean007 Possible duplicate of https://github.com/jvm-profiling-tools/async-profiler/issues/226
Providing the hs_err_pid.log should help.
Is it only happening with allocation profiling? Are you able to take a cpu profile?

You are running a debug JVM, not a production JVM with debuginfo. There is a substantial difference.
Debug JVM is not intended for end users - it is rather for JVM engineers to troubleshoot issues in the JVM itself. It runs a way slower, it has tons of additional assertions, and, to be honest, it has never been tested together with async-profiler. I guess the crash is a result of the debug build having different layout of JVM structures that async-profiler relies upon.
I'll look why async-profiler does not work with debug JVM, but anyway, it's better to switch to a normal JVM version (it should not have debug in java -version output).
So, what you need is to take a regular JDK package and install additional symbols (debuginfo).
Or, even better, take an OpenJDK distribution that is profiler-friendly out of the box. My personal preference is Liberica JDK or Zulu JDK.

Thx @apangin ! I tried normal JVM version and it worked!

BTW, I've fixed async-profiler to work with debug builds of JVM.

Thx @apangin !


Hacktoberfest 2024 - List of issues

Welcome to the month of Hacktoberfest ✨
Here's a list of issues that would be a good start during the month of Hacktoberfest 2024.

#2
#3
#5
#6
#7
#1 (To be discussed)
#4 (To be discussed)

Resources and helpful links

About Hacktoberfest
Participation guidelines
Pull/Merge Request Details
Measures to Reduce Spam
Values

Hello @yashsehgal,could you explain why we need a personal access token?, we can get all the public info without it.

Hi @jatingodnani - Thanks for checking the project out. Of course the Personal Access Token is optional and is not necessarily required in most of the API calls. Following are the main 2 reasons for including the token,

We get more number of API calls, as compared to API calls without Personal Access Token. You can read more about it - Rate limits for the REST API
Another use case is while calling graphQL APIs. In the requests such as fetching pinned repos, etc. The usage of Personal Access Token becomes necessary.

Hope this one is helpful! Thanks for bringing this up 😊


tests: move HMAC system tests to use emulator

Per our docs  there can be up to a 3 minute delay in modifying HMAC state. As such, it is occasionally causing system tests to fail. After speaking with @BenWhitehead it appears Java sidestepped this issue by using test bench. Node should do similar to avoid the flakiness. This will require separating out the HMAC tests from the larger storage.ts system-test and then reusing the infrastructure setup from conformance tests.

Please undo: https://github.com/googleapis/nodejs-storage/pull/2511 once this is completed.


Async testing fails with async/await

🐛 Bug Report
Asynchronous testing does not support async functions.
To Reproduce
await expect(async () => {
   throw new Error('Test');
}).rejects.toThrow('Test');

Yields:
    expect(received).rejects.toThrow()

    Matcher error: received value must be a promise

    Received has type:  function
    Received has value: [Function anonymous]

      22 |       await expect(async () => {
      23 |          throw new Error('Test');
    > 24 |       }).rejects.toThrow('Test');
         |                  ^
      25 |    });
      26 |
      27 |

Expected behavior
The test should treat the function as a promise. At the moment, the fix is to chain the function to a Promise, for example:
await expect( Promise.resolve().then(async () => {
   throw new Error('Test');
})).rejects.toThrow('Test');

The solution is quite easy, instead of expecting only an object, expect should check if the constructor is an AsyncFunction. For example :
if (value.constructor.name === 'Promise` || value.constructor.name === 'AsyncFunction') {
    ...
}

envinfo
  System:
    OS: Linux 5.3 Ubuntu 19.10 (Eoan Ermine)
    CPU: (16) x64 AMD Ryzen 7 PRO 2700 Eight-Core Processor
  Binaries:
    Node: 12.10.0 - ~/.nvm/versions/node/v12.10.0/bin/node
    Yarn: 1.19.1 - ~/.nvm/versions/node/v12.10.0/bin/yarn
    npm: 6.11.3 - ~/.nvm/versions/node/v12.10.0/bin/npm
  npmPackages:
    jest: ^24.9.0 => 24.9.0

Hello 👋
Your suggestion would indeed make the API more practical for the use case you present, but it would not work consistently. Relying on the name of the function being passed is error-prone. Indeed, it is not necessarily an arrow-function and it could be a named async function.
I also don't believe it is a bug. The documentation makes no claim to support functions; it knowingly only supports promises.
To work around this, you can simply call the function.
This is similar to your suggestion, but you don't really need the Promise.resolve. The code below will work just as well:
await expect((async () => {
   throw new Error('Test');
})()).rejects.toThrow('Test');

Not only does this work fine, but most of the time it is not even needed. Indeed, people tend to test one function call. Say I already have an async function called myfunction. This is how I would test it:
await expect(myfunction()).rejects.toThrow('Test'));

It doesn't look too bad.

I think the syntax of await expect(myfunction()).rejects.toThrow('Test')); is totally reasonable.
However, I also ran in to this situation, where it seemed inconsistent compared to the non-async case, where jest was smart enough to know it needed to invoke the supplied function due to the matchers that were chained on:
const fnToTest = (num) => {
  throw new Error('Test error ${num}`);
}
// calls the wrapper lambda for me due to the `toThrow` matcher
expect(() => fnToTest(1)).toThrow('Test error');

vs
const fnToTest = async (num) => {
  throw new Error('Test error ${num}`);
}
// doesn't call the wrapper lambda for me, though it seems like we could if we detect the parameter to `expect` was a function rather than a promise
expect(() => fnToTest(2)).rejects.toThrow('Test error');

So, while I agree that you can achieve the desired test pretty cleanly with the current way of doing things, the inconsistency with the non-async case seems like a gotcha for people learning the library that could be addressed by making jest a little smarter (and we wouldn't have to rely on function names with this solution).

I'll happily merge a PR which invokes the provided function if it's not a promise, and throws if the return value of that function is not a promise. Anyone up for it? 🙂

@SimenB Can I take a look into this?

Yeah, that'd be wonderful. Go for it!

@udaypydi Any update on your progress thus far? Otherwise, I might try to have a go as well :)

@tanettrimas I am working on it. Will raise a PR by tomorrow end of the day.
Thanks!

Hello, I don't know if this issue is the correct place to put this, but the error is the same
I have this code
internalExecute() {
    const filters = this._stateManager.state.filters
    const books = this._stateManager.state.books
    if (filters.length > 0 && filters.length < 4) {
      const response = {}
      return new Promise((resolve, reject) => {
        this._repository.retrieve(filters)
          .then(result => {
            console.log('bbbb')
            response.books = result.books
            response.filters = []
            this._stateManager.patch({ filters: [], books: result.books }, response)
            resolve(this._stateManager.state.books)
          })
          .catch(error => {
            console.error('eeee', error)
            reject()
          })
      })
    }
    console.log('aaaaaaaa')
  }

To test it I have this test, the file is working correctly on browser and the promises resolves fine
But in test I have this error
Matcher error: received value must be a promise
Received has value: undefined

This is the test
test('is able to delete a filter tag', () => {
    const filter = 'classic'
    const stateManager = new StateManager()
    const filterRepository = new FilterRepository()
    const sendFiltersQuery = new SendFiltersQuery(stateManager, filterRepository)

    return expect(sendFiltersQuery.internalExecute()).resolves.toBe([])
  })

I try to test it with async await, but with the test explained, I confirm that the returned promise is not working with jest
Is it a posible bug, or I am not doing something fine.
But browser resolves correctly the execute method with then
That is my first test, If it can help you
test('is able to delete a filter tag', async () => {
    const filter = 'classic'
    const stateManager = new StateManager()
    const filterRepository = new FilterRepository()
    const sendFiltersQuery = new SendFiltersQuery(stateManager, filterRepository)

    const response = await sendFiltersQuery.internalExecute()

    expect(response).toBe([])
  })

It returns undefined and the console.log('aaaaa') in the internalExecute funciton is printed in commandline.
Thanks for your work

I like to take a look into this

Still exists for resolves.
Current behavior
await expect(async () => new Promise(resolve => setTimeout(resolve, 1000))).resolves.toBeUndefined()

// Matcher error: received value must be a promise

Workaround
await expect((async () => new Promise(resolve => setTimeout(resolve, 1000)))()).resolves.toBeUndefined()


Broadcast between tabs, windows etc.

The broadcast api allows tabs to stay in sync in a reactive way.
https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API
it’s available in web workers but we are not using it . We should :) it’s the icing on the cake …
I don’t think it’s that much extra work now that the base is working .

Here is a really nice run down of all this in terms of how and why and due diligence aspects of strategies
https://rxdb.info/slow-indexeddb.html


Make a chatbot

Create a facebook page
Create a chatbot for that page using services such as chatfuel or dialogflow or wit.ai
Make your bot do something. see bot stores to get ideas about chatbots.
Comment link on fb page at the bottom. Share your creation to the world on fb and tag opencode page. 😄 (that link also comment)
The bots which stands out will get extra credits. Depending on your implementation and creativity.
Atleast 5-6 type actions. If no text reply is also fine, given its fun.

can we make a chatbot using python and run it on telegram for this issue?

Yeah anything you wish is fine

@gauthamzz should it only be a conversation bot or can it also be a bot that performs some functions? like finding cricket scores and all?

yeah anything is fine.

@gauthamzz I've created a chatbot on telegram called "UtlyzMeBot"
You can test it by typing the name of the bot(mentioned above and execute the commands it gives as of now)
Also, if you use the fb functionality of the bot, the first time it might not let you access! but your account will get a notif saying suspicious login activity. If you click on "this was me", and try running the fb command again, it'll work perfectly!

@aswinzz check this


mysql 5.6 keep restarting

I see the mysql container restarting every 10-20seconds. I see this exit code in docker ps:
36b961f1d7f2        docker.io/centos/mysql-56-centos7@sha256:6803ba424dbebce4ea577882e6e37ecf368892cd4804162a7c90f7ef307bbdc1                     "container-entrypoint"   5 minutes ago       Exited (137) 3 minutes ago

There is nothing in container logs (at least nothing that smells). The mysql process just exit. From the docs, the 137 code means: No more records (read after end of file)... In some case, the 137 in docker means "container killed".
@mnagy can you please have a look at this? It is pretty annoying, because the DB get up and keep running for ~10s and then container restart, cutting all connections... then it come back again... annoying :/

@bparees this can easily sneak from being captured by testing as we never run mysql longer then couple seconds...
This might be:

mysql internal problem
some misconfiguration
resources problem?

does this always happen?  i don't think i've ever observed it.
$ oc get pods
NAME                        READY     STATUS      RESTARTS   AGE
database-1-odoem            1/1       Running     0          22m

$ oc describe pod database-1-odoem
Name:				database-1-odoem
Namespace:			p2
Image(s):			centos/mysql-56-centos7:latest

@bparees i'm running openshift in digitalocean (origin / latest images). I think the issue is the memory or resources, which is OK, but there is nothing in mysql log that tells me mysql need more space/memory. Just keep restarting.

Are you using this template https://github.com/openshift/openshift-ansible/blob/master/roles/openshift_examples/files/examples/v1.2/db-templates/mysql-persistent-template.json. I think there is a bug in the readiness probe. If you remove the quotes around $MYSQL_PASSWORD the container gets started. This is also logged in the Event log of the Pod.

this issue pre-dates the update that broke the readiness probe (ironically @mfojtik is the one who added the broken readiness probe :) ).
anyway the readiness probe issue is being fixed (also by @mfojtik) here: https://github.com/openshift/origin/pull/8208
but the original issue presumably still remains (though it would be nice if @mfojtik could confirm it's still a problem for him)

Okay... sorry didn't know... just found out this one. Are these fixes also applied to the ansible repo. For the people who are installing thing manually ;-)

@ajdevries they aren't applied anywhere yet(PR hasn't merged, but should soon), but I think @sdodson will end up moving them to the ansible repo in the near future.

Great... Thanks for your quick response.

I think this issue was related to small memory on my node, but I would still expect mysql to crash 'nicely' ;-)


Update README.md

sharing my bash scripts to help manage a fleet of bots and apply modifications to all bots without having to edit each file for each bots one by one.

Can you rebase this to be up to date with the current README?

Can you rebase this to be up to date with the current README?

done


Fixed completion handler crash

Thanks for the PR @frowing!
Out of curiosity have you seen this crash in the wild? The header indicates that completionHandler should be non null (it has an NS_ASSUME_NONNULL_BEGIN at the top), wondering if it's an OS bug? If so, a comment would be great above the completionHandler checks, something along the lines of, "Even though this is documented to be non-nil, in the wild it sometimes is".
Also, I don't even understand how the system could continue if the completionHandler is nil. How would it know how to continue the request? Could there actually be a different issue here?

@garrettmoon yep I've started seeing this on iOS 9.3.3 it might very well be an iOS issue. Here's one stack trace.
Thread 15 Crashed:
0   libdispatch.dylib                    0x21b78db2 dispatch_async + 66
1   libsystem_blocks.dylib               0x21bbc95b _Block_copy_internal + 296
2   Flagship                             0x0030da77 -[PINURLSessionManager URLSession:task:didReceiveChallenge:completionHandler:] (PINURLSessionManager.m:79)
3   CFNetwork                            0x225d2187 __68-[NSURLSession delegate_task:didReceiveChallenge:completionHandler:]_block_invoke + 36
4   Foundation                           0x227fa84d __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 6
5   Foundation                           0x2275b87f -[NSBlockOperation main] + 144
6   Foundation                           0x2274df8f -[__NSOperationInternal _start:] + 772
7   Foundation                           0x227fcb0d __NSOQSchedule_f + 190
8   libdispatch.dylib                    0x21b81e7f _dispatch_queue_drain + 1760
9   libdispatch.dylib                    0x21b7ae17 _dispatch_queue_invoke + 280
10  libdispatch.dylib                    0x21b8320d _dispatch_root_queue_drain + 398
11  libdispatch.dylib                    0x21b8307b _dispatch_worker_thread3 + 92
12  libsystem_pthread.dylib              0x21d16e0d _pthread_wqthread + 1022
13  libsystem_pthread.dylib              0x21d169fc start_wqthread + 6

Comment added :)

Thank you!

@garrettmoon any idea when this fix will be released?

@frowing it will be in the next 3.0 beta for sure, but that probably won't be out for a bit. I'd recommend pointing to a fork or a commit hash if you need the fix immediately.


Remove local mirror workaround after going public

[x]  Remove instructions on using local mirror workaround
[x] Update version and registry references in quickstarts

updating dependabot to do versioning


[1521] Add global option to include requests in availability calculations

Resolves #1521
The .gitignore and .rubocop.yml updates are there because I have react-related files in my working directory and they aren't ignored on master yet.

ready for rereview!

A few more comments - with regards to globally using AppConfig.check, I thought that we had been consistent but if not we definitely should be. I'll open up an issue and swing it into this milestone.

ready for rereview pending green build!

Looks good other than last copy comment :smile:

Okay, should be good to merge!

Awesome, merging!

@esoterik please add this to the CHANGELOG, nice work!


fix(bindings): replace bundled node_modules with upstream bindings, CI

Problem: The tracked node_modules contain a symlink that prevents a downloaded archive to be extracted on Windows (which doesn't allow symlinks for non-admin accounts).
Solution: Remove node_modules and update bindings with latest tree-sitter CLI 0.22.6. Also use official upstream workflow.
Fixes #15

@gbprod let me know if the new default bindings are overkill and you only want some (or none) of them.

Looks great!👍👍
Thanks !

Moved the corpus under test (where tree-sitter now expects it)


Book.json as a build output

Book.json I think should be moved as an output to docs and I think it should be kept as a build output (not cleaned at the end of build, committed in gh-pages). It can be thought as a static api for the whole book. Thoughts?

I see no reason against it really. If someone can have use of it I say we keep book.json, and putting it in nbHomeDir would potentially solve #21.

fixed in #50


Add an option to disable SSL.

At the moment, I can't seem to get Slate's local Express server to work with AWS Cloud9. This is a small, quick and dirty PR that fixes this.
C9 only connects to local apps via HTTP (as documented here: https://docs.aws.amazon.com/cloud9/latest/user-guide/app-preview.html#app-preview-run-app). However, it will serve these apps to remote browsers over HTTPS. So simply disabling SSL allows Slate to be used from a Cloud9 instance.
I don't code much in JS and I'm not familiar with all the JS dev tools so please forgive the lack of tests and any other sins. I've tested it with my C9 instance and a fresh Shopify store and it works like a charm. Is this something the Slate team is willing to officially support?

This would be very useful. Currently having to explain to any of our front end team that they need to visit the local URL in their browser first and add an SSL exception and it's confusing them.

@andmcka82 Although if you disable SSL you're going to run into all sorts of security issues where browsers will fail to load insecure (http) resources while loading the secure (https) Shopify site.
Adding the trusted SSL certificate is a one-time fix that will prevent developers from having to manually click the exception each time.
https://github.com/Shopify/slate/wiki/How-to-create-a-trusted-local-SSL-certificate

Yes you definitely want your local resources served over HTTPS to avoid mixed content warnings. However, in my case AWS Cloud9 takes care of serving the resources over HTTPS but it can only access those resources if they are served locally on the Cloud9 instance over HTTP.

@jonathanmoore Good point, I don't know why that didn't cross my mind!

@ajw0100 would you mind elaborating on how you're using AWS Cloud9? Interested to know how you're using Slate's dev pipeline.
Sounds like a reasonable request. Having a look through the code now.

I've long been unhappy with Slate's current implementation of its config -- thus I haven't moved forward with documenting it properly and expanding it. I've been refactoring how we approach config with Slate (mostly internal) and it will affect this PR.
I will keep this PR open come the time I am able to look at it closer and potentially do a follow PR for it to work with the new config setup. Will keep you posted!

@ajw0100 I'm going to close this because it the use case is very limited to your particular application. In all other cases, disabling SSL will result in a security errors. If this feature becomes more demanded I will consider adding it. Until then, I recommend running a forked version of Slate.


space-before-function-paren

From @aochsner on November 11, 2016 22:19
We use space-before-function-paren in our eslint rules for readability.  I'd like an option to format to this behavior

VSCode Version: 1.7.1
OS Version: macOS Sierra 10.12.1

Steps to Reproduce:

Type function foo () { }
Format the code (if it doesn't auto-format)
Code is formatted to function foo() { } with no mechanism to override

Copied from original issue: Microsoft/vscode#15386

@aochsner thank you for opening this issue. The functionality for formatting is provided by TS Server. I will migrate this feature request to their repo.

Hi team, I met the same problem, this made me so sad, I have to format my code in command line tools since the build-in formatter will change function () -> function() .

So I have gotten around this issue a little bit by turning on:
"eslint.autoFixOnSave": true
in my settings.

@aochsner yeah, you approach works fine for me, thanks.

PRs welcomed.

Happy to take a stab... can you point me in the right direction?

The formatting logic resides in src/services/formatting. You'll want to check out the tests/cases/fourslash directory and peek around to get a sense of how to write a formatter test.
Also see our CONTRIBUTING.md.

Okay. I added a couple more test cases for InsertSpaceBeforeFunctionParenthesis. Found InsertSpaceAfterFunctionKeywordForAnonymousFuctions to cover that case. Added InsertSpaceAfterConstructor to handle that case. That should cover the main cases that http://eslint.org/docs/rules/space-before-function-paren enforces.
Let me know what else should be done. Thanks!

thanks @aochsner!


Timeout not working

Guzzle version(s) affected: 7.3.0
PHP version: 7.4.6
cURL version: 7.64.0)
Description
When I disable wifi on my laptop and try send request to some web then I must ever wait over 10 seconds althought I have timeout set to 2 seconds. Timeout in options is ignored?
How to reproduce
				'request.options' => array (
					'timeout' => 2,
					'connect_timeout' => 2
				),
				'connect_timeout' => 2,
				'read_timeout' => 2,
				'timeout' => 2,
			];

			$client = new Client();
			$response = $client->request('GET', $url, $options);

It is some reason why timeout is ignored? I solve situation when remote web is not available or overloaded. I dont want have slow webpage when some remote service is slow. Information from remote webpage are only additional and not important.

I also seem to have this but with Guzzle 6.5.5, it may be an internal PHP bug causing it to hang.


Boundary namesin Capital Case/ Upper case on Nav Tree

They are proper nouns.

@meghaklp,  @subhaklp has fixed this. However I think capitalizing the names of the boundaries should be a convention. Capitalising on just the navtree only brings inconsistencies when displaying the name in other parts of the app. If you give me a go ahead I'll remove the capitalisation.

@aksanoble We need to have upper case or Title case for boundary names everywhere, not just on the nav tree. Unless u are using name and not ids to reference something, I don't see why we should not have title case everywhere.

@aksanoble @subhaklp - This is not consistent even on the nav tree. If I create a New District in all caps- I should still see it in title case, no?
I'm not hung up on title case, we can go with upper if that's easier, but we need a convention and we need to stick to it.


Create Listarray.cpp

List array in cpp
Description of Change

Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added tests and example, test must pass
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:

Hello. Thank you for contributing. However, this does not meet
our requirements and it is not a valid algorithm. We'll be closing this PR.
Hope to see you contributing. 🙂


fix cursor position after operator

gU$ and such could put the cursor at the end of the line, not the last character as expected in vim mode

I saw some similar code to this in #555. Does that cover this case too, or is this one different?

right, it may be obsolete, I'll check. If so, should I keep the PR with just the specs, or should we just drop it?

If so, should I keep the PR with just the specs

Good idea.

Done, indeed the change in #555 did fix this.

Great.


[request] Example using Eigen

The documentation says this "Even though mp-units library does not implement any Linear Algebra types it is generic enough to be used with other Linear Algebra libraries existing on the market.". A set of examples using Eigen would be helpful. Blaze would probably be good too, but personally I don't use it so it's a lower priority for me.

Sure, I do not have any experience with Eigen so if you can contribute some examples it would be great. For now, we only have examples basing on the Linear Algebra proposal for C++ (https://mpusz.github.io/units/use_cases/linear_algebra.html).

Is there any update on this? I would love to use mp-units and Eigen for my project at work. Unfortunately, I am still new to both, so any help to get started would be greatly appreciated.
I took a look at test/runtime/linear_algebra_test.cpp and just replaced the vector type with one from Eigen. This allows me to create a position_vector but I cannot do scalar multiplication or vector addition (see Compiler Explorer). @dwith-ts already mentioned that one needs to define additional things for that to work, but the referenced question on stackoverflow is still unanswered. Since I am also completely new to Eigen, I didn't get around to really dig into their documentation for that kind of info yet, so it would be nice if someone can point me in the right direction.
BTW, we are also not set on using Eigen. In case Blaze, Armadillo, or some other library plays nicer with mp-units we are open to switch to that, so any usage examples with a decently mature linear algebra library are welcome as well.

Hi, I plan to extend vector and tensor quantities support for the 2.4.0 release. First, I  have to finish other things for 2.3.0.
@dwith-ts's use cases are quite extreme (e.g., Kalman filters), which would be awesome to support, but I do not know any linear algebra library that allows this out of the box. There are, however, two simpler cases here that we want to address first. I would like to understand which one you are interested in:

"Parallelizing" the work by doing operations on a vector or matrix of quantities (e.g., vector of mass). With this, you are basically doing many scalar operations at once.
Modeling vector and tensor quantities (e.g., position vector, velocity, acceleration, force, etc).

For the second use case, there are two ways to model it:
2a. Vector of quantities
Linear algebra type takes quantity as a representation type and does basic arithmetic operations on them (+, -, *, /) while calculating things like dot or cross product. This is supported by all of the libraries on the market but is quite incorrect and not safe. In this scenario, physical quantities library can't determine a proper quantity type as it does not know if dot or cross product is being calculated.
2b. Quantity with vector as a representation type (aka. vector quantity)
In this case, the physical quantities library is in charge of performing LA operations and knows their precise results. This is not supported by any library on the market besides Pint. mp-units is meant to support it in 2.4.0 release.
Please let me know which scenarios you are interested in (I mean all the users here, not just @PatrickKa). We want some feedback on how you would like to use our library.
Now, coming back to @PatrickKa code example, I must admit that I never used Eigen or Blaze as well. It is surprising to me to see that Eigen uses expression templates, which means that scalar * vector does not return vector. In your case Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1, 0, 3, 1> >, const Eigen::Matrix<double, 3, 1, 0, 3, 1> > was returned. This type is not recognized as a vector representation type by the mp-units as no is_vector type trait was specialized for it. I tried to do it here https://godbolt.org/z/e9qYdWMrv, but I found another issue. The resulting type is not regular, which is a current requirement of mp-units for representation types. I am not sure what to do with it :-(

Thx for the fast reply. I am dealing with position, velocity, ... in 3D space, so I am interested in scenario 2. Yes, a general approach with more abstract vectors composed of different quantities would be great, and something that might come up at work in the future. For now, however, all my vectors have uniform units.
From the two subscenarios you described, I would prefer 2b, because I think that better represents the "real" thing. As you pointed out already, a vector is more than just a collection of, in my case, three scalars. It supports different operations and a quantity library needs to know about those (Force ⋅ distance = energy, but force × distance = torque). However, since support for that is further in the future (and I need something to work with now) I am also very much open to 2a. Unfortunately, I don't know if it works easily enough (or at all). For example, Armadillo does not support custom scalar types. Eigen does, but it seems to be tricky to get it to work with mp-units, because it uses expression templates (I am not surprised by that because AFAIU that's what pretty much every linear algebra library does for performance reasons).
In the meantime, I also found this talk by @chiphogg from CppCon2021 where, starting at 42:50, he also talks about Eigen and units. He mentions that given a type T Eigen assumes that T * T → T which is obviously wrong as soon as quantities are involved. It seems like the customization points that Eigen provides are not enough to fix this, and you need to patch Eigen itself. This is completely out of scope for me, though. He then goes on to suggest a different approach. And as I am looking up the corresponding issue in the Au library I see that you commented there as well, so you already know 😅.
In conclusion, I am very much looking forward to version 2.4.0 of this amazing library. Until that is released, I will play around some more with Eigen, or give Blaze a try to make scenario 2a work. I don't have high hopes for that, though. If it turns out to be too troublesome, or it takes too long, I can still use mp-units to improve my interfaces but then use .numerical_value_in() to do the actual calculations just with doubles.

Thanks for sharing your thoughts and use cases.
I think that independently from trying to make mp-units work with Eigen, Blaze, or other libraries, we should provide our own simple vector and tensor types for up to 3 dimensions together with all operations required by ISQ for physics.
It shouldn't be a big task. I do not expect such handwritten operations to be slower than the ones provided by general-purpose LA libraries. Having those would greatly help in starting the work on this subject. If someone would like to implement those, please let me know. I just created #594 for this.

BTW, C++26 will provide an LA engine based on BLAS (https://en.cppreference.com/w/cpp/header/linalg). A reference implementation can be found here: https://github.com/kokkos/stdBLAS. It is not perfect for our needs as it does not provide owning types that we need for our use cases (mentioned in the previous post).


Go's decimal implementation cannot represent all Ion decimals with fidelity

Decimals(and thus timestamps) in GO do not conform to the Ion Specification and will corrupt data once write functionality is implemented.
As such non equivs test vectors should not be passing.

I decided to look a bit closer at what we're doing.  Firstly, we are using shopspring/decimal, so
specifically, the representation of a Decimal is as follows:
decimal.go#L69-L80
// Decimal represents a fixed-point decimal. It is immutable.
// number = value * 10 ^ exp
type Decimal struct {
	value *big.Int

	// NOTE(vadim): this must be an int32, because we cast it to float64 during
	// calculations. If exp is 64 bit, we might lose precision.
	// If we cared about being able to represent every possible decimal, we
	// could make exp a *big.Int but it would hurt performance and numbers
	// like that are unrealistic.
	exp int32
}

This is important because, Decimal is immutable and we have accessors to get the fields in question:
decimal.go#L684-L695
// Exponent returns the exponent, or scale component of the decimal.
func (d Decimal) Exponent() int32 {
	return d.exp
}

// Coefficient returns the coefficient of the decimal.  It is scaled by 10^Exponent()
func (d Decimal) Coefficient() *big.Int {
	d.ensureInitialized()
	// we copy the coefficient so that mutating the result does not mutate the
	// Decimal.
	return big.NewInt(0).Set(d.value)
}

Importantly, the parsing code of the library we use does strip out trailing zeros (see: shopspring/decimal#107 and shopspring/decimal#31), but the representation is sound, we can technically work around the serialization/deserialization problems around precision ourselves without implementing a whole decimal library.
The other problem is that per shopspring/decimal#150, the library does not support negative zero.  This is not a fatal problem as we can encapsulate that within the Value API we expose (similarly, Java's BigDecimal doesn't support negative zero, and we work around it there too).  As long as we have a way to preserve and represent negative zero in our APIs, we can still utilize this library for our decimal representation.


v-katex  里面如果有标签怎么办？

v-katex  我试了一下，文本是可以的，但是如果里面有标签是不支持的，这个怎么解决？

Hello @appbeijing, I translated your message with Google so I hope I understood your request.
If you are speaking about \label, it seems not supported by KaTeX so far.
https://github.com/KaTeX/KaTeX/issues/2003
If it's something else, please provide more details.


seata1.7在获取表索引基数时，由于我们表数据量太大，超过了int最大值

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
io.seata.sqlparser.struct.IndexMeta中的private int cardinality;需要修改为long类型
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Minimal yet complete reproducer code (or URL to code):
Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version(e.g. java -version):
Seata client/server version:
Database version:
OS(e.g. uname -a):
Others:

fixed #5762


⚠ Bofrost.de has degraded performance

In 8b8b24b, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1025 ms

Resolved: Bofrost.de performance has improved in 0576e80 after 9 minutes.


1.22 worked, 1.23 caused "connection refused"

I'm aware that installing microk8s inside of a circleci workflow isn't exactly standard usage, but I had it running reliably.  This week, it started failing:
 RAN: /usr/bin/sh -c 'kubectl get namespaces -o json'
 STDOUT: The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?

I went through the logs of successful runs and found this:
sudo snap install microk8s --classic
Download snap "microk8s" (2695) from channel "1.22/stable"

The failing run had this:
sudo snap install microk8s --classic
Download snap "microk8s" (2848) from channel "1.23/stable"

So I told snap to use the old version like below and the problem went away
sudo snap install microk8s --classic --channel=1.22/stable

I ssh'ed into the VM with the problem, here's an inspection report:
inspection-report-20220118_040235.tar.gz
Here's an edited-down version of the workflow that had the problem.  I removed all of the stuff that had nothing to do with microk8s (haven't tested the edited down version directly--I'm hoping it tells enough of the story--but I'm willing to test further if that would be helpful).
version: 2.1
jobs:
  ci:
    machine:
      image: ubuntu-2004:202107-02
    resource_class: large
    steps:
      - run:
          name: snap install
          command: sudo snap install microk8s --classic --channel=1.22/stable
      - run:
          name: "get config"
          command: |
            mkdir -p ~/.kube/
            sudo microk8s config >> ~/.kube/config
      - run:
          name: "enable microk8s features"
          command: sudo microk8s enable dns storage
      - run:
          name: "install kubectl"
          command: |
            cd ~/bin
            curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
            chmod +x kubectl
      - run:
          name: "install helm"
          command: |
            curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
      - run:
          name: "prepare networking"
          command: |
            sudo snap install yq
            KUBE_IP=$(cat ~/.kube/config \
                | yq e '.clusters[0].cluster.server' - \
                | cut -d '/' -f3 \
                | cut -d ':' -f1)
            echo "      [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"${KUBE_IP}:30500\"]
                    endpoint = [\"http://${KUBE_IP}:30500\"]" | sudo tee -a /var/snap/microk8s/current/args/containerd-template.toml
            sudo microk8s stop
            sudo microk8s start

            sudo mkdir -p /etc/docker
            echo '{"insecure-registries":["'$KUBE_IP':30500"]}' | jq . | sudo tee -a /etc/docker/daemon.json
            sudo service docker stop
            sudo service docker start

      - run:
          name: "do stuff"
          command: |
            cd qa-tb11c-dags
            export KUBECTL_COMMAND_HEADERS=false # https://github.com/kubernetes/kubectl/issues/1098
            export KUBECONFIG=/home/circleci/.kube/config
            /usr/bin/sh -c 'kubectl get namespaces -o json'

workflows:
  ci-workflow:
    jobs:
      - ci:
          context:
            - qa

Downgrading fixed it, so this isn't a high priority for me.  But if you guys think this is a microk8s bug then I'm happy to help with gathering info that would help with a fix.

This is more a wild guess, in 1.23, containerd private registry config has moved.
/var/snap/microk8s/current/args/certs.d, where each different registry is in its own file.
You may also want to check the status, microk8s status --wait-ready prior to doing any kubernetes related work.
I checked the inspect tarball, i dont see the kubelite logs.   Is it intentional?

I had the same issue - downgrading to 1.22/stable also solved my problem


Feature request: enable selecting text

Text in the chat log cannot be selected, so it can't be copy pasted

My bad, I think when I went to make the TextView not editable in Interface Builder I also selected disabled. Will be fixed in 0.2


USB DFU class: support MCUBoot CONFIG_SINGLE_APPLICATION_SLOT

USB DFU class should be able to use as part of MCUBoot in it's single slot mode
Need to make code able to upload image to image-0 slot as it is only existing image slot.
In this mode only boodloader (or third-party actor like jlink can update the application).

https://github.com/zephyrproject-rtos/zephyr/pull/28506


[Bug] "where exists" with "GROUP BY" is ignored

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
2.0.2
What's Wrong?
Query select ... where exists(subquery) ignores the condition if subquery has "group by"
What You Expected?
"group by" and "having" to be supported in exists subquery
How to Reproduce?
create table t1 (
    id int
)
UNIQUE KEY (`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS 1
PROPERTIES ("replication_allocation" = "tag.location.default: 1");

create table t2 (
    id int,
    t1_id int
)
UNIQUE KEY (`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS 1
PROPERTIES ("replication_allocation" = "tag.location.default: 1");

insert into t1 (id) values (1),(2),(3),(4),(5),(6);
insert into t2 (id, t1_id) values (1,1),(2,1),(3,3),(4,5),(5,5),(6,5);

select t1.id from t1 inner join t2 on t1.id = t2.t1_id group by t1.id;
-- OK: returns 1,3,5 as expected
select distinct t1.id from t1 where exists(select 1 from t2 where t1.id = t2.t1_id);
-- OK: returns 1,3,5 as expected
select distinct t1.id from t1 where exists(select 1 from t2 where t1.id = t2.t1_id GROUP BY t2.t1_id);
-- BUG: returns 1,2,3,4,5,6 (all rows); expected 1,3,5

Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

@LemonLiTree thank you for the quick reply, tried with 2.0.3-rc05 - exists+having works as intended.
But exists behaviour still seems odd. Using the same tables:
select t1.id from t1
where
    exists(select 1 from t2 where t1.id = t2.t1_id and t2.id=5) and
    exists(select 1 from t2 where t1.id = t2.t1_id and t2.id=6);
-- OK: returns 5

-- now try to invert the condition
select t1.id from t1
where
    not (
    exists(select 1 from t2 where t1.id = t2.t1_id and t2.id = 5) and
    exists(select 1 from t2 where t1.id = t2.t1_id and t2.id = 6)
        );
-- BUG: no rows, expected 1,2,3,4,6

-- if I open parentheses using de Morgans' laws, it works:
select t1.id from t1
where
    not exists(select 1 from t2 where t1.id = t2.t1_id and t2.id = 5) or
    not exists(select 1 from t2 where t1.id = t2.t1_id and t2.id = 6);
-- OK: 1,2,3,4,6

Should I create a separate issue for it?

https://github.com/apache/doris/pull/28713


Add a better (and consolidated) cache design

Several of the things I want to do in Hugo (pages from data sources etc.) needs a cache to ... survive.
We do caching on several levels in Hugo, but the file cache(s) are spread around and you cannot configure much more than the directory they live in.
I suggest we add a concept of named caches with sensible default configuration. Configuration options:

Path
TTL (time to live), value in seconds >= 0. 0 Effectively means "no cache", -1 means forever.

The default value will, in most cases, be assigned a directory below cacheDir, so we need to do some work in that area, too, if there is no value set for that option and you're running on a CI server (Netlify etc.).
Some defaults could look like this:
[caches]
[caches.image]
path = ":resourceDir/_gen/images"
ttl=-1
[caches]
[caches.getJSON]
path = ":cacheDir/getjson"
ttl=600

/cc @kaushalmodi @regisphilibert

Looks good to me, but I don't have enough knowledge in this area to give any constructive criticism.
Copying @paulcmal for comments if he is still interested in this or has time.
Ref: https://discourse.gohugo.io/t/configurable-cache-ttl-for-remote-content/10220

Hey, sorry for taking time to answer! And thank you @bep for taking the time to consider and start implementing a proper caching policy :)
Well my comments from the discourse still stand. To summarize, in my opinion:

the site-wide config should be able (via CLI params or config-file settings) to ignore cache entirely and to set a maximum caching time for resources (so you can ensure site-wide that no remote resource is more than N-days stale)
we should have template-side control of caching policy as well, so some resources (such as a monitoring feed) may explicitely ask not to be cached, while others may explicit for how long they wish to be kept

Would that make sense to you?


A little documentation

What new features to IntelliJ does this plugin bring?

https://plugins.jetbrains.com/plugin/8327 should give some information about this project. We'll work on documenting it better.

There's a site up now that has some information. It's not full of documentation yet, but It'll grow as we work on it. Site's here: https://minecraftdev.org/


error in latest.log

[30Nov2021 18:17:11.353] [main/ERROR] [mixin/]: Mixin config totaldarkness.mixins.json does not specify "minVersion" property
total darkness 1.3
forge 36.2.19

no

no

Just no?


section/column annotations should probably go in slot usage

If we start building schemas representing multiple DH interfaces (soil, sediment, water, etc.) we might want different section assignment and column ordering for each interface. Each interface corresponds to one class in the schema, like the current 'soil_biosample'. In that case, the annotations shouldn't be made on the slots themselves, but rather on slot usage for each interface class.

This is done


fixed bug  err message

Now it is not working on phantomjs 2.0 , some error occur on buffer str, then callback err got " SyntaxError: Unexpected token R in JSON at position 0"
fix this bug
related issue
https://github.com/marcbachmann/node-html-pdf/issues/68

Any progress on this?


Bad indentation with "--verbose" install

I find quite useful the "--verbose" option to see what is Librarian Puppet doing internally. But the indentation shown when it is resolving dependencies recursively is not correct and it makes difficult to see the dependency tree.
Puppetfile
forge "http://puppet-forge.redtonic"

mod 'tester/tester'

Puppetfile.lock
FORGE
  remote: http://puppet-forge.redtonic
  specs:
    puppetlabs-inifile (1.2.0)
    tester-tester (0.1.0)
      puppetlabs-inifile (>= 0)
      tester-tester_dependency1 (>= 0)
    tester-tester_dependency1 (0.1.0)

DEPENDENCIES
  tester-tester (>= 0)

As you may see the "tester/tester" module has two dependencies, and the system is doing the job correctly, but the verbose output shows it like the "tester/tester-dependency1" is an inner dependency of the "puppetlabs/inifile".
Execute the install
# librarian-puppet install --no-use-v1-api --verbose
[Librarian] Ruby Version: 1.9.3
[Librarian] Ruby Platform: x86_64-linux
[Librarian] Rubygems Version: 2.4.5
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 2.0.1
[Librarian] Project: /etc/puppet
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: <IP_ADDRESS>
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://puppet-forge.redtonic", {}]
[Librarian] Resolving tester-tester (>= 0) <http://puppet-forge.redtonic>
[Librarian]   Checking manifests
[Librarian]   Module tester-tester found versions: 0.1.0
[Librarian]     Checking tester-tester/0.1.0 <http://puppet-forge.redtonic>
[Librarian]       Resolving puppetlabs-inifile (>= 0) <(no source specified)>
[Librarian]         Checking manifests
[Librarian]   Module puppetlabs-inifile found versions: 1.2.0, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.1, 1.0.0
[Librarian]           Checking puppetlabs-inifile/1.2.0 <http://puppet-forge.redtonic>
[Librarian]             Resolving tester-tester_dependency1 (>= 0) <(no source specified)>
[Librarian]               Checking manifests
[Librarian]   Module tester-tester_dependency1 found versions: 0.1.0
[Librarian]                 Checking tester-tester_dependency1/0.1.0 <http://puppet-forge.redtonic>
[Librarian]                   Resolved tester-tester_dependency1 (>= 0) <(no source specified)> at tester-tester_dependency1/0.1.0 <http://puppet-forge.redtonic>
[Librarian]               Resolved tester-tester_dependency1 (>= 0) <(no source specified)>
[Librarian]             Resolved puppetlabs-inifile (>= 0) <(no source specified)> at puppetlabs-inifile/1.2.0 <http://puppet-forge.redtonic>
[Librarian]         Resolved puppetlabs-inifile (>= 0) <(no source specified)>
[Librarian]       Resolved tester-tester (>= 0) <http://puppet-forge.redtonic> at tester-tester/0.1.0 <http://puppet-forge.redtonic>
[Librarian]   Resolved tester-tester (>= 0) <http://puppet-forge.redtonic>
[Librarian] Bouncing Puppetfile.lock
[Librarian] Install: dependencies resolved
...

It's not a real mess in this example but when you have so many recursive dependencies the indentation is as high as make the output totally unreadable.

I'll second this.
Most of the time the --verbose option is very difficult to read when there are a lot of modules with a lot of dependencies.


frameless window: titlebar not immediately draggable

Issue: Custom titlebar not immediately draggable
Repro steps:
Goggle Chrome - Version 52.0.2743.116 (64-bit)
OS X Yosemite 10.10.5

After starting the app, check one of the boxes to enable a titlebar.
Dragging the window via the titlebar does not work.
Without exiting the sample, switch to a different application then switch back.
Now dragging the window via the titlebar works.
Enable a second titlebar and the new titlebar is not draggable; the old one still is.
Switch to a different application then switch back: both titlebars are now draggable.

( Note:  This may be related to the web store comment "-webkit-app-region: drag; doesn't work"  )
...
I can make the titlebars work as expected by changing the code to hide and show the window after the titlebar has been changed. At the the end of frameless_window.js initCheckbox() adding:
var win= chrome.app.window.current();
win.hide();
win.show();`

This sounds like a bug in Chrome. Please file a bug in the Chrome bug tracker.


Budgeting Worksheet webpage

We'll soon provide a Budgeting Worksheet PDF for users to download and complete in their preparation for shopping for a mortgage.
We'd like to create a design and functional prototype that converts this PDF into a responsive webpage, which would live at http://www.consumerfinance.gov/owning-a-home/budget-worksheet/ or a similar URL inside the Owning a Home project.
Steps for getting this done might be:

[ ] Create a page template in Owning a Home and add the PDF content.
[ ] Determine which layout styles to use for this page: likely similar to the Loan Options page layout, or using Capital Framework.
[ ] Add checklist/form functionality - likely using React.
[ ] Add link + callout for users to download the PDF to other parts of the existing website.

Here's the design for the PDF that needs converting to a webpage
page 1

page 2

page 3

Working on a branch on my own repo, follow along or chat here: https://gitter.im/cfarm/owning-a-home


Injection leaks into scrapy-poet additional requests

Not sure if the fix needs to be here or in scrapy-poet.
To reproduce the issue, create a test.py file with the following code:
from logging import getLogger

import attrs
from scrapy import Spider
from scrapy_poet import DummyResponse
from web_poet import (
    BrowserResponse,
    HttpClient,
    ItemPage,
    field,
    handle_urls,
)

logger = getLogger(__name__)

class DebugDownloaderMiddleware:
    def process_request(self, request, spider):
        logger.debug(f"{request} meta: {request.meta}")

class DebugDownloaderMiddleware2(DebugDownloaderMiddleware):
    pass

@attrs.define
@handle_urls("books.toscrape.com")
class TestPage(ItemPage[dict]):
    response: BrowserResponse
    http: HttpClient

    @field
    async def field(self):
        return await self.http.get(url="https://quotes.toscrape.com")

class TestSpider(Spider):
    name = "test"
    start_urls = ["https://books.toscrape.com"]

    custom_settings = {
        "DOWNLOADER_MIDDLEWARES": {
            DebugDownloaderMiddleware: 1,
            "scrapy_poet.InjectionMiddleware": 543,
            DebugDownloaderMiddleware2: 544,
            "scrapy_zyte_api.ScrapyZyteAPIDownloaderMiddleware": 600,
        },
        "TWISTED_REACTOR": "twisted.internet.asyncioreactor.AsyncioSelectorReactor",
        "REQUEST_FINGERPRINTER_CLASS": "scrapy_zyte_api.ScrapyZyteAPIRequestFingerprinter",
        "DOWNLOAD_HANDLERS": {
            "http": "scrapy_zyte_api.handler.ScrapyZyteAPIDownloadHandler",
            "https": "scrapy_zyte_api.handler.ScrapyZyteAPIDownloadHandler",
        },
        "ZYTE_API_KEY": "YOUR_API_KEY",
        "ZYTE_API_TRANSPARENT_MODE": True,

        "SCRAPY_POET_PROVIDERS": {
            "scrapy_zyte_api.providers.ZyteApiProvider": 1100,
        },

        "ZYTE_API_LOG_REQUESTS": True,

    }

    async def parse(
        self,
        response: DummyResponse,
        page: TestPage,
    ):
        yield await page.to_item()

And install scrapy and scrapy-zyte-api[provider].
Then run scrapy runspider test.py.
Unexpectedly, the request to https://quotes.toscrape.com gets browserHtml set to True after going through the scrapy_poet.InjectionMiddleware downloader middleware:
2023-09-28 12:05:23 [test] DEBUG: <GET https://quotes.toscrape.com> meta: {}
2023-09-28 12:05:23 [scrapy_poet.downloadermiddlewares] DEBUG: Using DummyResponse instead of downloading <GET https://quotes.toscrape.com>
2023-09-28 12:05:23 [test] DEBUG: <GET https://quotes.toscrape.com> meta: {'zyte_api': {'browserHtml': True}, 'zyte_api_default_params': False}

It stops happening when you remove the BrowserHtml dependency from the page object.
So, something in the injection middleware or the scrapy-zyte-api provider is leaking the Zyte API params into additional requests somehow.

I think the logic flow is identical for "https://books.toscrape.com" and "https://quotes.toscrape.com" requests (after HttpClient asks Scrapy to download a request for the latter): the request goes through InjectionMiddleware, the middleware finds TestSpider.parse as a callback for it, that callback requires TestPage, the machinery tries to make a TestPage for that URL. Looks like the problem here is assuming the callback for the additional request.

The problem is actually worse: self.http.get(url="https://quotes.toscrape.com") returns an empty body because its result is created from a DummyResponse.


save finetuned model

are the finetuned models saved currently in the colab?

The fine-tuned models are not currently saved as they will disappear after the session. There probably is a way to save it directly to your GDrive. Is that something you want?

@mchong6 oh I actually meant in the colab notebook I could not find the location, let me check again

I did not save it in the colab notebook. To save it you can run
   torch.save(         {             "g": generator.state_dict(),         },         f"checkpoint.pt",

@mchong6 ok thanks


chore: Keep Track of v1alpha5.Machine in Cluster State

Fixes #
Description

Keep Track of v1alpha5.Machine in Cluster State

How was this change tested?
make presubmit
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

229 of 273 (83.88%)  changed or added relevant lines in 14 files are covered.
9 unchanged lines in 3 files lost coverage.
Overall coverage increased (+3.3%) to 80.449%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/controllers/metrics/state/scraper/node.go
6
8
75.0%

pkg/controllers/counter/controller.go
0
4
0.0%

pkg/controllers/state/node.go
107
115
93.04%

pkg/controllers/state/informer/machine.go
16
27
59.26%

pkg/controllers/state/cluster.go
50
69
72.46%

Files with Coverage Reduction
New Missed Lines
%

pkg/controllers/provisioning/scheduling/scheduler.go
1
96.83%

pkg/controllers/state/cluster.go
1
84.52%

pkg/controllers/provisioning/scheduling/preferences.go
7
86.67%

Totals

Change from base Build<PHONE_NUMBER>:
3.3%

Covered Lines:
4481

Relevant Lines:
5570

💛  - Coveralls