helloadhavan/github_issues huggingface dataset:
Repository: ollama/ollama
Pull request: Fix `template` api doc description

The API docs specify that `template` overrides the prompt which isn't the case (verified back to v0.1.13), this is the functionality that `raw` mode enables. This change fixes the description.

Changed files:
filename: docs/api.md
patch: @@ -46,7 +46,7 @@ Advanced parameters (optional):
 - `format`: the format to return a response in. Currently the only accepted value is `json`
 - `options`: additional model parameters listed in the documentation for the [Modelfile](./modelfile.md#valid-parameters-and-values) such as `temperature`
 - `system`: system message to (overrides what is defined in the `Modelfile`)
-- `template`: the full prompt or prompt template (overrides what is defined in the `Modelfile`)
+- `template`: the prompt template to use (overrides what is defined in the `Modelfile`)
 - `context`: the context parameter returned from a previous request to `/generate`, this can be used to keep a short conversational memory
 - `stream`: if `false` the response will be returned as a single response object, rather than a stream of objects
 - `raw`: if `true` no formatting will be applied to the prompt. You may choose to use the `raw` parameter if you are specifying a full templated prompt in your request to the API.
@@ -377,7 +377,7 @@ Advanced parameters (optional):
 
 - `format`: the format to return a response in. Currently the only accepted value is `json`
 - `options`: additional model parameters listed in the documentation for the [Modelfile](./modelfile.md#valid-parameters-and-values) such as `temperature`
-- `template`: the full prompt or prompt template (overrides what is defined in the `Modelfile`)
+- `template`: the prompt template to use (overrides what is defined in the `Modelfile`)
 - `stream`: if `false` the response will be returned as a single response object, rather than a stream of objects
 
 ### Examples
Repository: vercel/next.js
Pull request: [backport] fix: validation return types of pages API routes (#83069)

I don't think this fix ever got backported to Next 15.5!

@huozhi @ijjk @ztanner 

Changed files:
filename: packages/next/src/server/lib/router-utils/typegen.ts
patch: @@ -566,7 +566,7 @@ export function generateValidatorFile(
 
   if (pagesApiRouteValidations) {
     typeDefinitions += `type ApiRouteConfig = {
-  default: (req: any, res: any) => Promise<Response | void> | Response | void
+  default: (req: any, res: any) => ReturnType<NextApiHandler>
   config?: {
     api?: {
       bodyParser?: boolean | { sizeLimit?: string }
@@ -612,18 +612,25 @@ export function generateValidatorFile(
     ? "import type { NextRequest } from 'next/server.js'\n"
     : ''
 
-  // Only import metadata types if there are App Router pages or layouts that might use them
-  const metadataImport =
-    appPageValidations || layoutValidations
-      ? 'import type { ResolvingMetadata, ResolvingViewport } from "next/dist/lib/metadata/types/metadata-interface.js"\n'
+  // Conditionally import types from next/types, merged into a single statement
+  const nextTypes: string[] = []
+  if (pagesApiRouteValidations) {
+    nextTypes.push('NextApiHandler')
+  }
+  if (appPageValidations || layoutValidations) {
+    nextTypes.push('ResolvingMetadata', 'ResolvingViewport')
+  }
+  const nextTypesImport =
+    nextTypes.length > 0
+      ? `import type { ${nextTypes.join(', ')} } from "next/types.js"\n`
       : ''
 
   return `// This file is generated automatically by Next.js
 // Do not edit this file manually
 // This file validates that all pages and layouts export the correct types
 
 ${routeImportStatement}
-${metadataImport}${nextRequestImport}
+${nextTypesImport}${nextRequestImport}
 ${typeDefinitions}
 ${appPageValidations}
 

filename: test/e2e/app-dir/typed-routes-validator/pages/api/test-route.ts
patch: @@ -1,12 +1,11 @@
-import type { NextApiRequest, NextApiResponse } from 'next/types'
+import type { NextApiHandler } from 'next/types'
 
 type ResponseData = {
   message: string
 }
 
-export default function handler(
-  req: NextApiRequest,
-  res: NextApiResponse<ResponseData>
-) {
+const handler: NextApiHandler<ResponseData> = (req, res) => {
   res.status(200).json({ message: 'Hello from Next.js!' })
 }
+
+export default handler
Repository: denoland/deno
Pull request: fix(bundle): avoid name clash in hack

One of the issues described in #31407.

Changed files:
filename: cli/tools/bundle/mod.rs
patch: @@ -663,16 +663,16 @@ fn replace_require_shim(contents: &str, minified: bool) -> String {
     );
     re.replace(contents, |c: &regex::Captures<'_>| {
       let var_name = c.get(1).unwrap().as_str();
-      format!("import{{createRequire}} from \"node:module\";var {var_name}=createRequire(import.meta.url);")
+      format!("import{{createRequire as __deno_internal_createRequire}} from \"node:module\";var {var_name}=__deno_internal_createRequire(import.meta.url);")
     }).into_owned()
   } else {
     let re = lazy_regex::regex!(
       r#"var __require = (/\* @__PURE__ \*/)?\s*\(\(\w+\) => typeof require !== "undefined" \? require : typeof Proxy !== "undefined" \? new Proxy\(\w+, \{\s*  get: \(\w+, \w+\) => \(typeof require !== "undefined" \? require : \w+\)\[\w+\]\s*\}\) : \w+\)\(function\(\w+\) \{\s*  if \(typeof require !== "undefined"\) return require\.apply\(this, arguments\);\s*  throw Error\('Dynamic require of "' \+ \w+ \+ '" is not supported'\);\s*\}\);"#
     );
     re.replace_all(
       contents,
-      r#"import { createRequire } from "node:module";
-var __require = createRequire(import.meta.url);
+      r#"import { createRequire as __deno_internal_createRequire } from "node:module";
+var __require = __deno_internal_createRequire(import.meta.url);
 "#,
     )
     .into_owned()

filename: tests/specs/bundle/require_node_builtin_already_createrequire/__test__.jsonc
patch: @@ -0,0 +1,13 @@
+{
+  "tempDir": true,
+  "steps": [
+    {
+      "args": "bundle main.cjs -o out.js",
+      "output": "[WILDCARD]\nBundled 1 module in [WILDCARD]s\n  out.js [WILDCARD]"
+    },
+    {
+      "args": "run out.js",
+      "output": "freemem\nrequire\n"
+    }
+  ]
+}

filename: tests/specs/bundle/require_node_builtin_already_createrequire/main.cjs
patch: @@ -0,0 +1,5 @@
+const { createRequire } = require("node:module");
+const os = require("node:os");
+console.log(os.freemem.name);
+const require2 = createRequire(import.meta.url);
+console.log(require2.name);
Repository: ggml-org/llama.cpp
Pull request: vulkan: fix MMQ quantize_y condition

Fixes #17269

Changed files:
filename: ggml/src/ggml-vulkan/ggml-vulkan.cpp
patch: @@ -6444,7 +6444,7 @@ static void ggml_vk_mul_mat_q_f16(ggml_backend_vk_context * ctx, vk_context& sub
 
     const bool y_f32_kernel = src1->type == GGML_TYPE_F32 && !y_non_contig;
 
-    bool quantize_y = ctx->device->integer_dot_product && src1->type == GGML_TYPE_F32 && ggml_is_contiguous(src1) && (ne11 * ne10) % 4 == 0;
+    bool quantize_y = ctx->device->integer_dot_product && src1->type == GGML_TYPE_F32 && ggml_is_contiguous(src1) && !y_non_contig && (ne11 * ne10) % 4 == 0;
 
     // Check for mmq first
     vk_matmul_pipeline mmp = quantize_y ? ggml_vk_get_mul_mat_mat_pipeline(ctx, src0->type, GGML_TYPE_Q8_1, (ggml_prec)dst->op_params[0]) : nullptr;
@@ -6731,7 +6731,7 @@ static void ggml_vk_mul_mat_vec_q_f16(ggml_backend_vk_context * ctx, vk_context&
     const bool y_non_contig = !ggml_vk_dim01_contiguous(src1);
 
     const bool f16_f32_kernel = src1->type == GGML_TYPE_F32;
-    bool quantize_y = ctx->device->integer_dot_product && src1->type == GGML_TYPE_F32 && ggml_is_contiguous(src1) && (ne11 * ne10) % 4 == 0 && ggml_vk_should_use_mmvq(ctx->device, ne01, ne11, ne10, src0->type);
+    bool quantize_y = ctx->device->integer_dot_product && src1->type == GGML_TYPE_F32 && ggml_is_contiguous(src1) && !y_non_contig && (ne11 * ne10) % 4 == 0 && ggml_vk_should_use_mmvq(ctx->device, ne01, ne11, ne10, src0->type);
 
     vk_pipeline to_fp16_vk_0 = nullptr;
     vk_pipeline to_fp16_vk_1 = nullptr;
@@ -7220,7 +7220,7 @@ static void ggml_vk_mul_mat_id_q_f16(ggml_backend_vk_context * ctx, vk_context&
 
     const bool y_f32_kernel = src1->type == GGML_TYPE_F32 && !y_non_contig;
 
-    bool quantize_y = ctx->device->integer_dot_product && src1->type == GGML_TYPE_F32 && ggml_is_contiguous(src1) && (ne11 * ne10) % 4 == 0;
+    bool quantize_y = ctx->device->integer_dot_product && src1->type == GGML_TYPE_F32 && ggml_is_contiguous(src1) && !y_non_contig && (ne11 * ne10) % 4 == 0;
 
     // Check for mmq first
     vk_matmul_pipeline mmp = quantize_y ? ggml_vk_get_mul_mat_mat_id_pipeline(ctx, src0->type, GGML_TYPE_Q8_1, (ggml_prec)dst->op_params[0]) : nullptr;
Repository: ollama/ollama
Pull request: Update README.md

fix quickstart spelling

Changed files:
filename: docs/README.md
patch: @@ -1,6 +1,6 @@
 # Documentation
 
-To get started, see the project's **[quicktart](../README.md#quickstart)**.
+To get started, see the project's **[quickstart](../README.md#quickstart)**.
 
 Ollama is a tool for running AI models on your hardware. Many users will choose to use the Command Line Interface (CLI) to work with Ollama. Learn more about all the commands in the CLI in the **[Main Readme](../README.md)**.
 
@@ -22,4 +22,4 @@ Finally for all the questions that don't fit anywhere else, there is the **[FAQ]
 
 [Tutorials](./tutorials.md) apply the documentation to tasks.
 
-For working code examples of using Ollama, see [Examples](../examples).
\ No newline at end of file
+For working code examples of using Ollama, see [Examples](../examples).
Repository: facebook/react
Pull request: [compiler:playground] Update babel.config.js

Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom):
* __->__ #29205
* #29203

Use new defaults

Changed files:
filename: compiler/apps/playground/__tests__/e2e/page.spec.ts
patch: @@ -28,7 +28,6 @@ test("editor should compile successfully", async ({ page }) => {
   });
 
   // User input from hash compiles
-  await page.getByRole("button", { name: /JS/ }).click();
   await page.screenshot({
     fullPage: true,
     path: "test-results/01-show-js-before.png",
Repository: electron/electron
Pull request: fix: build error with enable_electron_extensions=false

Backport of #46812

See that PR for details.


Notes: fix build error with `enable_electron_extensions=false`

Changed files:
filename: shell/browser/usb/electron_usb_delegate.cc
patch: @@ -12,6 +12,7 @@
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
 #include "electron/buildflags/buildflags.h"
+#include "services/device/public/mojom/usb_device.mojom.h"
 #include "services/device/public/mojom/usb_enumeration_options.mojom.h"
 #include "shell/browser/electron_browser_context.h"
 #include "shell/browser/electron_permission_manager.h"
@@ -27,7 +28,6 @@
 #include "extensions/browser/guest_view/web_view/web_view_guest.h"
 #include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
-#include "services/device/public/mojom/usb_device.mojom.h"
 #endif
 
 namespace {
Repository: huggingface/transformers
Pull request: Fix: swanlab `public.cloud.experiment_url` api error

# What does this PR do?

👋 It is a tiny fix. This PR fixes an API error in a swanlab integration by changing `public.cloud.exp_url` to the correct `public.cloud.experiment_url`.

## Who can review?

❤️ Really hope @SunMarc can take a look at this PR. 

Changed files:
filename: src/transformers/integrations/integration_utils.py
patch: @@ -2425,7 +2425,7 @@ def setup(self, args, state, model, **kwargs):
                 badge_markdown = (
                     f'[<img src="https://raw.githubusercontent.com/SwanHubX/assets/main/badge1.svg"'
                     f' alt="Visualize in SwanLab" height="28'
-                    f'0" height="32"/>]({self._swanlab.get_run().public.cloud.exp_url})'
+                    f'0" height="32"/>]({self._swanlab.get_run().public.cloud.experiment_url})'
                 )
 
                 modelcard.AUTOGENERATED_TRAINER_COMMENT += f"\n{badge_markdown}"
Repository: denoland/deno
Pull request: fix(bundle): do not error on failing to clean up esbuild dir

Fixes https://github.com/denoland/deno/issues/31406

This is just to save some space on the user's device, no need to hard error if it fails.

Changed files:
filename: cli/tools/bundle/esbuild.rs
patch: @@ -110,9 +110,13 @@ pub async fn ensure_esbuild(
     })?;
 
     if !existed {
-      std::fs::remove_dir_all(&package_folder).with_context(|| {
-        format!("failed to remove directory {}", package_folder.display())
-      })?;
+      let _ = std::fs::remove_dir_all(&package_folder).inspect_err(|e| {
+        log::warn!(
+          "failed to remove directory {}: {}",
+          package_folder.display(),
+          e
+        );
+      });
     }
     Ok(esbuild_path)
   } else {
Repository: ollama/ollama
Pull request: keyboard shortcut help

This change adds some help in the REPL for using the keyboard shortcut commands.

Changed files:
filename: cmd/cmd.go
patch: @@ -662,10 +662,11 @@ func generateInteractive(cmd *cobra.Command, opts generateOptions) error {
 
 	usage := func() {
 		fmt.Fprintln(os.Stderr, "Available Commands:")
-		fmt.Fprintln(os.Stderr, "  /set         Set session variables")
-		fmt.Fprintln(os.Stderr, "  /show        Show model information")
-		fmt.Fprintln(os.Stderr, "  /bye         Exit")
-		fmt.Fprintln(os.Stderr, "  /?, /help    Help for a command")
+		fmt.Fprintln(os.Stderr, "  /set          Set session variables")
+		fmt.Fprintln(os.Stderr, "  /show         Show model information")
+		fmt.Fprintln(os.Stderr, "  /bye          Exit")
+		fmt.Fprintln(os.Stderr, "  /?, /help     Help for a command")
+		fmt.Fprintln(os.Stderr, "  /? shortcuts  Help for keyboard shortcuts")
 		fmt.Fprintln(os.Stderr, "")
 		fmt.Fprintln(os.Stderr, "Use \"\"\" to begin a multi-line message.")
 		fmt.Fprintln(os.Stderr, "")
@@ -687,6 +688,21 @@ func generateInteractive(cmd *cobra.Command, opts generateOptions) error {
 		fmt.Fprintln(os.Stderr, "")
 	}
 
+	usageShortcuts := func() {
+		fmt.Fprintln(os.Stderr, "Available keyboard shortcuts:")
+		fmt.Fprintln(os.Stderr, "  Ctrl + a            Move to the beginning of the line (Home)")
+		fmt.Fprintln(os.Stderr, "  Ctrl + e            Move to the end of the line (End)")
+		fmt.Fprintln(os.Stderr, "   Alt + b            Move back (left) one word")
+		fmt.Fprintln(os.Stderr, "   Alt + f            Move forward (right) one word")
+		fmt.Fprintln(os.Stderr, "  Ctrl + k            Delete the sentence after the cursor")
+		fmt.Fprintln(os.Stderr, "  Ctrl + u            Delete the sentence before the cursor")
+		fmt.Fprintln(os.Stderr, "")
+		fmt.Fprintln(os.Stderr, "  Ctrl + l            Clear the screen")
+		fmt.Fprintln(os.Stderr, "  Ctrl + c            Stop the model from responding")
+		fmt.Fprintln(os.Stderr, "  Ctrl + d            Exit ollama (/bye)")
+		fmt.Fprintln(os.Stderr, "")
+	}
+
 	usageShow := func() {
 		fmt.Fprintln(os.Stderr, "Available Commands:")
 		fmt.Fprintln(os.Stderr, "  /show license      Show model license")
@@ -737,7 +753,7 @@ func generateInteractive(cmd *cobra.Command, opts generateOptions) error {
 			return nil
 		case errors.Is(err, readline.ErrInterrupt):
 			if line == "" {
-				fmt.Println("\nUse Ctrl-D or /bye to exit.")
+				fmt.Println("\nUse Ctrl + d or /bye to exit.")
 			}
 
 			scanner.Prompt.UseAlt = false
@@ -940,6 +956,8 @@ func generateInteractive(cmd *cobra.Command, opts generateOptions) error {
 					usageSet()
 				case "show", "/show":
 					usageShow()
+				case "shortcut", "shortcuts":
+					usageShortcuts()
 				}
 			} else {
 				usage()
Repository: facebook/react
Pull request: [compiler:playground] JS tab is expanded by default

Stack from [ghstack](https://github.com/ezyang/ghstack) (oldest at bottom):
* #29205
* __->__ #29203

When using the playground you typically want to see what it outputs, so
let's make the JS tab expanded by default.

Changed files:
filename: compiler/apps/playground/__tests__/e2e/page.spec.ts
patch: @@ -28,7 +28,6 @@ test("editor should compile successfully", async ({ page }) => {
   });
 
   // User input from hash compiles
-  await page.getByRole("button", { name: /JS/ }).click();
   await page.screenshot({
     fullPage: true,
     path: "test-results/01-show-js-before.png",
Repository: electron/electron
Pull request: fix: enable `autoHideMenuBar` tests on Linux and Windows

Backport of #46818

See that PR for details.


Notes: Fixed documentation to mark `Window.autoHideMenuBar` as supported on Linux and Windows.

Changed files:
filename: docs/api/base-window.md
patch: @@ -396,7 +396,7 @@ A `View` property for the content view of the window.
 
 A `string` (optional) property that is equal to the `tabbingIdentifier` passed to the `BrowserWindow` constructor or `undefined` if none was set.
 
-#### `win.autoHideMenuBar`
+#### `win.autoHideMenuBar` _Linux_ _Windows_
 
 A `boolean` property that determines whether the window menu bar should hide itself automatically. Once set, the menu bar will only show when users press the single `Alt` key.
 

filename: docs/api/browser-window.md
patch: @@ -497,7 +497,7 @@ A `Integer` property representing the unique ID of the window. Each ID is unique
 
 A `string` (optional) property that is equal to the `tabbingIdentifier` passed to the `BrowserWindow` constructor or `undefined` if none was set.
 
-#### `win.autoHideMenuBar`
+#### `win.autoHideMenuBar` _Linux_ _Windows_
 
 A `boolean` property that determines whether the window menu bar should hide itself automatically. Once set, the menu bar will only show when users press the single `Alt` key.
 

filename: docs/api/structures/base-window-options.md
patch: @@ -58,8 +58,8 @@
   `false` on macOS. This option is not configurable on other platforms.
 * `disableAutoHideCursor` boolean (optional) - Whether to hide cursor when typing.
   Default is `false`.
-* `autoHideMenuBar` boolean (optional) - Auto hide the menu bar unless the `Alt`
-  key is pressed. Default is `false`.
+* `autoHideMenuBar` boolean (optional) _Linux_ _Windows_ - Auto hide the menu bar
+  unless the `Alt` key is pressed. Default is `false`.
 * `enableLargerThanScreen` boolean (optional) _macOS_ - Enable the window to
   be resized larger than screen. Only relevant for macOS, as other OSes
   allow larger-than-screen windows by default. Default is `false`.

filename: spec/api-browser-window-spec.ts
patch: @@ -2360,10 +2360,10 @@ describe('BrowserWindow module', () => {
     });
   });
 
-  describe('autoHideMenuBar state', () => {
+  ifdescribe(process.platform !== 'darwin')('autoHideMenuBar state', () => {
     afterEach(closeAllWindows);
 
-    it('for properties', () => {
+    describe('for properties', () => {
       it('can be set with autoHideMenuBar constructor option', () => {
         const w = new BrowserWindow({ show: false, autoHideMenuBar: true });
         expect(w.autoHideMenuBar).to.be.true('autoHideMenuBar');
@@ -2379,7 +2379,7 @@ describe('BrowserWindow module', () => {
       });
     });
 
-    it('for functions', () => {
+    describe('for functions', () => {
       it('can be set with autoHideMenuBar constructor option', () => {
         const w = new BrowserWindow({ show: false, autoHideMenuBar: true });
         expect(w.isMenuBarAutoHide()).to.be.true('autoHideMenuBar');
Repository: ollama/ollama
Pull request: Added Ollama-SwiftUI to integrations


Changed files:
filename: README.md
patch: @@ -262,6 +262,8 @@ See the [API documentation](./docs/api.md) for all endpoints.
 - [Cheshire Cat assistant framework](https://github.com/cheshire-cat-ai/core)
 - [Amica](https://github.com/semperai/amica)
 - [chatd](https://github.com/BruceMacD/chatd)
+- [Ollama-SwiftUI](https://github.com/kghandour/Ollama-SwiftUI)
+
 
 ### Terminal
Repository: ollama/ollama
Pull request: Update maid to use the right repo


Changed files:
filename: README.md
patch: @@ -301,7 +301,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 ### Mobile
 
 - [Enchanted](https://github.com/AugustDev/enchanted)
-- [Maid](https://github.com/danemadsen/Maid)
+- [Maid](https://github.com/Mobile-Artificial-Intelligence/maid)
 
 ### Extensions & Plugins
Repository: vercel/next.js
Pull request: Fix build-indicator test flaking

## What?

Fixes the flaky build-indicator test to use `retry` instead of `waitFor`. `waitFor` assumes something happens within x amount of time but if that's slightly slower than that it fails the test even though the test is not broken.

Closes PACK-5423

Changed files:
filename: test/integration/build-indicator/test/index.test.js
patch: @@ -3,7 +3,7 @@
 import fs from 'fs-extra'
 import { join } from 'path'
 import webdriver from 'next-webdriver'
-import { findPort, launchApp, killApp, waitFor, check } from 'next-test-utils'
+import { findPort, launchApp, killApp, retry } from 'next-test-utils'
 import stripAnsi from 'strip-ansi'
 
 const appDir = join(__dirname, '..')
@@ -47,12 +47,14 @@ describe('Build Activity Indicator', () => {
     })
     await fs.remove(configPath)
 
-    await check(
-      () => stripAnsi(stderr),
-      new RegExp(
-        `Invalid "devIndicator.position" provided, expected one of top-left, top-right, bottom-left, bottom-right, received ttop-leff`
+    await retry(async () => {
+      const content = stripAnsi(stderr)
+      expect(content).toMatch(
+        new RegExp(
+          `Invalid "devIndicator.position" provided, expected one of top-left, top-right, bottom-left, bottom-right, received ttop-leff`
+        )
       )
-    )
+    })
 
     if (app) {
       await killApp(app)
@@ -76,9 +78,11 @@ describe('Build Activity Indicator', () => {
           )
           await installCheckVisible(browser)
           await browser.elementByCss('#to-a').click()
-          await waitFor(500)
-          const wasVisible = await browser.eval('window.showedBuilder')
-          expect(wasVisible).toBe(true)
+          await retry(async () => {
+            const wasVisible = await browser.eval('window.showedBuilder')
+            expect(wasVisible).toBe(true)
+          })
+
           await browser.close()
         })
       }
@@ -98,10 +102,12 @@ describe('Build Activity Indicator', () => {
       const newContent = origContent.replace('b', 'c')
 
       await fs.writeFile(pagePath, newContent, 'utf8')
-      await waitFor(500)
-      const wasVisible = await browser.eval('window.showedBuilder')
 
-      expect(wasVisible).toBe(true)
+      await retry(async () => {
+        const wasVisible = await browser.eval('window.showedBuilder')
+
+        expect(wasVisible).toBe(true)
+      })
       await fs.writeFile(pagePath, origContent, 'utf8')
       await browser.close()
     })
Repository: ggml-org/llama.cpp
Pull request: metal : remove obosolete asserts

cont #17143
ref https://github.com/ggml-org/llama.cpp/pull/17276#issuecomment-3536650690

Changed files:
filename: ggml/src/ggml-metal/ggml-metal-ops.cpp
patch: @@ -2191,8 +2191,6 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
             ggml_metal_encoder_dispatch_threadgroups(enc, ncpsg, std::max(ne12, ne32), std::max(ne13, ne33), 32, 1, 1);
 
             need_sync = true;
-        } else {
-            assert(ggml_metal_op_flash_attn_ext_extra_pad(op) == 0);
         }
 
         if (has_mask) {
@@ -2222,8 +2220,6 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
             ggml_metal_encoder_dispatch_threadgroups(enc, nblk0, nblk1, ne32*ne33, 32, 1, 1);
 
             need_sync = true;
-        } else {
-            assert(ggml_metal_op_flash_attn_ext_extra_blk(op) == 0);
         }
 
         if (need_sync) {
@@ -2363,8 +2359,6 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
             ggml_metal_encoder_dispatch_threadgroups(enc, ncpsg, std::max(ne12, ne32), std::max(ne13, ne33), 32, 1, 1);
 
             need_sync = true;
-        } else {
-            assert(ggml_metal_op_flash_attn_ext_extra_pad(op) == 0);
         }
 
         if (need_sync) {