helloadhavan/github_issues huggingface dataset:
Repository: ggml-org/llama.cpp
Pull request: readme : add hot PRs

- Add hot PRs
- Remove roadmap
- Add link to `docs/ops.md`
- Update title

Changed files:
filename: README.md
patch: @@ -6,9 +6,9 @@
 [![Release](https://img.shields.io/github/v/release/ggml-org/llama.cpp)](https://github.com/ggml-org/llama.cpp/releases)
 [![Server](https://github.com/ggml-org/llama.cpp/actions/workflows/server.yml/badge.svg)](https://github.com/ggml-org/llama.cpp/actions/workflows/server.yml)
 
-[Roadmap](https://github.com/users/ggerganov/projects/7) / [Manifesto](https://github.com/ggml-org/llama.cpp/discussions/205) / [ggml](https://github.com/ggml-org/ggml)
+[Manifesto](https://github.com/ggml-org/llama.cpp/discussions/205) / [ggml](https://github.com/ggml-org/ggml) / [ops](https://github.com/ggml-org/llama.cpp/blob/master/docs/ops.md)
 
-Inference of Meta's [LLaMA](https://arxiv.org/abs/2302.13971) model (and others) in pure C/C++
+LLM inference in C/C++
 
 ## Recent API changes
 
@@ -17,10 +17,9 @@ Inference of Meta's [LLaMA](https://arxiv.org/abs/2302.13971) model (and others)
 
 ## Hot topics
 
-- 🔥 Multimodal support arrived in `llama-server`: [#12898](https://github.com/ggml-org/llama.cpp/pull/12898) | [documentation](./docs/multimodal.md)
-- A new binary `llama-mtmd-cli` is introduced to replace `llava-cli`, `minicpmv-cli`, `gemma3-cli` ([#13012](https://github.com/ggml-org/llama.cpp/pull/13012)) and `qwen2vl-cli` ([#13141](https://github.com/ggml-org/llama.cpp/pull/13141)), `libllava` will be deprecated
+- Hot PRs: [All](https://github.com/ggml-org/llama.cpp/pulls?q=is%3Apr+label%3Ahot+) | [Open](https://github.com/ggml-org/llama.cpp/pulls?q=is%3Apr+label%3Ahot+is%3Aopen)
+- Multimodal support arrived in `llama-server`: [#12898](https://github.com/ggml-org/llama.cpp/pull/12898) | [documentation](./docs/multimodal.md)
 - VS Code extension for FIM completions: https://github.com/ggml-org/llama.vscode
-- Universal [tool call support](./docs/function-calling.md) in `llama-server` https://github.com/ggml-org/llama.cpp/pull/9639
 - Vim/Neovim plugin for FIM completions: https://github.com/ggml-org/llama.vim
 - Introducing GGUF-my-LoRA https://github.com/ggml-org/llama.cpp/discussions/10123
 - Hugging Face Inference Endpoints now support GGUF out of the box! https://github.com/ggml-org/llama.cpp/discussions/9669
Repository: vercel/next.js
Pull request: Update Rspack production test manifest

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

Changed files:
filename: test/rspack-build-tests-manifest.json
patch: @@ -6024,10 +6024,10 @@
     "runtimeError": false
   },
   "test/e2e/app-dir/use-cache-segment-configs/use-cache-segment-configs.test.ts": {
-    "passed": [],
-    "failed": [
+    "passed": [
       "use-cache-segment-configs it should error when using segment configs that aren't supported by useCache"
     ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
@@ -6043,20 +6043,19 @@
   },
   "test/e2e/app-dir/use-cache-unknown-cache-kind/use-cache-unknown-cache-kind.test.ts": {
     "passed": [
+      "use-cache-unknown-cache-kind should fail the build with an error",
       "use-cache-unknown-cache-kind should not fail the build for default cache kinds"
     ],
-    "failed": [
-      "use-cache-unknown-cache-kind should fail the build with an error"
-    ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
   },
   "test/e2e/app-dir/use-cache-without-experimental-flag/use-cache-without-experimental-flag.test.ts": {
-    "passed": [],
-    "failed": [
+    "passed": [
       "use-cache-without-experimental-flag should fail the build with an error"
     ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
@@ -10355,10 +10354,10 @@
     "runtimeError": false
   },
   "test/integration/css-minify/test/index.test.js": {
-    "passed": [],
-    "failed": [
+    "passed": [
       "css-minify production mode should minify correctly by removing whitespace"
     ],
+    "failed": [],
     "pending": [],
     "flakey": [],
     "runtimeError": false
@@ -17729,6 +17728,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",
@@ -17737,10 +17738,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: vercel/next.js
Pull request: Update Turbopack production test manifest

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

Changed files:
filename: test/turbopack-build-tests-manifest.json
patch: @@ -3652,11 +3652,13 @@
       "app dir - next/font app dir - next-font preconnect should add preconnect when preloading is disabled in component",
       "app dir - next/font app dir - next-font preconnect should add preconnect when preloading is disabled in layout",
       "app dir - next/font app dir - next-font preconnect should add preconnect when preloading is disabled in page",
+      "app dir - next/font app dir - next-font preconnect should add preconnect when preloading is disabled in template",
       "app dir - next/font app dir - next-font preconnect should not preconnect when css is used but no fonts",
       "app dir - next/font app dir - next-font preload should preload correctly with client components",
       "app dir - next/font app dir - next-font preload should preload correctly with layout using fonts",
       "app dir - next/font app dir - next-font preload should preload correctly with page using fonts",
-      "app dir - next/font app dir - next-font preload should preload correctly with server components"
+      "app dir - next/font app dir - next-font preload should preload correctly with server components",
+      "app dir - next/font app dir - next-font preload should preload correctly with template using fonts"
     ],
     "failed": [],
     "pending": [],
Repository: ggml-org/llama.cpp
Pull request: model : add Midm-2.0 model

Adds support for the [K-intelligence/Midm-2.0-Base-Instruct](https://huggingface.co/K-intelligence/Midm-2.0-Base-Instruct), [K-intelligence/Midm-2.0-Mini-Instruct](https://huggingface.co/K-intelligence/Midm-2.0-Mini-Instruct) models.

- architecture: LlamaForCausalLM
- tokenizer: PreTrainedTokenizerFast
  - BBPE Tokenizer
  - Uses the same regex as Meta-Llama-3-8B-Instruct.

```json
# https://huggingface.co/K-intelligence/Midm-2.0-Base-Instruct/raw/main/tokenizer.json

  "pre_tokenizer": {
    "type": "Sequence",
    "pretokenizers": [
      {
        "type": "Split",
        "pattern": {
          "Regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+"
        },
        "behavior": "Removed",
        "invert": true
      },
      {
        "type": "ByteLevel",
        "add_prefix_space": false,
        "trim_offsets": true,
        "use_regex": false
      }
    ]
  },
  "post_processor": null,
  "decoder": {
    "type": "ByteLevel",
    "add_prefix_space": true,
    "trim_offsets": true,
    "use_regex": true
  },
```



Changed files:
filename: convert_hf_to_gguf.py
patch: @@ -833,6 +833,9 @@ def get_vocab_base_pre(self, tokenizer) -> str:
         if chkhsh == "48f8e02c0359c0bbdd82f26909171fac1c18a457bb47573ed1fe3bbb2c1cfd4b":
             # ref: https://huggingface.co/tiiuae/Falcon-H1-34B-Base
             res = "falcon-h1"
+        if chkhsh == "f6791d196f87ce6b56a7d234be618e0d58f8cda3549416635b2bebcd22cd95c4":
+            # ref: https://huggingface.co/K-intelligence/Midm-2.0-Base-Instruct
+            res = "midm-2.0"
 
         if res is None:
             logger.warning("\n")

filename: convert_hf_to_gguf_update.py
patch: @@ -129,6 +129,7 @@ class TOKENIZER_TYPE(IntEnum):
     {"name": "pixtral",          "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/mistral-community/pixtral-12b", },
     {"name": "seed-coder",       "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/ByteDance-Seed/Seed-Coder-8B-Base", },
     {"name": "a.x-4.0",          "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/skt/A.X-4.0", },
+    {"name": "midm-2.0",         "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/K-intelligence/Midm-2.0-Base-Instruct", },
 ]
 
 # some models are known to be broken upstream, so we will skip them as exceptions

filename: src/llama-vocab.cpp
patch: @@ -1524,7 +1524,8 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                     tokenizer_pre == "llama-bpe"||
                     tokenizer_pre == "falcon3"  ||
                     tokenizer_pre == "falcon-h1" ||
-                    tokenizer_pre == "pixtral") {
+                    tokenizer_pre == "pixtral"  ||
+                    tokenizer_pre == "midm-2.0") {
                 pre_type = LLAMA_VOCAB_PRE_TYPE_LLAMA3;
                 ignore_merges = true;
                 add_bos = true;
Repository: denoland/deno
Pull request: fix(ext/websocket): initialize `error` attribute of WebSocket ErrorEvent

Fixes https://github.com/denoland/deno/issues/26216

Not required by the spec but Discord.js depends on it, see https://github.com/denoland/deno/issues/26216#issuecomment-2466060306

Changed files:
filename: ext/websocket/01_websocket.js
patch: @@ -28,6 +28,7 @@ const {
   ArrayPrototypePush,
   ArrayPrototypeShift,
   ArrayPrototypeSome,
+  Error,
   ErrorPrototypeToString,
   ObjectDefineProperties,
   ObjectPrototypeIsPrototypeOf,
@@ -488,8 +489,11 @@ class WebSocket extends EventTarget {
           /* error */
           this[_readyState] = CLOSED;
 
+          const message = op_ws_get_error(rid);
+          const error = new Error(message);
           const errorEv = new ErrorEvent("error", {
-            message: op_ws_get_error(rid),
+            error,
+            message,
           });
           this.dispatchEvent(errorEv);
 

filename: tests/unit/websocket_test.ts
patch: @@ -453,7 +453,8 @@ Deno.test("invalid server", async () => {
   const { promise, resolve } = Promise.withResolvers<void>();
   const ws = new WebSocket("ws://localhost:2121");
   let err = false;
-  ws.onerror = () => {
+  ws.onerror = (e) => {
+    assert("error" in e);
     err = true;
   };
   ws.onclose = () => {
Repository: denoland/deno
Pull request: fix(ext/http): prefer brotli for `accept-encoding: gzip, deflate, br, zstd`

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


Changed files:
filename: ext/http/http_next.rs
patch: @@ -564,6 +564,7 @@ fn is_request_compressible(
   match accept_encoding.to_str() {
     // Firefox and Chrome send this -- no need to parse
     Ok("gzip, deflate, br") => return Compression::Brotli,
+    Ok("gzip, deflate, br, zstd") => return Compression::Brotli,
     Ok("gzip") => return Compression::GZip,
     Ok("br") => return Compression::Brotli,
     _ => (),
Repository: ggml-org/llama.cpp
Pull request: Smoldocling support

added end of token check for smoldocling - <end_of_utterance>, also added tensor names after dumping tensors with llama-eval-callback to tensor_mappings.py, added regex for pre tokenizer defined in the hugging face config file. Smoldocling text model architecture is based on llama, so there wasn't a need to impliment its own architecture. I compared both the hugging face tensors and the gguf tensors and both checked out to be the same


Changed files:
filename: src/llama-model.cpp
patch: @@ -40,6 +40,7 @@ const char * llm_type_name(llm_type type) {
         case LLM_TYPE_190M:          return "190M";
         case LLM_TYPE_220M:          return "220M";
         case LLM_TYPE_250M:          return "250M";
+        case LLM_TYPE_256M:          return "256M";
         case LLM_TYPE_270M:          return "270M";
         case LLM_TYPE_335M:          return "335M";
         case LLM_TYPE_410M:          return "410M";
@@ -581,6 +582,7 @@ void llama_model::load_hparams(llama_model_loader & ml) {
                         case 22: type = LLM_TYPE_1B; break;
                         case 26: type = LLM_TYPE_3B; break;
                         case 28: type = LLM_TYPE_3B; break; // Llama 3.2 3B
+                        case 30: type = LLM_TYPE_256M; break; // smoldocling 256M
                         // granite uses a vocab with len 49152
                         case 32: type = n_vocab == 49152 ? LLM_TYPE_3B : (n_vocab < 40000 ? LLM_TYPE_7B : LLM_TYPE_8B); break;
                         case 36: type = LLM_TYPE_8B; break; // granite

filename: src/llama-model.h
patch: @@ -32,6 +32,7 @@ enum llm_type {
     LLM_TYPE_190M,
     LLM_TYPE_220M,
     LLM_TYPE_250M,
+    LLM_TYPE_256M,
     LLM_TYPE_270M,
     LLM_TYPE_335M,
     LLM_TYPE_410M,

filename: src/llama-vocab.cpp
patch: @@ -1846,6 +1846,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                         || t.first == "<EOT>"
                         || t.first == "_<EOT>"
                         || t.first == "<｜end▁of▁sentence｜>" // DeepSeek
+                        || t.first == "<end_of_utterance>" // smoldocling
                    ) {
                     special_eot_id = t.second;
                     if ((id_to_token[t.second].attr & LLAMA_TOKEN_ATTR_CONTROL) == 0) {
@@ -2005,6 +2006,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                     || t.first == "<EOT>"
                     || t.first == "_<EOT>"
                     || t.first == "
"
+                    || t.first == "<end_of_utterance>" // smoldocling
                ) {
                 special_eog_ids.insert(t.second);
                 if ((id_to_token[t.second].attr & LLAMA_TOKEN_ATTR_CONTROL) == 0) {
Repository: ggml-org/llama.cpp
Pull request: cmake : do not search for curl libraries by ourselves

CMake `find_package(CURL)` sets [`CURL_LIBRARIES`](https://cmake.org/cmake/help/v4.1/module/FindCURL.html#result-variables) to the list of needed libcurl library files, and this feature is available since the introduction of `FindCURL.cmake` module ([in 2006](https://github.com/Kitware/CMake/commit/d25595a83cf524765965061c03c724c780abc5bb)), so I don't really see the point of using `find_package(CURL)` only to manually search for curl libraries again.

This PR is tested to not break current builds (at least on Linux and Windows). Also, by allowing CMake to do the hard work, this PR fixes build errors when using static libcurl and/or custom libcurl built with CMake (via `-DCURL_ROOT=...`).

Changed files:
filename: common/CMakeLists.txt
patch: @@ -86,8 +86,7 @@ if (LLAMA_CURL)
     endif()
     target_compile_definitions(${TARGET} PUBLIC LLAMA_USE_CURL)
     include_directories(${CURL_INCLUDE_DIRS})
-    find_library(CURL_LIBRARY curl REQUIRED)
-    set(LLAMA_COMMON_EXTRA_LIBS ${LLAMA_COMMON_EXTRA_LIBS} ${CURL_LIBRARY})
+    set(LLAMA_COMMON_EXTRA_LIBS ${LLAMA_COMMON_EXTRA_LIBS} ${CURL_LIBRARIES})
 endif ()
 
 if (LLAMA_LLGUIDANCE)

filename: tools/run/CMakeLists.txt
patch: @@ -7,8 +7,7 @@ if (LLAMA_CURL)
     find_package(CURL REQUIRED)
     target_compile_definitions(${TARGET} PUBLIC LLAMA_USE_CURL)
     include_directories(${CURL_INCLUDE_DIRS})
-    find_library(CURL_LIBRARY curl REQUIRED)
-    set(LLAMA_RUN_EXTRA_LIBS ${LLAMA_RUN_EXTRA_LIBS} ${CURL_LIBRARY})
+    set(LLAMA_RUN_EXTRA_LIBS ${LLAMA_RUN_EXTRA_LIBS} ${CURL_LIBRARIES})
 endif ()
 
 install(TARGETS ${TARGET} RUNTIME)
Repository: vercel/next.js
Pull request: Fix defunct ESLint overrides

The patterns in ESLint's `overrides[].files` isn't exactly like the globs you're used to e.g. `"packages/**/*.tsx?"` does not work as expected. Need to explode that into `"packages/**/*.ts", "packages/**/*.tsx"`.

Other changes are a consequence of applying the rules that were previously configured but not applied.

Changed files:
filename: .eslintrc.json
patch: @@ -126,7 +126,7 @@
       }
     },
     {
-      "files": ["packages/**/*.tsx?"],
+      "files": ["packages/**/*.ts", "packages/**/*.tsx"],
       "rules": {
         "jsdoc/no-types": "error",
         "jsdoc/no-undefined-types": "error"

filename: packages/next/src/build/webpack/plugins/eval-source-map-dev-tool-plugin.ts
patch: @@ -52,7 +52,7 @@ export default class EvalSourceMapDevToolPlugin {
   shouldIgnorePath: (modulePath: string) => boolean
 
   /**
-   * @param {SourceMapDevToolPluginOptions|string} inputOptions Options object
+   * @param inputOptions Options object
    */
   constructor(inputOptions: EvalSourceMapDevToolPluginOptions) {
     let options: EvalSourceMapDevToolPluginOptions
@@ -197,9 +197,7 @@ export default class EvalSourceMapDevToolPlugin {
               sourceMap.sourcesContent = undefined
             }
             sourceMap.sourceRoot = options.sourceRoot || ''
-            const moduleId =
-              /** @type {ModuleId} */
-              chunkGraph.getModuleId(m)
+            const moduleId = chunkGraph.getModuleId(m)
             if (moduleId) {
               sourceMap.file =
                 typeof moduleId === 'number' ? `${moduleId}.js` : moduleId

filename: packages/next/src/client/components/react-dev-overlay/ui/utils/merge-refs.ts
patch: @@ -9,8 +9,8 @@ import type * as React from 'react'
  * <div ref={mergeRefs(ref1, ref2, ref3)} />
  * ```
  *
- * @param {(React.Ref<T> | undefined)[]} inputRefs Array of refs
- * @returns {React.Ref<T> | React.RefCallback<T>} Merged refs
+ * @param inputRefs Array of refs
+ * @returns Merged refs
  */
 export default function mergeRefs<T>(
   ...inputRefs: (React.Ref<T> | undefined)[]

filename: packages/next/src/lib/metadata/is-metadata-route.ts
patch: @@ -49,7 +49,7 @@ export const getExtensionRegexString = (
  * @param appDirRelativePath the relative file path to app/
  * @param pageExtensions the js extensions, such as ['js', 'jsx', 'ts', 'tsx']
  * @param strictlyMatchExtensions if it's true, match the file with page extension, otherwise match the file with default corresponding extension
- * @returns {boolean} if the file is a metadata route file
+ * @returns if the file is a metadata route file
  */
 export function isMetadataRouteFile(
   appDirRelativePath: string,

filename: packages/next/src/server/lib/to-route.ts
patch: @@ -2,8 +2,8 @@
  * This transforms a URL pathname into a route. It removes any trailing slashes
  * and the `/index` suffix.
  *
- * @param {string} pathname - The URL path that needs to be optimized.
- * @returns {string} - The route
+ * @param pathname - The URL path that needs to be optimized.
+ * @returns - The route
  *
  * @example
  * // returns '/example'
Repository: electron/electron
Pull request: fix: update shell.openExternal to correctly focus on external window

Backport of #44408

See that PR for details.


Notes: Fix external window focus when using shell.openExternal

Changed files:
filename: shell/common/platform_util_mac.mm
patch: @@ -19,6 +19,7 @@
 #include "base/logging.h"
 #include "base/mac/scoped_aedesc.h"
 #include "base/strings/sys_string_conversions.h"
+#include "base/task/sequenced_task_runner.h"
 #include "base/task/thread_pool.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "net/base/apple/url_conversions.h"
@@ -146,11 +147,27 @@ void OpenExternal(const GURL& url,
     return;
   }
 
-  bool success = [[NSWorkspace sharedWorkspace] openURL:ns_url];
-  if (success && options.activate)
-    [NSApp activateIgnoringOtherApps:YES];
+  NSWorkspaceOpenConfiguration* configuration =
+      [NSWorkspaceOpenConfiguration configuration];
+  configuration.activates = options.activate;
+
+  __block OpenCallback copied_callback = std::move(callback);
+  scoped_refptr<base::SequencedTaskRunner> runner =
+      base::SequencedTaskRunner::GetCurrentDefault();
 
-  std::move(callback).Run(success ? "" : "Failed to open URL");
+  [[NSWorkspace sharedWorkspace]
+                openURL:ns_url
+          configuration:configuration
+      completionHandler:^(NSRunningApplication* _Nullable app,
+                          NSError* _Nullable error) {
+        if (error) {
+          runner->PostTask(FROM_HERE, base::BindOnce(std::move(copied_callback),
+                                                     "Failed to open URL"));
+        } else {
+          runner->PostTask(FROM_HERE,
+                           base::BindOnce(std::move(copied_callback), ""));
+        }
+      }];
 }
 
 bool MoveItemToTrashWithError(const base::FilePath& full_path,

filename: spec/api-shell-spec.ts
patch: @@ -76,6 +76,21 @@ describe('shell module', () => {
         requestReceived
       ]);
     });
+
+    ifit(process.platform === 'darwin')('removes focus from the electron window after opening an external link', async () => {
+      const url = 'http://127.0.0.1';
+      const w = new BrowserWindow({ show: true });
+
+      await once(w, 'focus');
+      expect(w.isFocused()).to.be.true();
+
+      await Promise.all<void>([
+        shell.openExternal(url),
+        once(w, 'blur') as Promise<any>
+      ]);
+
+      expect(w.isFocused()).to.be.false();
+    });
   });
 
   describe('shell.trashItem()', () => {
Repository: denoland/deno
Pull request: test(ext/node): prevent running the same test cases twice

Some node compat test cases (for example `test-dns-any.js`) have entries in both `ignore.*` and `test.*` in `tests/node_compat/config.jsonc`, and those files are currently run twice in CI. This PR prevents it by removing the duplicates in test case list.

Changed files:
filename: tests/node_compat/test.ts
patch: @@ -19,6 +19,7 @@ import { magenta } from "@std/fmt/colors";
 import { pooledMap } from "@std/async/pool";
 import { dirname, fromFileUrl, join } from "@std/path";
 import { assertEquals, fail } from "@std/assert";
+import { distinct } from "@std/collections";
 import {
   config,
   getPathsFromTestSuites,
@@ -36,6 +37,9 @@ const testPaths = partitionParallelTestPaths(
     getPathsFromTestSuites(config.ignore),
   ),
 );
+testPaths.sequential = distinct(testPaths.sequential);
+testPaths.parallel = distinct(testPaths.parallel);
+
 const cwd = new URL(".", import.meta.url);
 const windowsIgnorePaths = new Set(
   getPathsFromTestSuites(config.windowsIgnore),