CLOUDP-167207: Validate GCP Service Account Key

All Submissions:

[X] Have you signed our CLA?
[ ] Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if there is one).
[ ] Update docs/release-notes/release-notes.md if your changes should be included in the release notes for the next release.

Overall looks good, just have a few comments and 2 extra thoughts:

Does it make sense to have an e2e test to see how an escaped string from an applied yaml would go through the validation?
Talking to @igor-karpukhin, we were wondering if makes sense to validate the entire service account object, once Atlas API will check it is really valid and can be used to connect to GCPP.

I am doing some manual testing at the moment before I decide how to proceed there. I am hesitant to add up more to our slow and flaky e2e tests, unless for a very good reason that has no better alternative.
I think the validation against the API was not the initial idea. We could do that, even before we deploy anything in the cloud. And that could be a fast e2e test as it is a single check and does not require a cloud resource deployment to take place beforehand.

Overall looks good, just have a few comments and 2 extra thoughts:

Does it make sense to have an e2e test to see how an escaped string from an applied yaml would go through the validation?
Talking to @igor-karpukhin, we were wondering if makes sense to validate the entire service account object, once Atlas API will check it is really valid and can be used to connect to GCPP.

In the end I added the same tests as e2e test as well, but the happy path case is using the format that we can recommend to end users when setting up the keys, just take the service account JSON file from Google and put it, as is, in the CRD YAML as a multiline attribute:
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
  name: my-project
spec:
  name: Test Atlas Operator Project
  encryptionAtRest:
    googleCloudKms:
      enabled: true
      keyVersionResourceID: projects/...
      serviceAccountKey: |
        {
          "type": "service_account",
          "project_id": "...",
          ...
        }

The only caveat is to respect the indentation, as seen in the example, so that the YAML format knows this file is a document for  serviceAccountKey


[Service Bus]Retries - ManagementClient Session Receiver Retries "before each" hook for "Unpartitioned Queue with Sessions: setState" failing in nightly runs

Service Bus nightly test runs are failing with:

Error message:
Failed to create a receiver for the requested session 'my-session'. It may be locked by another receiver.
Stack trace:
ServiceBusError: Failed to create a receiver for the requested session 'my-session'. It may be locked by another receiver.
at translateServiceBusError (/mnt/vss/_work/1/s/sdk/servicebus/service-bus/src/serviceBusError.ts:86:63)
at MessageSession._init (/mnt/vss/_work/1/s/sdk/servicebus/service-bus/dist-esm/src/session/messageSession.js:39:278)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Function.create (/mnt/vss/_work/1/s/sdk/servicebus/service-bus/src/session/messageSession.ts:484:96)
at ServiceBusClient.acceptSession (/mnt/vss/_work/1/s/sdk/servicebus/service-bus/src/serviceBusClient.ts:93:47)
at ServiceBusTestHelpers.acceptSessionWithPeekLock (/mnt/vss/_work/1/s/sdk/servicebus/service-bus/test/public/utils/testutils2.ts:411:11)
at beforeEachTest (/mnt/vss/_work/1/s/sdk/servicebus/service-bus/test/internal/retries.spec.ts:51:16)
at Context. (/mnt/vss/_work/1/s/sdk/servicebus/service-bus/test/internal/retries.spec.ts:149:7)

For more details check here:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=2143872&view=results

Recent runs are green


fix(curriculum): changed the description, hint and test of todo app step 6

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #53151

Changed the javascript-algorithms-and-data-structures-v8/learn-localstorage-by-building-a-todo-app/step-6 Description, Hint and Test.

Hi @huyenltnguyen
Thank you for the comment. I appreciate your guidance. If you have specific instructions on how to resolve the CI test failures, it would be greatly appreciated. Your instructions will help me resolve the issues more effectively.
Thank you!

Hi @huyenltnguyen
Thank you for the comment. I appreciate your guidance. If you have specific
instructions on how to resolve the CI test failures, it would be greatly
appreciated. Your instructions will help me resolve the issues more
effectively.
Thank you!
On Mon, Jan 15, 2024 at 3:09 PM Huyen Nguyen @.***>
wrote:

@.**** commented on this pull request.
Thank you for the PR.
We will need to highlight keywords, and please also help update the test
as it failed CI.
In
curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md
https://github.com/freeCodeCamp/freeCodeCamp/pull/53177#discussion_r1452122112
:

-Now you can click on the "Add new Task" button and see the form modal.
+The toggle method will add the class if it is not present on the element, and remove the class if it is present on the element.
+
+js +element.classList.toggle("class-to-toggle"); +
+
+Add an event listener to the openTaskFormBtn element and pass in a click event for the first argument and an empty callback function for the second argument.
+
+For the callback function, use the classList.toggle() method to toggle the hidden class on the taskForm element.
⬇ Suggested change
-For the callback function, use the classList.toggle() method to toggle the hidden class on the taskForm element.
+For the callback function, use the classList.toggle() method to toggle the hidden class on the taskForm element.

In
curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md
https://github.com/freeCodeCamp/freeCodeCamp/pull/53177#discussion_r1452123465
:

@@ -9,9 +9,19 @@ dashedName: step-6

Now, you will work on opening and closing the form modal.
-Add a click event listener to the openTaskFormBtn variable, and then use classList to toggle the hidden class on the taskForm element. Make sure not to include curly braces in your arrow function.
+In earlier projects, you learned how to add and remove classes to an element with el.classList.add() and el.classList.remove(). Another method to use with the classList property is the toggle method.
⬇ Suggested change
-In earlier projects, you learned how to add and remove classes to an element with el.classList.add() and el.classList.remove(). Another method to use with the classList property is the toggle method.
+In earlier projects, you learned how to add and remove classes from an element with el.classList.add() and el.classList.remove(). Another method to use with the classList property is the toggle method.

In
curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-localstorage-by-building-a-todo-app/64e4e78a7ea4a168de4e6a38.md
https://github.com/freeCodeCamp/freeCodeCamp/pull/53177#discussion_r1452128054
:

-Now you can click on the "Add new Task" button and see the form modal.
+The toggle method will add the class if it is not present on the element, and remove the class if it is present on the element.
⬇ Suggested change
-The toggle method will add the class if it is not present on the element, and remove the class if it is present on the element.
+The toggle method will add the class if it is not present on the element, and remove the class if it is present on the element.
—
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/53177#pullrequestreview-1821287256,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPWGQIDM4ZM2XTPTS455FTYOT2MBAVCNFSM6AAAAABBZXMTVWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQMRRGI4DOMRVGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

looks good, before merging, make sure that all the tests are passing. Thank you for your contribution @Vishakha-Sawra

Hi, @JoyShaheb
Thank you so much for updating!
Though all the checks have been passed; I cannot merge the PR. Below is the screenshot of what it shows. Can you please guide me about what I can do?


Missing dependabot-updater docker image version tags

Recently we noticed that docker image version tags for dependabot-updater from 0.18.0 (patch versions) onward went missing. We used version 0.18.0 which is not available anymore, then updated to 0.18.1 which eventually also went missing. Is that intentional or accidentally? How does the release process look like for dependabot-updater?

The release and cleanup process are available in the .github/workflows folder.
Only the latest 20 versions are retained during cleanup every 14 days.
Unless you're testing something, there's no need to fix the version in your task. Instead, do not set the version so that the task can use the default version configured (matches its version).
If you're using the docker image elsewhere, first check if the server component serves you and use the instructions on keeping upto date available there. As an alternative, use build your own docker image and dependabot will update the image version declared on the FROM line.

Ok, thanks for the information and the proposed solutions.


0.1.31

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 50.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 83.24%. Comparing base (5e05325) to head (e708825).

Files with missing lines
Patch %
Lines

easychart/models/series.py
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           latest      #22      +/-   ##
==========================================
- Coverage   83.25%   83.24%   -0.01%
==========================================
  Files          80       80
  Lines        1780     1779       -1
==========================================
- Hits         1482     1481       -1
  Misses        298      298

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Update README.md

Codecov Report

Merging #20 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #20   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            5         5
  Lines          676       676
=========================================
  Hits           676       676

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 0412cea...7f77647. Read the comment docs.


[Bug] [UI] Pagination not works well in DataQuality page

Search before asking

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

What happened
missing assignment of totalPage result in pagination not works well in DataQuality page.

same problem in DataQuality-Rule Management page and Monitor-Statical Mange-Audit Log page.
What you expected to happen
make pagination works well.

How to reproduce
reproduce in  DataQuality-Rule Management page

come in  DataQuality-Rule Management page
handle change request  PageSize less than 10（eg: 5)
reload the page.you'll see

Anything else
just missing assign totalPage when request api back.
Version
dev
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

I'll fix it later


support for frontmatter in the middle of the text

Some of our markdown documents have frontmatter, but also… "middle-matter"
that frontmatter uses the exact same style, and usually declares (sub) sections:
---
section: faq
---

is there any way we can rig the frontmatter config to — optionally — support that, too?

i've committed a fix to one of our blogs, referencing this so you can see what it looks like!

Is middle-matter a real thing, or something custom with your process? I have an idea and may implement this regardless, but would feel better about the investment if I knew it was a widespread need. :)

the "engine" we use is metalsmith
and now i'm trying to remember where else i've seen this

I've done research on two occasions and can't find any documentation/specification that describes the use of front matter in the middle of a file as shown above.

Metalsmith (the tool you use) says "at the top", http://www.metalsmith.io/
Middleman (referenced by Metalsmith) also says "top", https://middlemanapp.com/basics/frontmatter/
jekyll (seemingly the origin of front matter) says "front matter must be the first thing in the file", https://jekyllrb.com/docs/frontmatter/

While I could guess at how "middle matter" is expected to behave, it seems like it's rare in the wild AND you have a confirmed workaround in the form of markdownlint-disable. Therefore, I'm closing this issue for now.
If you find a specification and can point to significant use in practice, I'm happy to revisit this.
Thanks!

I know this was closed years ago but I have a related usecase, namely ignoring a generated section at the end of the file. My document is a README for a Terraform module, which has some handwritten Markdown, and then a section which gets filled in by a tool called terraform-docs in between these markers:
<!-- BEGIN_TF_DOCS -->
<!-- END_TF_DOCS -->

The generated Markdown is not compliant with my rules and it would be difficult to make it be so, and not really important. Right now i'm able to make this work with the following format:
<!-- markdownlint-disable -->
<!-- BEGIN_TF_DOCS -->
<!-- END_TF_DOCS -->
<!-- markdownlint-restore -->

but it would be quite nice to be able to configure markdownlint to instead match on those existing markers.

See #249


Updated Markdown links

Added description (hover links) for links
Added link to navigate to readme file (e.g. creating index)

Thanks @malipramod !


modify cw-plus to allow updating cw20 minter

https://github.com/CosmWasm/cw-plus/pull/729

Le done. :tada:


--ip= gracefully accepts hostname but doesn't perform DNS lookup

BUG REPORT INFORMATION
Output of docker version:
Client:
Version:      1.12.1
API version:  1.24
Go version:   go1.6.3
Git commit:   23cf638
Built:
OS/Arch:      linux/amd64
Server:
Version:      1.12.1
API version:  1.24
Go version:   go1.6.3
Git commit:   23cf638
Built:
OS/Arch:      linux/amd64
Output of docker info:
Containers: 31
Running: 3
Paused: 0
Stopped: 28
Images: 173
Server Version: 1.12.1
Storage Driver: devicemapper
Pool Name: vg--docker-docker--pool
Pool Blocksize: 524.3 kB
Base Device Size: 107.4 GB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 87.72 GB
Data Space Total: 399.7 GB
Data Space Available: 312 GB
Metadata Space Used: 20.87 MB
Metadata Space Total: 1.002 GB
Metadata Space Available: 981.6 MB
Thin Pool Minimum Free Space: 39.97 GB
Udev Sync Supported: true
Deferred Removal Enabled: true
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host null bridge macvlan overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.22.2.el7.x86_64
Operating System: Red Hat Enterprise Linux
OSType: linux
Architecture: x86_64
CPUs: 32
Total Memory: 125.6 GiB
ID: LUER:C2ZN:EIWN:YK5C:TY2L:AZEH:5JBV:FCCY:TRPK:EY2U:KVIB:ODZK
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
<IP_ADDRESS>/8
Additional environment details (AWS, VirtualBox, physical, etc.):
OS: RHEL 7.2
Kernel: Linux 3.10.0-327.22.2.el7.x86_64
Using the new MACVLAN driver
Steps to reproduce the issue:

Run docker run command with basic required arguments on some image and --net= --ip=
Exec into container and run "ip addr" and validate that the eth0 interface takes the zero address of in the subnet rather than the expected DNS mapped IP

Describe the results you received:
Container starts gracefully without issue, yet cannot connect/communicate with container externally other than through docker daemon client.
Describe the results you expected:
If the new MACVLAN driver support cannot accept a domain hostname as --ip parameter argument, should run validation on the given argument and return error upon invalid format.

@mvsestito Created a pull request #25943 for this issue.


Duplicate events in Gotham

Hate to keep bothering you, but wanted to see what was up with this. I'm getting 2 events for tomorrow night's Devils game. The first one is the full 3 hours starting at 8:30 with the pregame and the second is at 9:30 which would probably end up being about halfway through the second period. Oddly enough, the second one has the icon that it's queued to record, but there's no option to cancel it to prevent duplicates. I only have the option to record it despite it looking queued. The first one is queued, though.
Worst case, I end up with a duplicate, but just seems weird. It's still there after removing and re-adding the EPlus source in Channels.

Thanks again!

Kind of a strange situation. If you look at the schedule here: https://www.msgnetworks.com/schedule/#
It looks like the Islanders game is taking priority and it has a shortened broadcast for the Devils game? I'm not sure

Yup, this is totally my bad. I switched to using linear channels and now see that the one that starts later is tagged as "Joined in progress", so it's being played on both channels after the Islanders game ends. Adjusted my DVR pass to ignore that tag and only record the main one
Thanks!


Can not install use: npm install tsjs-xpx-catapult-sdk

I install this sdk by: npm install tsjs-xpx-catapult-sdk, have error:

npm ERR! code ENOVERSIONS
npm ERR! No valid versions available for tsjs-xpx-catapult-sdk

npm ERR! A complete log of this run can be found in:
npm ERR!     home/.npm/_logs/2019-06-05T09_34_57_889Z-debug.log

And I try to install use: npm install https://github.com/proximax-storage/tsjs-xpx-catapult-sdk.git but have same error above
When i check version in www.npmjs.com, it not exist.

Please help me, Thanks.

It is not published on npm just yet, it should be during next days. Meantime, you can try to follow this guide to use it directly from github: https://github.com/proximax-storage/tsjs-xpx-catapult-sdk/wiki/Installation-from-github. Note that the project name will probably change.

Thank for help.


@W-12627224@ Account menu a11y

This PR contains a couple of a11y fixes for the account dropdown

Using a header instead of <p> tag on the account drop down menu header
Using box to indicate current selection in addition to color. This change also affects other menu-link items.
Using underline to indicate hover in addition to color. This change also affects other menu-link items.
Wrapping the menu items in a <li> tag

Desktop view changes: (Order History is active page, Account Details is hovered)

Mobile view changes:  (Wishlist is active page, Order History is hovered)

Testing these changes:

Pull down these changes and start the app
Log in
Expand the 'My Account' drop down menu
Verify menu header is <h2> instead of <p>. Also verify that the text styling is the same as before
Verify each menu item is wrapped in a <li>
Verify that hovering over menu items now underlines the selection
Click a menu item
Verify the selected page is now indicated in the drop down menu as well as the left account page nav

The border on the menu item looks a bit odd, was it intentional? Why does it only show border-top and border-bottom with round corners?

@alexvuong I replaced the borderBlock (which only shows top and bottom border) with border (which shows all 4 sides)

After discussions with the UI team, we have settled on using a left border bar as shown in this screen shot


Add autocomplete when using /get command

https://docs.disnake.dev/en/latest/ext/commands/slash_commands.html#autocompleters
Suggested by @wegpast

Obviously, suggestions should be related to the server (to prevent confidential-data-leaks and avoid the too big select list).
This point needs to fetch, store and refresh keywords and ensure we avoid memory-leaks (as server cost will stonk)


⚠ Bofrost.es has degraded performance

In ef1b201, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1676 ms

Resolved: Bofrost.es performance has improved in d0bf5a4 after 6 minutes.


fix duplicate pr builds

we had some duplicated builds as the check and out resources were returning the always changed updated_at metadata.
this (should) has also fixed the description update trigging another build

@zarplata ping 😄

@danilopopeye thanks for contributing.


Broken reference to flutter.js

When opening the Swatch UI (e.g. at http://<IP_ADDRESS>:8123/69755fa6_swatch/dashboard) it tries to load in flutter.js from http://<IP_ADDRESS>:8123/flutter.js where it isn't found, resulting in no UI.
I'm not really familiar with HASS addons, but I believe it'll be located at something like http://<IP_ADDRESS>:8123/api/hassio_ingress/..?../flutter.js?

Yeah it's blank for me as well. I can't figure out the snapshot URL either. Should that be pointed towards:
http://HA_IP/media/frigate/clips/CAMERA_NAME/clips/ or to a specific picture or how do I get hat URL?

@NickM-27 I'm asking this with the best possible intentions, is there any chance of this being fixed in the near future or might I be better off looking for an alternative add-on?
This comment in the html that's served might be related:
<iframe title="Swatch" src="/api/hassio_ingress/Xkafe3tYTLMEPX_OmnKYdnxHHzj5oSpDszs6DCUUox4//">
<html>
<head>
  <!--
    If you are serving your web app in a path other than the root, change the
    href value below to reflect the base path you are serving from.

    The path provided below has to start and end with a slash "/" in order for
    it to work correctly.

    For more details:
    * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

    This is a placeholder for base href that will be replaced by the value of
    the `--base-href` argument provided to `flutter build`.
  -->
  <base href="/">

   ...[snip]...

  <!-- This script adds the flutter initialization JS code -->
  <script src="flutter.js" defer=""></script>
</head>
<body>
  ....
</iframe>

It tries to load flutter.js from https://example.ui.nabu.casa/flutter.js which results in a 404, but when I point my browser to https://example.ui.nabu.casa/api/hassio_ingress/Xkafe3tYTLMEPX_OmnKYdnxHHzj5oSpDszs6DCUUox4/flutter.js it does succesfully return the contents of flutter.js

Weird, I definitely thought I set that to false, anyway hopefully that helps future users.


suggestion client side feature

instead of only being needed on the server it would be nice to have a option to uplaod your latest log or client log so you can see what is bugging ingame.

I'm working on this and would love to release it in all versions but unfortunately CurseForge is down right now 😅

It should now be available for 1.16-1.20. 1.14/15 do not offer this functionality and are therefore no longer supported.
1.21 should be there in a few minutes.


Fix extract_variants by comparing against leader Value

The missing call to find meant that this code wasn't always figuring out when two Values were in the same eclass.

@oflatt thinks this may not be needed; he thinks that perhaps I'm doing something that's causing the egraph to not be rebuilt, which is causing this issue.

Note that doing a manual rebuild before calling extract_variants without this PR doesn't work in my case.

@gussmith23 Do you have a branch where we can reproduce this issue? It seems like a rebuilding bug we'd like to look into.


Add Apex to supported languages

Add Apex (Salesforce) language
Changes
Include Apex in table
Checklist

[x] Added markup tests, or they don't apply here because... All tests are in the repo
[x] Updated the changelog at CHANGES.md

Apex is now also on NPM (and all the CDN services automatically).
https://www.npmjs.com/package/highlightjs-apex

Please do not reformat the entire markdown file, just add the single line you need (so the diff is clear on what's changed), it's doesn't matter whether the brackets are perfect or not in the ASCII form just so long as it render fine on GitHub...

Fixed. Ready for review.


https does not work on maps.stamen.com

Not strictly related to terrain-classic, but since you've used https in the email and you probably want to launch with the https version, you should fix the certificate. It'll also need a Leaflet hosted from a https CDN, like npmcdn.

The link in the email was a mistake. We intend to support HTTPS as some point, but probably not until after we launch.
Thanks for the heads up!


new app: Golf score tracker

new app for keeping track of score during a golf game for 1-4 players on 1-18 holes
Note: I can't get the app-icon to load within my bangle.js 2 menu, not sure why (same issue for hebrew_calendar)

Thanks! Which original image did you use? I could have a try here. Is it possible you kept the output as 'image object' and just copied the 'buffer' part out, rather than having 'image string' and copying the whole thing out?

Original image CC0
https://www.svgrepo.com/svg/36540/golf-player
converted to png in Mac OS preview

Ok, and you scaled it down to 48x48px? I just used this one with the image converter

Image string, 1bpp, inverted (so the picture is white)
And got... require("heatshrink").decompress(atob("mEwwIEBgOABQcD4AFDg1wAokYDokOAokDDwkBDwkADwn4nAFD/geDgP8gYFEDwn8gFgDocA+AFCkE/A4IABg//Aoc//4RDn/+Goc/8AFJj4FLEQYFGh4FLIAYFGg4FKh5sBApEfnhTEAok+Aol8vihEAon4AocB+F4ZQYFF8AFDg/AAocPAouAKYcfXQQFHjzEEhjvDA"))
Seems to work - I'll merge this and replace the icon this end


Use const thread_local

This is available since Rust 1.59 (https://github.com/rust-lang/rust/pull/91355).

Nah, it is better to initialize the parker in the TLS initialization code than to do this.

Ok, removed both RefCell and Option from it.

https://github.com/smol-rs/event-listener/blob/b1d437ae83eec859768b6170ea68619c5b2bb6e9/src/lib.rs#L1060-L1062
Is RefCell used to detect reentrant parking? This seems true in other places where we need to wait for arbitrary futures, but that should not happen in event-listener, right?

https://github.com/smol-rs/futures-lite/blob/2e555681d54dedb5f18455deb8d403386a368729/src/future.rs#L89
https://github.com/smol-rs/async-io/blob/1c635937427c70300118bd8718b4c6c5c8645da8/src/driver.rs#L186

Is RefCell used to detect reentrant parking? This seems true in other places (futures-lite, async-io) where we need to wait for arbitrary futures, but that should not happen in event-listener, right?

This is right, since you can't run arbitrary code while parked.


Fix various typos

Fix various typos.

@alexandair : Thanks for your contribution! The author, @neilpeterson, has been notified to review your proposed change.

Thanks @alexandair
#sign-off

@alexandair : Thanks for your contribution! The author, @neilpeterson, has been notified to review your proposed change.

#sign-off


Featured courses page (for special topics)

We should have a page where courses that are tagged as 'featured' will be showcased. Here at RPI, these 'featured' courses will be new and special topics courses for the current semester, or any other course a professor wishes to have highlighted.
There should be a link to this page on the home page, and it should be possible to provide a URL to this page. Ultimately, this page may be able to replace the special topics courses PDF.
This will require adding a new route to the angular router.
This issue replaces https://github.com/YACS-RCOS/yacs/issues/241

Solved as of #58


WMDP-126: Add implementation of the mock endpoint

Ticket
https://wicmtdp.atlassian.net/browse/wmdp-126
Changes
Added the bulk of the implementation (besides clinic selection) to the mock API
Added several overrides/adjustment validators/formatters for the request/response objects to make them consistent & more detailed.
Context for reviewers
Rough questions / things to look out for as a reviewer:

The allowed values for the eligibility categories + programs aren't correct. Figure we can come back once we know those values for certain and adjust them.
I've kept validation fairly straightforward (mostly typing and nullability), if we want anything more elaborate, can add as a follow-up, but let me know if you have any ideas.
The connexion overrides are fairly necessary to make things easy to test / easier for a user by making the error messages clearer and consistent.

Testing
make clean-volumes init start to get your env running and cleaned up from any past approach.
Requests to the API endpoint:

Response from the API endpoint:

DB record created:

Wow! So much great stuff. Mostly, few questions to make sure I follow and some minor suggestions.
I have one question about validation though. If I try to post with:
{
  "has_prior_wic_enrollment": false,
  "household_size": "stuff",
  "last_name": "Doe",
  "phone_number": "224-705-2345",
  "zip_code": "12345"
}

The errors that are returned are about type, but does not include an error about missing the required field. Is this expected?

Hmm, this is due to how it's currently handled. We have validation in two places, the specification in openapi and the pydantic. Openapi happens first and if it encounters any errors, just returns those (going through some of our reformatting/logging). If it passes, then it hits the pydantic errors.
So, the type checking is happening in your request at the openapi layer, but we don't have anything marked as required at the moment on the request and pydantic handles that. This is the pattern Mass had, but we could add that to openapi so they all happen at once.

Ah I suspected that it was something like thate where we are doing two layes of checking and returning early if the first layer fails. This probably doesn't surprise you since I think I made a similar request with payments stuff, but I think it's a better API quality of life if all the errors are returned, rather than a subset.

Wow! So much great stuff. Mostly, few questions to make sure I follow and some minor suggestions.
I have one question about validation though. If I try to post with:
{
  "has_prior_wic_enrollment": false,
  "household_size": "stuff",
  "last_name": "Doe",
  "phone_number": "224-705-2345",
  "zip_code": "12345"
}

The errors that are returned are about type, but does not include an error about missing the required field. Is this expected?

Hmm, this is due to how it's currently handled. We have validation in two places, the specification in openapi and the pydantic. Openapi happens first and if it encounters any errors, just returns those (going through some of our reformatting/logging). If it passes, then it hits the pydantic errors.
So, the type checking is happening in your request at the openapi layer, but we don't have anything marked as required at the moment on the request and pydantic handles that. This is the pattern Mass had, but we could add that to openapi so they all happen at once.

Ah I suspected that it was something like thate where we are doing two layes of checking and returning early if the first layer fails. This probably doesn't surprise you since I think I made a similar request with payments stuff, but I think it's a better API quality of life if all the errors are returned, rather than a subset.

Yeah, feels weird to have that split. Should we fix it here, or follow-up? I've always thought the pydantic validation was a little odd (beyond more complex business rules) ontop of the openapi validation.

Yeah, feels weird to have that split. Should we fix it here, or follow-up? I've always thought the pydantic validation was a little odd (beyond more complex business rules) ontop of the openapi validation.

Let's do it in a follow-up. Can you add it to your list?


REQUEST: New membership for @sheepduke

GitHub Username
@sheepduke
Requirements

[x] I have reviewed the community membership guidelines https://github.com/open-feature/community/blob/main/CONTRIBUTOR_LADDER.md
[x] I have enabled 2FA on my GitHub account. See https://github.com/settings/security
[x] I have subscribed to the Slack channel (use http://slack.cncf.io/ to get an invite)
[x] I am actively contributing to 1 or more OpenFeature subprojects
[ ] I have two sponsors that meet the sponsor requirements listed in the community membership guidelines. Among other requirements, sponsors must be approvers or maintainers of at least one repository in the organization and not both affiliated with the same company
[x] I have spoken to my sponsors ahead of this application, and they have agreed to sponsor my application
[ ] I have created a pull request, adding myself to the members of the organization within the community configuration

Sponsors

@beeme1mr
TBD

Each sponsor should reply to this issue with the comment "I support".
Please remember, it is an applicant's responsibility to get their sponsors confirmation before submitting the request.
List of contributions to the OpenFeature project

PRs reviewed / authored https://github.com/open-feature/rust-sdk/pull/15
Issues responded to:

https://github.com/open-feature/rust-sdk/issues/6
https://github.com/open-feature/rust-sdk/issues/12
https://github.com/open-feature/rust-sdk/issues/13

Subprojects I am involved with https://github.com/open-feature/rust-sdk

I support adding @sheepduke to the org.

@justinabrahms would you mind also being a sponsor?

@justinabrahms would you mind also being a sponsor?

Happy to be. :)

If it wasn't obvious, I support.


Refactor datasetprofile's flatten profile

Description
Refactor datasetprofile's flatten profile, also added some missing unit tests for viz and remove string typing conversion.
General Checklist

[x] Tests added for this feature/bug
if it was a bug, test must cover it.
[x] Conform by the style guides, by using formatter
[x] Documentation updated
[x] (optional) Please add a label to your PR

Pull Request Test Coverage Report for Build 988571812

73 of 129 (56.59%)  changed or added relevant lines in 8 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.2%) to 81.112%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/whylogs/core/model_profile.py
1
4
25.0%

src/whylogs/core/flatten_datasetprofile.py
66
85
77.65%

src/whylogs/core/metrics/nlp_metrics.py
0
34
0.0%

Totals

Change from base Build 987124317:
1.2%

Covered Lines:
3423

Relevant Lines:
4065

💛  - Coveralls


Bugfix/response schema fix

Currently there is a bug.
If the responses>status>content>[content_type] changes from one path to another it still retain the previous one and because of this it shows no schema available in read and focused render-style
Please review the change and share your opinion

can you please create an issue first and show how to recreate the issue, either by providing a minimal spec or  any existing example that is behaving as you explained

well upon looking deeper i was able to recreate the issue explained in #376
However the fix you provided will create other issue when the response template will re-render due to reactivity and will loose its previous state. we would like to maintain its state on re-renders
I have created an alternate commit which should take care the issue you described. please take the latest build from dist/rapidoc-min.js and let me know if that works for your use case.
Thanks for bringing it up


[10.x] Support using a PHP enum inside a migration

This PR adds support for defining an enum column using values from a PHP enum.
Let's say you have an enum for defining the roles in your application
enum Roles: string {
  case Admin = 'admin'
  case Editor = 'editor'
  case ReadOnly = 'read_only'
}

You can now easily define an enum column with all the values in your enum using the following line in your migration:
  $table->enum('roles', Roles::class);

Since the enum method now accepts either a string or an array, this doesn't break existing functionality.

I'm not sure this is a good idea. Migrations need to be static and unchanging. If you update the enum class in the future, your migrations are broken. I'm 👎 here.

I always recommend to have absolutely no references to other classes in migrations because if they're deleted or updated it suddenly breaks or changes, but you might not realize it until you need to do a fresh start or run tests that run fresh migrations.
In this case the problem of supporting enum values would make the migration inconsistent. First run it would add 3 values to enum, but what if you add 4th role? you will have to create a new migration that updates the column but if you run it fresh it will already have all 4.

Agree with you both, closing 👍


Gem sockets

Implementation of gem sockets as discussed in #335. You can get there via context menu on items in the inventory and stash.
I've also rewritten the inventory and stash controls to MVVM as I had no idea how they, the stash in particular, worked and disabling context menu entries (e.g. when the item has no socketes) is much easier this way. This is the majority of the diff, but it shouldn't affect any functionality.
Closes #335

I promise to take a look!

(Still really want to, but will take me at least until the weekend to find time for it - sorry!)

I am in the same boat (finals week)

Alright, I found some time. I wasn't aware how much of this functionality for gems was already implemented. It looks like 80% of the diff is code cleanup and refactoring (which is great!). The new files also have very descriptive function names, I found everything easy to figure out.
In terms of testing it, here are things I noticed:

Most importantly, you can resize the header cells, this shouldn't be possible:

For gem levels with multiple digits a scroll bar sneaks into the cell. There are also two bevels around the table's headers (or something like that).

The socket group can't be edited after adding a gem, you need to remove and readd it. Not sure if there are technical reasons against this.

The vertical scroll bar that becomes necessary for 6 gems for me also makes the horizontal one appear:
(Relatedly, clicking the x to remove a gem that is not fully within the view and also isn't selected will select and scroll to that item and (since the cursor is no longer on the x) fail to remove it).

Also in that image, it seems that even group numbers are slightly grayed out while odd ones are not. That's not intuitive (and I don't know if there's a purpose for it).

You can input floating point values for level and quality (and group, but that one gets validated away).

I'd propose adding double-click to edit gems. I kept intuitively wanting to do it, and the right click -> menu item selection is mildly awkward (at least compared to the ingame drag-and-drop intuitiveness).

If at all possible/reasonable (also considering the performance of the gem list), gem icons would be very awesome/helpful. But I realizable that this would also be unlike the rest of the equipment interface that does not bother with anything but the shapes.

Thanks for the testing!

For gem levels with multiple digits a scroll bar sneaks into the cell.

Doesn't happen for me. Gave them 5 pixel more width, did that help?

There are also two bevels around the table's headers (or something like that).

There's always an empty column at the end, I just made it small enough to almost disappear. Because of disabling resizing, these vertical stripes are gone anyway.

The socket group can't be edited after adding a gem, you need to remove and readd it. Not sure if there are technical reasons against this.

There was a technical reason: gems in the collection were sorted by group, so I'd had to resort the collection on changes. I changed it to use a CollectionViewSource that is sorted by group. They are now sorted while typing, not sure if that's better (the code doesn't get any notification when the user moves focus out of the edited box, so it has to be resorted instantly on changing the value)

The vertical scroll bar that becomes necessary for 6 gems for me also makes the horizontal one appear:

That doesn't happen for me. I gave the DataGrid more space and set the horizontal scrollbar to always be hidden. Did that fix it?

(Relatedly, clicking the x to remove a gem that is not fully within the view and also isn't selected will select and scroll to that item and (since the cursor is no longer on the x) fail to remove it)

I have no idea how to fix that. Better to make sure there is always enough vertical space.

Also in that image, it seems that even group numbers are slightly grayed out while odd ones are not. That's not intuitive (and I don't know if there's a purpose for it).

That was a really bad try at making the groups easier to distinguish. It's hard to find fitting colors because accent and theme can be changed. The only dynamic colors available are the theme colors which look greyed out, and the accent colors, which clash with the hovered/selected backgrounds.

You can input floating point values for level and quality when editing them

That is an issue with all up-down controls currently in the program. The floating point values are only visual, they are rounded. Didn't find an easy way to fix this.

If at all possible/reasonable (also considering the performance of the gem list), gem icons would be very awesome/helpful.

That is implemented. The images are downloaded in the release script, so you don't normally get them. However, there is an option in the settings to download them: "Equipment -> Automatically download missing item images". The images for all base items, uniques and gems will be downloaded after restarting (might take a bit).
(fixed the things I didn't mention)

Can't really find anything else to complain about.

there is an option in the settings to download them: "Equipment -> Automatically download missing item images

Didn't even know that existed! :D

Great!

Sorry for taking so long to get back here. I didn't come across anything
that would need to be changed. It all seems to function like you would
expect.
Next stop...accurate calculations.... haha

Thanks for testing, @EmmittJ!

Next stop...accurate calculations.... haha

Yeah, basically everything big except computation (and jewels) is updated/implemented now.


parser: add missing test.sh&gitignore

test.sh missing in parser package, if we execute make test would return:
sh test.sh
sh: test.sh: No such file or directory
make: *** [test] Error 127

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

LGTM

🤔 how to merge?

LGTM

🤔 how to merge?

LGTM

LGTM


Validation alerts

Hi!
I download your app because my cronjobs never, ever worked. Never. Using it, I realize the reason: simple quotes. After try to set a job, crontab-ui permanently crashed. I had to uninstall and reinstall it.
Maybe this should be 2 issues:

to prevent the app from crashing when reading bad cron jobs;
form validation rules to prevent bad jobs;

Does it seen reasonable?

Can you give an example of the bad job that you were able to setup?

Sure!
Note the 0 instead of O:
wget -q0- "http://domain.com.br?foo=bar" &> /dev/null 2>&1`

Note the " instead of ':
rsync -avz --exclude '*/cache/*' --exclude '*/captchas/*' -e "ssh" user@xxx.xxx.xxx.xx:/var/www/domain.com/ /home/user/_backup/domain.com

Dumb, right?

The first case needs something hard, like ExplainShell.
Maybe the second one is less harder.


User groups!

This adds the ability to post news (if you have privileges for it), from new news feed.

Important!
The sh_user table needs updating. And I don't fully understand the table_create.php files so I left it out. It doesn't have to be SMALLINT  but I think it ought to be sufficient with 16 combinatorial categories.
ALTER TABLE `sh_user` ADD `user_group` SMALLINT UNSIGNED NOT NULL DEFAULT '0' AFTER `last_auth`;

Things to consider

Currently posting to current event is disabled because I don't know how to validate a particular node as current event on the end-point.
I didn't dare mess with current db-calls so the user post is gotten more times than is strictly needed in some scenarios.
The user group belonging is public
The only way to put a user in the "can post general news"-group is to update the user_group value of that user in the database. To have general news rights (but no other group belongings) set value to 64 or you can use userGroup_GetStatusCodeFromFlags passing in the group constants that the user should have and it returns the correct value.

Sorry, I know a lot of work went in to this, but for security reasons the sh_user table should be inaccessible from the API. That may sound unusual, but you'll note that the user API never actually returns data, just results. You feed it things, and states do change, but nothing is ever directly returned.
Also, permissions to do things are handled by private (protected) user metadata. There are not user levels. Rather, specific users are given permissions for specific functions.

Can you be more specific where and how that should handled? Is the problem getting any info from that table?  It would be rather easy to make separate user groups table instead if that. And no worries. Got more familiar with the php.

The sh_user table is used for one thing only: authentication.  It's the only table in the database that contains sensitive information, and if gets compromised, that's bad for everyone. Eventually extreme measures may be taken, such that this table is entirely isolated from the rest of the data.
Like all data, Users are nodes. Anything special above-and-beyond the norm is implemented in nodes via metadata.
Every piece of metadata has a "scope". Different scope levels dictate who has access to it. Public scope (level 0) is the metadata that public information, and gets cached alongside the nodes. Then you have Shared scope, which is visible privately to the two nodes in question (i.e. a and b). Then you have Protected scope, which is similar to Shared scope, but only a knows about it. Finally, you have Server scope, a level of data that is never sent to the end user.
Server side, you have access a users non-public data. You just need to ask for it.
Client side, you have the user variable that gets passed down the chain. This not only contains a complete node structure, but it also contains a private section with their private metadata inside (everything Shared and Protected). Scope doesn't matter to the client. It's discarded server side before its passed down.
(and on a sidenote, src/com/content-notifications/base.js should not be making a call to $Node.GetMy. Again, this data is available via user.private.meta and user.private.refs).
User permissions should be Protected. This means the user themselves knows about them, but nobody else.
Client side, you simply check user.private.meta for the specific permission. Something like can-post-news.
if ( parseInt(user.private.meta['can-post-news']) ) {
   // User can post news
}

Server side it's a little trickier (because this hasn't been needed yet), but the general idea is that the code that checks if a piece of metadata can be set needs an extra layer, one that specifies the pre-requisite permission. If that pre-requisite passes, then the API lets you perform the action.
The pre-requisites system doesn't exist yet. Nobody has needed it. That's not to say it's not necessary, just things like news posts were few and far between, that the couple minutes it takes me to flick the switch manually didn't make it an immediate priority.

I still have some questions but this is a great start.  But since it is of general and permanent interest, I'll start a wiki page for it. I hope you think that's good and will help correct my assumptions and guesses.


Get route

@CodiumAI-Agent /review

@CodiumAI-Agent /review

PR Review 🔍

 ⏱ Estimated effort to review [1-5]
3, because the PR introduces a new server setup with several dependencies and middleware configurations. The complexity is moderate due to the use of asynchronous operations and middleware in Express.js, which requires careful review to ensure proper error handling and server behavior.

 🧪 Relevant tests
No

 ⚡ Possible issues

Possible Bug: The promise handling inside the app.get('/main', ...) route is incorrect. The then and catch methods are used incorrectly as they are not chained to any promise.

Error Handling: The error handling in the catch block of the GET route uses res.send('error', error), which is not a valid method signature for res.send in Express.js. It should be adjusted to properly send the error information.
 🔒 Security concerns
No

 Code feedback:
relevant fileBackend/server.js
suggestion

Correct the promise handling in the GET route. You should directly handle the response inside the route handler instead of using a then block. Here's how you can correct it:
app.get('/main', (req, res) => {
  // Assuming some asynchronous operation here, for example:
  someAsyncFunction().then(result => {
    res.send('get route');
  }).catch(error => {
    res.status(500).send({ error: 'An error occurred' });
  });
});

This change ensures that the asynchronous operation is properly handled and errors are caught and sent correctly. [important]

relevant linethen((res) => {
relevant fileBackend/server.js
suggestion

Modify the error handling in the catch block to correctly use the response object. The correct method to send an error with a status code is to use res.status() followed by .send() or .json(). For example:
res.status(500).send({ error: error.toString() });

This ensures that the client receives an appropriate response code and error message. [important]

relevant lineres.send('error', error);


First document type save doesn't work

The first time you try to save the SEO settings in the document type, it'll fail if you haven't filled in the ChangeFrequency for the sitemap. It gives an error stating that NULL is not allowed for the ChangeFrequency column in the database.
Probably just making that field nullable is the best.

Fixed by https://github.com/patrickdemooij9/SeoToolkit.Umbraco/pull/60


[Bug] fix using clause npe

Proposed changes
Issue Number: close #7953
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes)
Has unit tests been added: (No Need)
Has document been added or modified: (No Need)
Does it need to update dependencies: (No)
Are there any changes that cannot be rolled back: (No)

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

HI @qzsee , Could you please add the case you described in #7953 to the QueryPlanTest.java?

HI @qzsee , Could you please add the case you described in #7953 to the QueryPlanTest.java?

done

Hi @qzsee , sorry for the late reply.
Please rebase the master to resolve the conflict.

hi @qzsee , looks like you did something wrong with the rebase?

hi @qzsee , looks like you did something wrong with the rebase?

Sorry ，Now is ok


npm link fails

Following these instructions.
Trying to create the inital global link (in user home dir) of awsm-images:
~/t/jaws ❯❯❯ cd awsm-images
~/t/j/awsm-images ❯❯❯ npm link                                                                                master
|
-
><EMAIL_ADDRESS>postinstall /Users/jacob/tmp/jaws/awsm-images
> jaws postinstall awsm-images npm

{ [JawsError: Must be in a JAWS project]
  name: 'JawsError',
  message: 'Must be in a JAWS project',
  messageId: 12 }

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "link"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>postinstall: `jaws postinstall awsm-images npm`
npm ERR! Exit status 12
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'jaws postinstall awsm-images npm'.
npm ERR! This is most likely a problem with the awsm-images package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     jaws postinstall awsm-images npm
npm ERR! You can get their info via:
npm ERR!     npm owner ls awsm-images
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/jacob/tmp/jaws/awsm-images/npm-debug.log

5360 info<EMAIL_ADDRESS>Failed to exec postinstall script
5361 verbose stack Error<EMAIL_ADDRESS>postinstall: `jaws postinstall awsm-images npm`
5361 verbose stack Exit status 12
5361 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
5361 verbose stack     at EventEmitter.emit (events.js:110:17)
5361 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
5361 verbose stack     at ChildProcess.emit (events.js:110:17)
5361 verbose stack     at maybeClose (child_process.js:1015:16)
5361 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
5362 verbose pkgid<EMAIL_ADDRESS>5363 verbose cwd /Users/jacob/tmp/jaws/awsm-images
5364 error Darwin 14.5.0
5365 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "link"
5366 error node v0.12.7
5367 error npm  v2.11.3
5368 error code ELIFECYCLE
5369 error<EMAIL_ADDRESS>postinstall: `jaws postinstall awsm-images npm`
5369 error Exit status 12
5370 error Failed at the<EMAIL_ADDRESS>postinstall script 'jaws postinstall awsm-images npm'.

There seem to be 2 problems:

When using npm link in the module directory, it seems NPM runs the pre/postinstall scripts. Despite the error, the module is linked anyway.

When using npm link awsm-images inside your project, the postinstall script is fired, but it runs within the module's directory and not within the project.

For both problems we need to figure out how we can determine the project's directory. For the first problem we could do nothing if no project directory is found. For the second problem, we need to switch the working directory before executing the tasks. When I output the working directory of the postinstall task, this appears to be the physical path of the module, not the location of the symbolic link. This makes it hard to fix. I will try to investigate further!
For now, until we find a solution, I would recommend to leave out the postinstall config in your package.json and run the jaws postinstall awsm-images npm by hand after linking the module in your project.

@ac360 @doapp-ryanp this might be a reason to build a tiny wrapper around NPM for installing/updating modules? Otherwise I'm afraid this is quite hard to solve.

First off thanks for bringing this up. I have an idea. I can write code in the post install hook to check to see if the just installed module is in the Global NPM path and maybe even check the timestamp and version. If that is the case I will suppress the error and potentially not run some of the merging.
I really want to avoid at all costs not having to write wrappers around package managers as that is not only going to be there prone but yet another thing we'll have to make sure we keep forwards and backwards compatible going forward which is never fun. eyesI missing here? I won't get to this till next week unless someone else wants to take a stab at the proposed algorithm above.

The mobile web screwed up my input box for some reason. I meant to say does anyone see any angles that I am missing here?

Well, the second problem might be the hardest to solve. When linking the module from your project, NPM runs the postinstall script within the module's directory. From there it seems impossible to determine from within which project the npm install command is fired, because the working directory is the physical path of the module and not the linked path within node_modules.
Any thought on this? If we can think of a solution, I'm willing to do some implementing in the next few days!

@joostfarla Both myself and @doapp-ryanp are out promoting JAWS @ Re:Invent this week.  If you can come up with a fix for this, we would be eternally grateful.  We're a bit out of commission at the moment and it is unfortunate we will be promoting JAWS while this critical feature is broken.

@ac360 @doapp-ryanp first of all, good luck @ re:Invent!! Let's hope this will create a lot of buzz around the project. I'll try to help wherever I can while you're out!
The linking & postinstalling seems to work well when using a normal npm install. This is due to the fact that, in this case, the install command is run within the project directory as the current working directory. This is different than the link command, which runs the install command within the module directory. Unfortunately, I can't figure out a way to determine the originating project directory from there, so that's a real problem.
I see 2 possible solutions for now:

Remove the jaws postinstall command from the scripts section in package.json. After all, this seems to be meant for running post scripts which reside inside the module's repository. This would mean the jaws postinstall command has to be run by hand after running npm install (which has to be documented). I we want this, we have to fix this ASAP, so people build modules the right way. Optionally, to simplify this in the future, some small wrapper around npm (or for other platforms) could be built.

In the postinstall script, check if it is run from within a project directory (simply check if the parent directory is node_modules). If not, do nothing. This means the postinstall command is automatically triggered when using npm install, but has to be run by hand when using npm link.

I would opt for the first option, because this doesn't involve workarounds of any kind. This seems to me like the most flexible and future-proof solution.
Please let me know what you think! I would be happy to submit some PR's to fix this soon.
Small sidenote: Shouldn't the CLI command be called jaws module postinstall instead of jaws postinstall?

Just thought this over and I changed my mind on what's best for now. I'll submit a PR for option 2 right away! We can always deprecate this in the future if we come up with something better.

Even when following this updated guidance I cannot seem to get my AWSM module to install in a JAWS project:
$ npm link awsm-sierraecg
<EMAIL_ADDRESS>../.node/lib/node_modules/awsm-sierraecg
/Users/xyz/sierraecg/node_modules/awsm-sierraecg -> ../.node/lib/node_modules/awsm-sierraecg -> /Users/xyz/.node/lib/node_modules/awsm-sierraecg
$ jaws postinstall awsm-sierraecg npm
JAWS: Copying /Users/xyz/sierraecg/node_modules/awsm-sierraecg/awsm to /Users/xyz/sierraecg/aws_modules/sierraecg
{ [Error: ENOENT: no such file or directory, lstat '/Users/xyz/sierraecg/aws_modules/awsm-sierraecg']
  errno: -2,
  code: 'ENOENT',
  syscall: 'lstat',
  path: '/Users/xyz/sierraecg/aws_modules/awsm-sierraecg' }

It seems to strip the awsm- qualifier causing downstream calls to fail.

My local install doesn't seem to strip out the awsm prefix for the module.
!~/t/j/jaws-N1PJWSo1e * ❯❯❯ ls aws_modules
awsm-users

I recall when I accidentally deleted the aws_modules folder, the postinstall process did not recreate it for me and I did have a difficult time with postinstall

@dekz @sixlettervariables You shouldn't need the awsm- prefix in both package.json and awsm.json anymore. I think this was resolved with https://github.com/jaws-framework/JAWS/pull/224
Let me know if you're still having issues.


attempt to fix compile problem

@danielskatz thanks for the fix! interestingly, this compiled using all three methods suggested in readthedocs. i'm merging right now.


Core: make MusicBrainz pipeline optional

MusicBrainz pipeline will now run after 'isProcessed' flag is set, so it will
not delay song recognition.
Fixes #1156

Now playing notifications can be displayed w/o a coverart, because the coverart can be fetched by MusicBrainz pipeline stage after nofification is created.
There's an ability to listen changes of Song object fields, but I don't know how to mix it and wait timeout (I think it's should be done anyway) atm.

This still valid?

The issue is not reproducible, so i'll close the PR.


OOBE - Old Settings UI style on KBM preview

Microsoft PowerToys version
"0.45 RC"
Running as admin

[ ] Yes

Area(s) with issue?
Welcome / PowerToys Tour window
Steps to reproduce
Open the OOBE window, and navigate to the Keyboard Manager preview page. Verify the preview screenshot / animation still uses the old UI style.
✔ Expected Behavior
UI Style up to date in the preview.
❌ Actual Behavior
Old UI Style is used in the preview.
Other Software
No response

Resolved with the release of v0.45.


List all accounts in the service

As a service consumer
I need to list all accounts in the service
So that I can view all available accounts
Details and Assumptions
All accounts are visible and accessible depending on the authorization level.
Acceptance Criteria :
Given I am authorized
When I request to list all accounts
Then I should receive a list of all accounts


fail to deploy the theme in netlify

Do you know what's the possible issue?
Here's the link.
https://unruffled-feynman-74e24f.netlify.com/
Thanks for your contribution and help

Yes this should have been fixed. See this commit for the code you need to change, or just pull the latest master branch. https://github.com/JugglerX/hugo-whisper-theme/commit/eeab26acd11ff6bbf633ffe6e3209e5c9a9ba89a

Thanks for your reply. Have a nice day.


[NO MERGE] Add support for Bulk Queries and PK Chunking

Reference: https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_using_bulk_query.htm
Add support to perform bulk queries with an option to include "PK Chunking". This will create a background job on Salesforce to perform a SOQL query. Upon polling for the completion of the job, the results are fetched and combined.
Currently blocked until the following PRs from springml/salesforce-wave-api are merged and released:
https://github.com/springml/salesforce-wave-api/pull/6
https://github.com/springml/salesforce-wave-api/pull/7
https://github.com/springml/salesforce-wave-api/pull/8
https://github.com/springml/salesforce-wave-api/pull/9
Also blocked until the following PR is merged:
https://github.com/springml/spark-salesforce/pull/29

@k4jiang  - Could you please rebase this PR and resolve the conflicts?


VW: match panda standstill check

@jyoung8607 do you have any desire of taking this over and finishing it? I think it just needs some verification that the thresholds are correct in openpilot and panda. Ideally we can just check if vEgoRaw == 0, but I'll have to check data to see if VW has any noise wheel speed sensor issues

Sure, I've added it to my list. The thresholds should match and the wheels we check should match; right now we're only checking the front two wheels in Panda.
I don't think our wheel speed sensor outputs are noisy. The reason I set standstill at 0.1m/s is that we start seeing EPS faults if we try to steer much closer to zero. If there are other desirable reasons for standstill to reflect exactly vEgoRaw = 0, I could add a separate condition to prevent steer below 0.1m/s, but I don't know of a reason at this time.

In the lat controller classes, we have a variable that stops steer at 0.3 m/s, I've been meaning to make that common. It doesn't make sense for the lat controller to output 0 torque and stop steering, but keeping that apply bit high (with latActive) for a little while longer.

Your question is timely in light of #26694. I've been pondering the most correct fix. In light of the MIN_STEER_SPEED in latcontrol, I thought it was kind of pointless to track the involved firmware and that I should just go ahead and raise all VW minSteerSpeed to 0.3 m/s. But, I wasn't in love with the idea of VW having unique lateral shutoff handling.
Your proposal to do this globally makes intuitive sense to me. We'll have to go around and suppress unnecessary low speed steering alerts in all car ports, make sure we round down to zero for docs generation, make sure tests don't explode, etc. I'm happy to do it, but I may not be able to get to it until this weekend.
Assuming that change is accepted, I can't immediately think of any reason not to set the VW standstill speed to zero.

I had in mind something even easier. Instead of changing the minSteerSpeed on the interface level, change it on the controls level (both are global). That way docs and alerts aren't affected

Jinx :) was in the middle of an edit. Agreed that should probably do the job.

Merged https://github.com/commaai/openpilot/pull/26805 so this PR should be good to go! @jyoung8607


Create indicator to show content is syncing

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

This project will add a syncing indicator to the User icon in order to show that the app is still refreshing with the most recent information.
You'll use a pre-existing Onyx key to hook into the API loading state (relevant API information here) and display a syncing indicator on the User icon as per the Expected Results below.
Expected Result:
While the app is syncing, the small green availability indicator (AvatarWithIndicator) should grow in size and a small syncing icon should appear:

When the loading is complete, the icon should return to a regular green dot.
Actual Result:
Currently, there is no UI change when the app is syncing.
Action Performed:

Install and log into the Expensify.cash mobile app
Close the app and wait long enough that new information should need to sync
Open the app to observe the behaviour that is occurring while syncing

Platform:
Where is this issue occurring?

[x] Web
[x]  iOS
[x]  Android
[x]  Desktop App
[x]  Mobile Web

Version Number: v.1.011
Logs: N/A
Notes/Photos/Videos:
Additional context from original issue: when I open up the mobile app it shows that I'm connected and shows all of the content downloaded locally which is great, but I always know I need to wait a couple seconds because it's in the process of synchronizing down new content. It would be nice if it shows some kind of feedback indicating that it is in the process of actively reconnecting, so I know when I can stop waiting. I'm thinking some kind of animation around the Green Dot, or even just making the Green Dot blink or something. At this point the app is functional and you can click around, but its content is potentially out of date. I wouldn't want to introduce additional seconds into the startup process while waiting to complete synchronization.
Expensify/Expensify Issue URL: https://github.com/Expensify/Expensify/issues/159767
View all open jobs on Upwork

We're ready to go here.

Upwork post: https://www.upwork.com/jobs/~0164f5c49a5af1701f

Proposal

We will modify the SidebarLinks to Listen on the new ONYX key IS_LOADING_AFTER_RECONNECT here.
https://github.com/Expensify/Expensify.cash/blob/53acb9ce968a9ea3007302e3debb8b2d9a345ebb/src/pages/home/sidebar/SidebarLinks.js#L177
Then we modify the AvatarWithIndicator as following:
a) Add a new prop isSyncing which will be true based on the ONYX key IS_LOADING_AFTER_RECONNECT.
b) We now add the new icon whenever isSyncing is true here https://github.com/Expensify/Expensify.cash/blob/53acb9ce968a9ea3007302e3debb8b2d9a345ebb/src/components/AvatarWithIndicator.js#L42.
c) we also apply styling to the indicator dot to suffice the design changes.

Questions

Do we need to animate the icon?

Triggered auto assignment to @Luke9389 (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.


feature request: support alternate project layouts

godep holds a strong opinion about how the source tree of a project is managed. See https://groups.google.com/forum/#!topic/golang-nuts/8NJq6jTIpas. Like Frank, our repository contains the entire source tree (and more). This allows ut do have a company-wide Makefile that implements various policies and procedures useful to our workflow, and allows stuff related to the project to be stored in the same git repo (ex: Vagrantfiles).  Also, we have a policy where all of our code must use the same dependencies.
In summary, this is our git repository structure:
/
/ops
/go
/go/src/company.com/proj1
/go/src/company.com/proj2

godep is incompatible with this structure. Example: cd go/src/company.com && godep save will fail with a "directory ../x/y/z/go is not using a known version control system", probably because /go is not the top-level directory of the repository.
godep has all of the other features we'd like in a dependency management system, but changing our model to support its requirements is too constraining for us. My request is that godep be adapted to support this pattern.

#108 is merged and may fix this.


Updating description for a feed does not trigger dirty flag

Seems to be hard to recreate, only seen it affect feeds, but then successive updates have worked correctly

Just for the record, figured this out that pasting text into the box does not trigger the dirty flag. Not worth fixing, new UI will not behave this way


ExternalMemory tests fail on AMD

ExternalMemory layer positive test fails on AMD (Radeon Software 17.11.1):

tests\vktestbinding.cpp(403): error: Failed
Assertion: vkAllocateMemory(dev.handle(), &info, 0, &handle) == VK_SUCCESS' C:\Dev\_GitHub\Vulkan-LoaderAndValidationLayers\tests\vktestbinding.cpp(483): error: Failed Assertion: vkBindBufferMemory(device(), handle(), mem.handle(), mem_offset) == VK_SUCCESS'
C:\Dev_GitHub\Vulkan-LoaderAndValidationLayers\tests\layer_validation_tests.cpp(368): error: Failed
Expected to succeed but got error: vkBindBufferMemory: required parameter memory specified as VK_NULL_HANDLE
tests\layer_validation_tests.cpp(368): error: Failed
Expected to succeed but got error: vkCmdCopyBuffer(): VkBuffer object 0x2 used with no memory bound. Memory should be bound by calling vkBindBufferMemory(). The spec valid usage text states 'If srcBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCmdCopyBuffer-srcBuffer-00119)

Fixed by #2215.


Command line arguments

Can you please provide command line args to override config params for the timeline? I will invoke this tool periodically, and changing config file programmatically each time is less than ideal. Doable, of course. But ugly.
Can you please make the output name configurable via command line? Current way of auto-creating filenames is not very programmer friendly.

Hey @bulutcambazi sorry seeing this a million years later


Avoid collisions in cs files generated by Grpc.Tools

Just an experiment for now.

Adhoc artifact build: https://sponge.corp.google.com/invocation?id=85d55e0a-0188-4d42-92c3-d4cacb8ecc20&searchFor=

CC @Falco20019  this is my first experiment to fix https://github.com/grpc/grpc/issues/17672 (haven't tested it yet).

Current version gives obj/Debug/net45/da39a3ee5e6b4b0d/ : error : No such file or directory [/var/local/git/grpc/test/distrib/csharp/DistribTest/DistribTestDotNet.csproj] because --csharp_out and --grpc_out don't create the subdirectories automatically.

Superseded by #22869


[MAINT] Dropping checks for Python 3.8 in NetworkX checks

Fixes #79
Changes proposed in this pull request:

Bumped up the Python version in main.yml

Before submitting

[ ] I've read and followed all steps in the Making a pull request
section of the CONTRIBUTING docs.
[ ] I've updated or added any relevant docstrings following the syntax described in the
Writing docstrings section of the CONTRIBUTING docs.
[ ] If this PR fixes a bug, I've added a test that will fail without my fix.
[ ] If this PR adds a new feature, I've added tests that sufficiently cover my new functionality.

After submitting

[ ] All GitHub Actions jobs for my pull request have passed.

@aryan26roy there were some additional fixes I wanted to add regarding GH actions.
I am now also adding some fixes to the CircleCI.
Feel free to take a look and then once circleCI gets fixed, we can merge this.

Sure, sounds good to me. Although for some reason the doc test is failing.

Thanks @aryan26roy


Update overview.md

Geo backup is not supported currently globally.

@ktoliver - we can close this since our documentation was released before the feature but it is all aligned now


More customizable axios options.

Add some options to update the AxiosRequestConfig and AxiosResponse types.
Like:
{
  output: {
    axiosRequestType: 'CustomAxiosType',
    axiosResponseType: 'CustomAxiosResponse'
  }
}

This should be very simple and fast to do.
Thanks!

Hello @arthurfiorette, why do you need that?

Lol, seems that I forgot about this issue and opened another one :)
#381


add bigint, curve, fq.cairo in Starkacy

add the lokum repo to Starkacy
add bigint, curve, fq
add "add and sub" functions in fq

Finish implementing FQ for Lokum and add tests


Prevent fields being listed in required that are not in properties

Is your feature request related to a problem? Please describe.
The required list of fields in a schema can get out of sync with the fields actually present in the schema's properties list.
This is less likely to occur when the schemas are generated from the application, but more likely in an API-first approach when there app is built from the spec.
Describe the solution you'd like
Passive check that detect a name in required that isnt in properties.
Describe alternatives you've considered
While this is less about "is the API working correctly", but is the API consistent with itself.
Additional context
Provided this feature is desirable in cherrybomb, I could take this one on as it is a simple check.

This is an interesting suggestion, we'll review and and create one if we decide it aligns with cherrybomb's current goals.
BTW, do you want to maybe build this check? you can fork the repo and one of us can hop into a call with you to help you get started.

ya I wrote above

I could take this one on as it is a simple check.

I feel like I could get this done on my own - small and simple


Find items to display from recipe api

Calories, prep time, etc...

Calories
Prep-time
Photo (if available)
Url to recipe


treewide: Disable automatic argparse argument shortening

Disables allowing the python argparse library from automatically shortening command line arguments, this prevents issues whereby a new command is added and code that wrongly uses the shortened command of an existing argument which is the same as the new command being added will silently change script behaviour.
Fixes #53495

[X] Scripts updated
[X] Script invocations updated
[ ] Release notes added
[X] RFC treewide change email sent
[ ] Architecture working group discussed

@stephanosio would it be possible to run a full CI on this (the weekly one) just to check as best as possible that it hasn't left anything broken?

@stephanosio would it be possible to run a full CI on this (the weekly one) just to check as best as possible that it hasn't left anything broken?

One of the reasons that we run "full CI" on bi-weekly basis rather than daily or per PR is that it is very expensive to run.
Unless there is a very good reason as to why this PR needs to be treated specially, the full CI run should be run on schedule after it is merged -- if anything is broken, either this can be reverted or hotfixes can be provided.

Unless there is a very good reason as to why this PR needs to be treated specially, the full CI run should be run on schedule after it is merged -- if anything is broken, either this can be reverted or hotfixes can be provided.

I think code in zephyr is OK, but what I'm concerned about is scripts in and/or being called by other repos e.g. HAL modules, can wait for a full run though.

Compliance issues are from existing code which is unchanged in this PR.

Architecture WG:

Requires an addition in the release notes
Requires a pylint custom rule to verify this during compliance on PR
No objections during the meeting

Added a pylint checker for this, but unsure of how to call it, according to the docs https://pylint.pycqa.org/en/latest/development_guide/how_tos/custom_checkers.html it needs to either be a full python package or in the PYTHON_PATH - so how would the python path be updated for the CI build to include the additional directory?
Also used 99 for the base group because their documentation just says it needs to be unique and not conflict with any of their base groups without listing what they are, so 99 seems like a safe bet.

@fabiobaltieri can you merge this overriding the compliance check?

@fabiobaltieri can you merge this overriding the compliance check?

Nope, looks like it's marked as required, I have no permissions to bypass it. @carlescufi can you do it?


Namespace fix

Resoves #30 by splitting the regex on the . character to extract the namespace

@tfuda I observed that it failed again. Let me take a look at this.

@pmedapuram I believe you handled this change in your other PR(s). Can you please confirm?
If yes, we can close this PR

@dragon0556 please follow up with @pmedapuram to see if this should be closed
@ashwin512 FYI


Fix 'function not defined' error

Purpose
Fixes #20871

Codecov Report

Merging #20872 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #20872   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1398     1398
  Branches      214      214
=======================================
  Hits          204      204
  Misses       1178     1178
  Partials       16       16

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 fa24826...a342744. Read the comment docs.

We need to add more test cases for other types. Please create an issue to track this.


absolute stream path: fix slow regex

closes #717
@bkojusner please review

Great catch! Implementation works locally and documentation is clear. LGTM


Codecov: remove token, turn off CI failure

See also: netobserv/network-observability-console-plugin#531
Also, align the workflow file with other repos

/lgtm

/approve


Publish package

Add CD step for dev branch.
Publish package on pypi and github

Create releases on github, action will publish on pipy


New package: CurvilinearGrids v0.1.0

Registering package: CurvilinearGrids
Repository: https://github.com/smillerc/CurvilinearGrids.jl
Created by: @smillerc
Version: v0.1.0
Commit: d4acdd2f1ad562f22b57fd4367f00e1c5922c509
Reviewed by: @smillerc
Reference: https://github.com/smillerc/CurvilinearGrids.jl/commit/d4acdd2f1ad562f22b57fd4367f00e1c5922c509#commitcomment-128143839
Description: A Julia library for working with curvilinear grids

Please make sure to add some documentation before registering. At a minimum, this would be an explanation of the package’s purpose and a usage example, in the README

[noblock] Thanks for adding the documentation! Unblocking.


Improve performance of dask.array.shape

What happened:
dask.array.ndim is a very common call in xarray. ndim is dependent on dask.array.shape that loops through the chunks and calls cached_cumsum, this appears to be rather expensive.
What you expected to happen:
Since chunks doesn't change all the time I expected shape to be cached and very fast.
Minimal Complete Verifiable Example:
You'll probably find worse offenders if you don't have the changes from https://github.com/pydata/xarray/pull/4740 but if you profile and check what's going on during the interpolation you should see it:
import xarray as xr
import numpy as np
import dask.array as da

a = np.arange(0, 2000)
b = np.core.defchararray.add("long_variable_name", a.astype(str))
coords = dict(time=da.array([0, 1]))
data_vars = dict()
for v in b:
    data_vars[v] = xr.DataArray(
        name=v,
        data=da.array([3, 4]),
        dims=["time"],
        coords=coords
    )
ds0 = xr.Dataset(data_vars)
ds0 = ds0.interp(
    time=da.array([0, 0.5, 1]),
    assume_sorted=True,
    kwargs=dict(fill_value=None),
)

Anything else we need to know?:
Current implementation in the Array class:
    @property
    def shape(self):
        return tuple(cached_cumsum(c, initial_zero=True)[-1] for c in self.chunks)

I was able to halve the time of ndim by caching the shape like this:
    @property
    def shape(self):
        chunks = self.chunks
        if self._cache.get("shape_chunks_old", None) != chunks:
            self._cache["shape_chunks_old"] = chunks
            self._cache["shape"] = tuple(cached_cumsum(c, initial_zero=True)[-1] for c in chunks)

        return self._cache["shape"]

Related issues:

https://github.com/pydata/xarray/issues/4739
https://github.com/pydata/xarray/pull/4740

Environment:
Output of xr.show_versions()

xr.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.8.5 (default, Sep  3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]
python-bits: 64
OS: Windows
OS-release: 10
libhdf5: 1.10.4
libnetcdf: None
xarray: 0.16.2
pandas: 1.1.5
numpy: 1.17.5
scipy: 1.4.1
netCDF4: None
pydap: None
h5netcdf: None
h5py: 2.10.0
Nio: None
zarr: None
cftime: None
nc_time_axis: None
PseudoNetCDF: None
rasterio: None
cfgrib: None
iris: None
bottleneck: 1.3.2
dask: 2020.12.0
distributed: 2020.12.0
matplotlib: 3.3.2
cartopy: None
seaborn: 0.11.1
numbagg: None
pint: None
setuptools: 51.0.0.post20201207
pip: 20.3.3
conda: 4.9.2
pytest: 6.2.1
IPython: 7.19.0
sphinx: 3.4.0

On Python 3.8+, this could use functools.cached_property

On Python 3.8+, this could use functools.cached_property

I gave functools.cached_property a try and with that implementation it reduces the time by 1/3. It's looking quite good to be honest, and it can very easily be added to other popular properties as well significantly lowering total calculation time. Xarray could probably use the same thing as now similar calculations are creeping up as the bottleneck in my test cases.
One caveat about the cached_property is that if the chunks updates for some reason it will eagerly trigger a shape calculation as well even though I did not want to know the shape then. I haven't managed to make it lazier without having to rethink cached_property though.

I gave functools.cached_property a try and with that implementation it reduces the time by 1/3. It's looking quite good to be honest, and it can very easily be added to other popular properties as well significantly lowering total calculation time. Xarray could probably use the same thing as now similar calculations are creeping up as the bottleneck in my test cases.
One caveat about the cached_property is that if the chunks updates for some reason it will eagerly trigger a shape calculation as well even though I did not want to know the shape then. I haven't managed to make it lazier without having to rethink cached_property though.


SSL failure in Gatling

Describe the bug
I have downloaded snapshot 10 of the benchmark
I am runnning Keycloak 21.1 on Amazon Linux3 (ARM)
I have a self singed cert in   /usr/local/keycloak/conf/server.keystore
Keycloak uses this CERT happily
Now I  git clone https://github.com/keycloak/keycloak-benchmark
and  mvn -f benchmark/pom.xml clean install
This runs OK
I get a build in /root/.m2
BUT, the gatling config files know nothing about my keystore to I open up the jar and edit the SSL sections to read
ssl {
useOpenSsl = true                    # if OpenSSL should be used instead of JSSE (only the latter can be debugged with -Djavax.net.debug=ssl)
useOpenSslFinalizers = false         # if OpenSSL contexts should be freed with Finalizer or if using RefCounted is fine
handshakeTimeout = 10000             # TLS handshake timeout in millis
useInsecureTrustManager = true       # Use an insecure TrustManager that trusts all server certificates
enabledProtocols = []             # Array of enabled protocols for HTTPS, if empty use Netty's defaults
enabledCipherSuites = []          # Array of enabled cipher suites for HTTPS, if empty enable all available ciphers
sessionCacheSize = 0              # SSLSession cache size, set to 0 to use JDK's default
sessionTimeout = 0                # SSLSession timeout in seconds, set to 0 to use JDK's default (24h)
enableSni = true                     # When set to true, enable Server Name indication (SNI)
keyStore {
type = "jks"      # Type of SSLContext's KeyManagers store, possible values are jks and p12
file = "/usr/local/keycloak/conf/server.keystore"      # Location of SSLContext's KeyManagers store
password = "secret"  # Password for SSLContext's KeyManagers store
algorithm = "PKIX" # Algorithm used SSLContext's KeyManagers store, typically RSA
}
trustStore {
type = ""      # Type of SSLContext's TrustManagers store, possible values are jks and p12
file = ""      # Location of SSLContext's TrustManagers store
password = ""  # Password for SSLContext's TrustManagers store
algorithm = "" # Algorithm used by SSLContext's TrustManagers store, typically RSA
}
}
I rebuild the jar file  in /tmp and
cp /tmp/new.jar /usr/local/keycloak-benchmark-0.10-SNAPSHOT/keycloak-benchmark-0.10-SNAPSHOT/lib
However, when I run I get a gatling error saying SSL isn,t enabled.
HELP!!!
Please
Thanks
cd /usr/local/keycloak-benchmark-0.10-SNAPSHOT/keycloak-benchmark-0.10-SNAPSHOT
./bin/kcb.sh --scenario=keycloak.scenario.authentication.AuthorizationCode -Djavax.net.ssl.keyStore=/usr/local/keycloak/conf/server.keystore -Djavax.net.ssl.keyStoreType=jks -Djavax.net.ssl.keyStorePassword=secret --server-url=https://<IP_ADDRESS>:8443   --realm-name=LOAD --username=admin --user-password=XXXXXX
20:49:12.459 [INFO ] a.e.s.Slf4jLogger - Slf4jLogger started
Target servers: [https://<IP_ADDRESS>:8443]
Scenario:
Name: keycloak.scenario.authentication.AuthorizationCode
Population:
realms: 1
users-per-realm: 1
clients-per-realm: 1
realm-name: LOAD
username: admin
user-password: XXXXXX
Runtime:
users-per-sec: 1.0 (Open Workload Model)
ramp-up: 5
warm-up: 0
measurement: 30
user-think-time: 0
refresh-token-period: 0
Service Level Agreements:
Max Error Percentage: 0.0
Max Mean Response Time: 300
Timestamps:
Start: 20:49:12
Warm-Up Start: 20:49:17
Measurement Start: 20:49:17
Measurement End: 20:49:47
20:49:12.996 [ERROR] i.g.h.u.SslContextsFactory - OpenSSL is enabled in the Gatling configuration but it's not available on your architecture.
Simulation keycloak.scenario.authentication.AuthorizationCode started...
Version
21-1
Expected behavior
I expect the Gatling tests to run
Actual behavior
I get an SSL not available error
How to Reproduce?
The steps are olutline above
Anything else?
No response

The error message

OpenSSL is enabled in the Gatling configuration but it's not available on your architecture.

indicates that you have enabled OpenSSL in the configuration when it is not available on the host you're running it on.
Either install OpenSSL on the system you're running Gatling on, or switch to useOpenSsl = false.


The calculated value seems to be different from the value inside the signdata.contentinfo

filemd5: 6ca0e567d6c2d6508b350d727b30e607
calculated result: dd371112f957f650a22303b403abd6a9426a1b584785f214097f9702600a6801
contentinfo authenticode hash: d46cea20a0a347850242069e3d6b4c646c16a4bb50ca98d158188c6208b3d5bc
but windows pass the check

So what is your question here?

So your calculation and Windows should have one is wrong

Your file is https://www.virustotal.com/gui/file/da6235c9e5ff9d5d17120130adfb90db3e83a1f45bd76e7d5ac562620c3419cf
I don't have it and won't bother looking on it if you don't provide actual info what you are talking about.
"signdata.contentinfo"
there are tons of structures with similar fields, I should guess what exactly this by it field name only?
Authentihash for this file is dd371112f957f650a22303b403abd6a9426a1b584785f214097f9702600a6801
Whatever you are looking at it is wrong.


upgrade Leptos to 0.5.0-beta

This is a template for getting started with Leptos 0.5.0-beta and possibly 0.5.x. Nothing else has changed, except for:

Cargo.toml - bump leptos*  version to 0.5.0-beta
Modified cx to match 0.5.0 pre-release note. See here

Usage
See leptos/start

Thanks, done after 0.5 release.


recently came across (eclipse layout kernel)

Hi.
Thank you so much for doing this amazing work. The links alone saved me a ton of time and i am sucker for layouts in all forms and shapes :-)
In my search for graph layout algorithms, I recently came across https://www.eclipse.org/elk/ and felt i should share with you . I might be able to port it to go once i need it or on a side project . Do you think it is already covered or its an additional one ? I saw that elk mentions it is based on Sugiyama work.
Best Regards

oh, absolutely. ELK looks beautiful. Do they use Graphviz inside or implemented everything themselves? I like that they solved ports; level assignment; positioning in levels; coordinate (x-assignment) within layers. It would be very nice to port/re-implement this to Go.
Yeah, if it is layered graph layout, chances are it is related to Sugiyama.
From my experience dealing with these algorithms, it is lots of effort to make it work. So I would rather share credits with all co-authors!
The plan of attack I propose is to fork my repo. This is just so signatures more-or-less same and architecture. Then independently port some important algo, for example x-coordinate assignment in layer. Why this algorithm? I think last time I worked on this problem layer assignment and ordering worked okay but x assignment did not work, this is  "Brandes-Köpf".
If you have tests available in code, or in paper, I would highly recommend integrating them early on into coding (TDD style). When I worked on treemap algorithms it helped a lot. I suspect here would help too.
You may also need something to  "see" and get "feel" if algo works. I previously implemented small WebAssembly UI (but deleted it later) to render and play with parameters. I recommend output in SVG (some basic code is in /svg folder). If you want to pan-and-zoom code, recommend go-svg-panzoom (I ported some JS into Go) for this. Else recommend making Makefile with lots of commands to test out parameters. Note of caution tho, don't over complicate UI. My mistake last time I was working on this project UI slowly merged with "business" graph logic and was very-very hard to split it back to something normal and working. Recommend either simple UI or just Make file with lots of CLI invocations.
Later we can make GitHub Organization and merge all code together there of this repo and yous repo. Don't worry too much if code diverges, we can reconcile. I am also planning to bring this project to some degree of completeness (at least can render something nice like ELK on front page). But that would take some months.


Added new exercise 'armstrong-numbers'

This solution is uglier than the Python one as in Java Char.toInt() gives the ASCII number not the digit value therefore Character.numbericValue() (or c-'0') has to be used. Also Kotlin lacks a Int.pow() method (KT-8248) so we have Math.pow() and BigInteger.pow(). The former insists on using Doubles and I didn't like using possibly inaccurate floating point just for this.

@lathspell it looks like unkock-condition is incorrect

-> The exercise 'armstrong-numbers' is being unlocked by a non-core exercise. Non-core exercises can only be unlocked by core exercises.


util: send metrics in a background thread

Performance of the metrics is improved by 27%.
Benchmark:
$ cargo bench
test tests::bench_single_thread_new_buffer_udp   ... bench:         160 ns/iter (+/- 40)
test tests::bench_single_thread_old_buffer_udp   ... bench:         218 ns/iter (+/- 4)

# 3 threads send 15000 metrics concurrently.
$ cargo bench
test tests::bench_multi_thread_new_buffer_udp    ... bench:   4,737,403 ns/iter (+/- 266,298)
test tests::bench_multi_thread_old_buffer_udp    ... bench:   6,540,073 ns/iter (+/- 1,081,465)

Hi @overvenus
I think if you want to support async metric, maybe scheduling the metric directly to worker, letting the worker cache the metric and then sending it may be easy.
Maybe we can bench this implementation too.

@siddontang Scheduling every metric to worker is slower.
Benchmark:
$ cargo bench bench_single_thread
     Running target/release/bench_metric-b6de8d742c9d8b0f

running 4 tests
test tests::bench_single_thread_async_udp    ... bench:         383 ns/iter (+/- 149)
test tests::bench_single_thread_block_udp    ... bench:       5,540 ns/iter (+/- 154)
test tests::bench_single_thread_buffer_udp   ... bench:         219 ns/iter (+/- 3)
test tests::bench_single_thread_nonblock_udp ... bench:       5,523 ns/iter (+/- 231)

test result: ok. 0 passed; 0 failed; 0 ignored; 4 measured

AsyncMetric gist

Cool, LGTM

PTAL @ngaut @BusyJay

LGTM


Support application hot release

esockd not support just kill port,  connection not closed, this pr add two function support application dynamic release

@zmstone


Does it work for PRs from forks?

Currently, GitLab CI is not triggered for PRs from GitHub forks, see https://gitlab.com/gitlab-org/gitlab/issues/5667
Would this action allow to integrate PRs from forks?

Not interested anymore, closing!

I would also like to know if this is possible, as it is my main usecase.


cursor page cache

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#38  👈
#37
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @pepyakin and the rest of your teammates on  Graphite


[21pt] Python package updates

We are close to merging PR 1217, which updates OpenJDK, adds some new packages and updates others.
Some of the notable upgrades in 1217, is numba, numpy and xarray. For 1217, those packages have been tested heaviliy and are just fine.
However, a run of pipenv check which reveals vulnerabilities found:
aiobotocore
fiona
jinja2
pyogrio
pyproj
rasterio
It would also be wise to look into other major packages in our use such as pandas, geopandas, pyarrow, and shapely
Please wait until PR 1217 is merged before addressing these. I don't believe they are urgent but keep on the radar.

Update: Aug 9, 2024
Please update boto3 as well. :)  Updating boto3 will likely fix aiobotocore above, but not sure.

Upgrading geopandas from v0.14.3 to v1.0.1 introduced the following (in v1.0.0), requiring some fixes in our repo:
Backwards incompatible API changes:
The sjoin method will now preserve the name of the index of the right
GeoDataFrame, if it has one, instead of always using "index_right" as the
name for the resulting column in the return value.

This will address #1249 (see https://github.com/NOAA-OWP/inundation-mapping/pull/1249#issuecomment-2284479701).