helloadhavan/github_issues huggingface dataset:
Repository: nodejs/node
Pull request: src: do not pass `nullptr` to `std::string` ctor

Fixes this error that I hit when working on a Chromium bump today in Electron:

> 2025-03-07T01:05:01.8637705Z ../../third_party/electron_node/src/debug_utils.cc(257,12): error: null passed to a callee that requires a non-null argument [-Werror,-Wnonnull]
> 2025-03-07T01:05:01.8638267Z   257 |     return nullptr;
> 2025-03-07T01:05:01.8638481Z       |            ^~~~~~~
> 2025-03-07T01:05:01.8638700Z 1 error generated.

This code has been around for awhile in Node.js, so the new build failure is probably an Electron issue, e.g. CI config.

Even so, upstreaming a fix feels worthwhile since building a `std::string` from `nullptr`is undefined behavior in [C++20](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2166r1.html#introduction-and-motivation) and is prohibited as of [C++23](https://en.cppreference.com/w/cpp/string/basic_string/basic_string).

This PR just replaces the `return nullptr;` with a `return {};` in a function that returns a `std::string`.

CC @codebytere 

Changed files:
filename: src/debug_utils.cc
patch: @@ -254,7 +254,7 @@ class Win32SymbolDebuggingContext final : public NativeSymbolDebuggingContext {
       USE(GetLastError());
 #endif  // DEBUG
     }
-    return nullptr;
+    return {};
   }
 
   SymbolInfo LookupSymbol(void* address) override {
Repository: vercel/next.js
Pull request: Update the warning text for when multiple lockfiles are found

## Improve multiple lockfiles warning message

### What?
Enhances the warning message when multiple lockfiles are detected to explicitly show which lockfile was ultimately selected. Based on feedback from @lukesandberg in a previous PR.

### Why?
The previous warning message only listed the lockfiles that should be removed but didn't indicate which one was actually being used. This improvement makes it clearer to users which lockfile Next.js is selecting when multiple are present.

### How?
Updated the warning message to include "Selecting [selected lockfile]" before suggesting which lockfiles to remove.

Closes PACK-4825

Changed files:
filename: packages/next/src/lib/find-root.ts
patch: @@ -36,8 +36,8 @@ export function findRootDir(cwd: string) {
   // Only warn if not in a build worker to avoid duplicate warnings
   if (typeof process.send !== 'function' && lockFiles.length > 1) {
     Log.warnOnce(
-      `Warning: Found multiple lockfiles. Consider removing the lockfiles at ${lockFiles
-        .slice(0, lockFiles.length - 1)
+      `Warning: Found multiple lockfiles. Selecting ${lockFiles[lockFiles.length - 1]}.\n   Consider removing the lockfiles at:${lockFiles
+        .slice(0, -1)
         .map((str) => '\n   * ' + str)
         .join('')}\n`
     )
Repository: denoland/deno
Pull request: fix(ext/node): convert brotli chunks with proper byte offset

Fixes https://github.com/denoland/deno/issues/27029
Fixes https://github.com/denoland/deno/issues/26086

Changed files:
filename: ext/node/polyfills/_brotli.js
patch: @@ -10,9 +10,12 @@ const {
   ArrayPrototypeMap,
   TypedArrayPrototypeSlice,
   TypedArrayPrototypeSubarray,
+  TypedArrayPrototypeGetBuffer,
   TypedArrayPrototypeGetByteLength,
+  TypedArrayPrototypeGetByteOffset,
   DataViewPrototypeGetBuffer,
-  TypedArrayPrototypeGetBuffer,
+  DataViewPrototypeGetByteLength,
+  DataViewPrototypeGetByteOffset,
 } = primordials;
 const { isTypedArray, isDataView, close } = core;
 import {
@@ -40,9 +43,17 @@ const toU8 = (input) => {
   }
 
   if (isTypedArray(input)) {
-    return new Uint8Array(TypedArrayPrototypeGetBuffer(input));
+    return new Uint8Array(
+      TypedArrayPrototypeGetBuffer(input),
+      TypedArrayPrototypeGetByteOffset(input),
+      TypedArrayPrototypeGetByteLength(input),
+    );
   } else if (isDataView(input)) {
-    return new Uint8Array(DataViewPrototypeGetBuffer(input));
+    return new Uint8Array(
+      DataViewPrototypeGetBuffer(input),
+      DataViewPrototypeGetByteOffset(input),
+      DataViewPrototypeGetByteLength(input),
+    );
   }
 
   return input;

filename: tests/unit_node/http_test.ts
patch: @@ -10,6 +10,7 @@ import http, {
 } from "node:http";
 import url from "node:url";
 import https from "node:https";
+import zlib from "node:zlib";
 import net, { Socket } from "node:net";
 import fs from "node:fs";
 import { text } from "node:stream/consumers";
@@ -1823,3 +1824,60 @@ Deno.test("[node/http] ServerResponse socket", async () => {
 
   await promise;
 });
+
+Deno.test("[node/http] decompress brotli response", {
+  permissions: { net: true },
+}, async () => {
+  let received = false;
+  const ac = new AbortController();
+  const server = Deno.serve({ port: 5928, signal: ac.signal }, (_req) => {
+    received = true;
+    return Response.json([
+      ["accept-language", "*"],
+      ["host", "localhost:3000"],
+      ["user-agent", "Deno/2.1.1"],
+    ], {});
+  });
+  const { promise, resolve, reject } = Promise.withResolvers<void>();
+  let body = "";
+
+  const request = http.get(
+    "http://localhost:5928/",
+    {
+      headers: {
+        "accept-encoding": "gzip, deflate, br, zstd",
+      },
+    },
+    (resp) => {
+      const decompress = zlib.createBrotliDecompress();
+      resp.on("data", (chunk) => {
+        decompress.write(chunk);
+      });
+
+      resp.on("end", () => {
+        decompress.end();
+      });
+
+      decompress.on("data", (chunk) => {
+        body += chunk;
+      });
+
+      decompress.on("end", () => {
+        resolve();
+      });
+    },
+  );
+  request.on("error", reject);
+  request.end(() => {
+    assert(received);
+  });
+
+  await promise;
+  ac.abort();
+  await server.finished;
+
+  assertEquals(JSON.parse(body), [["accept-language", "*"], [
+    "host",
+    "localhost:3000",
+  ], ["user-agent", "Deno/2.1.1"]]);
+});
Repository: nodejs/node
Pull request: doc: revise `tsconfig.json` note

This PR is a follow up to this comment:

- https://github.com/nodejs/node/pull/57320#discussion_r1983677462

Changed files:
filename: doc/api/typescript.md
patch: @@ -93,7 +93,7 @@ but we recommend version 5.8 or newer with the following `tsconfig.json` setting
 
 > \[!NOTE]
 > Use the `noEmit` option if you intend to only execute `*.ts` files, for example a build script.
-> You won't need this flag if you intend to distribute `*.js` files for performance reasons.
+> You won't need this flag if you intend to distribute `*.js` files.
 
 ### Determining module system
Repository: vercel/next.js
Pull request: test(turbopack): Remove flaky benchmark

### What?

Remove a flaky benchmark.

### Why?

https://github.com/vercel/next.js/pull/80414#issuecomment-2963529621

This PR is not supposed to change performance greatly.



Closes PACK-4828

Changed files:
filename: .github/workflows/turbopack-benchmark.yml
patch: @@ -26,29 +26,6 @@ env:
   TURBO_TOKEN: ${{ secrets.HOSTED_TURBO_TOKEN }}
 
 jobs:
-  benchmark-tiny:
-    name: Benchmark Rust Crates (tiny)
-    runs-on: ['self-hosted', 'linux', 'x64', 'metal']
-    steps:
-      - uses: actions/checkout@v4
-
-      - name: Setup Rust toolchain
-        uses: ./.github/actions/setup-rust
-
-      - name: Install cargo-codspeed
-        uses: taiki-e/install-action@v2
-        with:
-          tool: cargo-codspeed@2.10.1
-
-      - name: Build the benchmark target(s)
-        run: cargo codspeed build -p next-api
-
-      - name: Run the benchmarks
-        uses: CodSpeedHQ/action@v3
-        with:
-          run: cargo codspeed run
-          token: ${{ secrets.CODSPEED_TOKEN }}
-
   benchmark-small-apps:
     name: Benchmark Rust Crates (small apps)
     runs-on: ['self-hosted', 'linux', 'x64', 'metal']
Repository: electron/electron
Pull request: build: update appveyor image to latest version

This PR updates appveyor.yml to the latest baked image, e-133.0.6846.0.

Notes: none

Changed files:
filename: appveyor-woa.yml
patch: @@ -29,7 +29,7 @@
 
 version: 1.0.{build}
 build_cloud: electronhq-16-core
-image: e-132.0.6834.0
+image: e-133.0.6846.0
 environment:
   GIT_CACHE_PATH: C:\Users\appveyor\libcc_cache
   ELECTRON_OUT_DIR: Default

filename: appveyor.yml
patch: @@ -29,7 +29,7 @@
 
 version: 1.0.{build}
 build_cloud: electronhq-16-core
-image: e-132.0.6834.0
+image: e-133.0.6846.0
 environment:
   GIT_CACHE_PATH: C:\Users\appveyor\libcc_cache
   ELECTRON_OUT_DIR: Default
Repository: facebook/react
Pull request: Build: specify Node.js 16 as minimum for dev

- Specifies Node 16 as the minimum supported version.
- Remove no longer supported 17.x version (per https://nodejs.dev/en/about/releases/)
- Add 19.x

Test Plan:
(using node 19) as that's what I'm adding)
- yarn build
- yarn test

Changed files:
filename: .nvmrc
patch: @@ -1 +1 @@
-v14.17.6
+v16.19.1

filename: package.json
patch: @@ -102,7 +102,7 @@
     "yargs": "^15.3.1"
   },
   "devEngines": {
-    "node": "^12.17.0 || 13.x || 14.x || 15.x || 16.x || 17.x || 18.x"
+    "node": "16.x || 18.x || 19.x"
   },
   "jest": {
     "testRegex": "/scripts/jest/dont-run-jest-directly\\.js$"
Repository: nodejs/node
Pull request: timers: simplify the compareTimersLists function

Simplifies the compare function by returning directly if `expiryDiff` is equal to 0

We don't need to compare twice here, or return 1 or -1 -- if the ids are equal, which only happens if the same object is passed, we can just return the result of the difference as `expiryDiff` is 0 too

Before:

```
util/priority-queue.js
util/priority-queue.js n=100000: 5,113,431.506786623
```

After:

```
util/priority-queue.js
util/priority-queue.js n=100000: 5,559,752.550981263
```

Changed files:
filename: lib/internal/timers.js
patch: @@ -442,10 +442,7 @@ function getTimerDuration(msecs, name) {
 function compareTimersLists(a, b) {
   const expiryDiff = a.expiry - b.expiry;
   if (expiryDiff === 0) {
-    if (a.id < b.id)
-      return -1;
-    if (a.id > b.id)
-      return 1;
+    return a.id - b.id;
   }
   return expiryDiff;
 }
Repository: huggingface/transformers
Pull request: Fix Typos in Comments: "quantitation" → "quantization", "averege" → "average"




Description:  
This pull request corrects minor spelling mistakes in code comments across two files:
- In `convert_llama4_weights_to_hf.py`, the word "quantitation" is corrected to "quantization".
- In `modeling_visual_bert.py`, the word "averege" is corrected to "average".

These changes improve code readability and maintain consistency in terminology. No functional code changes are included.


Changed files:
filename: src/transformers/models/llama4/convert_llama4_weights_to_hf.py
patch: @@ -421,7 +421,7 @@ def write_model(
                 tqdm.write(f"Processing: {key.ljust(50)}  ->\t {v}, {values.shape}")
                 state_dict[v] = values
             elif _OFFLINE_QUANT_COMPATIBLE and "feed_forward.experts." in new_key:
-                # for experts, we need to split expert for offline quantiation purpose and don't need to fuse
+                # for experts, we need to split expert for offline quantization purpose and don't need to fuse
                 expert_lists = []
                 for k in current_parameter:
                     expert_lists.append(

filename: src/transformers/models/visual_bert/modeling_visual_bert.py
patch: @@ -131,7 +131,7 @@ def forward(
                 visual_position_embeddings *= image_text_alignment_mask.to(dtype=dtype).unsqueeze(-1)
                 visual_position_embeddings = visual_position_embeddings.sum(2)
 
-                # We want to averge along the alignment_number dimension.
+                # We want to average along the alignment_number dimension.
                 image_text_alignment_mask = image_text_alignment_mask.to(dtype=dtype).sum(2)
 
                 if (image_text_alignment_mask == 0).sum() != 0:
Repository: ggml-org/llama.cpp
Pull request: quantize: skip tensor override when in fallback mode

This PR fixes an assert error when using `--tensor-type` to override a tensor that would have otherwise been quantised in fallback mode (issue #14996)

Changed files:
filename: src/llama-quant.cpp
patch: @@ -875,9 +875,10 @@ static void llama_model_quantize_impl(const std::string & fname_inp, const std::
 
             // get more optimal quantization type based on the tensor shape, layer, etc.
             if (!params->pure && ggml_is_quantized(default_type)) {
+                int fallback = qs.n_fallback;
                 new_type = llama_tensor_get_type(qs, new_type, tensor, ftype);
-                // unless the user specifies a type
-                if (params->tensor_types) {
+                // unless the user specifies a type, and the tensor geometry will not require fallback quantisation
+                if (params->tensor_types && qs.n_fallback - fallback == 0) {
                     const std::vector<tensor_quantization> & tensor_types = *static_cast<const std::vector<tensor_quantization> *>(params->tensor_types);
                     const std::string tensor_name(tensor->name);
                     for (const auto & [tname, qtype] : tensor_types) {
@@ -890,7 +891,6 @@ static void llama_model_quantize_impl(const std::string & fname_inp, const std::
                     }
                 }
             }
-
             if (params->token_embedding_type < GGML_TYPE_COUNT && strcmp(tensor->name, "token_embd.weight") == 0) {
                 new_type = params->token_embedding_type;
             }
Repository: denoland/deno
Pull request: fix(ext/node): RangeError timingSafeEqual with different byteLength

Fixes https://github.com/denoland/deno/issues/27214

Changed files:
filename: ext/node/polyfills/internal/errors.ts
patch: @@ -624,6 +624,15 @@ function createInvalidArgType(
   return msg;
 }
 
+export class ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH extends NodeRangeError {
+  constructor() {
+    super(
+      "ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH",
+      "Input buffers must have the same length",
+    );
+  }
+}
+
 export class ERR_INVALID_ARG_TYPE_RANGE extends NodeRangeError {
   constructor(name: string, expected: string | string[], actual: unknown) {
     const msg = createInvalidArgType(name, expected);
@@ -2842,6 +2851,7 @@ export default {
   ERR_INVALID_ADDRESS_FAMILY,
   ERR_INVALID_ARG_TYPE,
   ERR_INVALID_ARG_TYPE_RANGE,
+  ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH,
   ERR_INVALID_ARG_VALUE,
   ERR_INVALID_ARG_VALUE_RANGE,
   ERR_INVALID_ASYNC_ID,

filename: ext/node/polyfills/internal_binding/_timingSafeEqual.ts
patch: @@ -4,6 +4,7 @@
 // deno-lint-ignore-file prefer-primordials
 
 import { Buffer } from "node:buffer";
+import { ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH } from "ext:deno_node/internal/errors.ts";
 
 function toDataView(ab: ArrayBufferLike | ArrayBufferView): DataView {
   if (ArrayBuffer.isView(ab)) {
@@ -19,7 +20,7 @@ function stdTimingSafeEqual(
   b: ArrayBufferView | ArrayBufferLike | DataView,
 ): boolean {
   if (a.byteLength !== b.byteLength) {
-    return false;
+    throw new ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH();
   }
   if (!(a instanceof DataView)) {
     a = toDataView(a);

filename: tests/unit_node/crypto/crypto_misc_test.ts
patch: @@ -1,7 +1,7 @@
 // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
 import { randomFillSync, randomUUID, timingSafeEqual } from "node:crypto";
 import { Buffer } from "node:buffer";
-import { assert, assertEquals } from "../../unit/test_util.ts";
+import { assert, assertEquals, assertThrows } from "../../unit/test_util.ts";
 import { assertNotEquals } from "@std/assert";
 
 Deno.test("[node/crypto.getRandomUUID] works the same way as Web Crypto API", () => {
@@ -36,3 +36,10 @@ Deno.test("[node/crypto.timingSafeEqual] compares equal Buffer with different by
 
   assert(timingSafeEqual(a, b));
 });
+
+Deno.test("[node/crypto.timingSafeEqual] RangeError on Buffer with different byteLength", () => {
+  const a = Buffer.from([212, 213]);
+  const b = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 212, 213, 0]);
+
+  assertThrows(() => timingSafeEqual(a, b), RangeError);
+});
Repository: ggml-org/llama.cpp
Pull request: Fix params bug in diffusion example

This causes an assert to trigger because of default params when using `--diffusion-eps`

https://github.com/ggml-org/llama.cpp/blob/d6818d06a6237631523bc0f45d42e79482667948/examples/diffusion/diffusion-cli.cpp#L616

Changed files:
filename: common/common.h
patch: @@ -225,7 +225,7 @@ struct common_params_diffusion {
     bool    visual_mode   = false;
 
     float   eps           = 0;        // epsilon for timesteps
-    int32_t block_length  = 32;       // block length for generation
+    int32_t block_length  = 0;        // block length for generation
 
     int32_t algorithm     = 4;        // default algorithm: low-confidence
     float   alg_temp      = 0.0f;     // algorithm temperature
Repository: electron/electron
Pull request: fix: bugprone-narrowing-conversions warnings in NativeImage

Backport of #44708

See that PR for details.


Notes: none.

Changed files:
filename: shell/common/api/electron_api_native_image.cc
patch: @@ -12,6 +12,7 @@
 #include "base/files/file_util.h"
 #include "base/logging.h"
 #include "base/memory/ref_counted_memory.h"
+#include "base/numerics/safe_conversions.h"
 #include "base/strings/pattern.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
@@ -146,13 +147,13 @@ NativeImage::~NativeImage() {
 }
 
 void NativeImage::UpdateExternalAllocatedMemoryUsage() {
-  int32_t new_memory_usage = 0;
+  int64_t new_memory_usage = 0;
 
   if (image_.HasRepresentation(gfx::Image::kImageRepSkia)) {
     auto* const image_skia = image_.ToImageSkia();
-    if (!image_skia->isNull()) {
-      new_memory_usage = image_skia->bitmap()->computeByteSize();
-    }
+    if (!image_skia->isNull())
+      new_memory_usage =
+          base::as_signed(image_skia->bitmap()->computeByteSize());
   }
 
   isolate_->AdjustAmountOfExternalAllocatedMemory(new_memory_usage -
@@ -492,9 +493,8 @@ gin::Handle<NativeImage> NativeImage::CreateFromBitmap(
     return gin::Handle<NativeImage>();
   }
 
-  unsigned int width = 0;
-  unsigned int height = 0;
-  double scale_factor = 1.;
+  int width = 0;
+  int height = 0;
 
   if (!options.Get("width", &width)) {
     thrower.ThrowError("width is required");
@@ -506,6 +506,9 @@ gin::Handle<NativeImage> NativeImage::CreateFromBitmap(
     return gin::Handle<NativeImage>();
   }
 
+  if (width <= 0 || height <= 0)
+    return CreateEmpty(thrower.isolate());
+
   auto info = SkImageInfo::MakeN32(width, height, kPremul_SkAlphaType);
   auto size_bytes = info.computeMinByteSize();
 
@@ -514,16 +517,12 @@ gin::Handle<NativeImage> NativeImage::CreateFromBitmap(
     return gin::Handle<NativeImage>();
   }
 
-  options.Get("scaleFactor", &scale_factor);
-
-  if (width == 0 || height == 0) {
-    return CreateEmpty(thrower.isolate());
-  }
-
   SkBitmap bitmap;
   bitmap.allocN32Pixels(width, height, false);
   bitmap.writePixels({info, node::Buffer::Data(buffer), bitmap.rowBytes()});
 
+  float scale_factor = 1.0F;
+  options.Get("scaleFactor", &scale_factor);
   gfx::ImageSkia image_skia =
       gfx::ImageSkia::CreateFromBitmap(bitmap, scale_factor);
 

filename: shell/common/api/electron_api_native_image.h
patch: @@ -138,7 +138,7 @@ class NativeImage final : public gin::Wrappable<NativeImage> {
   gfx::Image image_;
 
   raw_ptr<v8::Isolate> isolate_;
-  int32_t memory_usage_ = 0;
+  int64_t memory_usage_ = 0;
 };
 
 }  // namespace electron::api
Repository: denoland/deno
Pull request: fix(ext/node): make getCiphers return supported ciphers

Currently we only supports 7 ciphers (`aes-(128|192|256)-ecb` and `aes-(128|256)-(cbc|gcm)`) in `node:crypto`, but `crypto.getCiphers` returns other supported cipher names. That confuses `npm:openpgp` package and causes https://github.com/denoland/deno/issues/26875.

This PR makes `getCiphers` return actually supported cipher names.

With this change, the example given in #26875 can create private and public key files.

closes #26875

Changed files:
filename: ext/node/ops/crypto/cipher.rs
patch: @@ -172,7 +172,7 @@ impl Cipher {
   ) -> Result<Self, CipherError> {
     use Cipher::*;
     Ok(match algorithm_name {
-      "aes-128-cbc" => {
+      "aes128" | "aes-128-cbc" => {
         Aes128Cbc(Box::new(cbc::Encryptor::new(key.into(), iv.into())))
       }
       "aes-128-ecb" => Aes128Ecb(Box::new(ecb::Encryptor::new(key.into()))),

filename: ext/node/polyfills/internal/crypto/util.ts
patch: @@ -67,22 +67,16 @@ export const ellipticCurves: Array<EllipticCurve> = [
   }, // NIST P-224 EC
 ];
 
-// deno-fmt-ignore
 const supportedCiphers = [
-  "aes-128-ecb",  "aes-192-ecb",
-  "aes-256-ecb",  "aes-128-cbc",
-  "aes-192-cbc",  "aes-256-cbc",
-  "aes128",       "aes192",
-  "aes256",       "aes-128-cfb",
-  "aes-192-cfb",  "aes-256-cfb",
-  "aes-128-cfb8", "aes-192-cfb8",
-  "aes-256-cfb8", "aes-128-cfb1",
-  "aes-192-cfb1", "aes-256-cfb1",
-  "aes-128-ofb",  "aes-192-ofb",
-  "aes-256-ofb",  "aes-128-ctr",
-  "aes-192-ctr",  "aes-256-ctr",
-  "aes-128-gcm",  "aes-192-gcm",
-  "aes-256-gcm"
+  "aes-128-ecb",
+  "aes-192-ecb",
+  "aes-256-ecb",
+  "aes-128-cbc",
+  "aes-256-cbc",
+  "aes128",
+  "aes256",
+  "aes-128-gcm",
+  "aes-256-gcm",
 ];
 
 export function getCiphers(): string[] {

filename: tests/unit_node/crypto/crypto_cipher_test.ts
patch: @@ -361,6 +361,19 @@ Deno.test({
   name: "getCiphers",
   fn() {
     assertEquals(crypto.getCiphers().includes("aes-128-cbc"), true);
+
+    const getZeroKey = (cipher: string) => zeros(+cipher.match(/\d+/)![0] / 8);
+    const getZeroIv = (cipher: string) => {
+      if (cipher.includes("gcm") || cipher.includes("ecb")) {
+        return zeros(12);
+      }
+      return zeros(16);
+    };
+
+    for (const cipher of crypto.getCiphers()) {
+      crypto.createCipheriv(cipher, getZeroKey(cipher), getZeroIv(cipher))
+        .final();
+    }
   },
 });
Repository: ggml-org/llama.cpp
Pull request: MODEL_TENSOR.SSM_DT_NORM has defined twice

MODEL_TENSOR.SSM_DT_NORM has defined twice

  1. Line 618-620 (correct for Jamba):
```
  MODEL_TENSOR.SSM_DT_NORM: (
      "model.layers.{bid}.mamba.dt_layernorm",  # jamba
  ),
```
  2. Lines 648-650 (for plamo2, overwrites the first):
```
  MODEL_TENSOR.SSM_DT_NORM: (
      "model.layers.layers.{bid}.mixer.dt_norm.weight",  # plamo2
  ),
```
This has blocked the quantization of ai21labs/AI21-Jamba-Mini-1.7 

"architectures": [
    "JambaForCausalLM"
  ],

*Make sure to read the [contributing guidelines](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md) before submitting a PR*


Changed files:
filename: gguf-py/gguf/tensor_mapping.py
patch: @@ -616,6 +616,7 @@ class TensorNameMap:
         ),
 
         MODEL_TENSOR.SSM_DT_NORM: (
+            "model.layers.layers.{bid}.mixer.dt_norm.weight",  # plamo2
             "model.layers.{bid}.mamba.dt_layernorm",  # jamba
         ),
 
@@ -645,10 +646,6 @@ class TensorNameMap:
             "model.layers.layers.{bid}.mixer.D",  # plamo2
         ),
 
-        MODEL_TENSOR.SSM_DT_NORM: (
-            "model.layers.layers.{bid}.mixer.dt_norm.weight",  # plamo2
-        ),
-
         MODEL_TENSOR.SSM_NORM: (
             "model.layers.{bid}.mamba.norm", # falcon-h1 granite-hybrid
             "backbone.layers.{bid}.mixer.norm",  # mamba2
Repository: vercel/next.js
Pull request: Turbopack: fix persistent caching bit number typo

### What?

fix typo discovered by @bgw 


Closes PACK-4824

Changed files:
filename: turbopack/crates/turbo-tasks-backend/src/backend/storage.rs
patch: @@ -97,7 +97,7 @@ bitfield! {
     pub data_modified, set_data_modified: 3;
     /// Item was modified after snapshot mode was entered. A snapshot was taken.
     pub meta_snapshot, set_meta_snapshot: 4;
-    pub data_snapshot, set_data_snapshot: 4;
+    pub data_snapshot, set_data_snapshot: 5;
 }
 
 impl InnerStorageState {