onOpenWindow event not working as expected

I tested with the latest release but could not open the window inside webview (using android). Can you suggest what I am doing wrong here?
return <WebView
source={{
 uri: `some_randome_url`
}}
            javaScriptCanOpenWindowsAutomatically={true}
            originWhitelist={['*']}
            onOpenWindow={(syntheticEvent) => {
            const { nativeEvent } = syntheticEvent;
            const { targetUrl } = nativeEvent
            console.log('Intercepted OpenWindow for', targetUrl)
            }}
        />;

    The URL "some_randome_url" have below line in the html
    `<a href="https://www.google.com" target="_blank">testing link</a>`

    Clicking on above link, opens it on external browser and not inside the webview window.

//version
"react-native-webview": "13.3.0"
"react": "18.2.0",
"react-native": "0.71.3",

Btw, javaScriptCanOpenWindowsAutomatically is optional, onOpenWindow works with and without it.
I tested your setup w/<EMAIL_ADDRESS>window.open and an anchor tag with href property in HTML both invoke onOpenWindow in ReactNative.
Can you try bumping react-native version to latest?

AwesomeProject.zip
unzip this folder and do an npm install
its an expo project, you can do 'npx expo start' to run
Let me know if this works for you. I dont have a working URL handy, so using the w3c for quick test

I am looking to open the URL inside the webview window itself and not in external browser.

@o-alexandrov :
add onClick w/ window.open in the web process and log whether anchor tag is really clicked?=> yes I have tried with both anchor tag and window.open()
bump react-native version to 0.72.3?=> Upgraded version but still same results
test whether the issue happens for both Android and iOS? In the description, you mentioned you tested for Android only.=> Same issue for android & IOS

@jayon-niravel thank you, for the reproducible example, please consider to:

create a repo, instead of sharing a zip file
the example should be minimal, as it'd most probably help you to identify the issue (since it works on my end)

For the example, please consider to:

either run: npx create-react-native-app or npx react-native init Example
push this initial state (from step 1) of the repo to GitHub
add react-native-webview & an example with onOpenWindow
either report back here that the repo is working for you, or please push changes from step 3 to GitHub and let me know here also

@o-alexandrov : Have your tried via npx create-expo-app AwesomeProject?
https://reactnative.dev/docs/environment-setup?platform=ios&guide=quickstart
I will upload to github shortly.Thanks!

I'm not used to Expo, I tried to reproduce on Expo Snack (from the project on their doc)
But when I try to ugrade react-native-webview to 13.3.0 I get this error.

The app will still run but it seems to use the older version. Is it possible that you are in the same situation?
Is Expo supposed to be compatible with latest react-native-webview version?

You need expo@49, if you use it with<EMAIL_ADDRESS>

@o-alexandrov @Ldoppea
I have added this repo: https://github.com/jayon-niravel/webview_react_native
Look at the image below, when I click on the "Try it" button, it does not load the window inside the webview at all.

@jayon-niravel

when I click on the "Try it" button, it does not load the window inside the webview at all

You haven't implemented any code to do so...? All I see is this logging code.
            onOpenWindow={(syntheticEvent) => {
            const { nativeEvent } = syntheticEvent;
            const { targetUrl } = nativeEvent
            console.log('Intercepted OpenWindow for', targetUrl)
            }}

Your screenshot shows that the log is being written and thus the event is working as expected.

@TheAlmightyBob : How can I open the window inside the webview?
I assumed it will do automatically. Should I use the react linking?

I would need to open the targetUrl inside webview window and then close it. Can you suggest how to proceed

You can update the source property of the WebView.
The purpose of onOpenWindow was to give control to intercept the request and implement app-specific custom handling.

Thanks! But I wanted to launch the targetUrl  as a popup window and then close it.
Closing the popup window will return back to the parent page (where the window.open() was called)

But I wanted to launch the targetUrl  as a popup window and then close it.

I don't understand. Before you said you wanted to

open the window inside the webview

Those are completely different behaviors.

So you mean there is no way to open the targetUrl inside the webview window?

So this is what I am looking for:

Source URL (Parent) loaded inside the webview window.
User clicks on button to open an external window (window.open("target_url", "_blank")) as a popup.
Open the "target_url" in an external window retaining the parent page.
Closing the external window will close the popup and then return back to the parent page (retaining the loading state).

So the issue is, if I open the target_url, it always opens up in external mobile browser instead of the webview.
How can I open it inside the webview itself?

Opening "inside the webview itself" would mean updating the source property. But it sounds like that's not what you want, because you want a popup instead, you just don't want to leave the app. You can implement a popup yourself with another WebView instance, or you could use something like https://github.com/proyecto26/react-native-inappbrowser

how can I load webview inside of an webview ?

You cannot. But you can have two WebViews in your mobile app.

Thanks for the response @TheAlmightyBob
Appreciate your help 💯 !!

onOpenWindow is not working as expected for me as well.
I am loading a website which has a relative href with target blank
Link
When I log the syntheticEvent.nativeEvent.targetUrl in the function I pass to onOpenWindow,  it is an empty string

@Vedu1996 Please open a separate issue and provide a sample that reproduces the problem

@TheAlmightyBob When I tried to use multiple web-views I had a problem sharing the token between them, the second web-view opened me without registration, how can I share this data between the windows?

@Rache-lBronfman Unfortunately, that's a limitation of this approach. It's as if you opened the new WebView in a separate browser.. the two don't know about each other.
Theoretically, I believe https://github.com/react-native-webview/react-native-webview/pull/2469 could be leveraged to support "real" window.open support, however that's a massive/complex WIP PR.
In the meantime, I worked around this in my own app by using Javascript injection to implement a custom bridge between the WebViews.

Can you share a gist of your implementation please @TheAlmightyBob

@chakrihacker Only just saw this so not sure if you're still interested. I can't really share the exact code, not so much because it's secret but more because the details are a little complicated and span a lot of files.
But the basic idea is that, instead of the traditional window.open and postMessage calls, the web content should invoke window.ReactNativeWebView.postMessage to send messages to the app to say "please open this URL in a new WebView" and "please deliver this message to the other WebView."
(I originally did a hacky implementation where the javascript injection actually replaced window.open to do this without the web content needing to be updated, but since we own the web content in our case we decided it was better to make changes there and be more explicit about the behavior)

@TheAlmightyBob According to your description, can I think that two Webviews are created for my application, and the event communication between the two Webviews is passed through my App Native code, which requires me to build an intermediate layer to bridge the two Webviews. For this purpose, they can only use the window.ReacNativeWebview.PostMessage method.
So in the end, it comes back to the problem itself. It is impossible to use React Native Webview to implement the real window.open method, just like this question https://github.com/react-native-webview/react-native-webview/issues/1868


Is the wslvar command in import.sh an exec or script?

Is the wslvar command in import.sh an exec or script? I tried to run this branch locally and it has failed.
Originally posted by @pvoliveira in https://github.com/sakai135/wsl-vpnkit/issues/187#issuecomment-1462346493

@pvoliveira I'm moving your question here since it's not related to #187.
wslvar is included in the wslu package, which was preinstalled on WSL Ubuntu before.
https://wslutiliti.es/wslu/install.html


build: dereference some variables for android x64

These variables need to be dereferenced on some versions of CMake.  This
should fix the android x64 nightlies.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test and merge


cuda7.5/cuda8 compilation

cuda7.5/cuda8 compilation

Refer to this link for build results (access rights to CI server needed):
/job/libnd4j_PR/13/


add soloist and solo instrument to transcriptions tab table

Is difficult because this information is contained on recording db coll, not on transcription db coll. Option is to start keeping this info on transcription docs, or just grab via a second call to server for each transcription , to look up its recording db entry.

for new pieces, needs to be updated in acceNewPieceInfo function, in both teh .clone, as well as the "else". BUT, in order to test the cloning, will need to do the aggregation first.

Also, need to make sure when either of these things is updated in the recording, it gets updated in the transcriptions as well


Nominate and elect Colin Griffin as co-chair of WG Platforms

Background: WG Platforms was formed in late 2021 to identify and strengthen patterns in the cloud computing industry for facilitating cooperative practices for delivery of infrastructure and applications. In 2022 we identified platforms and platform engineering as ideal trends to build on to achieve these goals, as described in https://tag-app-delivery.cncf.io/blog/infrastructure-for-apps-platforms-for-cooperative-delivery/, and accordingly we've spent the past 18 months developing a white paper, maturity model and small community to enable enterprises and end users to cooperatively deliver applications and infrastructure by understanding and implementing platform-centric models.
Impact: In addition to the impact on our industry, this work has led to more interest in and contributions to the WG, such as issues tracked in GitHub. discussions in our Slack channel, and a growing presence at Kubecon and other industry and community events.
Request: With this in mind the working group proposes to add another chair to help in handling this growing work and supporting the industry. Current WG leaders @joshgav, @abangser and @roberthstrand have nominated @krumware (Colin Griffin) for this role in recognition of his contributions these past 18 months, his interaction with others in our channels, and his proposals for future industry and community work. @krumware please feel free to share further qualifications of yours in a comment on this issue! We've checked with Colin and he has graciously accepted the nomination; and have also asked TAG App Delivery's leaders for initial approval of his election.
Action requested: So this issue is to make Colin's nomination official and ask TAG App Delivery's leaders (@AloisReitbauer, @thschue, @joshgav, @lianmakesthings, @angellk) to approve it. Please add a :+1: to this post or comment with a +1 to indicate your support. We'll finalize Colin's election with a PR adding him to relevant groups and listings.
Thanks for your support!

I can add a strong vote of confidence for the work that Colin has done and continues to do within both the WG and the wider CNCF including liaisoning with the CNCF Cloud Native Maturity Model, FINOS community and more.
He will be a huge asset to the team given even more focus and opportunity to support others.

+1, Collin does a lot for the WG Platforms community and I think he'll be an excellent co-chair.

I've worked closely with Krumware over the past few years and I cannot say enough about how great the experience has been. Colin will be an invaluable asset for WG platforms.

As suspected, Colin seems to have had overwhelming support! 🎉🙌
Given this I'd love to get this actioned before KubeCon so that Colin isn't in limbo land in Paris.
What is left to do? Maybe a PR for adding his name to the site? 🤔

If there are 4 chairs, it would help to have one step down so we can have an odd number of chairs for decision ratification. Is there a chair that is ready to rotate out? Cc: @abangser @joshgav @roberthstrand

Agreed @angellk and we do have a rotation plan in place but I think the goal is to execute in a few more months. If it's OK to stay at 4 for a short time that would be ideal.
Another side note, the value of merging this asap is that @krumware is representing the WG on stage at Platform Engineering Day and I'd love to have him be able to be out of the current limbo state.
All that said, I realise the value of split decisions, but I think at WG level that is less impactful and we've been more pressed for enough support for the ongoing projects. But of course understand if you want to maintain the odd number and we can organise if necessary.

Sounds good @abangser ! We can merge and then discuss timelines/plan in the leads meeting this next week.

That's great, thanks for understanding @angellk !


Web Browser Selector

Description of the new feature / enhancement
Feature Request
Dynamic Prompt to select which web browser to open a clicked link in.
Scenario when this would be used?
When a link is clicked in a applications such as Outlook, Teams, etc. prompt the user to select which browser the link should open in.
Supporting information
Example applications:
https://github.com/mortenn/BrowserPicker
https://github.com/sonnyp/Junction
Bumpr for MacOS

/dup #1642


Update README.md

@iamfaker-debug  thnx for contributing, try this year, and make sure you follow me and star this repo for updates about special swags I will be giving.
Contribute in October for Hacktoberfest 2020


Can't add custom domain for status

Describe the bug
Add a custom domain, when I select Add CNAME to verify the CNAME, I get an error "Custom Domains not enabled for this OneUptime installation. Please contact your server admin to enable this feature."
To Reproduce
Steps to reproduce the behavior:

In Project Settings, Add a domain (works) and Verify (works) (mycompanyname.com)
Click the Status Pages tab
Click the name of the Status Page that you want to add the custom domain to
Select Custom Domains
Add a custom domain (subdomain=status, domain dropdown is mycompany.com domain),
Do not select a certificate and click Create Status Page Domain
Click the Check CNAME
See error

Expected behavior
Should be a way to validate the subdomain, much like the verification for a domain.
Screenshots

Desktop (please complete the following information):

OS: Ubuntu
Browser Chrome
Version 131.0.6778.205

Deployment Type
Kubernetes
Additional context
My current values.yaml is below:
host: oneuptime.mycompany.com
# If hosted on non-ssl server then change this to http
httpProtocol: https

statusPage:
  cnameRecord: oneuptime.mycompany.com

oneuptimeIngress:
  enabled: true
  hosts:
    - oneuptime.mycompany.com

global:
  storageClass: "local-path"

Reinstall fixed this, but now, I can't verify the CNAME.

Any hints?

For anyone wondering, I had to add status.mycompany.com (Cname record) to oneuptimeIngress.hosts so it containeed my main host, and any status hostsnames.  Seems kind of odd, so still should be considered a bug.  I did find the solution through an incident search for the same problem.


fix(core): set ssg:false in plugin not work in build mode

Summary
Related Issue

Checklist

[x] I have added changeset via pnpm run change.
[ ] I have updated the documentation.
[ ] I have added tests to cover my changes.

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

Thanks!


Fixed redirect on login and Styling on product cards

Added country of origin as well; Status still not showing


desktop: add missing redirects for dashboard

The dashboard topic was rolled up into the "get-started" section in commit ab0dee78a2835162b0c69af567cf00276e46da09 (https://github.com/docker/docker.github.io/pull/15145), which removed links from the TOC. The page itself was removed in 13ee3ff42626a64dddf8e2a119bbbd77505738c5 (https://github.com/docker/docker.github.io/pull/15363), but forgot to add/copy the redirects.
This patch adds the redirects back, and fixes some links to the page that's now missing.

fixes https://github.com/docker/docker.github.io/issues/15387
fixes https://github.com/docker/docker.github.io/issues/15391
fixes https://github.com/docker/docker.github.io/issues/15410
fixes https://github.com/docker/docker.github.io/issues/15414
fixes https://github.com/docker/docker.github.io/issues/15415
fixes https://github.com/docker/docker.github.io/issues/15417
fixes https://github.com/docker/docker.github.io/issues/15445
fixes https://github.com/docker/docker.github.io/issues/15458
fixes https://github.com/docker/docker.github.io/issues/15464
fixes https://github.com/docker/docker.github.io/issues/15476
fixes https://github.com/docker/docker.github.io/issues/15478
fixes https://github.com/docker/docker.github.io/issues/15481
fixes https://github.com/docker/docker.github.io/issues/15482
fixes https://github.com/docker/docker.github.io/issues/15495
fixes https://github.com/docker/docker.github.io/issues/15497
relates to https://github.com/docker/docker.github.io/issues/13023
relates to https://github.com/docker/docker.github.io/issues/13038

@craig-osterhout @usha-mandya @aevesdocker ptal

Let me bring this one in, so that it can be published on first possible moment


Download GitHub Release repository drop down not showing all available repositories

Required Information
Type: Bug
Enter Task Name: Download GitHub Release (Preview)
https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/DownloadGitHubRelease
Environment

Azure Pipelines
Download GitHub Release
GitHub Release under Add an artifact source type

Issue Description
The Download GitHub Release (Preview) task doesn't show the full list of repositories from GitHub in the Repository drop down. There seems to be a limit to the amount of repos that are returned in the list. This also happens when attempting to use the GitHub Release artifact for a pipeline. Using the task step I can manually type the "org-name/repo-name" but this doesn't work for the GitHub Release artifact source type in the Source (repository) drop down.

To add to this, the drop down is returning the first 100 repos only when there are over 378 repos in total that should be returned.

Any updates on this please?

@dalemorson we are in the last leg of implementation. We will be able to ship in next 3 weeks time.

Hey @Lovakumar thank you for your reply that's great news! I use<EMAIL_ADDRESS>to login to Azure DevOps and my organisation name is dev.azure.com/AzDmLrn. Let me know once I've got access to the early preview and test 👍

Hi @Lovakumar do you have any updates at all please? Did you add me to the preview? Thanks, Dale.

@dalemorson I didn't add your account to preview yet. We are code complete and deployment is pending to be done. ETA is looking to be around 1 week more from now.

@dalemorson we have enabled preview of GitHub repository picker on dev.azure.com/AzDmLrn for Download GitHub Release task. Can you please try and let us know your feedback.

Hi @Lovakumar thank you for enabling the preview. Looking better already, however, while I can now select the repositories I need any source repositories from the organisation I'm an administrator of has a greyed out Add button. If I select one of my repositories the Add button is blue. Attached screenshot:

Hi @dalemorson, Thanks for the feedback. We have identified the issue and made a hotfix for resolving the same. We will keep you posted when the deployment reaches your account.

Thank you very much!

Hi @dalemorson, The hotfix we have made to address the above issue has been deployed for your account. Please try out and let us know if it solved the issue for you.

Hi @sneha-vemula thank you, I can confirm this has now been resolved! 👍


Feature Request: Add Builtin Roles for operating container app jobs

Is your feature request related to a problem? Please describe.
Today there's no builtin role that allows a user or a service principal to trigger container app jobs.
Describe the solution you'd like.
I would like to have a builtin azure rbac role that I could assign to Service Principals or system-assigned managed identity so they could trigger job executions.
Describe alternatives you've considered.
Today I've created a custom role with the following 3 actions:

microsoft.app/jobs/start/action
microsoft.app/jobs/stop/action
microsoft.app/jobs/read

And assigned it. it just works.

Related/duplicate #780
This is still under consideration and there's no ETA at the moment.

@rhuanbarreto just to confirm, you added those 3 permissions to a custom role, and a user was able to start container app jobs that are typically set to run on a schedule? Did that user have any other roles assigned as well? I've been trying to get this working to no avail. I even updated the custom role to include the following permissions, but that still did not allow them to start container app jobs manually:

microsoft.app/jobs/start/action
microsoft.app/jobs/stop/action
microsoft.app/jobs/read
microsoft.app/containerapps/read
microsoft.app/containerapps/stop/action
microsoft.app/containerapps/start/action
microsoft.app/containerapps/revisions/deactivate/action
microsoft.app/containerapps/revisions/activate/action
microsoft.app/containerapps/revisions/restart/action
microsoft.app/containerapps/revisions/read
microsoft.app/containerapps/revisions/replicas/read

Only after over-provisioning the user with the Contributor role finally granted them access to start them manually. I even opened a ticket with Azure support, but it went ignored for over a week and when they finally did reach out, they simply told me that they don't support custom roles at all.

My trigger type is "Manual". So I use those 3 roles and it works.

@jeremyaltman Have you checked network access thoroughly? I've sometimes had a network access look like a permissions issue because of a vague error message.

My trigger type is "Manual". So I use those 3 roles and it works.

I also used these 3 roles for "manual" and gave the access on subscription level but it is not working in my case.  I can not click on "Run now".


Support for Windows wsl with Ubuntu or other cross systems.

Support for Windows wsl with Ubuntu or other cross systems. https://github.com/crystal-lang/crystal/issues/7777

Why did you reference Crystal when the code is in Ruby? 😅

sorry. I was completely missing this. I don't have a Windows test environment, but there seems to be no problem with the code, so I'm merging it. thank you


Hope to improve Microsoft.Windows.SDK.BuildTools version again

Describe the bug
The Windows App SDK relies on Microsoft.Windows.SDK.BuildTools version is 10.0.22621.756, at present the latest stable version is 10.0.22621.2428, Please update to the latest stable version 10.0.22621.2428.
目前Windows 应用 SDK 版本依赖的Microsoft.Windows.SDK.BuildTools版本是10.0.22621.756，目前最新的稳定版本是10.0.22621.2428，希望能更新到最新的稳定版本10.0.22621.2428。
Steps to reproduce the bug
We found that the current Microsoft. Windowsappsdk 1.5 experiment 1 for Microsoft.. Windows SDK. The BuildTools version has been updated to 10.0.22621.756 rely on package, Please update to 10.0.22621.2428 as soon as possible before the 1.5 stable release
我们发现目前 Microsoft.Windowsappsdk 1.5 experiment 1所需的 Microsoft.Windows.SDK.BuildTools 依赖包的版本已经更新到 10.0.22621.756，请尽快在 1.5 stable 版本前更新到 10.0.22621.2428
Adjacent problem
相近问题
https://github.com/microsoft/WindowsAppSDK/issues/3759
Expected behavior
Please update to the latest stable version 10.0.22621.756
Screenshots

NuGet package version
Windows App SDK 1.4 Preview 1: 1.4.230628000-preview1
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 22H2 (22621, 2022 Update)
IDE
Visual Studio 2022
Additional context
No response

@Gaoyifei1011 thanks for reporting.  Is there a specific issue that requires this update?  Previously, there was a requirement to update to 10.0.22621.756, to resolve a transitive nuget dependency error.

@Gaoyifei1011 thanks for reporting. Is there a specific issue that requires this update? Previously, there was a requirement to update to 10.0.22621.756, to resolve a transitive nuget dependency error.

Please see this question.
https://github.com/microsoft/WindowsAppSDK/issues/3759
这个问题提交的时间在 Microsoft.Windows.SDK.BuildTools 10.0.22621.2428版本发布之前，那个时间段的最新版本是10.0.22621.756。
This problem submit time. In Microsoft Windows. The SDK. The BuildTools 10.0.22621.2428 before release, that time is the latest version of the 10.0.22621.756.

The change from .755 to .756 was required for a very specific fix to BuildTransitive. Is there a fix in .2428 that you need?


Add cache-tag like functionality to static page generator to limit amount of pages to be processed

What is the motivation for adding / enhancing this feature?
This is usefull when a full index takes a long time for all pages (like a couple of minutes for product pages alone) and you have a lot of changing data all the time and need to regenerate your pages because of that.
In this case you only want to generate the pages that were affected by the last update.
What are the acceptance criteria

[x] Keep something like a "page-tag" as is done with cache tags, to map what change should trigger which page-object to rebuild
[x] Multiple "tags" per page-object
[x] Multiple page-objects per "tag"
[x] Implement this in a scale able style, like in a real queue with process-workers that take care of the queue-items and that can be adjusted on demand
[x] The whole process needs to take care that only the last change-request to a given object is valid. If you change multiple products in a category, the category should only be processed once and not for every product, every "old" job needs to be ignored

Can you complete this feature request by yourself?

[ ] YES
[ ] NO

Which Release Cycle state this refers to? Info for developer.
Pick one option.

[x] This is a normal feature request. This should be available on https://test.storefrontcloud.io and then after tests this can be added to next Vue Storefront version. In this case Developer should create branch from develop branch and create Pull Request 2. Feature / Improvement back to develop.
[ ] (Pick this option only if you're sure) This is an important improvement request for current Release Candidate version on https://next.storefrontcloud.io and should be placed in next RC version. In this case Developer should create branch from release branch and create Pull Request 3. Stabilisation fix back to release.
[ ] (Pick this option only if you're sure) This is a critical improvement request for current Stable version on https://demo.storefrontcloud.io and should be placed in next stable version. In this case Developer should create branch from hotfix or master branch and create Pull Request 4. Hotfix back to hotfix.

Additional information
In our case, 50k+ products, within 2k of categories, the whole process takes about 10-15 minutes. If change happens during this period of time (sell something so a products may go out of stock) this is really dangerous.
I could imagine that the trigger for queuing this could be like the cache-invalidation trigger that is used to purge the output cache in case something changes in Elastic, so maybe couple it to the Elastic change calls? Single page generation should be fast, to prevent huge differences between an "old" page and the current information within Elastic.

Plus: parallel rendering would be awesome (multiple processes) - but actually by having those tags you can easily do this by starting 2-3 cli scripts each for different tag/partition

I think having it in a "poor-mans" way, to prevent the need of a queuing service should be for this ticket and the queuing implementation should be handled in #3899 but the general functionality should be possible without the "worker-implementation".


feat: add option to disable combining the pending part

Some Amazon S3 Compatible Storage only supports the same part size（1M-5G） in the multipart upload, expect for the last part. And the last part must not be larger than the same part size.
We add a option MultipartCombineSmallPart to enable/disable combining the pending part
Signed-off-by: Libo Huang<EMAIL_ADDRESS>

hey @huangnauh thanks for the PR; can you please sign your commit as per the contributors guildeines?

hey @huangnauh thanks for the PR; can you please sign your commit as per the contributors guildeines?

Done. PTAL

Codecov Report

Merging #3556 (e107724) into main (6a977a5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #3556   +/-   ##
=======================================
  Coverage   56.35%   56.35%
=======================================
  Files         101      101
  Lines        7307     7307
=======================================
  Hits         4118     4118
  Misses       2534     2534
  Partials      655      655

Continue to review full report at Codecov.

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


Add requestedServerName() to Network::connection

Description: Add requestedServerName() to Network::connection, to enable using the SNI value in the filters. The current use case  is sending the SNI value to the Istio mixer for monitoring and policy enforcement. Suppose we have *.ibm.com value in sni_domains, and a request is sent to www.ibm.com, the requirement is to extract the value of www.ibm.com by a listener and to send it to Mixer.
Risk Level: Low
Testing: Added SslSocketTest.GetRequestedServerName test
Docs Changes: None
Release Notes: None
Is related to issue https://github.com/envoyproxy/envoy/issues/3707, is a prerequisite for https://github.com/istio/istio/issues/6810

Waiting to merge until @vadimeisenbergibm pushes the commit mentioned in latest comment

@PiotrSikora @ggreenway Done, took me some time, sorry.


Minor updates to plugin concepts

Adds imports required to get the files to compile, and MultipartAPIRequest extensions.

Great, thanks @rojotek!


Computation of lattice parameter ranges

Extracted stats:
MP20, a:
	 range = (2.44, 34.66)
	 .05-.95 quantile = (3.37, 11.34)
	 .01-.99 quantile = (2.92, 15.08)
MP20, b:
	 range = (2.47, 45.87)
	 .05-.95 quantile = (3.44, 11.79)
	 .01-.99 quantile = (2.94, 17.42)
MP20, c:
	 range = (2.28, 132.38)
	 .05-.95 quantile = (3.96, 19.8)
	 .01-.99 quantile = (3.23, 37.13)
MP20, alpha:
	 range = (59.32, 119.97)
	 .05-.95 quantile = (90.0, 90.0)
	 .01-.99 quantile = (77.29, 105.08)
MP20, beta:
	 range = (60.12, 134.93)
	 .05-.95 quantile = (90.0, 115.8)
	 .01-.99 quantile = (79.07, 127.45)
MP20, gamma:
	 range = (60.01, 120.0)
	 .05-.95 quantile = (90.0, 120.0)
	 .01-.99 quantile = (77.91, 120.0)
Matbench, a:
	 range = (1.78, 82.43)
	 .05-.95 quantile = (3.47, 13.74)
	 .01-.99 quantile = (2.93, 19.59)
Matbench, b:
	 range = (2.13, 137.34)
	 .05-.95 quantile = (3.63, 14.65)
	 .01-.99 quantile = (2.92, 21.2)
Matbench, c:
	 range = (2.05, 302.23)
	 .05-.95 quantile = (4.27, 22.91)
	 .01-.99 quantile = (3.47, 40.03)
Matbench, alpha:
	 range = (58.35, 121.79)
	 .05-.95 quantile = (89.79, 94.13)
	 .01-.99 quantile = (70.29, 110.65)
Matbench, beta:
	 range = (60.03, 135.0)
	 .05-.95 quantile = (89.85, 118.56)
	 .01-.99 quantile = (73.29, 128.67)
Matbench, gamma:
	 range = (60.0, 120.0)
	 .05-.95 quantile = (89.83, 120.0)
	 .01-.99 quantile = (64.31, 120.0)

Thanks for the analysis!
Then, to conclude with a safe range for the parameters, it seems that this would do:
Lengths: [1, 350]
Angles: [50, 150]

@alexhernandezgarcia ok, so now the question is: datasets are actually relatively large (5 MB), what's your take on keeping that in repo vs. having some scripts not working without external data?


[Q] show and hide view Gridlines

Hello, thanks in advance. I've used this plugin and it works very well, but I want to make an excel workbook that can remove the gridline display, is that possible?

I don't know what's a gridline

this is table view in excel. is it possible to set the default to hide or show?

I see. Why would you prefer to hide tge grid?
On Fri, 13 Jan 2023 at 09:38, yafasa @.***> wrote:

[image: Screenshot 2023-01-13 133041]
https://user-images.githubusercontent.com/111946510/212253439-3c122535-5fc2-4e9f-9709-ec0fb505185c.png
this is table view in excel. is it possible to set the default to hide or
show?
—
Reply to this email directly, view it on GitHub
https://github.com/catamphetamine/write-excel-file/issues/2#issuecomment-1381379652,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADUP347NF63WUZJVSHSJY3WSDZ6PANCNFSM6AAAAAATZ5VRQI
.
You are receiving this because you commented.Message ID:
@.***>

It seems like an application window feature, not a file feature. If you
think otherwise, can you provide two identical sample files: one with the
grid and the other without it.
On Fri, 13 Jan 2023 at 12:29, Николай Кучумов @.***> wrote:

I see. Why would you prefer to hide tge grid?
On Fri, 13 Jan 2023 at 09:38, yafasa @.***> wrote:

[image: Screenshot 2023-01-13 133041]
https://user-images.githubusercontent.com/111946510/212253439-3c122535-5fc2-4e9f-9709-ec0fb505185c.png
this is table view in excel. is it possible to set the default to hide or
show?
—
Reply to this email directly, view it on GitHub
https://github.com/catamphetamine/write-excel-file/issues/2#issuecomment-1381379652,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADUP347NF63WUZJVSHSJY3WSDZ6PANCNFSM6AAAAAATZ5VRQI
.
You are receiving this because you commented.Message ID:
@.***>


Update pinned_versions to August 31st

Differences are minuscule, provides computational improvement for SOCA.
Closes #51

hmm, looks like we need to update .github/workflows/yaml_coding_norms.yml:
https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/


feat: Allow calling ERC725X.execute(uint256[],address[],uint256[],bytes[]) through the LSP6

What does this PR introduce?
This PR introduces the path ERC725X.execute(uint256[],address[],uint256[],bytes[]) to LSP6KeyManager.

🚀 Feature
Previously calling ERC725X.execute(uint256[],address[],uint256[],bytes[]) would revert with the custom error InvalidERC725Function. Now the call goes to the target contract.

PR Checklist

[ ] Wrote Tests
[ ] Wrote Documentation
[ ] Ran npm run linter
[ ] Ran npm run prettier
[x] Ran npm run build
[ ] Ran npm run test

LSP6KeyManager deployment cost 3298129 => 3724578

For reference, on Ethereum, this increase in deployment cost would result in the following:
before: 3,298,128
after: 3,420,298

122,170

x 50 (gas price) = 6,108,500 gwei = 0.0061085 ETH
1 ETH = 1,770 EUR
1 ETH = 1,940 USD
0.0061085 = 10.81 EUR
0.0061085 = 11.85 USD

Closing this PR as we need more investigations for potential bugs for this path + review the gas increase (both deployment + runtime)


[W7.8] UI

Made a few changes to the UI. Mainly on person card and status bar.

Coverage increased (+0.06%) to 92.214% when pulling ae5a7eb5719ce829d01fab3fc7b32f6effe77576 on Gideonfu:W7.8 into 5ad18ed814625818c4e506c254fa8867391fdaa9 on CS2103-AY1718S1-T17-B4:master.


Enable debugging the backend by default and update README.md

Please check the following

[ ] Do the tests still pass? (see Run the Tests)
[ ] Is the code formatted properly? (see Linting (Formatting))
For New Features:

[ ] Have tests been added to cover any new features or fixes?
[x] Has the documentation been updated accordingly?

Please describe additional details for testing this change
Fixes #208
This adds the --inspect flag to the node app.js command used by start:dev and start:server, to enable debugging the backend server by default.
With this, a section about debugging the backend server is added in README.md to inform people on debugging it using the node debugger in VSCode.

Yes, it's done. It's also rebased and squashed.


pdksync - Add support on Debian10

Add support on Debian10
pdk version: 1.11.1

Opened by mistake. Can be closed


2.5 Release: with or without PG13?

The last release is 19 months away, not even officially PG12 compatible. That's a long time for people that only want officially released software.
Can we plan something for the near future?
Option 1:  A release ASAP with these PR that need a last polish or just an answer:
#186
#256
#261
#248 ?
Option 2: A release with all of this + some PG13 improvements, such as:
#260
Feelings?

If you can afford to spend some time to release right now, please do it. I don't have time to work on #260 myself right now.

I can release but I'd like to see at least the bugs, incompatibilities or small items committed.
#267 and #263  are waiting, too.
Would it be possible to take an hour together in the next days to decide what to release?

I did some quick housekeeping.
Here is the checklist:

[ ] #186
[ ] #248
[ ] #256
[ ] #260
[ ] #261
[ ] #263
[ ] #267

done


Building from source on docker very slow (9 hours)

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): source
TensorFlow version:  docker: latest-devel-gpu-py3 (image id: d6c139d2fdbf)
Python version: py3
Installed using virtualenv? pip? conda?: docker
Bazel version (if compiling from source): 0.15.0
GCC/Compiler version (if compiling from source): gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
CUDA/cuDNN version: Cuda compilation tools, release 9.0, V9.0.176
GPU model and memory: GTX650Ti, 1024MB
CPU: Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz
Storage: SSD
RAM: 8GB

Describe the problem
I'm trying to compile GPU TF, but it seems to take forever. I'm now on 9 hours and counting. I'm expecting the compilation time to be much quicker.
Provide the exact sequence of commands / steps that you executed before running into the problem
following https://www.tensorflow.org/install/source#gpu_support_2 using
docker: latest-devel-gpu-py3 (image id: d6c139d2fdbf).
Compilation finally ends after writing this at roughly 9 hours and 10 minutes
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
final output logs after completion:
[17,524 / 17,527] Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/k_f|
[17,524 / 17,527] 2 actions running                                             |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/k_feature_gradien|
[17,525 / 17,528] 2 actions, 1 running                                          |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/unpack_path_op.cc|
[17,526 / 17,529] 2 actions running                                             |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/unpack_path_op.cc|
[17,526 / 17,529] 2 actions running                                             |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/unpack_path_op.cc|
[17,526 / 17,529] 2 actions running                                             |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/unpack_path_op.cc|
[17,526 / 17,529] 2 actions running                                             |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/unpack_path_op.cc|
[17,533 / 17,536] 2 actions, 1 running                                          |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/routing_gradient_|
[17,533 / 17,536] 2 actions, 1 running                                          |
    Compiling tensorflow/contrib/tensor_forest/hybrid/core/ops/routing_gradient_|
[17,537 / 17,538] [-----] Linking tensorflow/contrib/tensor_forest/hybrid/python|
[17,537 / 17,538] Linking tensorflow/contrib/tensor_forest/hybrid/python/ops/_tr|
Target //tensorflow/tools/pip_package:build_pip_package up-to-date:             |
  bazel-bin/tensorflow/tools/pip_package/build_pip_package                      |
INFO: Elapsed time: 75209.586s, Critical Path: 1426.82s                         |
INFO: 14080 processes: 14080 local.                                             |
INFO: Build completed successfully, 17538 total actions                         |
root@61c2126bd1ff:/tensorflow#

Thank you for the report.
One reason for the slowness is that only 2 CPU jobs were used for building. Though that's mostly linear speedup if you increase to more (on 12 cores I'm seeing builds finish in ~3 hours)

Ah I just realized from the log, that's 75209.586s (20 hours!)
Thank you @mihaimaruseac, I didn't realized the scale of the code. 3 hours on 12 cores corresponds to 18 hours on 2 cores, so I guess the numbers check out.

The cpu is also outdated by now.


Bandit and BinSkim cause errors

Both Bandit and BinSkim are listed here as available tools.
However when I run extension with this config:
- task: MicrosoftSecurityDevOps@1
  displayName: 'Run Microsoft Defender for DevOps'
  inputs:
    tools: bandit

The run fails with:
##[error]bandit is missing required argument: Target
##[error]Error running bandit job: 1 of 1
##[error]AnalyzerMissingRequiredArgumentsException: bandit is missing one or more required arguments.
Same for BinSkim, if I run it like this:
- task: MicrosoftSecurityDevOps@1
  displayName: 'Run Microsoft Defender for DevOps'
  inputs:
    tools: binskim

The run fails with:
##[error]Error running binskim job: 1 of 1
##[error]InvalidResponseFileContentsException: Cannot create a response file with zero arguments. Ensure that your arguments are correctly set up.
Also when I run the task without specifying a tool (in which case all tools should be executed), bandit and binskim are missing:
Applicable Tools:
Tool Name: credscan
Tool Version: <IP_ADDRESS>
Tool Config File Path: D:\a\1\s\.gdn\c\credscan.gdntool

Tool Name: eslint
Tool Version: <IP_ADDRESS>
Tool Config File Path: D:\a\1\s\.gdn\c\eslint.gdntool

Tool Name: templateanalyzer
Tool Version: 0.3.1
Tool Config File Path: D:\a\1\s\.gdn\c\templateanalyzer.gdntool

Tool Name: terrascan
Tool Version: <IP_ADDRESS>
Tool Config File Path: D:\a\1\s\.gdn\c\terrascan.gdntool

Tool Name: trivy
Tool Version: <IP_ADDRESS>
Tool Config File Path: D:\a\1\s\.gdn\c\trivy.gdntool

Are Bandit and BinSkim supported or not?

I encounter a similar issue. I receive this error:
##[error]GuardianErrorExitCodeException: binskim completed with an Error exit code: 1. BinSkim failed. Verify the target(s) to be scanned. BinSkim targets must be a specific filename, or a pattern with a wildcard like *.dll, dir\*.dll, or dir\*
How can I specify the binskim targets to the MicrosoftSecurityDevOps task?

Found the solution in another GitHub issue. I added the .gdnconfig file with the content below to the project and it worked.
{
  "tools": [
    {
      "tool": {
        "name": "BinSkim",
        "version": "Latest"
      },
      "arguments": {
        "IgnorePdbLoadError": "true"
      }
    }
  ]
}

and in the pipeline file:
- task: MicrosoftSecurityDevOps@1
  displayName: 'Microsoft Security DevOps'
  inputs:
    config: 'gdnconfig/.gdnconfig'
    break: true
    tools: 'binskim'

These are supported tools, but they require some configuration to run. By default, the Bandit config tries to find .py files in your source but if it does not find them it will fail in this way. Binskim does the same, looking for .dll/.exe files. You can configure them to use another location either with a config file as described by @nb-atudose, or configure them in your pipeline yml as described in the wiki here: https://github.com/microsoft/security-devops-azdevops/wiki


[feat] Create a default welcome page

Right now its throwing 404, something similar to Django's Welcome Page

@rsqwerty please take on this issue, if you have any doubt contact @yspanchal

completed. Implemented in PR: https://github.com/fafadiatech/newscout_web/pull/47


"alure" prefixed functions not declared or defined in this repository

I've been trying to port a game engine I am working on to work on OpenBSD, and unfortunately, their package manager has no package for alure available, unlike most other systems. alure fresh from the package manager on every system I tried has the functions I need defined and declared. This includes Windows/MSYS2's pacman, many Linux distributions, macOS, and non-OpenBSD *BSD's.
I tried working around the lack of alure in OpenBSD's package manager by taking the following steps:

Fork this kcat/alure repository to not use libdumb in the CMakeLists.txt, because libdumb causes compile errors on OpenBSD, then import my fork as a git submodule to my project using alure.
Change the header includes from AL/alure.h to AL/alure2.h because alure.h is what package managers on other systems provide but alure2.h is what this alure repository actually provides.
Invoke cmake ., make, and make install and build/link my openbsd executable to alure2.so.

Unfortunately, this resulted in a ton of undefined references to functions which are not even declared in any of the headers or defined in any of the sources of this alure repository. All these undeclared functions work on other platforms because I am not relying on alure from this repository but instead on alure provided by package managers, which do define/declare the functions I need, and these functions I am using have the "alure" prefix.
See my code below to see some of those functions with the "alure" prefix:
https://github.com/time-killer-games/stigma-dev/blob/master/ENIGMAsystem/SHELL/Audio_Systems/OpenAL/ALadvanced.cpp
To name a few I rely on:

alurePlaySource()
alurePlaySourceStream()
alureStopSource()
alurePauseSource()
alureResumeSource()
alureDestroyStream()

All of the above are undefined and undeclared in this alure repository. How can I get access to these functions? What am I doing wrong? If this is not the correct alure repository where those functions would be present, where is the correct one?
Thank you!
Samuel

Alure2 is a different C++-based API which is incompatible with the Alure 1.x C API. The last tags/releases for the old releases can be found here.

Thank you! I'll close this issue. Technically this was meant for bug reports and not for getting help. That said, thank you for your patience and being helpful.


Download coredns to all nodes

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:
/kind api-change

/kind bug

/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #9315
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

Invalid pull request, please ignore (forked wrong repository originally)


Non-inline JS

Currently in order to use yadcf with Content Security Policy one has to add the unsafe-inline policy due to the added on* attributes to the HTML (e.g. onchange). From what I understand adding unsafe-inline is suboptimal as it works around one of the nice safety features CSP provides
Would it be possible/feasable to use .on() or similar for filtering instead of inline script?

I don't think it will be possible because most of the actions that are related to yadcf must happen before the actions of datatables and in most cases it will prevent from the original dt action to happen (filter instead of sort) any way, I think that there are more fine grained solutions rather then using the unsafe-inline, for example specifying the base64-encoded hash of the source code , see the following article / do additional research. Please update this thread in case you will use some other solution.

Thanks for the reply! Unfortunately hashes and nonces are limited to <script> tags and won't work for other elements

I'm have the same issue.  Any suggestions on a work around?

Plus one - any changes possible here?

I think https://github.com/vedmack/yadcf/pull/675 fixes this issue.

I have merged @stringfellow PR, let me know how it works for you


Problem with website security certificate

This is because I moved it from https://dreamwriter.io to https://dreamwriter.co :smiley:


chore: javascript sdkV3

(node:88992) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.
Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the migration guide at https://a.co/7PzMCcy
(Use node --trace-warnings ... to show where the warning was created)

Only used for
   const s3 = new S3();
    const data = await s3.getObject(params).promise();

Fails with:
PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

This is annoying a lot of people, even though it is plausibly the right thing to do.
One option is another query parameter on the URI, perhaps:
bucket?region=us-west=2

The v2 SDK may also be the cause of:
...941ca3e8f2f10e159b39988705675222467f2fe8f01584654c6b10/index.js  22.0mb ⚠

Or just use process.env.CDK_DEFAULT_REGION else throw error


Forcing data for sandbox users

@ZacharyWills @KatherinePowell-NOAA
Derrick would like a list of all data needed by prospective users so let's use this issue to create that list.
LiveOcean:
All data available on UW apogee server, accessed with a user account Patrick helped me get set up.
ECCOFS:
NECOFS:
SECOFS:

GRTOFS Sea Surface Height as boundary and forcing but want to transition to satellite altimetry except SECOFS might be too small of a model to use the altimetry data
HERR
NOAA data tank has all data he needs

Input/output requirements for each day

the output size is 3-4GB
use 1000-2000 CPU’s
runtime: completes in about 9 minutes
about 1 million nodes
multiple vertical levels with up to 1m resolution

From Chris Peternostro: a list of Data Providers that need to be available for sandbox modelers
NCEP:
https://nomads.ncep.noaa.gov/pub/data/nccf/com/nosofs/prod/ (24 hours)
https://nomads.ncep.noaa.gov/pub/data/nccf/com/nosofs/v3.5/ (or specific version)
https://ftp.ncep.noaa.gov/data/nccf/com/nosofs/prod/ (24 hours)
CO-OPS THREDDS:
https://opendap.co-ops.nos.noaa.gov/thredds/catalog/catalog.html
NODD:
https://registry.opendata.aws/noaa-ofs/


Output without [stdout]

Hi is it possible to display cmd output without [stdout]/[stderr] ?

I am also in favor of allowing some config for it. Also the three ticks wrapping the output are simply visible as is when used in HipChat - so I would be happy to see config for disabling that as well.

Hello, @groob and @DannyBen sorry I've been away from Github for so long! Looking into this now.

Fixed in #5


It says it's correct when it's not

Challenge http://www.freecodecamp.com/challenges/bonfire-repeat-a-string-repeat-a-string has an issue. Please describe how to reproduce it, and include links to screen shots if possible.
There is an issue with the tests this challenge runs to determine if you have the right answer or not.  Because the tests only the number 3 for n, It's possible to pass the challenge with the following code even though this is not the correct solution (because it will not work if n is anything other than three):
function repeat(str, num) {
  // repeat after me
 str = str += str += str;

  if (num < 0) {
    return "";
  }
  else {
    return str;
  }
}

repeat('abc', 4);

Tried and it works

Thank you!

Closing as stale


Added String.count method

This method returns the amount of identical substrings in string, Its particularly useful for text parsing purposes + there is simular function in Python API and in the Array class of Godot
example
	print(str("".count("Test"))) # 0
	print(str("Test".count(""))) # 0
	print(str("Test".count("test"))) # 0
	print(str("Test".count("TEST"))) # 0
	print(str("TEST".count("TEST"))) # 1
	print(str("Test".count("Test"))) # 1
	print(str("aTest".count("Test"))) # 1
	print(str("Testa".count("Test"))) # 1
	print(str("TestTestTest".count("Test"))) # 3
	print(str("TestTestTest".count("TestTest"))) # 1
	print(str("TestGodotTestGodotTestGodot".count("Test"))) # 3

	print(str("TestTestTestTest".count("Test", 4, 8))) # 1
	print(str("TestTestTestTest".count("Test", 4, 12))) # 2
	print(str("TestTestTestTest".count("Test", 4, 16))) # 3
	print(str("TestTestTestTest".count("Test", 4))) # 3

Fix #27749

I guess I need to write a C# version for this. Also closes #27749.

Added C# version, cc @neikeq

Code seems good to me so it could be merged, but I think it should likely be added to GDNative too? If so, I believe it would have to be added to the 1.2 extension (CC @karroffel to confirm).

This could be added to GDNative, yes. If there is an issue about things that should be added to the 1.2 core extension then it could be mentioned there and doesn't need to block this PR.

@karroffel last time when I tried to push to GDNative - https://github.com/godotengine/godot/pull/27452 you said it will break the binary compatibility.. what exactly I must do ?

@karroffel last time when I tried to push to GDNative - #27452 you said it will break the binary compatibility.. what exactly I must do ?

The problem was that new code was added to a stabilized extension. Right now the GDNative core extension 1.2 (I think?) is not stabilized yet, so the code could be added there.
So for example the 1.0 GDNative core must not be touched, but 1.2 can be touched as nobody is expected to already depend on it.

Ok, so I've added a GDNative code similar to what I did in #27452.. Please check @karroffel

Not quite :) The new things should be added here: https://github.com/godotengine/godot/blob/89dfcbc6f7f57db4cd8ce3daa10043b40c0b5231/modules/gdnative/gdnative_api.json#L47

And now ?

I've fix a documentation a bit - I guess mention "default" for parameters is not neccessary now (when these values is clearly visible in editor docs).

Thanks!


Babylon.gui.js not a source file

Bugs
In the dist/gui and dist/preview release/gui folders babylon.gui.js is the same as the babylon.gui.min.js file both in the repo and any local build with gulp. This also means that the CDN links both point to a min version

Yes this is something we will fix with a further update. It is linked to the module work
Thanks for the heads up (closing as it is already on the work)


Invalid description for onFocus DOM prop in the reference page

The common-props reference page is providing invalid description for onFocus DOM prop
Actual Behaviour:

Expected Behaviour:
onFocus method is fired only when the element receives or enters focus not lose focus.
So the description should look like the following

onFocus: A FocusEvent handler function. Fires when an element receives focus. Unlike the built-in browser focus event, in React the onFocus event bubbles.

Also I can make the PR for it, if the issue is verified.

@gaearon may be we should clarify this more? I see same for blur as well

onBlur: A FocusEvent handler function. Fires when an element lost focus. Unlike the built-in browser blur event, in React the onBlur event bubbles.

@harish-sethuraman and @gaearon to give more context on this, the descriptions are clear and valid for both onFocus and onBlur in old docs which says onFocus is fired on receiving focus and onBlur is fired on losing focus.
Refer:

https://legacy.reactjs.org/docs/events.html#onfocus
https://legacy.reactjs.org/docs/events.html#onblur

@harish-sethuraman and @gaearon , What is the status of this issue?

Fixed in https://github.com/reactjs/react.dev/pull/6168


hidi doesn't return a failed exit code on validation error

Describe the bug
hidi validate -d /some/invalid/path will result in a critical error in the console, however the exit code will be 0
To Reproduce
hidi validate -d /some/invalid/path will result in a critical error in the console, however the exit code will be 0
Expected behavior
exit code to be -1

Related #900


"unable to initialize nextflow environment" issue on Eddie

Hello- I've been attempting to run riboviz on eddie but I keep getting the error "unable to initailise nextflow environment", I get this error even when I try and run a basic hello world nextflow

source set-riboviz-env.sh appears to work fine

The conda environment also seems ok

Yet get the error trying to run hello world or checking the nextflow version

But nextflow is installed as it appears when I run conda list
I am unsure what I have done wrong so any help would be greatly appreciated.
Thank you
Amy

Hi @asnewell, apologies for the delay. Were you able to resolve this issue? If not, I or someone else will look into it.

Hi @acope3, yes I managed to resolve this issue. I contacted the Eddie support team and it turns out I was running this when there were some problems on Eddie that were still in the process of being resolved. Once normal service resumed on Eddie I no longer got the "unable to initialise.." issue

I'm currently experiencing this issue again. The description of the alert on eddie is "A number of disks on Eddie's fast parallel storage system have gone into an error state. Some older data on Eddie may be unavailable to users. New data being written is unaffected by this. Attempts to access affected data will result in IO errors in output files. ECDF are aware and investigating, and we apologise for the disruption to your research."
This was the alert that previously caused my issues: "Eddie login nodes will be patched today, Friday 11 Feb, between 3pm and 4pm. Users may find that they are unable to log into Eddie over that period and any users logged in at that time may lose their connection. Running or queued jobs will not be affected.** Eddie will be undergoing a patching regime to cover two critical security vulnerabilities, week commencing 7th Feb. Users may be disconnected from login nodes on 11th Feb at about 3-4pm. For the rest of the week nodes in Eddie will be taken offline to be patched then brought back into service as a "rolling update" is applied to the whole cluster."


progressEvent.total is giving inconsistent numbers

#### Summary
When uploading the same file several times, I'm getting different numbers from console.log(progressEvent); inside onUploadProgress: function(progressEvent):

181761
181751
181766
181756

Also, the number differs from the actual file size on my hard drive, which is 181067. That's also what event.target.files[0].size (event = file selection dialog) is reporting.
Note: First and foremost, I'm looking for a solution for https://github.com/mzabriskie/axios/issues/991 ! Just as a last resort, I came up with the idea to use the file size for the mapping ;-)
#### Context

axios version: v0.16.2
Environment: nginx, Firefox 54.0.1, Windows 10

That isn't likely a problem in Axios so can you please send this to Gitter or StackOverflow and provide enough information to understand what problem you are having? Thanks.


[#4190] Improve IBM J9 compatibility

Codecov Report

Merging #4194 into master will decrease coverage by 0.02%.
The diff coverage is 12.24%.

@@            Coverage Diff             @@
##           master    #4194      +/-   ##
==========================================
- Coverage   41.09%   41.06%   -0.03%
==========================================
  Files        2373     2375       +2
  Lines       74435    74484      +49
  Branches    10078    10079       +1
==========================================
+ Hits        30587    30589       +2
- Misses      41022    41069      +47
  Partials     2826     2826

Impacted Files
Coverage Δ

...int/bootstrap/classloader/ParallelClassLoader.java
40.81% <ø> (ø)
:arrow_up:

...npoint/bootstrap/classloader/Java6ClassLoader.java
50% <ø> (ø)
:arrow_up:

...p/pinpoint/bootstrap/classloader/J9BootLoader.java
0% <0%> (ø)

...point/bootstrap/classloader/BootLoaderFactory.java
50% <50%> (ø)

...vercorp/pinpoint/rpc/packet/ServerClosePacket.java
52% <0%> (-16%)
:arrow_down:

...rp/pinpoint/rpc/server/PinpointServerAcceptor.java
83.67% <0%> (-4.77%)
:arrow_down:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
61.7% <0%> (-2.13%)
:arrow_down:

...cluster/zookeeper/ZookeeperClusterDataManager.java
64.62% <0%> (-0.69%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
71.06% <0%> (-0.33%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

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


WinUI 3 - C++ item templates shouldn't use .xaml suffix

In C++/WinRT, XAML files don't have a .xaml suffix unlike C++/CX and C# but eg: the code behind files for MainPage.xaml are MainPage.idl, MainPage.h and MainPage.cpp and not MainPage.xaml.idl, MainPage.xaml.h, MainPage.xaml.cpp however the item templates for WinUI 3 uses the .xaml suffix which is inconsistent with the generated files such as MainPage.g.h or MainPage.g.cpp. I would recommend dropping the .xaml suffix for C++ project in order to be consistent with the tooling and UWP XAML item templates.

@alwu-msft FYI

Thanks for the feedback.


Traefik Ingress Controller is not working after changing percentage - backend services are down

Do you want to request a feature or report a bug?
Bug
Did you try using a 1.7.x configuration for the version 2.0?

No

What did you do?
I have configured the following weight in ingress for traefik but traefik ingress stop working. Ideally it should send only 39.3% traffic to green and 60.7% traffic to blue, but backend services are down and external user is getting Error 404.
Deployment strategy:
Two K8s deployment (green and blue)
Error message in traefik logs is as below
level=error msg=failed to create fractional weight allocator for ingress <xyz>/<zbc>: the sum
of weights(99.999%) in the path / must be 100% when no omitted fractional service left"

Here is the ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    traefik.frontend.entryPoints: http
    traefik.ingress.kubernetes.io/service-weights: |-
      app-green-release: 39.3
      app-blue-release: 60.7
  creationTimestamp: 2019-06-04T06:00:37Z
  generation: 2
  labels:
    app: traefik-app
  name: traefik-app
  namespace: mynamespace
  resourceVersion: "645536328"
  selfLink: /apis/extensions/v1beta1/namespaces/mynamespace/ingresses/traefik-app
  uid: 4637377-747b-11e9-92ea-005056aeabf7
spec:
  rules:
  - host: mycompany2.com
    http:
      paths:
      - backend:
          serviceName: app-release
          servicePort: 8080
  - host: mycompany.com
    http:
      paths:
      - backend:
          serviceName: app-ui-release
          servicePort: 80
        path: /widget
      - backend:
          serviceName: app-green-release
          servicePort: 8080
        path: /
      - backend:
          serviceName: app-blue-release
          servicePort: 8080
        path: /
status:
  loadBalancer: {}

What did you expect to see?
Traefik should distribute the traffic according to provided percentage in ingress resource.
What did you see instead?

Ingress Controller has stopped routing as traefik backend/frontend services are broken.
Traefik has removed the backend and frontend services entry from the dashboard.
End users are getting Error 404
Below error in the traefik logs

failed to create fractional weight allocator for ingress <xyz>/<zbc>: the sum of
weights(99.999%) in the path / must be 100% when no omitted fractional service left"

Output of traefik version: (What version of Traefik are you using?)
Tested in following version.
Traefikv1.7.6
Traefikv1.7.18
 #  traefik version
Version:      v1.7.18
Codename:     maroilles
Go version:   go1.12.10
Built:        2019-09-26_01:56:30PM
OS/Arch:      linux/amd64

But I am sure it's applicable for every versions in 1.7.*.
What is your environment & configuration (arguments, toml, provider, platform, ...)?
defaultEntryPoints = ["http"]
allowMinWeightZero = true
[respondingTimeouts]
idleTimeout = "15s"
debug = true
[entryPoints]
  [entryPoints.http]
  address = ":xx"
  [entryPoints.traefik]
  address = ":xxxx"

[accessLog]
  filePath = "/log/access.log"

[api]
  dashboard = true
  entryPoint = "traefik"
  debug = true

My investigation
Please see the function here
https://github.com/containous/traefik/blob/74ad83f05af9bb2ff9c02c8eb43d47757012af6c/provider/kubernetes/percentage.go#L46
func newPercentageValueFromFloat64(f float64) percentageValue {
return percentageValue(f * (1000 * 100))
}
I have put a example here in go playground too
https://play.golang.org/p/_5eBHQcQFmr
func main(){
	fmt.Println(newPercentageValueFromFloat64(39.1))
	fmt.Println(newPercentageValueFromFloat64(39.2))
	fmt.Println(newPercentageValueFromFloat64(39.3))
}

Output
3910.000%
3920.000%
3929.999%

f  = 39.3
f * (1000) = 39300
f * (10000) = 393000
f * (100000) = 3.9299999999999995e+06 // Now this is what has been done in code and it failed in my case!!
Magic of floating point arithmetic !!!!
What percentage of distribution is not working in my view
I have tested few of the below percentage and  this is happening cause of  floating point arithmetics  done by go code.  Following percentage are broken!!!
2.3,  4.1,  4.6,  5.1,  8.2,  8.7,  9.2,  9.7,  10.2,  16.4,  16.9,  17.4,  17.9,
18.4,  18.9,  19.4,  19.9,  20.4,  20.9,  32.3,  32.8,  33.3,  33.8,  34.3,  34.8,
 35.3,  35.8,  36.3,  36.8,  37.3,  37.8,  38.3,  38.8,  39.3,  39.8,  40.3,
 40.8, 41.3,  41.8,  64.1,  64.6,  65.1,  65.6,  66.1,  66.6,  67.1,  67.6,  68.1,
 68.6,  69.1,  69.6,  70.1,  70.6,  71.1,  71.6,  72.1,  72.6,  73.1,  73.6,  74.1,
 74.6,  75.1,  75.6,  76.1,  76.6,  77.1,  77.6,  78.1,  78.6,  79.1,  79.6,  80.1,
80.6,  81.1,  81.6,  82.1,  82.6,  83.1,  83.6,

https://github.com/traefik/traefik/issues/7843


using new syntax for maintaining context in TOC

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/cloud-adoption-guide/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Feature Request] Parse external streams (file.contents at least) for variable tags

Hi,
I think it would be useful to parse external files for variable tags.
This way it would be possible to have the response contents outside the mock definition files and still be able to populate it with fake data.
If this is already possible, I can't seem to find how to do it.
An example:
MMock definition:
request:
  method: GET
  path: "/"
response:
  statusCode: 200
  headers:
    Content-Type:
    - application/json
  body: "{{file.contents(test_payload.json)}}"

test_payload.json:
{"test": "{{fake.Brand}}"}

response:
{"test": "Zoozzy"}

Right now this is the response:
{"test": "{{fake.Brand}}"}

Hi, is this still available?
I am a newbie in Go but I will try to implement this feature, although I was thinking that maybe makes more sense to use another key, eg:
request:
  method: GET
  path: "/"
response:
  statusCode: 200
  headers:
    Content-Type:
    - application/json
  bodyFilePath: test_payload.json

What do you think?

Fixed in https://github.com/jmartin82/mmock/pull/139
Thanks for reporting it!


Eliminate recursion?

It’d be nice if the quadtree didn’t use recursion. Perhaps eliminating the recursion from the coincident nodes case would be sufficient; currently you get worst-case behavior when all the nodes are initialized to the same point.

The quadtree is now non-recursive, although I still need to implement root.find and post-order traversal.


Import from path alias in RN 0.69

Description
importing from path alias doesn't work in the react native after upgrading to v69.
Version
0.69.3
Output of npx react-native info
System:
OS: macOS 12.5
CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
Memory: 40.48 MB / 8.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 16.14.0 - /usr/local/bin/node
Yarn: 1.22.19 - ~/.yarn/bin/yarn
npm: 8.3.1 - /usr/local/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
Android SDK:
Android NDK: 22.1.7171670
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8193401
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
Languages:
Java: 11.0.12 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.0.0 => 18.0.0
react-native: 0.69.3 => 0.69.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
After upgrading react native version from 66 to 69, I'm facing this issue:
TypeError: Cannot read property 'component' of undefined
This component has been imported from the path alias like this:
import { component } from "@components";
but if I change the import approach and do it like this: import { component } from "./src/{ path to the component }";, the issue is gone.
Snack, code example, screenshot, or link to a repository

it is ok in RN 0.68 whitout any config ,link babelrc,tsconfig ?

I haven't tested it on 0.68. I upgraded from 0.66 to 0.69

I haven't tested it on 0.68. I upgraded from 0.66 to 0.69

0.69.5

I haven't tested it on 0.68. I upgraded from 0.66 to 0.69
my config link this
https://github.com/expo/expo/issues/18846#issuecomment-1229123562 help me oneone please

Just wanted to be sure that this bug only exists on 0.69 and above.


[BUG] Willpower rerolls don't roll any dice

Describe the bug
When doing a willpower reroll from the chat, no dice are rolled.
To Reproduce
Steps to reproduce the behavior:

Go to Chat log
right click on the initial roll dialog and choose willpower Reroll
Choose any dice to reroll
Click OK
Nothing happens no dice are rolled, and no willpower is removed

Expected behavior
I expect the number of dice to roll
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

Browser [Safari, Firefox (Mac and Windows), Chrome (MacOS and Windows]

Foundry-V10 Version patch 7 (Build 303)

Foundry-V10 Version patch 6 (Build 291)

Additional context
Add any other context about the problem here.

Try updating to Foundry V11. It works fine for me there.

Cannot reproduce, closing since it's more than a month old


add an option to keep files offline on drive and see for changes.

i dual boot linux with windows 10
windows 10 : d:\googledrive
linux :  \mnt\ddrive\googledrive
i wish rclone to sync that location and do updates as necessary by looking at changes. love to see this being done by gui.

The GUI just extends the functionality provided by the rclone backend. I think this issue belongs to the backend repository https://github.com/rclone/rclone. Would you like to open that there?


No tag or changelog for v0.4.5

I got a notification for v0.4.5, but don't see anything about it in CHANGES.md, nor was it tagged on git, so it's not easy to see what's changed since v0.4.4.

No problem, thank you for the explanation!


Production site does not allow sign in

Describe the bug
After pressing "Sign In" button, the user is redirected to https://authorize/..., which is a non-existent site.
To Reproduce
Steps to reproduce the behavior:

Go to https://marathon.josephrmiles.com
Click on "Sign In"
Wait
See error

Expected behavior
Expected to be redirected to Auth0 login page.
Desktop:

OS: Windows
Browser Firefox

I believe this has to do with how the environment variables are being provided during the build. Inspecting the bundled code on the production site seems to confirm this, as the environment variables are trying to be extracted from empty JSON objects. I don't know why this is happening during the Gatsby production build and not during the Gatsby development build.

After testing the production build locally, I think I know the problem. Gatsby is expecting an .env.production file to be provided. Instead of using the environment variables established by the shell it's executing in, Gatsby relies on the .env.* files to produce an environment isolated from the shell.
This is very disappointing, as it implies we have to write a .env.production file during the deployment build. I will be doing some research into the Gatsby documentation to see if this is really the case.

Well, according to the Gatsby docs, my assumption was true. However, there is some additional information:

Development mode Gatsby will use any env vars provided by the shell and the .env.development file.
Production mode Gatsby will only use env vars provided by the shell if they are prefixed with GATSBY_*. Otherwise, it will only use those provided by .env.production.
The above are only an issue when client-side code (the Auth0 Provider in our case) is trying to use environment variables.


Trim Ruby dependencies

Yikes, this is a long list of dependencies: https://github.com/grpc/grpc/blob/master/src/ruby/grpc.gemspec#L23
Can that list be trimmed so it's not pulling in dozens of gems?

Thanks for the reminder !
I missed removing some of these dependencies in a recent switch to depending on googleauth in #783.  This should be fixed shortly.


Fixed the failing test's expected value

Abhishek,
I updated the baseline to fix the failing functional test case. Can you please review?

Rahul

Discussed with Rahul. Looks good. +1


Gcs resume write

This PR changes the implementation of WriteStream to use Google's resumable upload api instead of using the compose operator to join parts of uploaded content. The problem with using the compose operation is that this operation has several limitations:

Only 1024 parts can be joined, requiring a full rewrite (ie download and upload) of a file if that limit is exceeded
The operation is rate-limited (at most 1 operation every 1 or 2 seconds), requiring lots of back-off and retries if things get a bit busy.

The Resumable upload api has some limitations:

The size of each chunk (except the last) must be a multiple of 256KB, this is taken care of in the driver
The contents of an incomplete upload are not available for download
An upload session must be explicitly closed. After closing  the uploaded contents become available, and no further contents can be appended

The second point required some small changes to the test suite, as it assume in two places that partial data is available for download. The third point is a bit of a problem as there is  (as far as I know) no way of telling whether a particular call to WriteStream is the last. This is solved by adding a new function CloseStream to the storage driver interface.
@stevvooe @RichardScothern

Current coverage is 57.40%

Merging #1322 into master will decrease coverage by -0.23% as of 16c1015

@@            master   #1322   diff @@
======================================
  Files          116     116
  Stmts        10472   10537    +65
  Branches       719     720     +1
  Methods          0       0
======================================
+ Hit           6036    6049    +13
- Partial        719     720     +1
- Missed        3717    3768    +51

Review entire Coverage Diff as of 16c1015

Uncovered Suggestions

+0.38% via ...ge/driver/gcs/gcs.go#626...665
+0.32% via ...ge/driver/gcs/gcs.go#367...399
+0.32% via ...ge/driver/gcs/gcs.go#115...147
See 7 more...

Powered by Codecov. Updated on successful CI builds.

@aibaars Thanks for the great PR!
A few concerns here:

It's odd to add a new storage driver method that is stubbed out for other implementations. This API has been stable for a year so I'm a little reticent to accept an addition that is only useful for a single driver. It might be better to just make it clear that the path is not readable until ReadStream is called. We'd need to relax the requirements around reading back on an ongoing upload. See item 3 for more info.
The session lookup mechanism requires repeated requests to go to the same node, meaning users of GCS either need sticky sessions or a single instance of the registry to work properly. Is there anyway to look up active sessions via API? It might be sufficient to store the session URI on GCS next to the ongoing upload.
Right now, we require the ability to read back a file for an ongoing upload. This is critical for syncing hash state during an existing upload. We may be able to make the assumption that all chunk uploads are ordered by offset, reducing the requirement here. Essentially, we just need to ensure that ReadStream is not called until Commit is called and that the hash state is always updated to the offset that would be returned by the google resumable API.

If we can't make the above work, rather than using the resumable upload API, it might be better to use a logical file implementation. Each call to writestream would result in a single file that would be joined during ReadStream. If the logical file is copied, it could be assembled into a single file at that time.
Ultimately, I think we can make this work with resumable API, as the two APIs are somewhat similar (Registry V2 and google resumable upload).

@stevvooe Performing the close operation on the first call to ReadStream would be possible. However, this only works if it is guaranteed that ReadStream is called soon after the last call to WriteStream, otherwise the upload session might expire and the file will simply never exist. In addition the sessions take 256KB of memory each, and having many of them dangling could take quite a bit of memory.
As far as I know you cannot query the API for active sessions. Storing the sessions on GCS is a good solution. I thought about that myself, but for an initial version keeping them in memory was easier.
Good point about 3. Calling ReadStream on an incomplete file won't work and would cause a 404 error, because the file does not exist until its complete contents is committed. Would be great if the storage driver does not assume that ReadStream can be called on partial uploads.
You're right that both resumable API are fairly similar, however, it is quite tricky to make the two work together. Actually even more tricky than I expected. Hopefully you can give me a hand with this.
The current implementation using composite objects are in essence quite similar to what you describe as logical files. The problem is that composite objects have some annoying restrictions and are a bit slow to create.

@aibaars It sounds like a combination of a guaranteed call to ReadStream after WriteStream and some session cleanup might make this work. Uploads are already cleaned up by the upload purger, so having a session cleanup hook in delete for child paths would be sufficient to cleanup danglers.

Would be great if the storage driver does not assume that ReadStream can be called on partial uploads.

Just give the storage package a solid read through. I think we can shore this up to ensure that no reads need to happen on unfinished files. You'll have to dig around in the storage driver unit tests to relax this, but I think it is doable.

@stevvooe I just realised that the blobwriter.Commit function calls storagedriver.Move. Would I be right in assuming that Move is guaranteed to be called after WriteStream? My implementation of Move uses the google equivalent of "create hard-link + delete original" and does not involve calling ReadStream so triggering on ReadStream might not work.

@stevvooe @RichardScothern I always wondered why the test suite insisted on filling gaps with zeros instead of complaining about offsets that are larger than the file's length. Is this to support writing chunks out-of-order, so that if a chunk with a larger offset is written first a gap is made, which is filled by a later chunk with smaller offset? GCS does not support overwriting existing data. Resumable uploads are strictly append only, and normal blobs are completely immutable, so filling in a gap later is not possible. Would it be OK for the GCS driver to return an InvalidOffset error when the offset is larger than the file's length, instead of stupidly creating a gap which can never be filled?

@stevvooe  I updated the PR. Now there is only one tweak to the test suite and no changes to the storage driver interface.

It's odd to add a new storage driver method that is stubbed out for other implementations. This API has been stable for a year so I'm a little reticent to accept an addition that is only useful for a single driver. It might be better to just make it clear that the path is not readable until ReadStream is called. We'd need to relax the requirements around reading back on an ongoing upload. See item 3 for more info.

The upload sessions are now automatically closed on Move and ReadStream. I don't think this is a very pretty solution but it works, and does not require any changes to the storage driver interface. An alternative would be to add an extra parameter to the WriteStream function with either the content length of the file that is being uploaded (not sure if that number is know at the start of the upload) or a boolean flag indicating whether a chunk is the last one, so the driver knows whether to expect more calls to WriteStream. I think this would be a less intrusive change to the storage driver interface and does not require closing the streams in slightly surprising places.

The session lookup mechanism requires repeated requests to go to the same node, meaning users of GCS either need sticky sessions or a single instance of the registry to work properly. Is there anyway to look up active sessions via API? It might be sufficient to store the session URI on GCS next to the ongoing upload.

I stored the upload sessions as files with a special content-type and the session uri and current offset as metadata. As a result they get automatically picked up by Delete so we get session cleaning for free.
I am not sure what to do exactly about point 3. My preference would be to simply disallow creating gaps.

@aibaars : do you have numbers re: this API and the rate-limited current implementation?
I like the idea behind the change; I think it is relevant to other drivers (Azure look like it would benefit).

@aibaars Great work!

An alternative would be to add an extra parameter to the WriteStream function with either the content length of the file that is being uploaded (not sure if that number is know at the start of the upload) or a boolean flag indicating whether a chunk is the last one, so the driver knows whether to expect more calls to WriteStream.

We actually designed the API to ensure that the client doesn't need to know the full content length before uploading content. This allows layer generation to be directly piped into the http request. The length is posted at the end of the upload and is part of the call to BlobWriter.Commit. Having a CloseStream or Commit with a content length would be a decent approach, but I wouldn't want to add this without validating all other drivers.
To fix number 3, you'll have to add or modify a test case to ensure that registry/storage.(*blobWriter) doesn't issue a ReadStream call until the commit phase. We may need to add code to ensure that offsets are append only to enforce this properly. A careful read of the resumable digest code may help with understanding this better.

I’ll produce some numbers tomorrow or Monday.
Good to hear you like the idea. If Azure would benefit too, then perhaps we could convince @stevvooe to accept a small extension  to the storage driver interface ;-) For example an extra parameter to WriteStream indicating whether a chunk is the last, or an explicit CloseStream function, instead of having to deal with closing upload sessions in Move and ReadStream/ReadContent.

On 7 Jan 2016, at 21:52, Richard Scothern<EMAIL_ADDRESS>wrote:
@aibaars : do you have numbers re: this API and the rate-limited current implementation?
I like the idea behind the change; I think it is relevant to other drivers (Azure look like it would benefit).
—
Reply to this email directly or view it on GitHub.

For example an extra parameter to WriteStream indicating whether a chunk is the last, or an explicit CloseStream function, instead of having to deal with closing upload sessions in Move and ReadStream/ReadContent.

I'm coming around on this :wink:. We just need to make sure the other drivers benefit from this change.

cc @BrianBland

@RichardScothern
I made a small test that appends 1024 chunks of 256KB each and ran it with the old implementation and the resumable upload implementation of this PR.
HEAD is now at 9f83bfc... Merge pull request #1321 from aibaars/gcs-fix-retry
distribution# time go run -tags "${DOCKER_BUILDTAGS}" test.go
count: 	1023, size:     268435456
err: <nil>

real	55m48.704s
user	0m15.968s
sys	0m2.528s

HEAD is now at 3d41086... StorageDriver: GCS: implement WriteStream/CloseStream as resumable uploads
distribution# time go run -tags "${DOCKER_BUILDTAGS}" test.go
count: 	1023, size:     268435456
err: <nil>

real	4m43.813s
user	0m10.304s
sys	0m1.960s

I hadn't expected the performance difference to be over a factor 10. I guess Google Cloud Storage gradually degrades the allowed rate if you perform many of them. For example when appending only 100 chunks the difference is 69s for the old versus 33s for the implementation in this PR. A factor 2 is still a nice win though. The nice thing about the performance of the resumable upload is that it is predictable (ie 10 times more chunks takes 10 times longer).

@aibaars I would think a 256KB chunk size would be a little small. Could you experiment with a larger chunksize to see how it affects performance? My guess 1MB-4MB would be optimal.

@stevvooe I tried with chunks of 5MB and results are similar:
HEAD is now at 9f83bfc... Merge pull request #1321 from aibaars/gcs-fix-retry
root@docker-migrate:/go/src/github.com/docker/distribution# time go run -tags "${DOCKER_BUILDTAGS}" test.go
count: 1024, size:5368709120
real	52m15.916s
user	3m12.660s
sys	0m38.000s

and
HEAD is now at 3d41086... StorageDriver: GCS: implement WriteStream/CloseStream as resumable uploads
distribution# time go run -tags "${DOCKER_BUILDTAGS}" test.go
count: 1024, size:5368709120
real	6m9.089s
user	1m17.820s
sys	0m19.600s

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "gcs-resume-write" git@github.com:aibaars/distribution.git somewhere
$ cd somewhere
$ git rebase -i HEAD~3
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

@stevvooe @RichardScothern I put the CloseStream function back in, as it makes the code a bit cleaner (ie not having to implicitly close when a move or read operation is performed).
I also made some changes to ensure that the resumable digest does not try to read from an incomplete upload.

I spent some time in WriteStream (the meat of this PR).  While it's understandably complex, I think the readability can probably be improved (splitting up into methods, variable naming, comments etc).
Other than that it's looking promising.

@RichardScothern I improved WriteStream a bit and added comments, hopefully it is more readable now.

After reviewing the other storage drivers, it looks like having a CloseStream-type driver method makes sense, although maybe it should be more explicitly named CloseWriteStream or Commit. Also, restricting writes to be append-only (offset at 0 or current file size) also seems beneficial. I'm willing to rework the S3, OSS, and Azure drivers to fit this new behavior.
 Maybe this would allow us to use variable-sized chunks for appends, maybe we don't need to use chunks at all? Commit seems irrelevant here

S3:

Can initiate a multipart upload and commit when done, no PutPartCopy nonsense required

@BrianBland thanks for reviewing the other drivers. I agree CloseWriteStream is better name.
I think it would make sense to allow a client to call WriteStream with an offset less than the current file size. In this case I would propose the semantics to be that the already content of the file is left unchanged, simply discarding the first (file_size - offset) of the chunk and only appending the remainder. This avoids having to "rewind" the digester (difficult or impossible to support). The ability to write chunks with a smaller offset make implementing the client easier. For example in case a putChunk operation fails due to network issues the data might actually have arrived on the storage but the client is unaware of that. It would be fine for the client to retry the putChunk call in an attempt to recover; there is no need for this to be considered an error. In case of "eventually consistent" storage, the client might be receive the a smaller file size when Stat is called.
I think this PR is getting a bit long, so I'll split it in two. One for the addition of CloseWriteStream and making sure no data is read from unclosed streams, and another for the Google Cloud Storage implementation of it.

Closing this for now. Will rebase and re-open when #1395 has been implemented.


Add provenance metadata (urls, timestamp) to zarr store

Since we will likely tinker with different methods of retrieving the urls used for each dataset, I think it would be wise to add some of the 'baking' information to the written datasets.
For now I am trying to add the urls used for a particular store + a bake timestamp as part of #9

Makes sense. I responded in https://github.com/pangeo-forge/pangeo-forge-recipes/issues/559#issuecomment-1670297136

Closed via addition of the InjectAttrs Stage from https://github.com/leap-stc/leap-data-management-utils/blob/92f6d5f29a6edf84fb36e82c947e2ab10a36d36d/leap_data_management_utils/data_management_transforms.py#L224-L255


feat(System): Pseudo Selectors + CSS

Overview

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.27-alpha.3b737e.0@codecademy/gamut-labs@9.1.1-alpha.3b737e.0@codecademy/gamut-styles@7.7.3-alpha.3b737e.0@codecademy/gamut-system@0.2.4-alpha.3b737e.0@codecademy/gamut@21.2.4-alpha.3b737e.0@codecademy/markdown-overrides@0.4.7-alpha.3b737e.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601da107a96f4c753c17c241--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.27-alpha.f6ed2d.0@codecademy/gamut-labs@9.1.1-alpha.f6ed2d.0@codecademy/gamut-styles@7.7.3-alpha.f6ed2d.0@codecademy/gamut-system@0.2.4-alpha.f6ed2d.0@codecademy/gamut@21.2.4-alpha.f6ed2d.0@codecademy/markdown-overrides@0.4.7-alpha.f6ed2d.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601db1da5f91d48ac57bcdad--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://601db4f62e628985be9b4229--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.28-alpha.659ef8.0@codecademy/gamut-labs@9.2.2-alpha.659ef8.0@codecademy/gamut-styles@7.7.3-alpha.659ef8.0@codecademy/gamut-system@0.2.4-alpha.659ef8.0@codecademy/gamut-tests@1.1.1-alpha.659ef8.0@codecademy/gamut@21.3.1-alpha.659ef8.0@codecademy/markdown-overrides@0.4.7-alpha.659ef8.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601dba8b2e62898d449b3f1c--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.4568e5.0@codecademy/gamut-labs@9.2.3-alpha.4568e5.0@codecademy/gamut-styles@7.7.4-alpha.4568e5.0@codecademy/gamut-system@0.3.1-alpha.4568e5.0@codecademy/gamut-tests@1.1.2-alpha.4568e5.0@codecademy/gamut@21.3.2-alpha.4568e5.0@codecademy/markdown-overrides@0.4.8-alpha.4568e5.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601dbe7a361c93a2ef8284bd--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.8091c1.0@codecademy/gamut-labs@9.2.3-alpha.8091c1.0@codecademy/gamut-styles@7.7.4-alpha.8091c1.0@codecademy/gamut-system@0.3.1-alpha.8091c1.0@codecademy/gamut-tests@1.1.2-alpha.8091c1.0@codecademy/gamut@21.3.2-alpha.8091c1.0@codecademy/markdown-overrides@0.4.8-alpha.8091c1.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601dfeb83966b2af8206babc--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.b937ed.0@codecademy/gamut-labs@9.2.3-alpha.b937ed.0@codecademy/gamut-styles@7.7.4-alpha.b937ed.0@codecademy/gamut-system@0.3.1-alpha.b937ed.0@codecademy/gamut-tests@1.1.2-alpha.b937ed.0@codecademy/gamut@21.3.2-alpha.b937ed.0@codecademy/markdown-overrides@0.4.8-alpha.b937ed.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601e08723c2ab51d7e7e6b68--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://601e0ca7361c930a50828953--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.337ab9.0@codecademy/gamut-labs@9.2.3-alpha.337ab9.0@codecademy/gamut-styles@7.7.4-alpha.337ab9.0@codecademy/gamut-system@0.3.1-alpha.337ab9.0@codecademy/gamut-tests@1.1.2-alpha.337ab9.0@codecademy/gamut@21.3.2-alpha.337ab9.0@codecademy/markdown-overrides@0.4.8-alpha.337ab9.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601e41ca3966b21ad406ba03--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.f5aaa9.0@codecademy/gamut-labs@9.2.3-alpha.f5aaa9.0@codecademy/gamut-styles@7.7.4-alpha.f5aaa9.0@codecademy/gamut-system@0.3.1-alpha.f5aaa9.0@codecademy/gamut-tests@1.1.2-alpha.f5aaa9.0@codecademy/gamut@21.3.2-alpha.f5aaa9.0@codecademy/markdown-overrides@0.4.8-alpha.f5aaa9.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.245121.0@codecademy/gamut-labs@9.2.3-alpha.245121.0@codecademy/gamut-styles@7.7.4-alpha.245121.0@codecademy/gamut-system@0.3.1-alpha.245121.0@codecademy/gamut-tests@1.1.2-alpha.245121.0@codecademy/gamut@21.3.2-alpha.245121.0@codecademy/markdown-overrides@0.4.8-alpha.245121.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601eef8983c3140cf01be15f--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.1219ae.0@codecademy/gamut-labs@9.2.3-alpha.1219ae.0@codecademy/gamut-styles@7.7.4-alpha.1219ae.0@codecademy/gamut-system@0.3.1-alpha.1219ae.0@codecademy/gamut-tests@1.1.2-alpha.1219ae.0@codecademy/gamut@21.3.2-alpha.1219ae.0@codecademy/markdown-overrides@0.4.8-alpha.1219ae.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.f75dd0.0@codecademy/gamut-labs@9.2.3-alpha.f75dd0.0@codecademy/gamut-styles@7.7.4-alpha.f75dd0.0@codecademy/gamut-system@0.3.1-alpha.f75dd0.0@codecademy/gamut-tests@1.1.2-alpha.f75dd0.0@codecademy/gamut@21.3.2-alpha.f75dd0.0@codecademy/markdown-overrides@0.4.8-alpha.f75dd0.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601efb9f83c31417601bdfeb--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.cebc37.0@codecademy/gamut-labs@9.2.3-alpha.cebc37.0@codecademy/gamut-styles@7.7.4-alpha.cebc37.0@codecademy/gamut-system@0.3.1-alpha.cebc37.0@codecademy/gamut-tests@1.1.2-alpha.cebc37.0@codecademy/gamut@21.3.2-alpha.cebc37.0@codecademy/markdown-overrides@0.4.8-alpha.cebc37.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601f003f3966b21bcc06baf2--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.23bad1.0@codecademy/gamut-labs@9.2.3-alpha.23bad1.0@codecademy/gamut-styles@7.7.4-alpha.23bad1.0@codecademy/gamut-system@0.3.1-alpha.23bad1.0@codecademy/gamut-tests@1.1.2-alpha.23bad1.0@codecademy/gamut@21.3.2-alpha.23bad1.0@codecademy/markdown-overrides@0.4.8-alpha.23bad1.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601f204d8bacca670832fd34--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.edae28.0@codecademy/gamut-labs@9.2.3-alpha.edae28.0@codecademy/gamut-styles@7.7.4-alpha.edae28.0@codecademy/gamut-system@0.3.1-alpha.edae28.0@codecademy/gamut-tests@1.1.2-alpha.edae28.0@codecademy/gamut@21.3.2-alpha.edae28.0@codecademy/markdown-overrides@0.4.8-alpha.edae28.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601f30242e6289d8f69b3e92--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.29-alpha.bf7f59.0@codecademy/gamut-labs@9.2.3-alpha.bf7f59.0@codecademy/gamut-styles@7.7.4-alpha.bf7f59.0@codecademy/gamut-system@0.3.1-alpha.bf7f59.0@codecademy/gamut-tests@1.1.2-alpha.bf7f59.0@codecademy/gamut@21.3.2-alpha.bf7f59.0@codecademy/markdown-overrides@0.4.8-alpha.bf7f59.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://601f4da249428c9b69600a08--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.4.32-alpha.cb8dd1.0@codecademy/gamut-labs@9.2.10-alpha.cb8dd1.0@codecademy/gamut-styles@7.7.4-alpha.cb8dd1.0@codecademy/gamut-system@0.3.1-alpha.cb8dd1.0@codecademy/gamut-tests@1.1.3-alpha.cb8dd1.0@codecademy/gamut@21.3.5-alpha.cb8dd1.0@codecademy/markdown-overrides@0.4.8-alpha.cb8dd1.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6022d37c23c84433f238f1fa--gamut-preview.netlify.appDeploy Logs


Happy path - Archway to ICON

One way CallMessge initated from xCall on Archway recieved on ICON

duplicate issue


Zeebe operate and tasklist affinity and podLabels rules

Hi @Zelldon ,
It will not be good to add also the podLabels and affinity rules for the zeebe operate and tasklist? If this will be approved than I can create the pr for this change.

Makes sense to me @mihneastaub please make sure to read https://github.com/camunda/camunda-platform-helm/blob/main/CONTRIBUTING.md before creating a PR :)

Thanks for your contribution #257 released with https://github.com/camunda/camunda-platform-helm/releases/tag/camunda-platform-8.0.4