helloadhavan/github_issues huggingface dataset:
Repository: denoland/deno
Pull request: fix(ext/node): process.getBuiltinModule

Closes https://github.com/denoland/deno/issues/26832

Changed files:
filename: ext/node/polyfills/01_require.js
patch: @@ -1233,6 +1233,24 @@ function isBuiltin(moduleName) {
     !StringPrototypeStartsWith(moduleName, "internal/");
 }
 
+function getBuiltinModule(id) {
+  if (!isBuiltin(id)) {
+    return undefined;
+  }
+
+  if (StringPrototypeStartsWith(id, "node:")) {
+    // Slice 'node:' prefix
+    id = StringPrototypeSlice(id, 5);
+  }
+
+  const mod = loadNativeModule(id, id);
+  if (mod) {
+    return mod.exports;
+  }
+
+  return undefined;
+}
+
 Module.isBuiltin = isBuiltin;
 
 Module.createRequire = createRequire;
@@ -1327,7 +1345,7 @@ export function register(_specifier, _parentUrl, _options) {
   return undefined;
 }
 
-export { builtinModules, createRequire, isBuiltin, Module };
+export { builtinModules, createRequire, getBuiltinModule, isBuiltin, Module };
 export const _cache = Module._cache;
 export const _extensions = Module._extensions;
 export const _findPath = Module._findPath;

filename: ext/node/polyfills/process.ts
patch: @@ -15,7 +15,7 @@ import {
 
 import { warnNotImplemented } from "ext:deno_node/_utils.ts";
 import { EventEmitter } from "node:events";
-import Module from "node:module";
+import Module, { getBuiltinModule } from "node:module";
 import { report } from "ext:deno_node/internal/process/report.ts";
 import { validateString } from "ext:deno_node/internal/validators.mjs";
 import {
@@ -38,7 +38,15 @@ import {
   versions,
 } from "ext:deno_node/_process/process.ts";
 import { _exiting } from "ext:deno_node/_process/exiting.ts";
-export { _nextTick as nextTick, chdir, cwd, env, version, versions };
+export {
+  _nextTick as nextTick,
+  chdir,
+  cwd,
+  env,
+  getBuiltinModule,
+  version,
+  versions,
+};
 import {
   createWritableStdioStream,
   initStdin,
@@ -728,6 +736,8 @@ Process.prototype.getegid = getegid;
 /** This method is removed on Windows */
 Process.prototype.geteuid = geteuid;
 
+Process.prototype.getBuiltinModule = getBuiltinModule;
+
 // TODO(kt3k): Implement this when we added -e option to node compat mode
 Process.prototype._eval = undefined;
 

filename: tests/unit_node/process_test.ts
patch: @@ -1152,3 +1152,9 @@ Deno.test("process.stdout.columns writable", () => {
   process.stdout.columns = 80;
   assertEquals(process.stdout.columns, 80);
 });
+
+Deno.test("getBuiltinModule", () => {
+  assert(process.getBuiltinModule("fs"));
+  assert(process.getBuiltinModule("node:fs"));
+  assertEquals(process.getBuiltinModule("something"), undefined);
+});
Repository: vercel/next.js
Pull request: Update Rspack development test manifest

This auto-generated PR updates the development integration test manifest used when testing Rspack.

Changed files:
filename: test/rspack-dev-tests-manifest.json
patch: @@ -2778,7 +2778,7 @@
     ],
     "pending": [],
     "flakey": [],
-    "runtimeError": false
+    "runtimeError": true
   },
   "test/development/basic/allowed-dev-origins.test.ts": {
     "passed": [
@@ -5904,6 +5904,22 @@
     "flakey": [],
     "runtimeError": false
   },
+  "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.sync-attribution.test.ts": {
+    "passed": [
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - Guarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - Guarded RSC with unguarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - Unguarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - unguarded RSC with unguarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - Guarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - Guarded RSC with unguarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - Unguarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - unguarded RSC with unguarded Client sync IO does not run in dev"
+    ],
+    "failed": [],
+    "pending": [],
+    "flakey": [],
+    "runtimeError": false
+  },
   "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.sync-dynamic.test.ts": {
     "passed": [
       "Dynamic IO Errors - With Minification Sync Dynamic - With Fallback - client searchParams does not run in dev",
@@ -21218,6 +21234,8 @@
   },
   "test/integration/server-side-dev-errors/test/index.test.js": {
     "passed": [
+      "server-side dev errors should show server-side error for api route correctly",
+      "server-side dev errors should show server-side error for dynamic api route correctly",
       "server-side dev errors should show server-side error for dynamic gssp page correctly",
       "server-side dev errors should show server-side error for gsp page correctly",
       "server-side dev errors should show server-side error for gssp page correctly",
@@ -21226,10 +21244,7 @@
       "server-side dev errors should show server-side error for uncaught exception correctly",
       "server-side dev errors should show server-side error for uncaught rejection correctly"
     ],
-    "failed": [
-      "server-side dev errors should show server-side error for api route correctly",
-      "server-side dev errors should show server-side error for dynamic api route correctly"
-    ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
Repository: ggml-org/llama.cpp
Pull request: server : fix pooled embedding output

Fix pooled embedding server output issue reported in #14543. When using pooled embeddings, the response is now one vector per prompt entry. The response for unpooled embeddings is unchanged.

I'm not very familiar with reranking, so I didn't touch that path. But it seems like a similar fix could be in order there.

Changed files:
filename: tools/server/server.cpp
patch: @@ -2581,25 +2581,27 @@ struct server_context {
                 continue;
             }
 
-            const float * embd = llama_get_embeddings_seq(ctx, batch.seq_id[i][0]);
-            if (embd == NULL) {
+            const float * embd = nullptr;
+            if (llama_pooling_type(slot.ctx) == LLAMA_POOLING_TYPE_NONE) {
                 embd = llama_get_embeddings_ith(ctx, i);
+            } else {
+                embd = llama_get_embeddings_seq(ctx, batch.seq_id[i][0]);
             }
 
-            if (embd == NULL) {
+            if (embd == nullptr) {
                 SLT_ERR(slot, "failed to get embeddings, token = %d, seq_id = %d\n", batch.token[i], batch.seq_id[i][0]);
 
                 res->embedding.push_back(std::vector<float>(n_embd, 0.0f));
                 continue;
             }
 
             // normalize only when there is pooling
-            // TODO: configurable
             if (llama_pooling_type(slot.ctx) != LLAMA_POOLING_TYPE_NONE) {
                 common_embd_normalize(embd, embd_res.data(), n_embd, 2);
                 res->embedding.push_back(embd_res);
+                break;
             } else {
-                res->embedding.push_back({ embd, embd + n_embd });
+                res->embedding.emplace_back(embd, embd + n_embd);
             }
         }
Repository: electron/electron
Pull request: perf: remove isolate scope from DidProcessTask()

Backport of #44439

See that PR for details.


Notes: Performance improvements when processing microtasks.

Changed files:
filename: shell/browser/microtasks_runner.cc
patch: @@ -17,7 +17,6 @@ void MicrotasksRunner::WillProcessTask(const base::PendingTask& pending_task,
                                        bool was_blocked_or_low_priority) {}
 
 void MicrotasksRunner::DidProcessTask(const base::PendingTask& pending_task) {
-  v8::Isolate::Scope scope(isolate_);
   // In the browser process we follow Node.js microtask policy of kExplicit
   // and let the MicrotaskRunner which is a task observer for chromium UI thread
   // scheduler run the microtask checkpoint. This worked fine because Node.js
Repository: vercel/next.js
Pull request: Update Turbopack development test manifest

This auto-generated PR updates the development integration test manifest used when testing Turbopack.

Changed files:
filename: test/turbopack-dev-tests-manifest.json
patch: @@ -5769,6 +5769,22 @@
     "flakey": [],
     "runtimeError": false
   },
+  "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.sync-attribution.test.ts": {
+    "passed": [
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - Guarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - Guarded RSC with unguarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - Unguarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - With Minification Error Attribution with Sync IO - unguarded RSC with unguarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - Guarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - Guarded RSC with unguarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - Unguarded RSC with guarded Client sync IO does not run in dev",
+      "Dynamic IO Errors - Without Minification Error Attribution with Sync IO - unguarded RSC with unguarded Client sync IO does not run in dev"
+    ],
+    "failed": [],
+    "pending": [],
+    "flakey": [],
+    "runtimeError": false
+  },
   "test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.sync-dynamic.test.ts": {
     "passed": [
       "Dynamic IO Errors - With Minification Sync Dynamic - With Fallback - client searchParams does not run in dev",
Repository: denoland/deno
Pull request: fix(permissions): say to use --allow-run instead of --allow-all

For https://github.com/denoland/deno/issues/26839

Changed files:
filename: runtime/ops/process.rs
patch: @@ -756,14 +756,17 @@ fn check_run_permission(
     if !env_var_names.is_empty() {
       // we don't allow users to launch subprocesses with any LD_ or DYLD_*
       // env vars set because this allows executing code (ex. LD_PRELOAD)
-      return Err(CheckRunPermissionError::Other(deno_core::error::custom_error(
-        "NotCapable",
-        format!(
-          "Requires --allow-all permissions to spawn subprocess with {} environment variable{}.",
-          env_var_names.join(", "),
-          if env_var_names.len() != 1 { "s" } else { "" }
-        )
-      )));
+      return Err(CheckRunPermissionError::Other(
+        deno_core::error::custom_error(
+          "NotCapable",
+          format!(
+            "Requires --allow-run permissions to spawn subprocess with {0} environment variable{1}. Alternatively, spawn with {2} environment variable{1} unset.",
+            env_var_names.join(", "),
+            if env_var_names.len() != 1 { "s" } else { "" },
+            if env_var_names.len() != 1 { "these" } else { "the" }
+          ),
+        ),
+      ));
     }
     permissions.check_run(cmd, api_name)?;
   }

filename: tests/specs/run/ld_preload/env_arg.out
patch: @@ -1,8 +1,8 @@
-NotCapable: Requires --allow-all permissions to spawn subprocess with LD_PRELOAD environment variable.
+NotCapable: Requires --allow-run permissions to spawn subprocess with LD_PRELOAD environment variable. Alternatively, spawn with the environment variable unset.
     [WILDCARD]
   name: "NotCapable"
 }
-NotCapable: Requires --allow-all permissions to spawn subprocess with LD_PRELOAD environment variable.
+NotCapable: Requires --allow-run permissions to spawn subprocess with LD_PRELOAD environment variable. Alternatively, spawn with the environment variable unset.
     [WILDCARD]
   name: "NotCapable"
 }

filename: tests/specs/run/ld_preload/env_arg.ts
patch: @@ -1,5 +1,5 @@
 try {
-  new Deno.Command("echo", {
+  new Deno.Command("curl", {
     env: {
       "LD_PRELOAD": "./libpreload.so",
     },
@@ -10,7 +10,7 @@ try {
 
 try {
   Deno.run({
-    cmd: ["echo"],
+    cmd: ["curl"],
     env: {
       "LD_PRELOAD": "./libpreload.so",
     },

filename: tests/specs/run/ld_preload/set_with_allow_env.out
patch: @@ -1,8 +1,8 @@
-NotCapable: Requires --allow-all permissions to spawn subprocess with LD_PRELOAD environment variable.
+NotCapable: Requires --allow-run permissions to spawn subprocess with LD_PRELOAD environment variable. Alternatively, spawn with the environment variable unset.
   [WILDCARD]
   name: "NotCapable"
 }
-NotCapable: Requires --allow-all permissions to spawn subprocess with DYLD_FALLBACK_LIBRARY_PATH, LD_PRELOAD environment variables.
+NotCapable: Requires --allow-run permissions to spawn subprocess with DYLD_FALLBACK_LIBRARY_PATH, LD_PRELOAD environment variables. Alternatively, spawn with these environment variables unset.
   [WILDCARD]
   name: "NotCapable"
 }
Repository: ggml-org/llama.cpp
Pull request: sync : ggml


Changed files:
filename: scripts/sync-ggml.last
patch: @@ -1 +1 @@
-b6d2ebd488ecf03368b365e69fcf64f03f14e949
+d62df60a07ba3deeb85e5cfc9b1ee07645ff35e2
Repository: ggml-org/llama.cpp
Pull request: sync : ggml


Changed files:
filename: ggml/src/ggml-vulkan/ggml-vulkan.cpp
patch: @@ -722,7 +722,7 @@ static vk_op_unary_push_constants vk_op_unary_push_constants_init(const ggml_ten
     p.nb11 = (uint32_t)(dst->nb[1] / dst_tsize);
     p.nb12 = (uint32_t)(dst->nb[2] / dst_tsize);
     p.nb13 = (uint32_t)(dst->nb[3] / dst_tsize);
-    
+
     return p; // fastdiv values and offsets are initialized later in ggml_vk_op
 }
 
@@ -7677,9 +7677,6 @@ static void ggml_vk_repeat_back(ggml_backend_vk_context * ctx, vk_context& subct
 }
 
 static void ggml_vk_cpy(ggml_backend_vk_context * ctx, vk_context& subctx, const ggml_tensor * src0, ggml_tensor * dst, bool dryrun = false) {
-    const uint32_t src0_type_size = ggml_type_size(src0->type);
-    const uint32_t dst_type_size = ggml_type_size(dst->type);
-
     uint32_t ne = (uint32_t)ggml_nelements(src0);
     if (ggml_is_quantized(src0->type) && ggml_is_quantized(dst->type)) {
         // Convert from number of logical elements to 2- or 4-byte units.

filename: ggml/src/ggml-vulkan/vulkan-shaders/upscale.comp
patch: @@ -42,7 +42,7 @@ float fetch_bilinear(ivec2 c0, ivec2 c1, vec2 d, uint i12, uint i13) {
     const float v10 = data_a[base + c1.y * p.nb01 + c0.x * p.nb00];
     const float v11 = data_a[base + c1.y * p.nb01 + c1.x * p.nb00];
 
-    return 
+    return
         v00 * (1.0-d.x) * (1.0-d.y) +
         v01 * d.x       * (1.0-d.y) +
         v10 * (1.0-d.x) * d.y +
@@ -57,7 +57,7 @@ float interpolate_bilinear(uint i10, uint i11, uint i12, uint i13) {
     const vec2 d = c - c0f;
     const ivec2 c0 = max(ivec2(c0f), 0);
     const ivec2 c1 = min(ivec2(c0f + 1), ne0 - 1);
-    
+
     return fetch_bilinear(c0, c1, d, i12, i13);
 }
Repository: denoland/deno
Pull request: fix incorrectly private fields for `PermissionDeniedError` and `deno_kv::KvConfig`, and add common derives for `KvConfig`

A few small changes to avoid needing unsafe mem transmutes to instantiate the extensions

Changed files:
filename: ext/kv/config.rs
patch: @@ -1,16 +1,17 @@
 // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
 
+#[derive(Clone, Copy, Debug)]
 pub struct KvConfig {
-  pub(crate) max_write_key_size_bytes: usize,
-  pub(crate) max_read_key_size_bytes: usize,
-  pub(crate) max_value_size_bytes: usize,
-  pub(crate) max_read_ranges: usize,
-  pub(crate) max_read_entries: usize,
-  pub(crate) max_checks: usize,
-  pub(crate) max_mutations: usize,
-  pub(crate) max_watched_keys: usize,
-  pub(crate) max_total_mutation_size_bytes: usize,
-  pub(crate) max_total_key_size_bytes: usize,
+  pub max_write_key_size_bytes: usize,
+  pub max_read_key_size_bytes: usize,
+  pub max_value_size_bytes: usize,
+  pub max_read_ranges: usize,
+  pub max_read_entries: usize,
+  pub max_checks: usize,
+  pub max_mutations: usize,
+  pub max_watched_keys: usize,
+  pub max_total_mutation_size_bytes: usize,
+  pub max_total_key_size_bytes: usize,
 }
 
 impl KvConfig {

filename: runtime/permissions/lib.rs
patch: @@ -40,8 +40,8 @@ pub use prompter::PromptResponse;
 #[derive(Debug, thiserror::Error)]
 #[error("Requires {access}, {}", format_permission_error(.name))]
 pub struct PermissionDeniedError {
-  access: String,
-  name: &'static str,
+  pub access: String,
+  pub name: &'static str,
 }
 
 fn format_permission_error(name: &'static str) -> String {
Repository: vercel/next.js
Pull request: Turbopack Build: Fix next-font test

## What?

When importing `_app` from another entrypoint it causes the font files imported to be included in _app. This is an edge case so changing the test as it doesn't check for that. Creating a separate issue to dig into this further later.

Closes PACK-4733

Changed files:
filename: test/e2e/next-font/app/pages/with-fonts.js
patch: @@ -1,5 +1,6 @@
 import CompWithFonts from '../components/CompWithFonts'
-import { openSans } from './_app'
+import { Open_Sans } from 'next/font/google'
+const openSans = Open_Sans({ variable: '--open-sans', subsets: ['latin'] })
 
 export default function WithFonts() {
   return (

filename: test/turbopack-build-tests-manifest.json
patch: @@ -7767,15 +7767,14 @@
       "next/font import values page with font",
       "next/font import values page with local fonts",
       "next/font preload page with fonts",
-      "next/font should not have deprecation warning"
-    ],
-    "failed": [
+      "next/font should not have deprecation warning",
       "next/font preload font without preloadable subsets",
       "next/font preload font without size adjust",
       "next/font preload google fonts with multiple weights/styles",
       "next/font preload page with local fonts",
       "next/font preload page without fonts"
     ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
Repository: nodejs/node
Pull request: doc fix web.libera.chat link in pull-requests.md

The old link wasn't prefilling the channel name for me, and this is the format suggested in the docs: <https://libera.chat/guides/webchat#kiwiirc>

It works, too!

Changed files:
filename: doc/contributing/pull-requests.md
patch: @@ -53,7 +53,7 @@ help, questions, and discussions.
 development of Node.js core specifically.
 
 Node.js also has an unofficial IRC channel:
-[#Node.js](https://web.libera.chat/?channels=node.js).
+[#Node.js](https://web.libera.chat/#node.js).
 
 ## Setting up your local environment
Repository: vercel/next.js
Pull request: Turbopack Build: Implement locale:false middleware matcher

## What?

Found `locale: false` matchers were 99% implemented but the value was not passed so it didn't work.

Closes PACK-4735

Changed files:
filename: crates/next-core/src/util.rs
patch: @@ -385,6 +385,9 @@ async fn parse_route_matcher_from_js_value(
                                         matcher.original_source = value.into();
                                     }
                                 }
+                                Some("locale") => {
+                                    matcher.locale = value.as_bool().unwrap_or_default();
+                                }
                                 Some("missing") => {
                                     matcher.missing = Some(parse_matcher_kind_matcher(value))
                                 }

filename: test/turbopack-build-tests-manifest.json
patch: @@ -7141,12 +7141,11 @@
       "Middleware custom matchers i18n should not match /en/about",
       "Middleware custom matchers i18n should not match /hello/invalid",
       "Middleware custom matchers i18n should not match /invalid/hello",
-      "Middleware custom matchers with root should not match"
-    ],
-    "failed": [
+      "Middleware custom matchers with root should not match",
       "Middleware custom matchers i18n should match /nl-NL/about",
       "Middleware custom matchers i18n should match has query on client routing nl-NL_about"
     ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
Repository: denoland/deno
Pull request: fix(ext/node): handle `--allow-sys=inspector`

Fixes https://github.com/denoland/deno/issues/26809. 

`op_inspector_open` checks for "inspector" as one of the allowed sys value.


Changed files:
filename: runtime/permissions/lib.rs
patch: @@ -1461,7 +1461,7 @@ pub struct SysDescriptor(String);
 impl SysDescriptor {
   pub fn parse(kind: String) -> Result<Self, SysDescriptorParseError> {
     match kind.as_str() {
-      "hostname" | "osRelease" | "osUptime" | "loadavg"
+      "hostname" | "inspector" | "osRelease" | "osUptime" | "loadavg"
       | "networkInterfaces" | "systemMemoryInfo" | "uid" | "gid" | "cpus"
       | "homedir" | "getegid" | "statfs" | "getPriority" | "setPriority"
       | "userInfo" => Ok(Self(kind)),
Repository: nodejs/node
Pull request: tools: run Linux tests on GitHub arm64 runners as well

<!--
Before submitting a pull request, please read:

- the CONTRIBUTING guide at https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md
- the commit message formatting guidelines at
  https://github.com/nodejs/node/blob/HEAD/doc/contributing/pull-requests.md#commit-message-guidelines

For code changes:
1. Include tests for any bug fixes or new features.
2. Update documentation if relevant.
3. Ensure that `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes.

If you believe this PR should be highlighted in the Node.js CHANGELOG
please add the `notable-change` label.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.
-->

GitHub Actions now supports native Linux arm64 runners for public projects: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

If I understand it correctly, your current Jenkins pipeline [only tests on Ubuntu 22.04 for Linux arm64](https://ci.nodejs.org/job/node-test-commit-arm/57368/). Using the new `ubuntu-24.04-arm` runner adds Ubuntu 24.04 to the mix, and even 22.04 could be considered by adding `ubuntu-22.04-arm`, which might help reduce the maintenance burden on the team.

Changed files:
filename: .github/workflows/test-linux.yml
patch: @@ -35,7 +35,11 @@ permissions:
 jobs:
   test-linux:
     if: github.event.pull_request.draft == false
-    runs-on: ubuntu-24.04
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ubuntu-24.04, ubuntu-24.04-arm]
     steps:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
         with: