cmd/go: SSL: certificate verification failed

I was trying to download some tools via go-plus for atom but without success so I tried to run the command manually and this is the output I'm getting:
$ go get -u golang.org/x/tools/cmd/cover
# cd .; git clone https://go.googlesource.com/tools /usr/local/opt/go/src/golang.org/x/tools
Cloning into '/usr/local/opt/go/src/golang.org/x/tools'...
fatal: unable to access 'https://go.googlesource.com/tools/': SSL: certificate verification failed (result: 5)
package golang.org/x/tools/cmd/cover: exit status 128

It works fine on another Mac OSX with pretty much the same specs. Any ideas or pointer? Thanks a lot for your help.

What happens when you run "git clone https://go.googlesource.com/tools" on the node?

@mikioh same.

Please include information in bug reports that would be facilitate debugging. For example:
OS X version?
Go version?
Git version?
Where did you get git from? And Go from? Some packaging system?
Can you run curl https://go.googlesource.com/tools without an SSL warning?

Not needed anymore. I just found the problem. I have the following entry in my .gitconfig because at
work we use ithub enterprise, so I think we should call it a pebkac :(
[http]
    sslcainfo = /Users/marco.debortoli/.certs/enterprise.crt
    sslverify = true

Sorry for opening an almost useless issue and thanks for the help.


Tag releases

Is it possible to start tagging releases? We are looking into integrating a dep tool and having a version to refer to would be really beneficial.

Done

Thank you for quick response!


Move Leave button into a row of the Report Details page

Details

Move the "Share" row into the ChatDetailsQuickActionsBar
Move the "Leave" button out of this component and into it's own row here.
Fixed Issues

$ https://github.com/Expensify/App/issues/40256
PROPOSAL: https://github.com/Expensify/App/issues/40256#issuecomment-2057868506
Tests

Open App
Open any GroupChat or Room
Press on header and open details
Verify that Pin and Share buttons are in ActionBar and leave button is in Menu list at the end

[x] Verify that no errors appear in the JS console

Offline tests

Open App
Open any GroupChat or Room
Press on header and open details
Verify that Pin and Share buttons are in ActionBar and leave button is in Menu list at the end

QA Steps

Open App
Open any GroupChat or Room
Press on header and open details
Verify that Pin and Share buttons are in ActionBar and leave button is in Menu list at the end

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/68128028/a397365a-f058-4e35-9afb-4f16e8dba18e

Android: mWeb Chrome

https://github.com/Expensify/App/assets/68128028/a562c93a-fb49-43fa-a828-54173907b524

iOS: Native

https://github.com/Expensify/App/assets/68128028/19edfc35-d389-4f7f-bd0a-ca8c135fd986

iOS: mWeb Safari

https://github.com/Expensify/App/assets/68128028/48fe4d0e-a8e1-4686-9d87-c566aa8946e8

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/68128028/bd39dc80-c0a2-4f4f-a2e1-ed7c9b23089b

MacOS: Desktop

https://github.com/Expensify/App/assets/68128028/4ab26035-6ab2-4692-afba-5ac6d3a9b1eb

@ZhenjaHorbach ref: https://github.com/Expensify/App/issues/40256#issuecomment-2101654652

@ZhenjaHorbach We will apply ChatDetailsQuickActionsBar for all reports but we will not display pin/unpin option in all reports. Let's keep options as before

For example in admin room, we only display Share button

When migrating to use ChatDetailsQuickActionsBar we also need to ensure that ChatDetailsQuickActionsBar only has Share button

@ZhenjaHorbach Let's wait for the final decision from the design team before moving forward with the PR. Thanks

@ZhenjaHorbach Minor comment and please merge main again. Thanks

@ZhenjaHorbach please check TS error

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@marcaaron Please take a look at this PR when you have a chance

@ZhenjaHorbach found one thing if you can fix it - otherwise, looks great.
Thanks for your patience both @DylanDylann and @ZhenjaHorbach as we had temporarily halted merging of PRs, but now resumed. 🙇

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.79-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[BUG] Build Fails when importing same module in both scripts/layout/theme.js and templates/product.js

Describe the bug
A clear and concise description of what the bug is.
In my theme.js I have several imports. I have two different product templates; product and product.alternate. Because they share the same JS, I've created a module (scripts/modules/product-template.js) and successfully importing into both /scripts/templates/product.js and /scripts/templates/product.alternate.js.
Within the scripts/modules/product-template.js, i'm attempting to import a module that is also imported by /scripts/layout/theme.js
When I add the import to either theme.js or product-template.js, it works, but when I add it to both, the build fails.
Strangely, I have one other shared module that doesn't cause any errors. I've tried making exact copies of it but it doesn't make any difference
I have throughly checked the module and created test modules with the same result.
To Reproduce
Steps to reproduce the behavior:

create a valid/tested 'hello-world' module under /scripts/modules/test.js with export default 'MyTest' for example
import the module 'import MyTest from "../modules/test.js"; to theme.js and also to product.js
run Packer Build
See error

Expected behavior
A build with no errors
Screenshots
` ERROR in SplitChunksPlugin
Cache group "default" conflicts with existing chunk.
Both have the same name "layout.theme" and existing chunk is not a parent of the selected modules.
Use a different name for the cache group or make sure that the existing chunk is a parent (e. g. via dependsOn).
HINT: You can omit "name" to automatically create a name.
BREAKING CHANGE: webpack < 5 used to allow to use an entrypoint as splitChunk. This is no longer allowed when the entrypoint is not a parent of the selected modules.
Remove this entrypoint and add modules to cache group's 'test' instead. If you need modules to be evaluated on startup, add them to the existing entrypoints (make them arrays). See migration guide of more info.
webpack 5.28.0 compiled with 1 error in 6410 ms
C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\cli\commands\build.js:42
if (stats.compilation.errors.length) throw Error('Compile errors');
^
Error: Compile errors
at C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\cli\commands\build.js:42:48
at C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\webpack\lib\webpack.js:132:8
at C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\webpack\lib\HookWebpackError.js:69:3
at Hook.eval [as callAsync] (eval at create (C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\tapable\lib\Hook.js:18:14)
at Cache.shutdown (C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\webpack\lib\Cache.js:150:23)
at C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\webpack\lib\Compiler.js:1104:15
at Hook.eval [as callAsync] (eval at create (C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\tapable\lib\HookCodeFactory.js:33:10), :6:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\tapable\lib\Hook.js:18:14)
at Compiler.close (C:\Users\Q\AppData\Roaming\nvm\v15.6.0\node_modules@hayes0724\shopify-packer\node_modules\webpack\lib\Compiler.js:1102:23)`
System (please complete the following information):

OS: Windows 10
Node Version v15.6.0.
NPM Version 7.4.0
Browser NA

Packer (please complete the following information):

Version 2.1.3 and earlier

Theme (please complete the following information):

Shopify Packer theme - occurs on 2 different custom themes both of which were started from Shopify Packer Theme

This is part of webpack 5 optimization changes, without editing the config you can't share modules between layout and template entry points.

BREAKING CHANGE: webpack < 5 used to allow to use an entrypoint as splitChunk. This is no longer allowed when the entrypoint is not a parent of the selected modules.

This is the Webpack issue and solution
Packer already has a way of dealing with this, in 2.1.5 it will be the default will be false, in previous builds it's set to true so you need to disable it.
packer.config.js
module.exports = {
  'build.sharedBundles': false,
}


Warp versions release note on change log

Proposed changes
https://developers.cloudflare.com/changelog/?
Under the product drop down field, can we add new product field - Warp where users can track
Warp new version's release for Windows, Mac, Linux etc
https://install.appcenter.ms/orgs/cloudflare/apps/<IP_ADDRESS>-macos-1/distribution_groups/release
https://install.appcenter.ms/orgs/cloudflare/apps/<IP_ADDRESS>-windows-1/distribution_groups/release
Subject Matter
Warp versions release note on change log
Content Location
https://developers.cloudflare.com/changelog/?
or
https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/
Additional information
No response

Hey @makotocf - tagged you in the internal ticket where we're tracking this work!


added scroll position lock for sidebar

This change makes the sidebar remember its scroll position when navigating the docs.
This is only useful for sidebars that are long and have their own scroll i.e. if collapsibleSidebar = false

I'm sorry I didn't get back to you earlier. I appreciate your efforts — thanks for that!
But, to speed things up /going forward w/ Doks v0.4.0, I will close your PR and merge #648


Adding: Emma Dann

Onboarding checklist

[ ] add to website
[ ] add to<EMAIL_ADDRESS>google group. Note: the email address used here will also get access to the shared google drive and calendars.
[ ] add to zulip

[ ] @core team
[ ] core-team private channel

[ ] Grant "Leader" trust level on discourse
[ ] add to password manager
[ ] add to github org and scverse/core github team
[ ] announce the new member on twitter

@mikelkou what's the status of things here? I don't see any ticked boxes :)


SSRF payloads for containers running on AWS ECS

Would be good to add to the list...
<IP_ADDRESS>/v2/credentials/GUID
See Level 3 of flaws2.cloud

Done and available at method-for-container-service-fargate


Cannot assign role to application

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az ad app permission add
Errors:
not enough values to unpack (expected 2, got 1)
Traceback (most recent call last):
python3.6/site-packages/knack/cli.py, ln 233, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 664, in execute
    raise ex
cli/core/commands/__init__.py, ln 727, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 719, in _run_job
    return cmd_copy.exception_handler(ex)
...
cli/core/commands/__init__.py, ln 331, in __call__
    return self.handler(*args, **kwargs)
azure/cli/core/__init__.py, ln 816, in default_command_handler
    return op(**command_args)
cli/command_modules/role/custom.py, ln 913, in add_permission
    access_id, access_type = e.split('=')
ValueError: not enough values to unpack (expected 2, got 1)

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az ad app permission add --id {} --api {} --api-permissions {}

Expected Behavior
Environment Summary
Linux-4.19.76-linuxkit-x86_64-with-debian-9.13
Python 3.6.10
Installer: DEB

azure-cli 2.19.1

Extensions:
storage-preview 0.7.0

Additional Context

I'm running the following script and the very last line errors.
serverappname="aaServerApp6"
clientappname="aaClientApp6"

echo "Creating Server Application Called $serverappname"
az ad app create --display-name $serverappname

serverappId=$(az ad app list --display-name $serverappname --query [].appId -o tsv)
echo "$serverappname ApplicationID: $serverappId"

echo "creat service principle for the App"
az ad sp create --id $serverappId

echo "set application ID URI"
az ad app update --id $serverappId --identifier-uris "api://$serverappId"

echo "Assigning Read Role to Server App"
az ad app update --id $serverappId --app-roles @readrole.json

echo "created server app"

echo "Creating Client Application Called $clientappname"
az ad app create --display-name $clientappname

clientappId=$(az ad app list --display-name $clientappname --query [].appId -o tsv)
echo "$clientappname ApplicationID: $clientappId"

echo "creat service principle for the App"
az ad sp create --id $clientappId

approleId=$(az ad sp show --id $serverappId --query "appRoles[].id" -o tsv)

az ad app permission add --id $clientappId --api $serverappId --api-permissions $approleId

The readrole.json file content is
[{
    "allowedMemberTypes": [
      "Application"
    ],
    "description": "description",
    "displayName": "readrole",
    "isEnabled": "true",
    "value": "readrole"
}]

Im trying to create to application registrations. The server app registration with a custom role and a client app registration that is assigned the customer role permission from the server app registration.
As far as I can see on the cos I've set all the correct values, but the error message doesn't give me much.

Graph


Update README.adoc

Update dependencies in Spring Initializr URL from 'cloud-gateway' to 'cloud-gateway-reactive' to support the RouteLocator demonstrated in the code.

Additionally, you could remove this parameter from the link:
&jvmVersion=11
Java 11 is not a valid selection so Spring Initializr defaults to 17 anyhow.  Removing it completely will let Spring Initializr select the version, which is the desired behavior.

Thank you for the review! Modified as per your request.

Thank you for the contribution!

 Happy to give back!
On Tue, May 7, 2024, 21:43 Robert McNees @.***> wrote:

Thank you for the contribution!
—
Reply to this email directly, view it on GitHub
https://github.com/spring-guides/gs-gateway/pull/22#issuecomment-2099080851,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSO2VMAUGMB3GKL4QCFFZDZBEOD5AVCNFSM6AAAAABGYSL6JKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJZGA4DAOBVGE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Unnecessary bg-light removed.

I think, it's better for UX/UI right now.
Before:

After:

Its necessary

anyways rn mcrow is not accepting pr


Error when Duration Endpoints == 24 Hours

Interesting issue when working on #46. Occurs when duration of tummy time (and presumably other duration field endpoints) == 24 hours (the BB maximum value).
2021-11-07 18:03:30 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/home/jcgoette/core/homeassistant/helpers/config_validation.py", line 400, in time_period_str
    hour = int(parsed[0])
ValueError: invalid literal for int() with base 10: '1 00'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jcgoette/core/homeassistant/helpers/update_coordinator.py", line 134, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/home/jcgoette/core/homeassistant/helpers/update_coordinator.py", line 265, in _async_refresh
    update_callback()
  File "/home/jcgoette/core/homeassistant/helpers/update_coordinator.py", line 325, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/home/jcgoette/core/homeassistant/helpers/entity.py", line 480, in async_write_ha_state
    self._async_write_ha_state()
  File "/home/jcgoette/core/homeassistant/helpers/entity.py", line 513, in _async_write_ha_state
    state = self._stringify_state()
  File "/home/jcgoette/core/homeassistant/helpers/entity.py", line 486, in _stringify_state
    if (state := self.state) is None:
  File "/home/jcgoette/core/homeassistant/components/sensor/__init__.py", line 273, in state
    value = self.native_value
  File "/home/jcgoette/core/config/custom_components/babybuddy/sensor.py", line 340, in native_value
    return self.entity_description.state_key(data)
  File "/home/jcgoette/core/config/custom_components/babybuddy/const.py", line 122, in <lambda>
    time_period_str(value[ATTR_DURATION]).total_seconds() / 60
  File "/home/jcgoette/core/homeassistant/helpers/config_validation.py", line 407, in time_period_str
    raise vol.Invalid(TIME_PERIOD_ERROR.format(value)) from err
voluptuous.error.Invalid: offset 1 00:00:00 should be format 'HH:MM', 'HH:MM:SS' or 'HH:MM:SS.F'

Not sure yet if should work on homeassistant/helpers/config_validation.py, account for in BB, or account for in baby_buddy_homeassistant.

See https://github.com/home-assistant/core/pull/73693. Can handle locally if not approved.

Same issue here for duration feed. not sure to understand what @jcgoette suggest

Closed by be5e0d95e889b817178f2ddc494dc8efd5809042.


Configurable KeepAlive added

Without resharper

This does replace the old KeepAlive methods, right? The socket sends the keepalives now itself without any further action needed?

Yes! You can find the explaination here: http://www.codeproject.com/Articles/37490/Detection-of-Half-Open-Dropped-TCP-IP-Socket-Conne
I'll send another pull request which will replace the exsiting one after explicit testing

Alright! Looking good.


Review 1.1 Kidney table log

Errors
WARNING - Unrecognized cell content ''
WARNING - Different labels found for UBERON:0004200. Uberongraph: kidney pyramid ; ASCT+b table: renal pyramid
Author gave wrong label for uberon.
WARNING - Different labels found for UBERON:0005750. Uberongraph: glomerular parietal epithelium ; ASCT+b table: glomerular parietal epithelium
ASCT+B table for Author preferred name is "parietal epithelial layer"
WARNING - Different labels found for UBERON:0005125. Uberongraph: metanephric proximal straight tubule ; ASCT+b table: proximal straight tubule segment 3
Author intends http://purl.obolibrary.org/obo/UBERON_0001290 proximal straight tubule which has exact synonym S3
WARNING - Different labels found for UBERON:0001289. Uberongraph: descending limb of loop of Henle ; ASCT+b table: descending thin limb of loop of Henle
WARNING - Different labels found for UBERON:0004193. Uberongraph: loop of Henle ascending limb thin segment ; ASCT+b table: ascending thin limb of loop of Henle
WARNING - Different labels found for UBERON:0004294. Uberongraph: glomerular capillary endothelium ; ASCT+b table: glomerular capillary endothelium
WARNING - Different labels found for UBERON:0001229. Uberongraph: renal corpuscle ; ASCT+b table: Renal Corpuscle
WARNING - Different labels found for UBERON:0004204. Uberongraph: outer medullary collecting duct ; ASCT+b table: renal outer medullary collecting duct
WARNING - Different labels found for UBERON:0012441. Uberongraph: endothelium of peritubular capillary ; ASCT+b table:
WARNING - Different labels found for UBERON:0005097. Uberongraph: renal connecting tubule ; ASCT+b table: connecting tubule
WARNING - Different labels found for UBERON:0004190. Uberongraph: renal glomerulus vasculature ; ASCT+b table: glomerulus vasculature
WARNING - Different labels found for UBERON:0001284. Uberongraph: renal column ; ASCT+b table: renal column (column of Bertin)
Tables
Raw log output for kidney table

n
s
slabel
user_slabel
o
olabel
user_olabel

1
UBERON:0001284
renal column (column of Bertin)
renal column
UBERON:0000362
renal medulla
renal medulla

2
UBERON:0005096
descending thin limb
descending thin limb of loop of Henle
UBERON:0001289
descending thin limb of loop of Henle
Loop of Henle (Thin Limb)

3
UBERON:0001232
collecting duct of renal tubule
Tubules
UBERON:0004100
renal collecting system
renal collecting system

4
UBERON:0001986
endothelium
Endothelium (non glomerular)
UBERON:0006544
kidney vasculature
Vessels

5
UBERON:0005272
peritubular capillary
Peritubular Capillary
UBERON:0012441

Endothelium/cortex (non glomerular)

General notes on reports:

We should have a column for name in Uberon as the user entered name doesn't always correspond.

Specific notes on issues:

Uberon has 'renal column' 'part of' some 'renal cortex' but also has the textual definition: "A column of tissue that is histologically identical to tissue found in the renal cortex, but which is located in the medulla between the renal pyramids.".  This therefore seems to be a modelling issue which will need some discussion to resolve.
1289 - Descending limb of loop of Henle - "proximal part of loop of Henle"; 5096 = 'descending thing limp - "part of the loop of Henle situated just after the proximal straight tubule (S3)".  This also looks like a modelling issue to be discussed.
1232 'collecting duct of renal tubule' 4100 'renal collecting system'.  This looks like a missing link in Uberon: TODO - make a ticket
subject class is general endothelium.  Perhaps we need a compound term 'endothelium of kidney vasculature?
Subject and object accidentally reversed?

UBERON:0012441 = 'endothelium of peritubular capillary' = which alread has a part relationship to peritubular capillary.

11-10-2021 Fixed
5 | UBERON:0005272 | peritubular capillary | Peritubular Capillary | UBERON:0012441 |   | Endothelium/cortex (non glomerular)


DEC-589: Add back button to import results

Adding back/feedback buttons to the import results.

:+1:

:+1:


Thieving Stalls

Description:
Added stalls as stealable objects and balanced rates to be similar to in game along with requirements.
Changes:
New Stalls as stealable objects
Other checks:

[X] I have tested all my changes thoroughly.

also have you checked xp rates of everything?

yupp, it's all good and fair and tested, had a extra test up now today aswell.


Audio playback will not recover from seeking

Checklist

[X] I read the troubleshooting guide before raising this issue
[X] I made sure that the issue I am raising doesn't already exist

Current bug behaviour
When I am trying to seek using a slider on Flutter, there would be a certain amount of seeks before the AudioPlayer gives up playback and logs the following AudioEvents:
...
flutter: [AUDIO]: Event [AUDIOEVENT(EVENTTYPE: AUDIOEVENTTYPE.POSITION, DURATION: NULL, POSITION: 0:00:20.764000, LOGMESSAGE: NULL, ISPREPARED: NULL)]
flutter: [AUDIO]: Event [AUDIOEVENT(EVENTTYPE: AUDIOEVENTTYPE.POSITION, DURATION: NULL, POSITION: 0:00:20.764000, LOGMESSAGE: NULL, ISPREPARED: NULL)]
...

After that, it will never recover the playback. The only way to recover is to restart the application (AKA Flutter).
Expected behaviour
Either there should be some lag and then recover the playback (ie continue playing).
Steps to reproduce

Execute flutter run on the code sample
...
...

Code sample

Code sample
void main() {
}

Affected platforms
Linux
Platform details
Manjaro 6.1.5-11
AudioPlayers Version
5.2.0
Build mode
debug, profile, release
Audio Files/URLs/Sources
No response
Screenshots
No response
Logs

my relevant logs

Full Logs

my full logs or a link to a gist

Flutter doctor:
Output of: flutter doctor -v

Related issues / more information
#241
Working on PR
no way

Thanks for the report. I'll have a look in a couple of weeks. Currently I'm bit busy. Feel free to work on a solution.

Thanks for the report. I'll have a look in a couple of weeks. Currently I'm bit busy. Feel free to work on a solution.

Got it! I will see what I can do.

I can confirm I'm facing the same issue on Arch Linux. Seek works fine for a couple of them, then starts not responding, or doing multiple seeks, and eventually the playback stops and doesn't recover at all.

I will test if this issue exists in Windows

I experience the same on the Example app, but with only this error message:
flutter: AudioPlayers Log: Could not query current duration.
Source: UrlSource(url: https://luan.xyz/files/audio/ambient_c_motion.mp3)


Access string printed to stdout when ssh is successful or successful in a flutter environment.

Is your feature request related to a problem? Please describe.
I can use sshnoports to ssh into a remote device from a GUI app but I cannot access the string printed to stdout when ssh is successful to display in the GUI app.
Describe the solution you'd like
I would like to have access to the string printed to stdout when ssh is successful or unsuccessful to display in the GUI app.
Describe alternatives you've considered
No response
Additional context
No response

@XavierChanth is this something you can pick up today? I'm going to be unexpectedly away from keyboard for most of Friday

Will do

#367

@CurtlyCritchlow Xavier has implemented the necessary changes and the PR has been merged to trunk. If/when it's working for you, please close this ticket.

@CurtlyCritchlow Xavier has implemented the necessary changes and the PR has been merged to trunk. If/when it's working for you, please close this ticket.

SSHNP.run now returns a SSHNPResult with a subclass of either SSHCommand or SSHNPFailed, SSHCommand contains a .toString() override with the full ssh command, or you can pick out the bits and pieces needed to run in pure dart (which I will be working on soon)


Retry Service Dependencies on Startup -- ExportClient

This issue is for making changes to the export-client service so that it doesn't rely so much on an explicit start order when deployed to an environment. We should be able to start export-client independently of other services, and expect that it will start correctly. Upon startup, export-client should retry its connection attempts to other dependencies such as MongoDB and Consul rather than exit right away if those platforms aren't up yet. The overall retry window should be configurable.
An existing pattern for accomplishing this is already in place (see any core service)

@tsconn23 I did not like this approach - it is not the service logic where you want to put orchestration and deployment strategy. If service do not find an infrastructure prepared and ready it should die loudly. And orchestrator - for example docker-compose should be capable to restart the Docker container until it is up and running - here is an example of how this is handled in Mainflux: https://github.com/mainflux/mainflux/blob/master/docker/docker-compose.yml#L15
We can add demanded changes to align to other EdgeX services, but I would before to hear opinions of @nmarcetic, @anovakovic01 and @dusanb94.

Some references:

https://blog.risingstack.com/designing-microservices-architecture-for-failure/
https://www.infoworld.com/article/3254777/application-development/3-common-pitfalls-of-microservices-integrationand-how-to-avoid-them.html
https://github.com/katopz/best-practices/blob/master/best-practices-for-building-a-microservice-architecture.md#connection-pools

You should be careful with adding retry logic to your applications and clients, as a larger amount of retries can make things even worse or even prevent the application from recovering.

In distributed system, a microservices system retry can trigger multiple other requests or retries and start a cascading effect. To minimize the impact of retries, you should limit the number of them and use an exponential backoff algorithm to continually increase the delay between retries until you reach the maximum limit.

Fail Fast and Independently
In a microservices architecture we want to prepare our services to fail fast and separately. To isolate issues on service level, we can use the bulkhead pattern. You can read more about bulkheads later in this blog post.

We also want our components to fail fast as we don't want to wait for broken instances until they timeout. Nothing is more disappointing than a hanging request and an unresponsive UI. It's not just wasting resources but also screwing up the user experience. Our services are calling each other in a chain, so we should pay an extra attention to prevent hanging operations before these delays sum up.

The first idea that would come to your mind would be applying fine grade timeouts for each service calls. The problem with this approach is that you cannot really know what's a good timeout value as there are certain situations when network glitches and other issues happen that only affect one-two operations. In this case, you probably don’t want to reject those requests if there’s only a few of them timeouts.

We can say that achieving the fail fast paradigm in microservices by using timeouts is an anti-pattern and you should avoid it. Instead of timeouts, you can apply the circuit-breaker pattern that depends on the success / fail statistics of operations.

@drasko "If service do not find an infrastructure prepared and ready it should die loudly. And orchestrator - for example docker-compose should be capable to restart the Docker container until it is up and running"
OK, but this isn't the requirement I was given. The scenario as it was presented to me was more of a timing issue in that there had been problems where Go service containers came up more quickly than Mongo/Consul and services would exit right away without their upstream dependencies. I was asked to provide a bit of lee-way during the bootstrap process to account for a possible delay in order to eliminate the need to sequence container startup.
w/r/t the content you provided above, I agree with the points made. However, this sounds to me more like fail-fast patterns for service to service calls, which is certainly something we still need to address. I believe we have previously discussed the possibility of adopting something like GoKit for its Hystrix -like capability.
@jpwhitemn @tonyespy @SteveOss for visibility

Just to comment on behalf of the snap here which doesn't use docker and instead runs services natively, something that's important for the snap to become more easily deployed with Delhi is to implement something like this.
In the snap, we currently just do like the docker file and include sleep's in the startup script, which is ugly and undesirable. If the independent services were able to handle something like this, we could just make all the parts in the snap independent services which get started up in a random order by systemd.
I would also point out that in the snap we can order services to be run before/after other services, but we haven't done this yet, due to exactly the point @tsconn23 was making in that the service is executed, but not done "initializing" itself, and so from the standpoint of the orchestrator, i.e. systemd in the case of the snap, the dependent services can be launched, but they then fail because the original dependency wasn't done initialized itself quick enough.
One way to solve this that doesn't force the services to re-try themselves is to have the orchestrator start the service and then wait for a signal from the service to tell that it's ready. An example would be systemd-notify, but I don't know how that works with docker-compose (or if there's some other way to do the same thing in docker-compose) and would probably only be applicable to the snap.

he service is executed, but not done "initializing" itself, and so from the standpoint of the orchestrator, i.e. systemd in the case of the snap, the dependent services can be launched, but they then fail because the original dependency wasn't done initializing itself quick enough.

I do not see problem in this - service will fail but will be restarted by an orchestrator over and over again until first service (prerequisite) has finished "initializing" itself and then second service will succeed.
Whatever orchestrator and/or watchdog timer you use this scenario should work, and is better and more safe than having cascading timeouts with unpredictable backoff IMHO.

@drasko Do you really think sleeps in a docker-compose file are a good idea?  ;)-
As @anonymouse64 pointed out, the edgex snap currently also has to rely on sleeps in a start shell script instead of the preferred approach of making all of the services in the snap daemons, which in turn would let systemd manage them.  If/when we make this change to the snap, an edgex instance would start automatically at system boot, and gain some measure of faul-tolerance as service crashes could be handled automatically by systemd.
Ian's suggestion of adding optional sd-notify support is also a really good idea. @anonymouse64 could you file an issue for this? You might want to mention that full software watchdog support is possible using sd-notify, and maybe that's controllable by a config setting as well?
The requirement that services must check that their own dependencies are available before becoming operational was decided on and incorporated in our project-wide Service Name Design (v6) document, which was finalized and listed in April on our Architecture & Decisions wiki page.

@tonyespy sleeps and other timeouts os exactly what I would like to avoid. I proposed removing all timeouts on service starting. Just start services in correct order, an if one does not find it's dependency currntly (which will happen in rare occasions), let it crash and restart in a loop until it does. docker-compose.yaml manages this for you automatically with "restart on fail" directive.


coverage report snapshot

Is there a way to get jest to create a snapshot of a coverage report within a test?
e.g.
describe('coverage report', () => {
  it('will create a report', () => {
    expect(jest.coverageReport).toMatchSnapshot();
  });
});

I don’t know, sorry. It might be better to ask in Jest repo. Thanks!


fail task when it cannot be resolved

As @stevvooe pointed out in https://github.com/docker/docker/issues/30327, an error is leak when worker restarts and fails to resolve a task. I think if a Running task fails to resolve, we should move it to Failed so manager can restart/reschedule it.
Ping @stevvooe @thaJeztah @aaronlehmann.
Signed-off-by: Dong Chen<EMAIL_ADDRESS>

SGTM, @stevvooe WDYT?

I would say this looks like a reasonable change. It looks like the error isn't set on the message when encountered and that is why we aren't seeing it propagated.
This needs to be followed up with:

Ensure the exec.Resolve does the right thing when failing at the call sites. There is only one place.
Address the validation issues described in https://github.com/docker/docker/issues/30327#issuecomment-274631754.

The "real" fix needs to happen in docker. The problem is that an error is leaking. Controllers should never fail to resolve unless something is very wrong or the task type is unsupported. When I say an error is "leaking", I mean that it is leaking from the Executor. We had this early on in the networking subsystem and fixed it by ensuring we didn't leak unnecessary errors there.

LGTM


Support the OC10 backend

After a recent change in https://github.com/owncloud/ocis-glauth/pull/19, the option to set OC10 as a backend was removed.
This breaks the bridge setup between oc10 and phoenix (https://owncloud.github.io/ocis/bridge/) where glauth is used.
For the bridge setup to work there needs to be a way for glauth to talk to the OC10 graphapi to get the users.

@dpakach this issue was transferred from the "old" ocis-glauth repo. Is it still "a thing"?
If not, then please close.

The bridge setup is working properly. Closing here.


WebApp - Unable to scroll list account when connect a Ledger device

Describe the bug
Version test : https://e21b4f24.subwallet-webapp.pages.dev/
Navigate to the previous screen when scroll
To reproduce the bug

[x] Navigate to the previous screen when scroll

https://github.com/Koniverse/SubWallet-Extension/assets/117999489/4bf594f5-2bba-4499-9e8a-16bbeb8cffc1

Version test : https://580f1594.subwallet-webapp.pages.dev/
Validation passed in case :

Zoom in/zoom out screen
Scroll list account


Update code comments to be more inclusive

Given that it's Pride Month and MasterCard values diversity and inclusion, I thought I would make these code comments more inclusive for people who might be suffering from mental health issues.

 For example, GitHub itself.


cpu-x: 4.3.1 -> 4.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/X0rg/CPU-X/releases.
meta.description for cpu-x is: "Free software that gathers information on CPU, motherboard and more"
meta.homepage for cpu-x is: "https://github.com/X0rg/CPU-X"
meta.changelog for cpu-x is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.4.0 with grep in /nix/store/m60a5c3v96i20q4nxyzxjn4f2h30y2sm-cpu-x-4.4.0
found 4.4.0 in filename of file in /nix/store/m60a5c3v96i20q4nxyzxjn4f2h30y2sm-cpu-x-4.4.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
cpu-x

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/m60a5c3v96i20q4nxyzxjn4f2h30y2sm-cpu-x-4.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A cpu-x https://github.com/r-ryantm/nixpkgs/archive/04f423b6b264fccf402eb2bc34721f059cd2ed48.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/m60a5c3v96i20q4nxyzxjn4f2h30y2sm-cpu-x-4.4.0
ls -la /nix/store/m60a5c3v96i20q4nxyzxjn4f2h30y2sm-cpu-x-4.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

cpu-x

Maintainer pings

From changelog:
To packagers

    Vulkan is a new optional dependency. This is required to check Vulkan support for graphic cards.

Needs to be added for this version.

Full update + fixes for new missing functionality in https://github.com/NixOS/nixpkgs/pull/188810


Add resources for managing Chef Infra Client running on a schedule

Users should be able to setup Chef Infra Client to run on a schedule out of the box without the need for cookbooks like chef-client or homegrown solutions.
Resources to add:

[x] chef_client_cron
[x] chef_client_scheduled_task
[ ] chef_client_systemd_timer
[ ] chef_client_launchd

I think this is a great idea to implement this into the core of chef.
So your idea is something like this?
chef_client 'set my schedule' do
  cron '5 4 * * *'
  type 'cron'
  action :enable
end

@pschaumburg Pretty close. The first two are already merged in:
https://github.com/chef/chef/blob/master/lib/chef/resource/chef_client_cron.rb
https://github.com/chef/chef/blob/master/lib/chef/resource/chef_client_scheduled_task.rb

Hm....can't we just easily move it into a single chef resource? So we don't have the need for changing every specified resource. Or am I wrong at some point?

There isn't really any overlap in the properties so it would be a mess. You'd have a single resource, but all the properties would be specific to the implementation. It would be easier from a documentation standpoint to read it as 4 different resources.

Alright, got it :) Thank you for clarification on that.


Azure Automation: Add example of using onboarding config

For both the manual and cmdlet methods of generating an onboarding config, I added a usage example of Set-DscLocalConfigurationManager. For someone unfamiliar with DSC, consuming a metaconfig could be a non-obvious step.
I also added a link to the DSC documentation on metaconfigurations (which, weirdly enough, is called metaconfig in its friendly URL, but doesn't mention the term "metaconfig" once...that should probably be corrected at some point).

Hi @joeyaiello, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Joey Aiello). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@joeyaiello : Thanks for your contribution to the Azure documentation! The author, @eslesar, has been notified to review your proposed change.

#sign-off


BUG: Smarter chunk-option parser

My hacky little one breaks if an option's value has has comma in it, e.g. fig.cap="My chunk, captioned",

I suspect https://docs.python.org/3.5/library/tokenize.html and https://docs.python.org/3.5/library/token.html#token.OP will do it. It handles quotes.


Add Support for Private Certificate Authority Signed LDAPS Server Certificates

What this pull request does:

Provides users the ability to specify the CA of their ldaps server when such server uses a private CA.
Added some info and debug logging to understand how Authelia initializes the TLS system in ldapjs

Why do we need it:

Not all ldaps servers will use a certificate signed by a publicly trusted CA. For example: in corporate environments with an existing authentication stack, or in a Kubernetes environment where the ldaps server uses a certificate signed by the cluster CA
The logging makes it easier to track what is going on when setting up an ldaps backend.

Risks:
The version of Node was moved from the 8.x branch to the 10.x branch which uses an improved TLS stack. The resulting Docker image has been tested in:

ldaps with publicly trusted CA (which was working before and continues to work)
ldaps with a private CA (which was not working before and is working now)
ldap non-TLS configurations (which was working before and continues to work).

Currently there is an issue with Node where certain self-signed certificates do not work which is addressed in nodejs/node#22906. This impacts the use of private CA Active Directory certificates, and the patch 22906 was tested to work with Authelia as well.

Hello @rajha-korithrien , thank you for the PR. Could you please squash the changes ?

It looks good, thank you for your awesome work. Let's wait for the tests to pass now.

squash the changes

@clems4ever Understood, I will go learn how to squash changes :-)

The git history for the source branch of this pull request is very dirty as @clems4ever pointed out.
I will create a new pull request with a clean branch.

Please consider #375 instead of this pull request as 375 is from a much cleaner branch :-)


docs: Updated documentation for OCI Object Storage, added link to blog post

There is no functionality change, only updated documentation.
Signed-off-by: Ali Mukadam<EMAIL_ADDRESS>

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

LGTM! Thanks for fixing ToC as well.
Can you run make docs and commit, to fix the docs CI error?

Yep, already done.


Set disable_execute_api_endpoint to False doesn't Work

Description
Even though I explicitly set the variable disable_execute_api_endpoint to false in the *.tf file, the result of terraform plan still is true.

[v] ✋ I have searched the open/closed issues and my issue is not listed.

Versions

Module version [Required]:
5.2.1
Terraform version:
v1.6.6
Provider version(s):
hashicorp/aws v5.79.0

Reproduction Code [Required]

Steps to reproduce the behavior:

create aws api gateway resource via the terraform-aws-modules/apigateway-v2/aws module with settings of disable_execute_api_endpoint = false

excute terraform plan to see the result

Expected behavior
the disable_execute_api_endpoint is false in the plan result
Actual behavior
the disable_execute_api_endpoint is still true in the plan result
Terminal Output Screenshot(s)

Additional context
the source code as below
  source = "terraform-aws-modules/apigateway-v2/aws"
  version = "5.2.1"
  disable_execute_api_endpoint = false

  name                         = "${var.prefix}-api"
  description                  = "${var.prefix} HTTP API Gateway"
  protocol_type                = "HTTP"

  cors_configuration = {
    allow_methods = ["POST"]
  }

  domain_name = var.domain_name

  stage_access_log_settings = {
    create_log_group            = true
    log_group_retention_in_days = 7
    format = jsonencode({
      context = {
        domainName              = "$context.domainName"
        integrationErrorMessage = "$context.integrationErrorMessage"
        protocol                = "$context.protocol"
        requestId               = "$context.requestId"
        requestTime             = "$context.requestTime"
        responseLength          = "$context.responseLength"
        routeKey                = "$context.routeKey"
        stage                   = "$context.stage"
        status                  = "$context.status"
        error = {
          message      = "$context.error.message"
          responseType = "$context.error.responseType"
        }
        identity = {
          sourceIP = "$context.identity.sourceIp"
        }
        integration = {
          error             = "$context.integration.error"
          integrationStatus = "$context.integration.integrationStatus"
        }
      }
    })
  }

  routes = {
    "POST /register" = {
      integration = {
        uri                    = module.lambda_function["register"].lambda_function_arn
        payload_format_version = "2.0"
        timeout_milliseconds   = 15000
      }
    }

    "POST /" = {
      integration = {
        uri                    = module.lambda_function["verify"].lambda_function_arn
        payload_format_version = "2.0"
        timeout_milliseconds   = 15000
      }
    }
  }

}

we need a minimal reproduction that is deployable in order to troubleshoot

After I check the source code, I got the root cause why it happened. the module will always set the disable_execute_api_endpoint to true when protocol_type is "HTTP" and not explicitly set create_domain_name to false(default is true). Is that reasonable? If so, I suppose that the author of repo can clarify it in the the readme. Otherwise, the default behavior will make people confused.

What's confusing? Is it not setup correctly per the API Gateway documentation?

I just copied the example from readme and add the disable_execute_api_endpoint  = false settings which doesn't work. I have to look into the source code to find out the reason.

I have to look into the source code to find out the reason.

Why do you need to look into the source code - do you understand how API Gateway works, do you understand what should happen when using a custom domain on an HTTP API Gateway?

Yes I know it. I know  I made a mistake of those settings in my file. But the two default beheviors of variables usage are conflicting without any restriction or explanation  and it can be applied successfully against user's expectation.  It's just a suggestion to make it more friendly for user. You can forget it if you do not want to. Thanks.

I can't make something more user friendly if users don't understand how the underlying service works. We set up modules to try to prevent footguns and ensure things are configured correctly (where possible), but we can't detail all of those things because we would be repeating the service documentation. If you read the API Gateway service documentation and understand the behavior of the service - you'll understand why you can't set this value to false when using a custom domain

Just curious how do you konw I don't understand how the underlying service works?

you'll understand why you can't set this value to false when using a custom domain
Actually I can set the value and apply successfully even the configuration is totally wrong(sorry for my bad as I don't understand how the underlying service works). Is that what you mean something friendly? :)

https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-disable-default-endpoint.html


readme: add bb built-in badge

let folks know, at-a-glance, that this library is built into babashka!

Thanks!


python3Packages.eth-utils: 4.0.0 -> 5.1.0

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 360668 run on aarch64-darwin 1

4 packages marked as broken and skipped:

python311Packages.py-eth-sig-utils
python311Packages.py-eth-sig-utils.dist
python312Packages.py-eth-sig-utils
python312Packages.py-eth-sig-utils.dist

45 packages failed to build:

echidna
python311Packages.eth-abi
python311Packages.eth-abi.dist
python311Packages.eth-account
python311Packages.eth-account.dist
python311Packages.eth-keyfile
python311Packages.eth-keyfile.dist
python311Packages.eth-keys
python311Packages.eth-keys.dist
python311Packages.eth-rlp
python311Packages.eth-rlp.dist
python311Packages.eth-utils
python311Packages.eth-utils.dist
python311Packages.hexbytes
python311Packages.hexbytes.dist
python311Packages.py-ecc
python311Packages.py-ecc.dist
python311Packages.rlp
python311Packages.rlp.dist
python311Packages.slither-analyzer
python311Packages.slither-analyzer.dist
python311Packages.web3
python311Packages.web3.dist
python312Packages.eth-abi
python312Packages.eth-abi.dist
python312Packages.eth-account
python312Packages.eth-account.dist
python312Packages.eth-keyfile
python312Packages.eth-keyfile.dist
python312Packages.eth-keys
python312Packages.eth-keys.dist
python312Packages.eth-rlp
python312Packages.eth-rlp.dist
python312Packages.eth-utils
python312Packages.eth-utils.dist
python312Packages.hexbytes
python312Packages.hexbytes.dist
python312Packages.py-ecc
python312Packages.py-ecc.dist
python312Packages.rlp
python312Packages.rlp.dist
slither-analyzer (python312Packages.slither-analyzer)
slither-analyzer.dist (python312Packages.slither-analyzer.dist)
python312Packages.web3
python312Packages.web3.dist

Switching to draft. This depends on #360667.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 360668

aarch64-darwin

:fast_forward: 4 packages marked as broken and skipped:

python311Packages.py-eth-sig-utils
python311Packages.py-eth-sig-utils.dist
python312Packages.py-eth-sig-utils
python312Packages.py-eth-sig-utils.dist

:white_check_mark: 45 packages built:

echidna
python311Packages.eth-abi
python311Packages.eth-abi.dist
python311Packages.eth-account
python311Packages.eth-account.dist
python311Packages.eth-keyfile
python311Packages.eth-keyfile.dist
python311Packages.eth-keys
python311Packages.eth-keys.dist
python311Packages.eth-rlp
python311Packages.eth-rlp.dist
python311Packages.eth-utils
python311Packages.eth-utils.dist
python311Packages.hexbytes
python311Packages.hexbytes.dist
python311Packages.py-ecc
python311Packages.py-ecc.dist
python311Packages.rlp
python311Packages.rlp.dist
python311Packages.slither-analyzer
python311Packages.slither-analyzer.dist
python311Packages.web3
python311Packages.web3.dist
python312Packages.eth-abi
python312Packages.eth-abi.dist
python312Packages.eth-account
python312Packages.eth-account.dist
python312Packages.eth-keyfile
python312Packages.eth-keyfile.dist
python312Packages.eth-keys
python312Packages.eth-keys.dist
python312Packages.eth-rlp
python312Packages.eth-rlp.dist
python312Packages.eth-utils
python312Packages.eth-utils.dist
python312Packages.hexbytes
python312Packages.hexbytes.dist
python312Packages.py-ecc
python312Packages.py-ecc.dist
python312Packages.rlp
python312Packages.rlp.dist
slither-analyzer (python312Packages.slither-analyzer)
slither-analyzer.dist (python312Packages.slither-analyzer.dist)
python312Packages.web3
python312Packages.web3.dist

@ofborg eval

@ofborg build python311Packages.eth-utils python312Packages.eth-utils


Automate update ref tests

Task/Issue URL: https://app.asana.com/0/488551667048375/1203158712142231/f
Description
This PR adds a new workflow to automatically update reference tests once a day. In case of a new version published it will create a new PR with those changes triggering all the necessary tests.
Steps to test this PR

[ ] This workflow triggered https://github.com/duckduckgo/Android/pull/2413 which automatically added a change in a reference tests and update the library to 1.0.0 although that change is not visible because on develop is already 1.0.0

Current dependencies on/for this PR:

develop

PR #2409   👈

This comment was auto-generated by Graphite.

LGTM (a bit confusing that failure means an update is available, but I guess is how ncu works 🤷)

It's a feature for ncu, normally it will always succeed wether there is a new version available or not. For CI we want to be able to know when there is or isn't and we can make that happen by forcing an exit 1 when there is an update available. Probably makes sense the other way around but is how it works :D


Add delayed option for RuntimeMembers

Hi Tolis,
Feature request for making model setting for runtime members to make them delayed. If we do have members with type System.Drawing.Image, we prefer them delayed. Can this be added? I'm also able to make a PR to add it myself, if you tell me which project.

I am  not sure how trivial is it, my guess is u have to create another Type similar to the XpandCollectionMemberInfo and work out the types until u get to the model. Then you have to actually create the type using the logic found in the Xpand.Persistent.Base.RuntimeMembers namespace

Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.


separate client side and server side routing

in this PR, i recommend to separate routing.jsx to two files.
one for client, and one for server.
what i did:

first, Actions/Reducers/Middleware convert to getActions()/getReducers()/getMiddleware()
I described the reason in #1542

separate client side and server side routing
it's more clear, more easy to understand.
and only create store to req on server side.
(i save all veriables to req. ex. req.apolloClient, req.store, req.css, but it's up to you, if you don't like this way)

for local react-router-ssr, I move historyHook after rehydrateHook on client side
because I moved configureStore to rehydrateHook
so give you chance to use react-router-redux in historyHook
for example:
  rehydrateHook(data) {
    // console.log('rehydrateHook:', new Date);
    initialState = data
    ;
    // configure apollo
    client = new ApolloClient(meteorClientConfig());
    const reducers = addReducer({apollo: client.reducer()});
    const middleware = addMiddleware(client.middleware());

    // configure the redux store
    store = configureStore(reducers, initialState, middleware);
  },
  historyHook(newHistory) {
    // console.log('history hook:', new Date);
    const history = syncHistoryWithStore(newHistory, store);
    return history;
  },

but it's better to use callback to do something like this,
in this commit, i just put historyHook after rehydrateHook.

furthermore, for local react-router-ssr, it give you chance to render styled-component css on server side

commit, see: https://github.com/TelescopeJS/Telescope/commit/b99a9474ab0b46e49df8ecee4d40de799f8ed4be
for example:
App.jsx
import styled from 'styled-components';
const Div = styled.div`
  font-size: 1.5em;
  text-align: center;
  color: palevioletred;
`;

export const App = () => (
  <Div>
    this is app!!!
  </Div>
);

in routing-server.jsx
import styleSheet from 'styled-components/lib/models/StyleSheet';
...
  const AppRoutes = {
    path: '/',
    component: App,
  };
...
postRender(req, res) {
  req.css = styleSheet.sheet ? styleSheet.rules().map(rule => rule.cssText).join('\n') : '';
},
...

that' s it. react-router-ssr will handle server side render css, once browser loaded, it will delete the server side rendered <style /> tag.
it justs works.
but should keep update from this issue:
https://github.com/styled-components/styled-components/issues/378

Dude, that looks great! 🎉
I'm going to give it a try and tell you!

🚀

Awesome work, you guys have this routing thing under control!


sq should be able to work with datasources defined in-line

Currently one must do sq add DS and then reference the data source in a later command. It should be possible to refer to data sources in-line, e.g.
sq '@myhandle:mysql://user:pass@localhost:3306/mydb1 @myhandle.users | .uid, .email'

# or (without specifying a handle)

sq '@:mysql://user:pass@localhost:3306/mydb1 .users | .uid, .email'

I want to also mention that as a Postgres user, another reason why this feature would make life a lot easier and more versatile is by facilitating the querying of different schemas on the same database more easily.
at present you also have to add each schema as a different src i.e.
sq add 'postgres://sakila:p_ssW0rd@localhost/sakila?search_path=customer1'
sq add 'postgres://sakila:p_ssW0rd@localhost/sakila?search_path=customer2'
sq add 'postgres://sakila:p_ssW0rd@localhost/sakila?search_path=customer3'

whereas it would be a lot easier sometimes to just call
sq '@(postgres://sakila:p_ssW0rd@localhost/sakila?search_path=customer1)' | .customer_name
sq '@(postgres://sakila:p_ssW0rd@localhost/sakila?search_path=customer2)' | .customer_name

...or maybe overriding the schema with a flag could also work
sq add 'postgres://sakila:p_ssW0rd@localhost/sakila'
sq --search-path customer1 '.customer_name'
sq --search-path customer1 '.customer_name'

...not sure what the equivalent to schemas/namespacing in other databases are so as to try and keep it as generic as possible.

@c-nv-s I agree. I'd like to implement both mechanisms. The flag is probably the lowest effort to implement. I've created a separate issue for it.
Thanks for the feedback, keep it coming!


[Bug] Incorrect output for object arrays

When serializing an object[] the type information is erased because
there is no guarantee that the ElementType of the array is
homogeneous.
There is no real "fix" for this except to assume that we see an object
array we should blindly assume that the user wants to serialize this as
jsonapi.

This issue bit me pretty hard yesterday and wasted a half day trying to work out why the below didn't work:
[HttpGet]
public IActionResult GetThings()
{
    var things = source.GetThings().Select(ToWire).ToArray();
    return Ok(things);
}

private object ToWire(Thing thing)
{
    return new { id = thing.Id, type = "things", name = thing.Name};
}

Is there a fix for this? Or should we just accept that we need to write it like this:
[HttpGet]
public IActionResult GetThings()
{
    var things = source.GetThings().Select(new {
        id = thing.Id,
        type = "things",
        name = thing.Name});

    return Ok(things);
}

@robertcoltheart alternatively you could specify it as a relationship explicitly by having it in a Data field
var article = new
            {
                Id = "1234",
                Type = "thing-container",
                MyThings = new
                {
                    Data = source.GetThings().Select(ToWire).ToArray()
                 }
            };

this issue is that when we have an IEnumerable<object> we have no idea whether it should be a relationship or an attribute. You might think we could GetType() of the elements at runtime, however that leads to the problem of empty lists; when there are elements it would be a relationship, however when its empty it would then be an attribute
clearest way is to explicitly state they are relationships either by making them of a relationship type, or by specifying a relationship them inside a relationship object (i.e. an object with a Data field)

I don't think this is what I want, though. The json output looks very different using the above then what I would expect. I'm fine with the fact that I just need to create my anonymous types inline instead of in a different method, but my point is that it isn't obvious that this isn't handled, and for sure is going to create confusion for someone else down the line.


return statusCode ignored, move statusCode to body?

My actions before raising this issue

[x] Followed the troubleshooting guide
[x] Read/searched the docs
[x] Searched past issues

Expected Behaviour

The return status code should be returned along with the body message.
Current Behaviour

The return 'statusCode' is currently seems to be completely ignored when using curl on an OpenFaas function endpoint.  There doesn't seem to be a mechanism to retrieve the statusCode (maybe I'm missing something in the documentation).
Possible Solution

Include the status code in the return body so it can be parsed by end users.  As suggested here, https://github.com/openfaas/faas-netes/issues/147#issuecomment-367953472
i.e. in handler.py
def handle(event, context):
    return {
        "body": {
            "statusCode": 200,
            "message": "Hello from OpenFaaS!"
        }
    }

Steps to Reproduce (for bugs)

Modify one of the template handler.py return status codes to be something other than 200 (e.g. 500)
build, push, deploy a container using the template modified
execute the function and check the return status

Context

I'm a graduate student working on a masters capstone comparing performance and cost of cloud native applications running with open sourced software to proprietary solutions from cloud vendors.
Your Environment

FaaS-CLI version ( Full output from: faas-cli version ):

  ___                   _____           ____
 / _ \ _ __   ___ _ __ |  ___|_ _  __ _/ ___|
| | | | '_ \ / _ \ '_ \| |_ / _` |/ _` \___ \
| |_| | |_) |  __/ | | |  _| (_| | (_| |___) |
 \___/| .__/ \___|_| |_|_|  \__,_|\__,_|____/
      |_|

CLI:
 commit:  0074051aeb837f5f160ee8736341460468b5c190
 version: 0.15.4

Docker version docker version (e.g. Docker 17.0.05 ):

Client: Docker Engine - Community
 Version:           20.10.21

Are you using Docker Swarm or Kubernetes (FaaS-netes)?
Kubernetes

Operating System and version (e.g. Linux, Windows, MacOS):

NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Code example or link to GitHub repo or gist to reproduce problem:

Other diagnostic information / logs from troubleshooting guide

I failed to look at the flask-http index, this seems to be parsing the 'statusCode'


More handlebars helpers

Adding more handlebars helpers to ermrestJS.
jsonStringify is added for support for facet blobs being returned as objects in the case of plot app for rbk. jsonParse is not added because handlebars is meant to return strings to be used in HTML and jsonParse was meant to be used to return an "object". From the handlebars documentation:

It uses a template and an input object to generate HTML or other text formats.

toTileCase is added for a case in CFDE where we wanted to allow data modelers to capitalize the first letter of each word in a string. replace is added for a case in CFDE where we wanted to allow data modelers to replace underscore (_) with whitespace ( ). regexReplace is not added since replace will handle both cases (similar to String.replace).
pending documentation...

The last time that we talked about plot app, we talked about adding a separate encodeFacet that works with objects. Are you not going to do that? So in plot app you're going to use a combination of jsonStringify  and encodeFacet? I think it's useful if you mention how you're going to use it here (and also have it as part of your test).

We talked about the change I made to encodeFacet to do some checking to see if the passed in value was an object instead of a string which we agreed was worse than writing encodeFacetObject to pair with encodeFacet (takes a string input). Then we discussed adding jsonParse and jsonStringify instead since this gives more flexibility for other potential use cases (that may not actually exist).
In plot app we are going to use encodeFacet after calling jsonStringify. I'll add a test case for this.


can't enable repo

this is my first repo. Its public and I own it. I done gk login and gk sync
gk enable
info enable The GitHub slug is: wanderer/wasm-ast
info enable Synchronizing your repositories. This might take a while.
ERR! enable Couldn_t enable a repository with slug wanderer/wasm-ast.
# Enabling a repository
Most of the time enabling a repository is straight forward _ just execute greenkeeper enable.
In some cases, especially when there are private repositories or permissions involved, it can fail.
Fear not. This guide will walk you through all the required steps.
If you can_t get your repository enabled after these steps please contact us. greenkeeper support

    1. If you want to enable a private repository for the first time make sure to grant Greenkeeper the necessary rights by running greenkeeper login --force --private.
    2. With GitHub_s new permission model you need to grant Greenkeeper access per organization. You can do this with greenkeeper access.
    3. Keep in mind that you need admin access to a repository to enable it. If you don_t have access please ask someone on your team for help.

dupe


Fix Slang->GLSL translation for entry point with multiple out param…

…eters
Fixes #568
The problem occurs when an entry point declares multiple out parameters:
void myVS( out float4 a : A, out float4 b : B )
{
    ...
    a = whatever;
    b = somethingElse;
    ...
    if(done)
    {
        return; // explicit return
    }
    ...
    // implicit return
}

Slang translates code like this by introducing a GLSL global out parameter for each of a and b, rewriting the logic inside the entry point to use a local temporary instead of the real parameters, and then assigning from the locals to the globals at every return site:
out vec4 g_a;
out vec4 g_b;

void main()
{
    // insertion location (1)
    vec4 t_a;
    vec4 t_b;
    ...
    t_a = whatever;
    t_b = somethingElse;
    ...
    if(done)
    {
        // insertion location(2)
        g_a = t_a;
        g_b = t_b;
        return; // explicit return
    }
    ...
    // insertion location (3)
    g_a = t_a;
    g_b = t_b;
    // implicit return
}

Note that there are three different places (for this example) where code gets inserted to make the translation work. We insert declarations of local variables at the top of the function, and then insert the copy from the temporariesto the globals at each return site (implicit or explicit).
The bug in this case was that the pass was setting the insertion location to (1) outside of the loop for parameters, so that when it was done with a and moved on to b, it would end up inseting the temporary t_b at the last location used (location (3) in this example), and this would result in invalid code, because t_b gets used before it is declared.
This bug has been around for a while, but it has largely been masked by the fact that so few shaders use multiple out parameters, and also because Slang's SSA-ification pass would often be able to eliminate the local variable anyway, so that the bug never bites the user. The reason it surfaced now for a user shader was because we introduced swizzledStore, which currently inhibits SSA-ification, so that some temporaries that used to get eliminated are now retained so that they can break things.
The fix in this case is small: we use the existing IRBuilder only for insertions at location (1) and construct a new builder on the fly for all the insertions at return sites. I have not included a test case yet, because our end-to-end Vulkan testing is not yet ready, so this may regress again in the future.

Whilst it does not change the current behavior - the rewriting could produce code that an underlying compiler may perhaps not like. Imagine if the out parameter is only sometimes written. The generated code would create a variable with undefined state, and then write it to the g_ output variable.
An underlying compiler might see such a writing undefined data as being a warning or perhaps and error. This is despite the result being the same behavior (an undefined value in that output parameter in either case).
The temporaries could be initialized to some well defined state (which depending on type - may not be trivial), and avoid the problem - but the non writing may have been an optimization and so perhaps not ideal either.

The SharedIRBuilder - has a name that I assumed meant it was a 'kind' of IRBuilder (ie it extends it), but it is not and is more shared state/context for IRBuilder. So perhaps IRBuilderSharedState or IRBuilderContext might make that more clear.
The IRBuilder type - is complex enough that it might do better to...

Have prefixed member variables
Have a constructor that takes the 'shared state' as it is typically required
Separate out member variables from methods to make it's state clear


Requirements order matter, Astropy has to be before Numpy

If Numpy is before then Numpy is pined to the latest available version and pip try to find a compatible Astropy version (good luck...)

It was just a CI setup issue where pip install script doesn't install the latest and the resolver of the installed one doesn't seems to work.


Group imports in the order mentioned in the contribution guide

According to contribution guide, import statements must be organized into three parts: standard libraries, third-party libraries, and internal imports. Consequently, I make corresponding adjustments.

jenkins, test this please.

Thanks for the fixes, LGTM!


feat: ensure immediate deletion of pods

Signed-off-by: Isitha Subasinghe<EMAIL_ADDRESS>Fixes #TODO
Please do not open a pull request until you have checked ALL of these:

[ ] Create the PR as draft .
[ ] Run make pre-commit -B to fix codegen and lint problems.
[ ] Sign-off your commits (otherwise the DCO check will fail).

[ ] "Fixes #" is in both the PR title (for release notes) and this description (to automatically link and close the issue).
[ ] Add unit or e2e tests. Say how you tested your changes. If you changed the UI, attach screenshots.
[ ] Github checks are green.
[ ] Once required tests have passed, mark your PR "Ready for review".

If changes were requested, and you've made them, dismiss the review to get it reviewed again.

We may hit the rate limit with this solution unfortunately since there is no mechanism to stop that here.
I have some ideas that may help here:

We rate limit on the function itself. This is actually fairly doable with a constant amount of memory, so perhaps this should be the solution. Additionally we actually don't need to run the cleanup function multiple times, we just need it to run.
This might be our solution, but if we imagine a situation where a huge chunk of pods were immediately updated, then we might once again run into rate limitation issues.

We do the batch deletion as originally talked about. This might come at increased cloud costs

So yeah this approach is not without it's tradeoffs unfortunately, but I hope my proposals are good enough to mitigate the cons @JPZ13

Hey @isubasinghe - to me, option 3 makes the most sense for scaling to high levels while keeping cloud costs down. What would you recommend for a persistent queue following this route? I would guess that we would need a queue Kubernetes deployment and then we could either have a separate goroutine running on the workflow controller to handle the messages or we could spin up an entirely separate deployment for the handler

@JPZ13 Honestly I think even just using an embedded queue would be good enough given we are running only a single controller. Perhaps we could embed nsq like this example: https://gist.github.com/joshrotenberg/ad49d39dbee8b48789d9
But honestly I also don't see why we don't just wait, its not like the most technical solution hahaha, but I suspect it should be a good enough solution in mean time at least.
I do think this is something we should properly discuss about sometime though. I've also opened https://github.com/argoproj/argo-workflows/issues/10360, I think it is feasible that other memory growth issues contribute to the issue as well.

Also we could just add the rate limiting from https://github.com/argoproj/argo-workflows/pull/10359 to this PR too.

@isubasinghe I think the rate limiter makes sense as a minimum viable solution. Let's:

Consolidate your work from this PR and #10359
Allow the rate limiter interval to be passed in as an environment variable, something like RATE_LIMIT_INTERVAL_MILLISECONDS or whatever unit you think makes sense

We can separate out the memory leak stuff in another PR and then tackle queueing separately

@JPZ13 yeah that sounds good to me, on that now.

Closing in favor of #10379


Only one active stream even using multiple streams | Head of Line Blocking

I'm trying to download multiple resources with multiple streams using http3_client.py and http3_server.py. The purpose is to understand the benefit of avoiding Head of Line Blocking using QUIC.
I run the HTTP3 server:
python3 examples/http3_server.py --certificate tests/ssl_cert.pem --private-key tests/ssl_key.pem

I run the example client to perform four HTTP/3 requests:
python examples/http3_client.py --ca-certs tests/pycacert.pem --quic-log http3 https://localhost:4433/100000 https://localhost:4433/100000 https://localhost:4433/100000 https://localhost:4433/100000

The result shows that the HTTP requests from the client are sent to the server in parallel,  but the server will respond with only one active stream at any time.

I think based on QUIC protocol, we can have multiple active streams at the same time, right? I also find an public example from https://qvis.edm.uhasselt.be/#/files  -->  Option 4 Load a massive demo file.

I double checked the source code and I found the current implementation is directly writing all the response body to a byte array, it seems keeps sending the content in this bytearray until it is empty and then switch to start sending another stream.
Did I miss something or are there some configuration parameters I should look at?
Thanks!

You are right, the current send loop will drain a stream as much as possible before moving on to the next one.
I had once written a naive patch which shuffled the streams here:
https://github.com/aiortc/aioquic/blob/d381ef9825b1d36ae1884a0b43452f89bbb67ad7/src/aioquic/quic/connection.py#L2514
.. however performance took a significant hit. You are welcome to suggest an alternative implementation!

Hello,
I got the same results as qyynuaa. Any update on multiplexing?
The strange thing is that in Fig. 1 of "Resource Multiplexing and Prioritization
in HTTP/2 over TCP versus HTTP/3 over QUIC" paper by Robin Marx et al. it seems that aioquic has some sort of multiplexing but qyynuaa and my results do not show that.

My comment https://github.com/aiortc/aioquic/issues/125#issuecomment-708924832 still stands, you are welcome to put together a PR for a performant implementation.

I've been looking at this for a while now, and I'm thoroughly confused...
I don't have an easy setup to test this at the moment, but using the H3 test from interop.seemann.io, I get this:
https://qvis.quictools.info/#/multiplexing?file=https%3A%2F%2Finterop.seemann.io%2Flogs%2F2021-09-28T08%3A05%2Faioquic_quic-go%2Fhttp3%2Fclient%2Fqlog%2F43efa12aa2437e6fe377c4.qlog

That does seem to give more or less sequential sending, with probably an empty send_buffer for yellow somewhere along the middle, and some flushing at the start for the H3 headers maybe?
However, in my original tests, dating from 13 January 2020, I did get -very- clear per-packet multiplexing results for 10 x 1MB files (example file:
run1parallel_10files_1MB_0ms_aioquic.zip

I've been looking at the code and can't immediately find major differences in the send loop logic between then and now that would explain this... maybe (probably?) filling the send buffer was done differently then? There's also a difference in how pacing/cwnd adherence is done there, but I don't think that should matter for this...
Maybe @jlaine has an idea of what might have caused my earlier experiments to produce clear multiplexing? I'm personally guessing it has to do with how he put data in the stream send buffers at that time.

Regardless of all this, I strongly feel that the current behaviour (meaning mostly sequential sending of streams) is the best default behaviour, especially when considering Web page loading performance. It's unlikely multiplexing and a bit higher potential HOL-blocking removal would help overall performance much in that typical use case. See also my work into this at https://h3.edm.uhasselt.be/.

@rmarx What is the canonical procedure to produce an indefinite/infinite datagram or stream from server to client, for example, a live jam session or web radio station? So far I have not successfully achieve that use case myself nor found a solution in the wild.

Hey @guest271314,
I am far from an expert in how to program with aioquic... I've mainly used the more top-level APIs to run tests. You'd be better off asking @jlaine as the main implementer here.
Additionally, I don't think your question really has anything to do with the main subject of this issue (as it pertains to how to multiplex different streams, not having a single indefinite stream), so I would recommend you open a new issue for that and provide some more context on what exactly you're trying to do ("an indefinite/infinite datagram or stream" is a very vague description to me).
With best regards,
Robin

@rmarx  I searched for issues as close to my requirements as possible. An indefinite/infinite stream means a web radio station that streams perpetutally; a live musical jam session that could go 2 hours or 2 days; capturing audio and video of a live event without a pre-determined end; etc. I am able to achieve that using Native Messaging with a Python script, and separately, fetch() with PHP passthru(). I have asked the author of this repository previously, I ask again in https://github.com/aiortc/aioquic/issues/242.

@rmarx FWIW I read the linked tests you performed re QUIC and estimated that you had performed such a live-streaming test. So far I have not located any tests in the wild which address live-streaming using QUIC, specifically with WebTransport. From perspective here that is a use case which needs testing. I am not an expert using Python either. I learned all that Python I use testing WebTransport, thus the question posed to individuals who at least have more experience with QUIC and Python than me. I don't care if one or multiple streams are used, what matters is that the stream is capable of being contigious at the client. Thanks for your reply.

Let's keep this issue active.

You are right, the current send loop will drain a stream as much as possible before moving on to the next one.
I had once written a naive patch which shuffled the streams here:
https://github.com/aiortc/aioquic/blob/d381ef9825b1d36ae1884a0b43452f89bbb67ad7/src/aioquic/quic/connection.py#L2514
.. however performance took a significant hit. You are welcome to suggest an alternative implementation!

Hi @jlaine
Could you please share that patch here.Some users might not care about performance and will be very intrested on testing with multiple streams

Things should be fairer now.


Create-remix behaviour wrong in windows 10

What version of Remix are you using?
1.5.1
Steps to Reproduce
npx create-remix
Expected Behavior
ask all question like which language to choose but instead of that option it directly asking for npm install and then asking for the javascript and typescript option where there is no up and down option is working for js or ts.
Actual Behavior
ask all question like which language to choose but instead of that option it directly asking for npm install and then asking for the javascript and typescript option where there is no up and down option is working for js or ts.
i tried this in my office all desktops as well my laptop

hi, in 1.6.0 the issue solved.