Webpack build's [contenthash] diverges from build to build

Bug report
What is the current behavior?
I am noticing that the contenthash on my production builds is not consistent from build to build. A few observations:

Sometimes contenthash is consistent for 2 builds, and other times it is consistent for 5, and so on and so forth. Typically the first two builds are inconsistent with one another, and subsequent builds are consistent, but this is not always the case.
The offending files typically appear in a chunk tree that is imported by workers, i.e. new Worker(new URL('...', import.meta.url));.
I attempted to reproduce the issue without thread-loader, babel-loader, and mode="production", but I was unable to do so. I was also unable to reproduce the issue with a significantly less complex source tree. That is not to say that the issue cannot be produced under these conditions, only that 30 rebuilds did not reproduce the issue for me.
The offending files contain (or import a tree which contains) minified variable names which differ. This appears to be the only difference.

Since the build is not deterministic, my production builds are not reproducible, and the contenthash breaks caching.
Additionally, in this case it appears that the output is functionally identical, but in another case my webpack configuration had a bug (introduced by me) that created functional differences in the build output. Because an inconsistent contenthash is often produced, the the bug I introduced was harder to detect, as I could not simply diff filenames as a sanity check.
I have created a repository with a minimal reproduction - https://github.com/abirmingham/repro-webpack-issue-17757. In my experience the issue is typically reproduced within 5 builds, but sometimes more are required.
Here is an example diff of an offending file:

What is the expected behavior?
If no build inputs have changed, all filenames and file content should be identical from build to build.
Other relevant information:
webpack version:  5.89.0
Node.js version: 18.18.2
Operating System: Ubuntu 20.04.6 LTS running docker "node:18" image
Additional tools: None

I've been able to replicate this issue (using buildah + podman in place of docker) after nine builds of the repro application code.
Do you know whether this is a regression @abirmingham?  (I'm planning to test v5.88.2 - the version I'm using for a work project at the moment - next to see whether the same behaviour occurs)

Yep, this was also replicable using v5.88.2 after three iterations - I haven't tested any earlier versions of webpack.

Hey James, thanks for taking a peek at this. I haven't tested any other versions with the minimal repro, but in my main project I am using<EMAIL_ADDRESS>and am seeing issues. I hesitate to confirm that it is the same issue, however, as my main project is quite a bit more complex and the nondeterminism may be coming from other places. All of that is to say that I don't know if it is a regression or not :)

You're welcome.  Issue #17009 sounds potentially related.
I notice that the list of entrypoints generated in the webpack config seems deterministic (generated from numbers 0..6) - is there a reason to use that many input files?  The contents of each code file seem to be the same.

@jayaddison good question! While attempting to reproduce the issue, I noticed that projects under a certain size took a lot longer to reproduce the problem, or were unable to reproduce the problem at all. I wanted a short feedback loop, so I continued adding entrypoints until the problem was reliably reproduced in under 10 iterations. The same is true of the TS files in the autogenerated folder.

Could you try removing more of the webpack config, JavaScript code in the modules, etc to continue to narrow this down without affecting the repeatability of it?  (I will try to do the same soon too, but not sure when I'll get around to it)
It'll probably be a slightly annoying process, but I think we should be able to continue to remove items until -- ideally -- there's a removal where we cross some threshold and the problem stops occurring.
Then there'll be the equally tricky part of debugging from there to determine why whatever small difference that is causes the problem in the first place.

Note: I briefly wondered whether realContentHash could be relevant here; the documentation does mention that when it is set to false, content hashes may not be deterministic.  However: the default for that setting is to match production flag -- and that's set true in the repro webpack.config.js.

A few more observations:

Removing the threadloader from the repro configuration seems to produce different results, something that's probably not ideal.
From inspection of one of the differing-files using cmp, the difference tends to be in an object whose properties are integers and whose values look like hashes near the very end of the output .js files, just after a special-case ==='monaco' check (maybe not relevant for the investigation, but a useful tracer: this may be due to some webpackChunkName directives).  Usually only one of the property values differs.
It's possible to move most of the repro.sh contents into the Dockerfile, as long as the webpack.config.js and src directories are also COPY'd into the layers during build.  This is something I'm going to reduce size (albeit not really time, yet) of the iteration loop.

I've confirmed that this variance is replicable as far back as webpack=5.56.1.  It may be replicable in earlier versions too, but that's the least-recent version I've tested so far (I was squinting at 3fa83c6c77de88b9874ecd06322ada787b90ac25 - but reproducing the issue on v5.56.1 predates that change, so I think it is unrelated).
So far it does seem that the thread-loader component makes this issue more repeatable.  Whether it is definitively the cause, however, I cannot yet confirm/reject.

Hey @jayaddison - I was able to spend more time on this, and attempted the following changes:
1

Changes:
-- Dropped thread-loader to 2 workers, 2 workerParallelJobs
-- Dropped entrypoints from Array(7) to Array(3)
-- Load CPU: for i in 1 2 3 4; do while : ; do : ; done & done
Results:
-- Reproduced on second build

2

Changes:
-- Dropped entrypoints from Array(3) to Array(1)
Results:
-- Reproduced on 8th build

3

Changes:
-- Removed all extra entrypoints
Results:
-- 13 builds failed to reproduce

4

Changes:
-- Reverted change # 3
-- Removed all references to autogenerated directory
Results:
-- 50 builds failed to reproduce

5

Changes:
-- Reverted change #4
-- Removed half of autogenerated files
Results:
-- Reproduced on 21st build

Here is the commit containing my stopping point, which can be seen in the repro repository on branch 10_23_2023_minimal_build:
commit 21c561c1483963a1069943e5b351190faa990d89 (HEAD -> main, abirmingham-github/10_23_2023_minimal_build)
Author: Alex Birmingham<EMAIL_ADDRESS>Date:   Mon Oct 23 15:39:51 2023 -0700

    Attempt More Minimal Reproduction

    - Delete half of autogenerated files
    - Reduce entrypoints from 8 to 2
    - Reduce thread-loader workers from 4 to 2
    - Reduce thread-loader workerParallelJobs from 3 to

Note that in the final iteration the bug was only reproduced after the 21st build, and in a prior iteration I stopped running builds at 13 builds. So it is certainly possible that the bug would have been reproduced if builds had continued.
This is a tricky one. It's unclear to me whether the extra complexity is necessary or is simply helpful in reproducing the issue in a less prohibitive amount of time.
Thank you for your time!

Thanks - yep, more clues.  I do have a feeling that the autogenerated content -- and potentially the stack/module depth of it, the way that the modules are connected -- could be relevant.  And the entrypoints seem relevant, as you've confirmed.  At the moment I do think threading could be a relevant interaction too.  Perhaps it requires all three of those in combination, but we'll need more info to prove or disprove that.

Dooray! Failure Notice
    Failure Notice

    Your message sent to

@.***
has failed to be delivered.
      Please refer to the below for details.

        * Recipient :

@.***
        * Sent time :

2024-03-29T03:32:22
        * Subject :

Re: [webpack/webpack] Webpack build's [contenthash] diverges from build to build (Issue #17757)
            * Remote host said :

대외비/기밀 메일은 외부 계정으로 발송이 제한되어 일부 메일 발송 실패(수신자가 전달 설정한 경우 포함)
      This message was sent from a notification-only address that cannot accept incoming email.
      For more information, please contact<EMAIL_ADDRESS>

    © Dooray!.

@alexander-akait  hei，How should I know the progress of this problem? This problem really bothers me. If it is fixed, I hope there will be a channel to quickly understand it as soon as possible.

@nanianlisao Can you create reproducible test repo>

After a long debug I have a feeling that the problem is - https://github.com/terser/terser, I was able to make it more reproducible, but I still continue to explore it, using optimization.minimize: false does not reproduce the problem

Can you create reproducible test repo?

@alexander-akait  Sorry, I have spent a lot of effort trying to reproduce, but failed because there is too much sensitive information and internal use of third party packages

I have a feeling that the problem is - https://github.com/terser/terser
I can roughly describe my situation, I hope that helps.

There are a lot of third-party utils packages exporting fn1, fn2, etc. and these packages are configured with sideEffects:false.

There is a large number of pages that use fn1, fn2, etc. For example, pageA uses fn1, fn2, etc. For example, pageA uses fn1, fn2, fn3, PageB uses fn1, fn3, PageC uses fn2, fn3. Many similar scenarios.

the page is dynamically imported and loaded, so splitChunk is performed.

the output generates a large number of chunks and vendors. The presence of a large number of vendors is very similar. There are a lot of vendors that are very similar. The only difference in filenames is the contentHash.

The difference between the two packages is that the import vendors are not in the same order.
I've tried turning off compression and this still happens frequently.

It looks like there is a race somewhere, and that's why some mangled names change places

I think this may be caused by some asynchronous operations, especially related to splitChunk.

@nanianlisao Original issue resolved by

The difference between the two packages is that the import vendors are not in the same order.
I've tried turning off compression and this still happens frequently.

I suppose that your problem may lie in a slightly different spectrum, I will continue investigation.

There are a lot of third-party utils packages exporting fn1, fn2, etc. and these packages are configured with sideEffects:false.

There is a large number of pages that use fn1, fn2, etc. For example, pageA uses fn1, fn2, etc. For example, pageA uses fn1, fn2, fn3, PageB uses fn1, fn3, PageC uses fn2, fn3. Many similar scenarios.

the page is dynamically imported and loaded, so splitChunk is performed.

To be honest, I don't think that these things specifically have any impact on the problem.

I think this may be caused by some asynchronous operations, especially related to splitChunk.

Technically this shouldn't happen, looking at the code
Maybe you could at least provide a config file so I can find something the same?

@alexander-akait  Can you give me an alternative way to contact you, I don't want some of the information exposed on github, even though it may not be that private!

In fact, looking at the original problem now, I found that most of the changes were related only to the fact that the name of one chunk was changed. That is, when the name of one chunk changes, this change also occurs in other files and and that's why you see a lot of changed hashes.
In the original problem this only happens in one place
Expected
2063.9dcec72898b2b3d2.js
(()=>{"use strict";var r,t,e={},i={};function a(r){var t=i[r];if(void 0!==t)return t.exports;var o=i[r]={exports:{}};return e[r](o,o.exports,a),o.exports}a.m=e,a.x=()=>{var r=a.O(void 0,[2196],(()=>a(2196)));return a.O(r)},r=[],a.O=(t,e,i,o)=>{if(!e){var n=1/0;for(u=0;u<r.length;u++){for(var[e,i,o]=r[u],s=!0,p=0;p<e.length;p++)(!1&o||n>=o)&&Object.keys(a.O).every((r=>a.O[r](e[p])))?e.splice(p--,1):(s=!1,o<n&&(n=o));if(s){r.splice(u--,1);var c=i();void 0!==c&&(t=c)}}return t}o=o||0;for(var u=r.length;u>0&&r[u-1][2]>o;u--)r[u]=r[u-1];r[u]=[e,i,o]},a.f={},a.e=r=>Promise.all(Object.keys(a.f).reduce(((t,e)=>(a.f[e](r,t),t)),[])),a.u=r=>r+".6b55c348f5d90884.js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),a.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t),(()=>{var r;a.g.importScripts&&(r=a.g.location+"");var t=a.g.document;if(!r&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(r=t.currentScript.src),!r)){var e=t.getElementsByTagName("script");if(e.length)for(var i=e.length-1;i>-1&&(!r||!/^http(s?):/.test(r));)r=e[i--].src}if(!r)throw new Error("Automatic publicPath is not supported in this browser");r=r.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=r})(),(()=>{var r={2063:1};a.f.i=(t,e)=>{r[t]||importScripts(a.p+a.u(t))};var t=this.webpackChunkwebpack_hash_invalidation_issue=this.webpackChunkwebpack_hash_invalidation_issue||[],e=t.push.bind(t);t.push=t=>{var[i,o,n]=t;for(var s in o)a.o(o,s)&&(a.m[s]=o[s]);for(n&&n(a);i.length;)r[i.pop()]=1;e(t)}})(),t=a.x,a.x=()=>a.e(2196).then(t),a.x()})();
//# sourceMappingURL=2063.9dcec72898b2b3d2.js.map

Not expected
2063.dd62a678e1fd3459.js
(()=>{"use strict";var r,t,e={},i={};function o(r){var t=i[r];if(void 0!==t)return t.exports;var a=i[r]={exports:{}};return e[r](a,a.exports,o),a.exports}o.m=e,o.x=()=>{var r=o.O(void 0,[2196],(()=>o(2196)));return o.O(r)},r=[],o.O=(t,e,i,a)=>{if(!e){var n=1/0;for(u=0;u<r.length;u++){for(var[e,i,a]=r[u],s=!0,p=0;p<e.length;p++)(!1&a||n>=a)&&Object.keys(o.O).every((r=>o.O[r](e[p])))?e.splice(p--,1):(s=!1,a<n&&(n=a));if(s){r.splice(u--,1);var c=i();void 0!==c&&(t=c)}}return t}a=a||0;for(var u=r.length;u>0&&r[u-1][2]>a;u--)r[u]=r[u-1];r[u]=[e,i,a]},o.f={},o.e=r=>Promise.all(Object.keys(o.f).reduce(((t,e)=>(o.f[e](r,t),t)),[])),o.u=r=>r+".6b55c348f5d90884.js",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),o.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t),(()=>{var r;o.g.importScripts&&(r=o.g.location+"");var t=o.g.document;if(!r&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(r=t.currentScript.src),!r)){var e=t.getElementsByTagName("script");if(e.length)for(var i=e.length-1;i>-1&&(!r||!/^http(s?):/.test(r));)r=e[i--].src}if(!r)throw new Error("Automatic publicPath is not supported in this browser");r=r.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=r})(),(()=>{var r={2063:1};o.f.i=(t,e)=>{r[t]||importScripts(o.p+o.u(t))};var t=this.webpackChunkwebpack_hash_invalidation_issue=this.webpackChunkwebpack_hash_invalidation_issue||[],e=t.push.bind(t);t.push=t=>{var[i,a,n]=t;for(var s in a)o.o(a,s)&&(o.m[s]=a[s]);for(n&&n(o);i.length;)r[i.pop()]=1;e(t)}})(),t=o.x,o.x=()=>o.e(2196).then(t),o.x()})();
//# sourceMappingURL=2063.dd62a678e1fd3459.js.map

I would like to note that the hashes do not change randomly. Distribution occurs only between 9dcec72898b2b3d2 and dd62a678e1fd3459 and no others.
looking at the difference in the code I found changes:
just piece of code
o.m=e,o.x=()=>

a.m=e,a.x=()=>

@nanianlisao https://t.me/alexander_akait in my profile

Since we have reduced the problem to one chunk, I will try to follow its entire path and understand why we have different content, I think this is the problem


pcont when running Atari Games

Hi, may I ask, whether you have pcont = True when you obtain the Atari results in the paper? Thanks for your great work!

Thanks. Yes, that option needs to be enabled for Atari.


Possibility of having multiple themes for the gradient

Current behaviour (optional)
There are some options to change the look, but none that affect the color gradient.
Description of the desired feature (required)
Since there are many possibilities of how the gradient could look, there could be a drop-down with a few predefined themes.
Why this feature would be valuable (optional)
Purely personal choice of aesthetics.
Additional information or context (optional)
I experimented with what looks I would prefer personally, and came up with a "Dark Flat" theme that uses the dark color of the types:

Another option could be just "Flat" that uses the middle color:

or "Light Flat":

Hi @chylex, I'd be OK with adding these options. Are you willing to open a PR to add these options?
A couple of notes, I'd like the current gradient to remain the default. Likely a good place to add the drop-down would be in the checkboxPanel (along with a sensible rename 😅) unless you can think of a better spot.

Sure, I can add a drop-down with the current style and my 3 new styles, and submit a PR.
When I was experimenting with this, I also thought about adding a way to quickly cycle through a bunch of different Pokémon, to see how each style looks with different types - what do you think about a button in the Settings that randomly changes currently shown Pokémon? If that sounds good, I could include it in the PR, or open a new issue for it. I'm not sure what'd be a good spot for it though.

Could that maybe be added to or replace the preview panel on the configuration page?

It could be a "refresh" or "randomize" button on that panel.
Perhaps it would be better to do that as a separate PR if it isn't too much extra work, just to keep this ticket pared down to only what is relevant to it.

Yea, I'll implement it separately and open a new issue with screenshots of how it looks before I PR it.

Perfect, thank you!

added in 1.7.0


CLI Output Path Not Working

Hi having problems with the file output  location of the types file
When I'm running on the CLI, the output argument will always use the default value of netlify-types.ts
Expected Behavior

 netlify-ts public/admin/config.yml src/my-types.ts outputs a file to src/my-types.ts
Current Behavior

 netlify-ts public/admin/config.yml src/my-types.ts outputs a file to netlify-types.ts
Context (Environment)

WSL2 Ubuntu on windows 11
npm 6.13.15
node 14.17.6

Hello, thanks for the bug report! This should now be resolved in the latest version 🎉  (v1.2.2)


Failed to import - ipfs-core due to jsbn

IPFS
Not technically the one that is failing but I wasn't sure if it needed to be added.

Github:https://github.com/ipfs/js-ipfs
npm:https://www.npmjs.com/package/ipfs-core

jsbn

GitHub: https://www.npmjs.com/package/jsbn
npm: https://github.com/andyperlitch/jsbn#readme

import * as IPFS from<EMAIL_ADDRESS>
Error message
After running deno run I got this:
error: Uncaught SyntaxError: The requested module<EMAIL_ADDRESS>does not provide an export named 'BigInteger'

Additional info

esm.sh version: v111
Deno version: 1.31.3

Apparently, jsbn only has a default export of object with BigInteger:
> import * as jsbn from 'https://esm.sh/jsbn'
undefined
> jsbn
Module {
  default: {
    default: [Function: s] { ZERO: s { t: 0, s: 0 }, ONE: s { "0": 1, t: 1, s: 0 } },
    BigInteger: [Function: s] { ZERO: s { t: 0, s: 0 }, ONE: s { "0": 1, t: 1, s: 0 } },
    SecureRandom: [Function: j]
  }
}


App freeze on iOS with "arithmetic overflow" error in sentry swift

Platform
Dart
Obfuscation
Disabled
Debug Info
Disabled
Doctor
[✓] Flutter (Channel stable, 3.16.2, on macOS 14.2.1 23C71 darwin-arm64, locale
en-IL)
• Flutter version 3.16.2 on channel stable at
/Users/zvikarp/.asdf/installs/flutter/3.16.2-stable
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 9e1c857886 (10 weeks ago), 2023-11-30 11:51:18 -0600
• Engine revision cf7a9d0800
• Dart version 3.2.2
• DevTools version 2.28.3
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
• Android SDK at /Users/zvikarp/Library/Android/sdk
• Platform android-34, build-tools 32.0.0
• Java binary at: /Applications/Android
Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build
17.0.7+0-17.0.7b1000.6-10550314)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15C500b
• CocoaPods version 1.15.0
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2023.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build
17.0.7+0-17.0.7b1000.6-10550314)
[✓] VS Code (version 1.83.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.82.0
[✓] VS Code (version 1.86.0-insider)
• VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
• Flutter extension can be installed from:
🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (3 available)

[✓] Network resources
• All expected network resources are available.
• No issues found!
Version
7.14.0
Steps to Reproduce
I'm not sure, this issue started happening recently, it is hard for me to understand why it is happening, sometimes it works and sometimes I get an error in xcode:

To get to this error I run the app and at some stage it just freezes, hot reload stops working and the error above appears in xcode. seems like that the result of the selected line is negative but we are using unit here and this is the cause of the error.
Expected Result
Not to freeze
Actual Result
App freezes
Are you willing to submit a PR?
None

Hi, do you know if you can reproduce that?

No. It often happens in debug mode when navigating from a loading screen to a screen with a lot of data. It happened to me on testflight only the first time I installed it from it. On testflight the app just crashes.

Looked into this, avoiding this error should be a simple thing, but it does not solve the underlying issue. Judging from a debug session, it looks like begin/end is not called symmetrically when using sentry navigator observer. I will further investigate and see if i can fix the root issue.

/cc @buenaflor

Thank you @denrase I really appreciate it 🙏

the fix is included in 7.16.1


Maybe a font format problem in a sample

Expected Behavior
The code should show correctly.   The code is under the Batch prediction job in the automl-text-classification.ipynb file.
Actual Behavior
The font is enlarged and the code won't run.  (See attached image.)
Steps to Reproduce the Problem

I just opened the file on github.com

Specifications
N/A

@natea11: thank you for reporting this issue. This appears to be an issue with the Github notebook viewer. The notebook itself is fine. Thank you for letting us know.


GD32F103C8 support

Hello
There are boards populated with STM32F103 substitute from GigaDevice
https://www.gigadevice.com/product/mcu/arm-cortex-m3/gd32f103c8t6
It refuses to flash more than 65K
Is there any way to condense this code? Maybe by disabling some features?

HI.
Im going to optimize whole build for smaller footprint in the next release.  If You dont need some futures, e.g auto device detection, it may help.
Also. You could try to build in release mode. it has significantly smaller binary size.

Minimal size for minimal functional app significantly bigger than 64KB. Mostly because of write() from stdlib.


Configuration path changes in 1.47.0

Hi all,
v1.47.0 introduced some changes to configuration paths. This occurred in the following commit, merged into the 1.47.0 release: https://github.com/buckaroo-it/Magento2/pull/872/files#diff-b91399633005bee1cdb88886b848001f54bc0d98cdb9e362f0cd63431c2c19c4
Merchants will need to migrate their configuration paths of pre-existing configs or resave / reconfigure configuration fields from the admin when upgrading to v1.47.0. While this is not a lot of work, it can come as a surprise since there is no mention of this change on the release page. Merchants that only use Buckaroo Credit Card for example, will have no payment options in checkout since the allowed credit card brands config was changed from 'payment/buckaroo_magento2_creditcard/allowed_creditcards' to 'payment/buckaroo_magento2_creditcard/allowed_issuers', which is now empty for us, since the configuration is still stored under the old configuration path.
Concrete question:

Can the affected configuration paths that were changed be added to the v1.47.0 release page as a heads-up, so it's easier for Merchants and development teams to see/find which configuration paths are affected? Not only for the commit I referenced earlier, but also other changes that went in the 1.47.0 release. This wouldn't only help us, but also other merchants and other development teams that intent to upgrade in the future.

Ideally, I'd also love if for future releases where configuration paths change, an associated migration is also offered (and mentioned on the release page) to move existing configuration from the old config path to the new one. For example through a patch that patches core_config_data.
Naturally this would be trickier with merchants relying on env or config.php to lock fields for merchants, but it would at least alleviate the burden on most development teams to deep-dive into every minor update of third-party modules they perform.

@Anve94, Thank you for your feedback on the configuration path changes introduced in v1.47.0. To address this, we'll add detailed notes to the release documentation, highlighting the specific changes, such as from allowed_creditcards to allowed_issuers.
For this release, the notable changes are:
From <config_path>payment/buckaroo_magento2_creditcard/allowed_creditcards</config_path> to <config_path>payment/buckaroo_magento2_creditcard/allowed_issuers</config_path>
From <config_path>payment/buckaroo_magento2_creditcard/sorted_creditcards</config_path> to <config_path>payment/buckaroo_magento2_creditcard/sorted_issuers</config_path>
From <config_path>payment/buckaroo_magento2_creditcards/allowed_creditcards</config_path> to <config_path>payment/buckaroo_magento2_creditcards/allowed_issuers</config_path>
Acknowledging the need for a more robust solution moving forward, I'm committing to a new protocol for future releases: we will include a dedicated script whenever configuration paths are changed.

@Buckaroo-Rene @LucianTuriacArnia Thanks both! Appreciate the willingness to update processes based on feedback :)
I'm mostly hoping this change will also accommodate other development teams in the future and help them to upgrade more seamlessly :blush:


migrate to webpack 2

This PR migrates webpack to v2.

Coverage remained the same at 82.704% when pulling 8cd34d5d5320af726373905c9912c3157a1677d9 on migrate-to-webpack-2 into 1b8e3fad92b3640b98772e8e5adeae5831599138 on develop.


Notify chained name for variables

@wixette Just want to confirm that we really need chained name for variables, for example, Global.var1, Global.func1.var1. They shall be static scoping name chains. We need implement some mechanism to collect the chained name when variables are defined.
How about class and instance variable after we implement Class? Shall we use Global.class1.var1 and Global.func1.object1.var1 as the chained name? Is there any confusion here?

The static scope doesn't match the dynamic scope. For example, in the recursive call case:
def f(n):
  if n == 1:
    return 1
  else:
    return n * f(n - 1)

f(10)

During execution, there will be 10 n in the stack. The static scope of them are all f.n. The client still cannot tell which n it is? At any time only one local n can be access by the client.
@wixette I'm just thinking about if the static scope name is really needed by the client?

My original request contains the case of embedded static scopes. For example, in Python:
m = 1
class F:
   m = 2
   def foo(self):
     m = 3
     print(m)

There are 3 m variables in the above code, located at different embedded scopes. We need some mechanism to figure out which m is being accessed in visualizers.
If counting Python's embedded functions in, there will be more levels of embedded scopes.
And, also consider my above example:
def foo(x, y):
  a = x + y
  return a

def bar(x, y):
  a = x * y
  return a

How can we mark variable a in different function scopes?
Dynamic scope is not needed to be marked here I thinks. Only static scope is good enough.

Closed by #186


Test report file not created

Hello. 🌱
I'm now using ver. [0.32.0-d9cb5e3]
Here is my project.yml about Test Report Plugin : report_tests_log_factory
:plugins:
  :load_paths: []
  :enabled:
    #- beep                           # beeps when finished, so you don't waste time waiting for ceedling
    - module_generator               # handy for quickly creating source, header, and test templates
    #- gcov                           # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr
    #- bullseye                       # test coverage using bullseye. Requires bullseye for your platform
    #- command_hooks                  # write custom actions to be called at different points during the build process
    #- compile_commands_json_db          # generate a compile_commands.json file
    # - dependencies                   # automatically fetch 3rd party libraries, etc.
    #- subprojects                    # managing builds and test for static libraries
    #- fake_function_framework        # use FFF instead of CMock

    # Report options (You'll want to choose one stdout option, but may choose multiple stored options if desired)
    #- test_suite_reporter
    #- report_tests_raw_output_log
    - report_tests_pretty_stdout
    #- report_tests_ide_stdout
    #- report_tests_gtestlike_stdout
    #- teamcity_tests_report
    #- warnings_report
    - report_tests_log_factory

  :report_tests_log_factory:
    :reports:
      - json
      - junit
      - cppunit
      - html

    # Each report is written to a default filename within <build root>/artifacts/<context>:
      # JSON: tests_report.json
      # JUnit XML: junit_tests_report.xml
      # CppUnit XML: cppunit_tests_report.xml
      # HTML: tests_report.html
    :json:
      :filename: report_json.json
    :junit:
      :filename: report_junit.xml
    :cppunit:
      :filename: report_cppunit.xml
    :html:
      :filename: report_html.html

and my test results is... (cmd)
-----------------------
2 Tests 0 Failures 0 Ignored
OK

Plugins (2) > :post_test_fixture_execute
----------------------------------------
 + report_tests_pretty_stdout...
 + report_tests_log_factory...

Plugins (2) > :post_build
-------------------------
 + report_tests_pretty_stdout...

--------------------
OVERALL TEST SUMMARY
--------------------
TESTED:  2
PASSED:  2
FAILED:  0
IGNORED: 0

 + report_tests_log_factory...

So, why is there no report files on <build root>/artifacts/ ??
p.s. I would like to know about changed command of $ ceedling verbosity[4] test:all from the previous version (0.31).
whenever running the test, should I typing obnoxious ?

Since you're running a test, the reports should be in build/artifacts/test. From the output you have pasted there, it appears it's noticed the plugin is enabled (I see the log factory in your post_text_fixture call).
So if the files still aren't getting generated, it's most likely that it isn't seeing your specification of what to generate. Looking at your project.yml file pasted above, if the spacing was preserved properly when you copied it, I think I see the problem: the :report_tests_log_factory section is indented to be part of :plugins. But it's its own section. So un-indent it and it should work.
If this fixes your issue, Woo!. If you could still leave this open for a bit, I'd like to fix a couple details you've uncovered:
(1) I should add the :report_tests_log_factory to the sample yaml file
(2) You are correct... we accidentally removed out shorthand for log level. In an attempt to make it shorter and clearer, we made it clearer but not shorter! Any combination of short/long flags should work. I'll fix it so -v=4 is an option

Dear @mvandervoord
Woo! It was indent problem indeed. so the factory can generate test reports. I like it.
If newer version updated with (1), (2) like you said, I believe it will be more convenient. 😊
Thank you and I really appreciate your reply.


Fix handling of logical types in schema

Hi @hpgrahsl
Great work on this connector!
I noticed that in the existing code, both the Date and Time logical types are being processed by the TimeFieldConverter
That is because the logicalConverters map was based on the schema.type and multiple logical types may have the same schema.type
For example, both the Date and Time schema.type is INT32
Fixing this issue in this commit

Hi! Many thanks for your contribution to this project. I'll take a look and am happy to merge the your PR.
Obviously none of my tests covered this issue so far thus, it'd be great if we can extend the test cases as well. Going to check that.

Thanks.
I did look at the RecordConverterTest yesterday.  I did not find any issues with the tests there.  The DateFieldConverter and TimeFieldConverter have the exact same behavior - i.e. converting a java.util.Date to BsonDateTime which is why the tests did not fail.  The moment the behavior of one of the converters change  -- you already have tests that would detect and fail it.
As long as the two converters behave the same -- this issue is in fact harmless.  That is why I did not tag this PR as a bug.  Behaviorally, the AvroJsonSchemafulRecordConverter gives the correct Bson output.  Its just that internally it ended up using a different logical converter than what was intended.
One could write a test to check if the correct converter is being picked up for each logical type -- however that might lead to tests that know the internals of the system-under-test as opposed to just validating the behavior.
One option might be to merge the two converters and have it service both the logical types since the expected behavior is the same for both.

Yes. Thx for the clarification. In fact the same that I found out yesterday myself. So as long as the internal conversion logic is the same and tests only cover the observable behaviour (i.e. end-result of the conversion) they cannot detect a wrongly picked converter. Nevertheless, I flagged it as a bug myself since it's not a correct behaviour :-)
I intentionally didn't not merge the convertes when writing them because I think it's clearer this way for now to keep them separate. Writing a tests to check if correct converters are picked could still be useful and would be the best choice IMHO. Maybe I'll do that if I find the time...

Ok. Agree that having separate converters makes the code more intuitive


chore: use node --experimental-strip-types and remove tsx

Issue
https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/#path-rewriting-for-relative-paths
Description
Uses node --experimental-strip-types to run TypeScript code and remove tsx
Testing
CI

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This was experimental change to check if it's possible
$ node --run generate:tests
(node:25590) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///Users/trivikram/workspace/aws-sdk-js-codemod/scripts/generateNewClientTests/index.ts is not specified and it doesn't parse as CommonJS.
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
To eliminate this warning, add "type": "module" to /Users/trivikram/workspace/aws-sdk-js-codemod/package.json.
(Use `node --trace-warnings ...` to show where the warning was created)

Not planning to push since the module should be changed to ESM to remove this warning.
And the extension had to be added to all imports.


select nodes to expose NodePort service in kube-proxy free mode

Proposal / RFE
Add the possibility to select specific nodes to expose NodePort service.
Is your feature request related to a problem?
Suppose that we have a multi-tenant cluster, where each tenant has one or more dedicated worker nodes. If a tenant creates a NodePort service the ports will be opened in all the cluster nodes instead of just its own nodes. For security reasons, we wouldn't want to make it possible because other worker nodes are owned by other tenants. So they wouldn't want to share their ports with others.
Essentially we are developing a Kubernetes operator for the multi-tenancy (link here: capsule) and we would avoid the problem described above.
Describe the solution you'd like
A possible solution could be to create a multi-tenant oriented NodePort service, where each tenant can enable it on their worker nodes instead of all the cluster nodes.

Hi @aanm, any thought about our feature request? Is it a possible solution also for you?

@alegrey91 Thanks for the proposal. How would you specify which node should expose the NodePort service?

The approach sounds reasonable for me. Just one question - how would you prevent one tenant from provisioning services (and opening NodePort) on other tenant nodes with the label-based approach?

We would prevent this using a policy engine such as Kiverno, OPA or in our case Capsule.

That's would be a great feature for all multi-tenant clusters, because right now you had to disable nodePort services at all. One more thing that I could think about would be supporting not only nodePort services, but also clusterIP, because it will help to add more isolation

@brb can I ask you for the CFP template link, if you have it?

@brb, Here's the CFP. It's set in suggesting mode for everybody, as requested.

@alegrey91 was this ever implemented? Is this a possible feature?

No, It was not @alwaysastudent


[Q] Server side initial data loading (with ajax)

I'm using latest version of react_on_rails and react router v4 with redux.
I dispatch an action in the component to fetch with ajax like so:
componentWillMount() {
    this.props.getUsers()
}

Basically, I want the renderToString in my ServerRouter.js to wait until the ajax request finishes. Using redux-logger and the redux-promise-middleware, I can see on the server logs only the "-PENDING" action gets dispatched, never getting to the "-FULFILLED" one.
This is my ServerRouter.js:
import React from 'react'
import { renderToString } from 'react-dom/server'
import { StaticRouter } from 'react-router'
import { Provider } from 'react-redux'

import routes from '../config/routes'
import store from '../config/server-store'

export default (props, railsContext) => {

  let context = {}
  const { location } = railsContext

  let markup = renderToString(
    <Provider store={store}>
      <StaticRouter
        location={location}
        context={context}>
        {routes}
      </StaticRouter>
    </Provider>
  )

  if (context.url) {
    return {
      redirectLocation: result.redirect.pathname
    }
  } else {
    return { renderedHtml: markup }
  }
}

Thanks guys in advance!

Hi @n23daniel. What makes you believe that this issue is React on Rails related?
For server rendering, think of this as simply the Rails server executing a function and your function must return some markup.
If you want renderToString to wait, then you must use something like an ES7 style async/await function pattern:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

I believe this is React on Rails related because at the moment I can't find a way to return a Promise from the server router. I can only return synchronously, otherwise I get the following error: "[SERVER] message: renderToString(): You must pass a valid ReactElement."
A really simple example of what I'm trying to achieve is
export default (props, railsContext) => {
  let context = {}
  const { location } = railsContext

  let markup = renderToString(
    <Provider store={store}>
      <StaticRouter
        location={location}
        context={context}>
        {routes}
      </StaticRouter>
    </Provider>
  )

  return new Promise(resolve => {
    setTimeout(() => {
      resolve({
        renderedHtml: renderToString(
          <Provider store={store}>
            <StaticRouter
              location={location}
              context={context}>
              {routes}
            </StaticRouter>
          </Provider>
        )
      })
    }, 1000)
  })
}

I think it's really important to be able to do this with React on Rails especially for SEO purposes so the dynamic data will be available in the rendered HTML. I've seen this can be done with Node backend as you can do res.send(renderedHtml) asynchronously.

I think it's really important to be able to do this with React on Rails especially for SEO purposes so the dynamic data will be available in the rendered HTML. I've seen this can be done with Node backend as you can do res.send(renderedHtml) asynchronously.

How would you do that Asynch for a Rails request? @n23daniel

I'm not a rails developer. I only know the basics, but as I'm aware there are ways to make async requests with rails. Still, isn't React on Rails using MiniRacer to run the js? Can't it wait for a promise?
Maybe I'm talking non-sense, but that's because of the lack of rails knowledge I have. Thanks for your interest though! I'd want to know if it's possible to adapt somehow to work by returning a promise, calling a callback or something similar.

Ok, so I see the inability to render async react originates from ExecJS not supporting async eval of the js. My only solution left, as I really need to render async js, is to drop react on rails and make the rendering on a standalone node server.

@n23daniel are you sure that you can't wait until the promise executes? Did you try using async/await or another pattern so your function does not return until the remote call finishes?

@justin808 Using async/await, in the end the result is still a promise, like in the official example:
async function add2(x) {
  const p_a = resolveAfter2Seconds(20);
  const p_b = resolveAfter2Seconds(30);
  return x + await p_a + await p_b;
}

add2(10).then(v => {
  console.log(v);  // prints 60 after 2 seconds.
});

ExecJS wouldn't wait for the async function to resolve.
A solution would be to do something like bellow, but it is really bad because it blocks the whole thread.
export default (props, railsContext) => {
  let context = {}
  const { location } = railsContext
  let markup

  // Do initial render to dispatch async actions
  renderToString(
    <Provider store={store}>
      <StaticRouter
        location={location}
        context={context}>
        {routes}
      </StaticRouter>
    </Provider>
  )

  waitAsyncForStoreToPopulateWithData().then(() => {
    // Do second render with populated store
   markup = renderToString(
      <Provider store={store}>
        <StaticRouter
          location={location}
          context={context}>
          {routes}
        </StaticRouter>
      </Provider>
    )
  })

  // Block thread until markup gets a value async
  while (!markup) {}

  return markup
}

So right now it could only work if ExecJS would be able to wait for a promise or have a callback, but it seems like this won't happen anytime soon: https://github.com/sstephenson/execjs/pull/35
This means the only solution is a dedicated node server. I think it would be cool if React on Rails would open a standalone node server in the background to communicate with the Rails server via http requests.
For example http://localhost:3020?component=MyApp would render MyApp registered component. This way something like this would do the job in the node server:
app.use((req, res) => {
  // Scenario when React on Rails component is a promise
  ReactOnRails.getComponent(req.query.component).then(data => {
    res.status(200).send(data)
  }, err => {
    res.status(500).send(err)
  })
})

It might not be the best solution performance-wise as on a large app you'd also need to scale the node server, but it could do the job done. Also the ExecJS isn't ideal as it's performing long synchronous tasks.

@n23daniel We have built a rendering engine using Node and Express. Maybe this is a good use for this? Nevertheless, the Rails view rendering response/request cycle would still need to wait...


flexget nixos module: run the service and specify configuration

This is #14262 rebased against master.
cc @joachifm

Fixed eval in https://github.com/NixOS/nixpkgs/commit/1834e725553bdf8782fa6f3462e07f39d057dceb
It really sucks that our travis doesn't evaluate NixOS modules. :(


Extending the API

I have some questions from the documentation on extending Apache Arrow for python and other languages.

The first question is if I create a custom DType for pandas, do I have to register the dtype in pyarrow for the read/write functions?

Is there a framework to extend the storage format to perform custom query operations like the postgis functions to arrow?  See: https://postgis.net/

if I create a custom DType for pandas, do I have to register the dtype in pyarrow for the read/write functions?

Check the docs here: https://github.com/apache/arrow/blob/master/docs/source/python/extending_types.rst (this has a bit more content than the online released version at https://arrow.apache.org/docs/python/extending_types.html). For conversion to arrow, you can implement the __arrow_array__ method (and for conversion back to pandas, the __from_arrow__ on the dtype, see https://pandas.pydata.org/docs/development/extending.html#compatibility-with-apache-arrow).
If your pandas DType maps to a built-in arrow type, you don't need to create or register any custom dtype in pyarrow. But if not, and you want to preserve eg some metadata information on how to interpret the data (check eg the PeriodDtype in pandas master), then you will need to arrow extension type.

Is there a framework to extend the storage format to perform custom query operations like the postgis functions to arrow?

Can you be more precise in what your question is? The storage format can be extended with extension types, but given your question above, I think you are already aware of that.

In general, we prefer usage questions and developer discussions to be help on the mailing list, and not in github issues<EMAIL_ADDRESS>and<EMAIL_ADDRESS>or JIRA for issue reports)

I want to store geospatial information into arrow, but I was looking for docs on how to create a engine capabilities so I can perform operations like intersect with another geometry on a given column of spatial data.
pyarrow seems to just be a read/writer, which is very limited.  If I mistaken, can you point to the doc for this?
The python sqlite module has the ability to register functions and adapters: https://docs.python.org/2/library/sqlite3.html#using-adapters-to-store-additional-python-types-in-sqlite-databases
Something like this would allow for the simple creation of expanded engines.  As a suggestion.
As for the list, these all get filtered out as spam, but github messages do not.  Just something to keep in mind.

these all get filtered out as spam

This is news to me. All e-mails from these mailing lists come directly to my gmail inbox. It may require you clicking "Not spam" in Gmail perhaps
There is active work on data processing tools in C++ that are exposed in pyarrow, and additionally we provide C, C++, and Cython APIs for getting access to the C++ data structures so you can use custom processing code and interoperates with pyarrow. As far as registering custom processing functions for user-defined data types, my guess is that it will happen but is simply a matter of time and developer bandwidth.
Can we discuss this more over e-mail?

Any news on this? I'm very interested in geometry columns in Arrow. Similar to geopandas.

See also https://github.com/geopandas/geo-arrow-spec/


pytest chained execution saved state

The chained execution that pytest runs showed that the internal API for the particles save the last state, increasing the size of the universe solution. Must change internal API to run chained execution.

Issue corrected. Closing.


Adds paging info to DTO's in order to use signing-server. OSGP/Platform#163

Connects to OSGP/Platform#163

All is well.

All is well.

All is well.


BZ-1206627: adapted to latest uberfire shutdown mechanism

http://github.com/uberfire/uberfire-extensions/commit/83df5ebf3


test_cmsg_nxthdr fails due to alignment checks for pointer dereferences

Example run: https://cirrus-ci.com/task/5904059698249728?logs=test#L85:
running 5 tests
test t::test_cmsg_data ... ok
test t::test_cmsg_firsthdr ... ok
test t::test_cmsg_len ... ok
test t::test_cmsg_space ... ok
test t::test_cmsg_nxthdr ... FAILED
failures:
---- t::test_cmsg_nxthdr stdout ----
thread 't::test_cmsg_nxthdr' panicked at 'misaligned pointer dereference: address must be a multiple of 0x4 but is 0x1b6966ed4d1', libc-test/test/cmsg.rs:74:25
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

It's caused by https://github.com/rust-lang/rust/pull/98112

Hm, this tests looks like it's deliberately doing unaligned pointer reads/writes? Which seems a bit weird but maybe I'm missing something. The easy fix would be to make the unaligned access explicit (e.g. using ptr::read_aligned et al).
But it'd be good to know if this is deliberate or an oversight.


Updates for week 9 to 12.

Hi @MSanKeys963 ,
Do let me know, if you have some suggestions.
Thanks,

Hi @Alt-Shivam. Thanks for sending the PR.
I've added a couple of comments above. Please have a look.


add rule acknowledge functionality to v2/clusters_detail

Description
v2/clusters_detail wasn't using information about rule acks. This isn't a problem for Advisor because the call to /clusters_detail was controlled by the response from /rule/{rule_id} which was called prior to this:

if /rule/{rule_id} returned that the rule is acknowledged, the request to /clusters_detail was never made == no problem
if /rule/{rule_id} returned that the rule isn't acknowledged, the request to /clusters_detail was made and correct information was provided (from Advisor perspective).

Recently there have been some pushes to inform customers that they can use this API to make their own results/aggregations, so we need to make sure the API is consistent. This PR introduces correct handling of rule acknowledges. Disabling single clusters takes precedence over general rule acknowledges.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Unit tests (no changes in the code)
REST API tests

Testing steps
new behaviour locally
Checklist

[x] make before_commit passes
[x] updated documentation wherever necessary
[x] added or modified tests if necessary
[x] updated schemas and validators in insights-data-schemas in case of input/output change

/retest

/retest

Codecov Report
Patch coverage is 71.11% of modified lines.

:exclamation: Current head 48e5be1 differs from pull request most recent head 16f3e7b. Consider uploading reports for the commit 16f3e7b to get more accurate results

Files Changed
Coverage

server/handlers_v2.go
71.11%

:loudspeaker: Thoughts on this report? Let us know!.

/retest

@Bee-lee this is going to fail because of this

/retest


Add old file sizes to worker stats

Codecov Report

Merging #2116 (d9f23a4) into main (af984bb) will increase coverage by 3.14%.
The diff coverage is 53.57%.

:exclamation: Current head d9f23a4 differs from pull request most recent head 145348c. Consider uploading reports for the commit 145348c to get more accurate results

@@            Coverage Diff             @@
##             main    #2116      +/-   ##
==========================================
+ Coverage   64.81%   67.96%   +3.14%
==========================================
  Files         133      133
  Lines       15881    15902      +21
==========================================
+ Hits        10294    10807     +513
+ Misses       5587     5095     -492

Impacted Files
Coverage Δ

src/irmin-pack/unix/gc_worker.ml
3.67% <0.00%> (-0.36%)
:arrow_down:

src/irmin-pack/layout.ml
81.63% <100.00%> (-10.87%)
:arrow_down:

src/irmin-pack/unix/ext.ml
62.15% <100.00%> (ø)

src/irmin-pack/unix/file_manager.ml
83.95% <100.00%> (ø)

src/irmin-pack/unix/gc.ml
82.14% <100.00%> (ø)

src/irmin-pack/unix/mapping_file.ml
93.75% <100.00%> (ø)

src/irmin-fs/unix/irmin_fs_unix.ml
67.74% <0.00%> (-0.65%)
:arrow_down:

bench/irmin-pack/trace_replay.ml
42.68% <0.00%> (+1.21%)
:arrow_up:

bench/irmin-pack/trace_stat_summary_utils.ml
72.30% <0.00%> (+12.30%)
:arrow_up:

... and 1 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


KAFKA-5975: No response when deleting topics and delete.topic.enable=false

Please review any of @miguno @ewencp @guozhangwang @dguy @mjsax

@mmolimar  I have created KIP: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=87295558 to return new error code for DeleteTopics API when topic deletion disabled.
Since you raised the PR for this, would you like to implement the proposed changes in your PR?
Let me know If you are busy, I can implement the changes on top of your PR.

Sure @omkreddy! I can do that.
But what about this PR? Do I merge those changes into my PR?

@mmolimar Yes, you can merge my PR. Thanks.

Great. Will do

@hachikuji  Please take a look.

@lindong28  @harshach  Can you take a look at this PR?

Sure. I will review it later this week.

@omkreddy will take a look this week.

Ah I am sorry @omkreddy! I obviously forgot to review this patch.. Please ping me next time you have a patch and I will review it as soon as possible. Thanks!


Make Tuple mutable.

This fixes spring-cloud/spring-cloud-stream#290
This resolves spring-cloud/spring-cloud-stream-modules#166

How about we keep an immutable option and in addition provide a new mutable one.

Yep, thought about it, as an option on the builder. We'd want the default to be mutable though (or create a new mime type)

We should err on the side of keeping backwards comparability with XD to minimize change when users convert to the new spring cloud stream model.

So are you advocating for a new mime-type for example? And when users want a mutable tuple, they'd explicitly ask for it?

How exactly can this affect backwards compatibility though - the old contract remains unchanged.

+1 for allowing for an immutable option in some form.

I added a way to create immutable Tuples on the builder

You are right Marius, it would not impact existing code, but it would break a rather important contract going forward.  The analogy in SI would be MutableMessage and Message.  I had though that perhaps one day this would also be a nice replacement to FieldSet in batch - since it was created before the conversion service.  The current set of tests - and in some cases behavior - is mostly derived from the FieldSet tests in batch.

Removed synchronized, Forced use of TupleBuilder (see also https://github.com/spring-cloud/spring-cloud-stream-modules/pull/168) and documented threadsafety

I made changes and merged.  TubleBuilder.tuple() returns an immutable tuple like before.  I also made the ctors public, mostly concerned about backward compat, but we can discuss more.  Fixed the other minor issues.
See 7fb834981ab6e987d1d0c784aebfbe642677e9a9

We absolutely need a new mime type for mutable tuple then. One of the aim of this PR is to use mutable tuples with the pmml module (via inputType=)

This opens up another discussion, Mark F. mention some changes to how type conversion is done.  He can explain more.  We haven't had any perf complaints wrt to using immutable objects, so given that I'd suggest that we defer the goal of pmml using mutable tuples until we can plan out this change better.

My comment about type-conversion is that we should move away from representing Java types as custom MIME types altogether, but instead explicitly recognize the distinction between conversion to/from the wire vs. conversion before/after message handling (i.e. it should be a 2-step process: could be text/plain or application/octet-stream on the wire and either of those then convert to Tuple or String or Foo).


feat : Draft code changes for multi submodel version support impl

Description

Added new classes for multiple submodel version support impl.

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[x] Copyright and license header are present on all affected files

@almadigabor  Please review and merge the PR.


Dockerfile update

It seems the the docker image referenced in the Dockerfile provided is obsolete:
FROM microsoft/service-fabric-onebox
It should now be:
FROM mcr.microsoft.com/service-fabric/onebox:latest
By the way, the current options for Mac are the latest onbox docker image which is 6.5.435.1. When would the 7.x be available? I'd be keen to use it along with the 9.0.0 sfctl (saw the compatibility chart here https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cli#service-fabric-target-runtim)

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

ID: 36484192-c2fc-5239-9d7a-d6f3bd9176f2
Version Independent ID: f1926b80-64c8-7eff-83c0-137b9a1b6ecc
Content: Set up your dev environment on macOS - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-get-started-mac.md
Service: service-fabric
GitHub Login: @suhuruli
Microsoft Alias: suhuruli

@floriangrousset
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@suhuruli
Can you please check and add your comments on this doc update request as applicable.

Yes, will update this accordingly.

Thanks @VikasPullagura-MSFT @suhuruli. Keep up with the good work guys!

Hi @floriangrousset, thanks for bringing this to our attention. Sorry to say I can't share any information on when 7.X will be coming to the onebox image. In any case, I've made sure to update the article in question and any others that make use of the now-deprecated image.
Best,
Nick
#please-close


How do I add filebeat?

Problem description

Extra information
Stack configuration

Docker setup

$ docker version

[OUTPUT HERE]

$ docker-compose version

[OUTPUT HERE]

Container logs

$ docker-compose logs

[OUTPUT HERE]

Perfect. I added filebeat to the host and it works great. I just added a syslog portion to udp/514 and it all started working. Thanks.


FIX GH-1578

An attempt to fix https://github.com/microsoft/TypeScript-Website/issues/1578

Hey @orta ,
I'm trying to resolve https://github.com/microsoft/TypeScript-Website/issues/1578 . My PR helps get rid of the red underlining but I still get cannot use import statement outside of module when I run the code. Any ideas ? Would appreciate any help!

Hey @hahmedia - so this does fix the underlaying problem - which is that type acquisition  doesn't resolve the index.d.ts
The playground itself does not load and bundle the JavaScript, and so you cannot hit "Run" and have those libraries imported. So, I think this PR is good to go, and I'll improve the error messaging in the error logs


The chinese version of 'Front-End-Design-Checklist'

Hi @David,
The chinese version of 'Front-End-Design-Checklist' has been translated. The link address is Front-End-Design-Checklist.
Thanks!

Wahou! Thank you so much for all that work @JohnsenZhou! Adding the link on the README file.


TEST-#2028: speed up window tests

Signed-off-by: Anatoly Myachev<EMAIL_ADDRESS>
What do these changes do?


Allowing pinner to pin content from within a collaboration

Not sure about this idea but sharing it out loud to get feedback if valuable or not.
If you have a collaboration for sharing information in some app, you could also share other objects within that collaboration. Image a feed of images for example, state could look like this:
[{
  title: 'Look at my fancy image!',
  image: {
    '/': 'QmAsd'
  }
}]

If the pinner sees this, it'll persist the state itself but it won't be pinning the content within the collaboration (yet, AFAIK).
replicateOnly seems to be activate, which I understand to mean you can't even call shared.value() right now. But even with that changed, it will not pin the content within.
Solution
I'm unsure of a exact solution. I think allowing users to specify some JQ-like string as a configuration when starting the pinner can solve this easy usecase but maybe not more complicated ones. With that, the user could do pinner --pin-within [].image["/"] and it would use that to pin specific hashes inside the collaboration.

@victorb are you talking about public static content pinning? Or private?

Yeah, I'm talking about content that is defined within the collaboration but it's defined as IPLD object (example above) in public collaborations (otherwise the pinner needs the same keys, gets more complicated).
For example, sharing images in a feed. You don't want to have to load the image itself when loading the collaboration, but rather load all the index of the images, and then each image after each other. So you embed a multihash (or even better, use DAG objects) so when the pinner sees this, it should somehow (to be defined) pin that content + the index.

@victorb if the content is public, could we use the IPFS pinning interface instead?

@pgte yeah, under the hood, I imagine the pinner will use the pinning interface, but it'll be handy if people can deploy one pinner to have their content + state replicated rather than having to deploy two services + make apps pin the content via another daemon AND pinning the state via the pinner.

@victorb I see, makes sense.
Implementation idea: instead of the peer having to contact the pinner directly, we could make the pinning collaborative: the files to pin are kept inside a dir (a CRDT), and the root hash is then what the pinner pins.

I'm shimming in because I currently have this exact use-case for discussify: the discussion CRDT contains cids for the comment themselves, so we need to pin those as well. After discussing this with @pgte, there's one possible solution for this:
Have a pining collaboration (a set alike crdt) where:

Any peer can add a cid to be pinned
The pinner would pickup added cids and pin them
When done, the pinner would remove the cids from the CRDT

Considerations for the future:

Ensure that only pinners can remove cids from the CRDT
Protect against spam where peers add a lot of cids in short periods of time


[Bug] [dolphinscheduler-server] memory leak of logger #7661

Purpose of the pull request
https://github.com/apache/dolphinscheduler/issues/7661
Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.2-prepare@df40cdc). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             2.0.2-prepare    #7665   +/-   ##
================================================
  Coverage                 ?   31.36%
  Complexity               ?     1555
================================================
  Files                    ?      433
  Lines                    ?    14783
  Branches                 ?     1480
================================================
  Hits                     ?     4637
  Misses                   ?     9687
  Partials                 ?      459

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 df40cdc...325cc37. Read the comment docs.


3.1.4 regression. Crash on missing uv property

The same as #2 again.

@altavir working on it...

Fix released in v3.1.5

Does not seem to fix the problem. The problem is in those lines: https://github.com/Jiro-Digital/three-csg-ts/blob/70b6258138e513719b563dc8bfb326e379d0a7d4/src/CSG.ts#L58-L59. If the input geometry does not define uvs, it crashes. Please reopen.


Expose signature field in JWS

LGTM, r=jcjones

LGTM. Please submit this as an upstream PR too. If we get too far afield it will become very hard to merge any of our changes.


[Style]: Need To Add to Hover Effect and many more

What's the style idea?
We need to improve

Hover Effect
Text Styles
Need to Add 24/7 Chatbot
Add Feedback Form

Please Assign this  to me so that I can work on enhancement of the user Experience , Thankyou
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSoC'24 contributor.

Code of Conduct

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

@CSEdgeOff Please Assign , so that I can Contribute for the enhancement of the website

@CodeXsubham That a live web
The developing one is here check out this once
https://learn.csedge.courses/csedge.courses/index.html
https://learn.csedge.courses/home.html

@CSEdgeOff Still Navbar and Footer need some enhancement

@CSEdgeOff Still Footer Need to be fixed .

Also Checkout my last contribution

@CodeXsubham
Let me know some things
Don't use bootstrap in the main one csedge.courses

@CSEdgeOff Ok

@CSEdgeOff please assign the task to me. I can help improve styling elements too!


IGNITE-13620 : Bind ignite node to 1 address in the ducktests.

Ignite node should use one ip address in rcp discovery to make failure detection delay clear.

Better version is rolling up.


space added for build gradle

space added for build gradle

@Chimakurthi7788 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


AWS: make it possible to disable minion public ip assignment

This patch makes it possible to disable the automatic assignment of a public IP when launching minions. The feature can be controlled by setting the env variable KUBE_ENABLE_MINION_PUBLIC_IP to "false" (instead of "true" - which is the default value).
Use case scenario:

preconfigured VPC
your local client is able to communicate with the VPC by means of a VPN connection
internet access from the VPC is routed to the internet gateway by means of a NAT instance
you do not want a public IP on your minions for security reasons

Closed because I accidentally opened this pull request from my master branch... sorry... correct PR is #7928


can't create new album from computer

at the beginning only 'Auto Upload' exists.
...

uploading photo: 20170904_114115
Sync Complete!

Watching /home/andy/FlickrBox for changes...
add new directory with one jpg file and expect to see new album in flickr.
Watching /home/andy/FlickrBox for changes...

in-event <InotifyEvent: src_path=b'/home/andy/FlickrBox/newAlbum2', wd=1, mask=IN_CREATE|IN_ISDIR, cookie=0, name=b'newAlbum2'>
in-event <InotifyEvent: src_path=b'/home/andy/FlickrBox/newAlbum2', wd=1, mask=IN_ATTRIB|IN_ISDIR, cookie=0, name=b'newAlbum2'>
in-event <InotifyEvent: src_path=b'/home/andy/FlickrBox/newAlbum2/1506959460685.jpg', wd=209, mask=IN_CREATE, cookie=0, name=b'1506959460685.jpg'>
in-event <InotifyEvent: src_path=b'/home/andy/FlickrBox/newAlbum2/1506959460685.jpg', wd=209, mask=IN_MODIFY, cookie=0, name=b'1506959460685.jpg'>
uploading photo:<PHONE_NUMBER>685

and seems nothings happend

Hmm, I'll take a look at that and try to reproduce. I'm hoping it's only in the case of the very first album...
I wonder if it works if you create an album on Flickr first?

if I create album first at Flickr it's works, but it not conveniently

is it possible add some debugging info?

Hmm, interesting... Let's keep this open and I'll stay sort it out soon. I'll also go ahead and create a new issue for more verbose logging.


F7 TIMx CCMRx_Output OCxM

Strange incompatibility in description of OCxM in F7 series.
Register map says they has 3 bits:

But I see 16 different values in description below:

upd: 4th bit in 16 and 24 bit positions. So we need split this register on 2 different


EventRouter catch-all

Is there a way to listen to all events? For example to log all events.
Something like:
$router->route('*')->to($listener);

You can use a plugin to achieve that.

Implementation details see f.e. here:
https://github.com/prooph/service-bus/blob/master/src/Plugin/MessageProducerPlugin.php

Ah, thanks!


feat: toast fine tune

📑 Description
Toast to use more standard naming:

visible changed to open
postition changed from tr|tl|br|bl to top-left|top-right|bottom-left|bottom-right

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[x] All the tests have passed
[x] My pull request is based on the latest commit (not the npm version).

ℹ Additional Information

For your note: I found that npm run gen:props doesn't pick up a prop if you have a comment above.
I removed the comment and it added a new prop to Toast compo.

Toast transition examples are not working.

PR #363 - added local to transition function in Frame.
This kills transitions on Toast. It's enough to remove #363 to make them work again.

Ok, got it.


files are missing after build and release

I am trying to use a fork in my project, but when I build with the provided script (npm run build), then I release it with npm publish --access public, then I install, the files are missing from the folder:
➜  font-picker-react git:(XES-444) ✗ ls -la
total 40
drwxr-xr-x  5 richardzilahi  staff   160  2 Sep 23:03 .
drwxr-xr-x  3 richardzilahi  staff    96  2 Sep 23:03 ..
-rwxr-xr-x  1 richardzilahi  staff  1068 26 Oct  1985 LICENSE
-rw-r--r--  1 richardzilahi  staff  4244 26 Oct  1985 README.md
-rw-r--r--  1 richardzilahi  staff  4384  2 Sep 23:03 package.json

Do you have any idea why this happens? I thought first that iit's becasue the dist are in the gitignore but then I added an npmignore. That didn't solve the problem.
Then i simply removed the dist from the gitignore to see whether this solves the problem or not. Well, it didn't so now I am confused.
😢

the issue is solved.
in the package.json, at files, you not supposed to provide relative path.
so instead of:
files: [
 "./dist"
]

it should be:
files: [
 "dist"
]


icalEvent support?

Any plans to support icalEvent option? https://nodemailer.com/message/calendar-events/

never mind, nodemailer now has a well-known list of supported services, Mandrill is one of them http://nodemailer.com/smtp/well-known/
const transport = nodemailer.createTransport({
  service: 'Mandrill',
  auth: {
    user: config.mandrill.username,
    pass: config.mandrill.apiKey
  }
});

and it supports icalEvent


environment file

As i don't have access to AWS anymore, could you update the "flusshygiene-berlin-data-transfer .env" in the admin vault with respective credentials. Then i can complete the testing.

Done


Improve working directory dropdown box

Description of problem
The dropdown box that lists recent working directories is not very friendly as the width of the box is fixed. If the list of recent working directories is wide, the text is cut off with no way to scroll to the right to see what folder the list items are.
See screenshot below:

As you can see, there is no way to tell what is to the right of the cut off text.
Versions and main components

Spyder Version: 3.2.4
Python Version: 3.6
Qt Version: 7.7.3
PyQt Version: 5.9
Operating system:  macOS Sierra (10.12.6)

Thanks for reporting. We'll take a look at it in a future release.

Would adding tooltips to each item of the drop-down list showing the full path be a viable solution to this problem? Something like:

Good idea! I think it's a great usability improvement, and better than simply adding a horizontal scrollbar.
@goanpeca, what do you think?

@ccordoba12 yep looks good, gofor it @jnsebgosselin :-)

@ccordoba12 and @goanpeca Alright, working on it! :D


Failed to initialize vosk library

cd test
lua main.lua
lua: main.lua:9: Failed to initialize vosk library: libvosk.so was not found
I have a symbolic link to libvosk.so in the test directory
libvosk.so was tested with C code and it works
raspberrypi armv7

Hello! I think your libvosk is not in LD_LIBRARY_PATH. Try to specify path to the libvosk.so explicitly in vosk.init function call (e.g. vosk.init('./libvosk.so'))

Solved!
vosk.init('./libvosk.so')
Thank you


How to include models in my controller

Hi I have created a controller and I want to use my model inside it.
I am trying to use it like this:
use Modules\User\Entities\User;
but it's throwing me an error
Error
Class "Modules\User\Entities\User" not found
http://<IP_ADDRESS>:8000/auth/test

check if you added all files that require User model, then composer dump-autoload, I use laravel/ui or laravel breeze with Modules and it works fine after making those changes.

I simply created a model inside my module user.
Why do I have to do a composer dump-autoload
Its a simple inclusion isn't it?

This is how my model looks:

<?php

namespace Modules\User\Models;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'users';

    public function create(){

    }
}

This is how my controller looks:

<?php

namespace Modules\Auth\Http\Controllers;
//use App\Models\User;
use Modules\User\Entities\User;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Socialite;
use Hash;
use Str;

class AuthController extends Controller
{

}

i am using laravel/ui in this package
 'datetime',
    ];

}

because you extend to test model
class User extends Authenticatable

si te sigue dando error  edita config/auth.php
`'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => User::class,
],
    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users',
    // ],
],`

because composer dump-autoload is to update the changes properly

This is how my controller looks:

<?php

namespace Modules\Auth\Http\Controllers;
//use App\Models\User;
use Modules\User\Entities\User;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Socialite;
use Hash;
use Str;

class AuthController extends Controller
{

}

Namespace is not correct.
change use Modules\User\Entities\User;
to use Modules\User\Models\User;

@harshalone can you please close this issue, if solution was finded?


generator: HTML Entites not rendering

With the following code HTML Entities are not being converted properly when used in a variable.
main.go

package main

import (
	"net/http"
	"github.com/a-h/templ"
)

func main() {
	http.Handle("/", templ.Handler(hello("Temperature", "°")))
	http.ListenAndServe(":8080", nil)
}

hello.templ
package main

templ hello(name string, entity string) {
	<div>{ name } 45{ entity } 45°F </div>
}

Expected:
Temperature 45° 45°F
Actual:
Temperature 45° 45°F
Tried using different methods to prevent the issue but none seemed to work.

May i ask what you did to prevent this issue?
A temporary workaround would be to use @templ.Raw inside an own <span>:
package main

templ hello(name string, entity string) {
	<div>{ name } 45<span>@templ.Raw(entity)</span> 45°F </div>
}

If you put the @templ.Raw after some other text in a html element then it will be escaped.

It's expected that text will be automatically escaped using HTML encoding as per https://templ.guide/syntax-and-usage/expressions#escaping
If templ didn't do that, then templ would be wide open to cross-site scripting attacks from user input.
You can bypass string escaping using https://github.com/a-h/templ/blob/753ba3966d4ae6c8eb963f210123c1add87bbd70/runtime.go#L753-L765 as per @stefanohrmann's suggestion, but please make yourself aware of the security implications of doing so first.
This talk outlines security considerations for API design of applications that render HTML: https://www.youtube.com/watch?v=ccfEu-Jj0as


Remember Forever Nighthawk Quiz

A. Shows the nighthawk then after doing the command its not there

B. Local host with my name

Shows clones repos in nighthawks

Picture with CSP
bonus: rm removes the file/directory.

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."