From 98b0957c76f189ace860ece7cded5fe06cbafe1f Mon Sep 17 00:00:00 2001 From: Gilad S Date: Sun, 11 Jan 2026 02:04:48 +0200 Subject: [PATCH 1/6] fix: duplicate backend library files --- llama/CMakeLists.txt | 1 + llama/cmake/addVariantSuffix.cmake | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/llama/CMakeLists.txt b/llama/CMakeLists.txt index e379d6a5..efd8fce4 100644 --- a/llama/CMakeLists.txt +++ b/llama/CMakeLists.txt @@ -40,6 +40,7 @@ endif() add_definitions(-DNAPI_VERSION=7) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_PLATFORM_NO_VERSIONED_SONAME ON) set(LLAMA_BUILD_COMMON ON) diff --git a/llama/cmake/addVariantSuffix.cmake b/llama/cmake/addVariantSuffix.cmake index e5eb4954..064c5b62 100644 --- a/llama/cmake/addVariantSuffix.cmake +++ b/llama/cmake/addVariantSuffix.cmake @@ -1,5 +1,5 @@ function(addVariantSuffix originalTarget variantSuffix) - if (NOT TARGET ${originalTarget} OR variantSuffix STREQUAL "") + if (NOT TARGET ${originalTarget} OR ${variantSuffix} STREQUAL "") return() endif() From 492dc5997577f1f7f898da0242e636cade56c72f Mon Sep 17 00:00:00 2001 From: Gilad S Date: Fri, 16 Jan 2026 00:41:28 +0200 Subject: [PATCH 2/6] fix: bugs --- llama/addon/globals/addonLog.cpp | 10 +++++----- .../src/utils/createRendererSideBirpc.ts | 9 ++++----- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/llama/addon/globals/addonLog.cpp b/llama/addon/globals/addonLog.cpp index c80820a5..4e66b316 100644 --- a/llama/addon/globals/addonLog.cpp +++ b/llama/addon/globals/addonLog.cpp @@ -94,12 +94,12 @@ void addonLlamaCppLogCallback(ggml_log_level level, const char* text, void* user } Napi::Value setLogger(const Napi::CallbackInfo& info) { - if (info.Length() < 1 || !info[0].IsFunction()) { - if (addonJsLoggerCallbackSet) { - addonJsLoggerCallbackSet = false; - addonThreadSafeLoggerCallback.Release(); - } + if (addonJsLoggerCallbackSet) { + addonJsLoggerCallbackSet = false; + addonThreadSafeLoggerCallback.Release(); + } + if (info.Length() < 1 || !info[0].IsFunction()) { return info.Env().Undefined(); } diff --git a/templates/electron-typescript-react/src/utils/createRendererSideBirpc.ts b/templates/electron-typescript-react/src/utils/createRendererSideBirpc.ts index 368b550c..2d308e57 100644 --- a/templates/electron-typescript-react/src/utils/createRendererSideBirpc.ts +++ b/templates/electron-typescript-react/src/utils/createRendererSideBirpc.ts @@ -1,14 +1,14 @@ import {createBirpc} from "birpc"; export function createRendererSideBirpc< - const RendererFunction = Record, - const ElectronFunctions extends object = Record + const ElectronFunction = Record, + const RendererFunctions extends object = Record >( toRendererEventName: string, fromRendererEventName: string, - electronFunctions: ElectronFunctions + rendererFunctions: RendererFunctions ) { - return createBirpc(electronFunctions, { + return createBirpc(rendererFunctions, { post: (data) => window.ipcRenderer.send(fromRendererEventName, data), on: (onData) => window.ipcRenderer.on(toRendererEventName, (event, data) => { onData(data); @@ -17,4 +17,3 @@ export function createRendererSideBirpc< deserialize: (value) => JSON.parse(value) }); } - From 65c570ee9bf7131c7587728a50bae39f4a5db3cb Mon Sep 17 00:00:00 2001 From: Gilad S Date: Sat, 17 Jan 2026 21:49:58 +0200 Subject: [PATCH 3/6] fix: bugs --- src/bindings/Llama.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bindings/Llama.ts b/src/bindings/Llama.ts index d5725e96..923aa6d6 100644 --- a/src/bindings/Llama.ts +++ b/src/bindings/Llama.ts @@ -137,7 +137,7 @@ export class Llama { this._supportsMmap = bindings.getSupportsMmap(); this._gpuSupportsMmap = bindings.getGpuSupportsMmap(); this._supportsMlock = bindings.getSupportsMlock(); - this._mathCores = bindings.getMathCores(); + this._mathCores = Math.floor(bindings.getMathCores()); this._consts = bindings.getConsts(); this._vramOrchestrator = vramOrchestrator; this._vramPadding = vramPadding; @@ -690,6 +690,8 @@ function getTransformedLogLevel(level: LlamaLogLevel, message: string, gpu: Buil return LlamaLogLevel.info; else if (level === LlamaLogLevel.warn && message.startsWith("llama_init_from_model: model default pooling_type is [0], but [-1] was specified")) return LlamaLogLevel.info; + else if (level === LlamaLogLevel.warn && message.startsWith("llama_context: n_ctx_seq (") && message.endsWith("- the full capacity of the model will not be utilized")) + return LlamaLogLevel.info; else if (gpu === false && level === LlamaLogLevel.warn && message.startsWith("llama_adapter_lora_init_impl: lora for '") && message.endsWith("' cannot use buft 'CPU_REPACK', fallback to CPU")) return LlamaLogLevel.info; else if (gpu === "metal" && level === LlamaLogLevel.warn && message.startsWith("ggml_metal_device_init: tensor API disabled for")) From 7e4445b69d04ced6f6e1ea462b9e1916af843bb9 Mon Sep 17 00:00:00 2001 From: Gilad S Date: Sat, 17 Jan 2026 21:50:12 +0200 Subject: [PATCH 4/6] test: fix test --- test/modelDependent/llama3.2/sequenceState.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/modelDependent/llama3.2/sequenceState.test.ts b/test/modelDependent/llama3.2/sequenceState.test.ts index 79addacc..599d3438 100644 --- a/test/modelDependent/llama3.2/sequenceState.test.ts +++ b/test/modelDependent/llama3.2/sequenceState.test.ts @@ -169,7 +169,7 @@ describe("llama 3.2", () => { await contextSequence2.loadStateFromFile(stateFile1Path, {acceptRisk: true}); const res2 = await chatSession2.prompt("What did I tell you to remember?", {maxTokens: 12}); - expect(res2).to.toMatchInlineSnapshot('"You told me to remember that "locks are not doors"."'); + expect(res2).toMatch(/^(You told me to remember that "locks are not doors".|You told me to remember that "locks are not doors.")/); const contextSequence2TokensState = contextSequence2.tokenMeter.getState(); expect(contextSequence2TokensState.usedInputTokens).to.be.lessThan(contextSequence1TokensState.usedInputTokens); expect(contextSequence2TokensState).toMatchInlineSnapshot(` From ac3d6cdb7b69e7f9e0899f4a30882dff19b3a746 Mon Sep 17 00:00:00 2001 From: Gilad S Date: Sat, 17 Jan 2026 22:08:19 +0200 Subject: [PATCH 5/6] fix: bugs --- src/bindings/Llama.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/bindings/Llama.ts b/src/bindings/Llama.ts index 923aa6d6..7e1a0853 100644 --- a/src/bindings/Llama.ts +++ b/src/bindings/Llama.ts @@ -670,7 +670,7 @@ function logMessageIsOnlyDots(message: string | null) { } function getTransformedLogLevel(level: LlamaLogLevel, message: string, gpu: BuildGpu): LlamaLogLevel { - if (level === LlamaLogLevel.warn && message.endsWith("the full capacity of the model will not be utilized")) + if (level === LlamaLogLevel.warn && message.trimEnd().endsWith("the full capacity of the model will not be utilized")) return LlamaLogLevel.info; else if (level === LlamaLogLevel.warn && message.startsWith("ggml_metal_init: skipping kernel_") && message.endsWith("(not supported)")) return LlamaLogLevel.log; @@ -690,8 +690,6 @@ function getTransformedLogLevel(level: LlamaLogLevel, message: string, gpu: Buil return LlamaLogLevel.info; else if (level === LlamaLogLevel.warn && message.startsWith("llama_init_from_model: model default pooling_type is [0], but [-1] was specified")) return LlamaLogLevel.info; - else if (level === LlamaLogLevel.warn && message.startsWith("llama_context: n_ctx_seq (") && message.endsWith("- the full capacity of the model will not be utilized")) - return LlamaLogLevel.info; else if (gpu === false && level === LlamaLogLevel.warn && message.startsWith("llama_adapter_lora_init_impl: lora for '") && message.endsWith("' cannot use buft 'CPU_REPACK', fallback to CPU")) return LlamaLogLevel.info; else if (gpu === "metal" && level === LlamaLogLevel.warn && message.startsWith("ggml_metal_device_init: tensor API disabled for")) From 8b95f5b607544e001eeb24aafb375b5807fbb1ce Mon Sep 17 00:00:00 2001 From: Gilad S Date: Sat, 17 Jan 2026 22:39:12 +0200 Subject: [PATCH 6/6] fix: bugs --- src/bindings/Llama.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings/Llama.ts b/src/bindings/Llama.ts index 7e1a0853..55c8592a 100644 --- a/src/bindings/Llama.ts +++ b/src/bindings/Llama.ts @@ -670,7 +670,7 @@ function logMessageIsOnlyDots(message: string | null) { } function getTransformedLogLevel(level: LlamaLogLevel, message: string, gpu: BuildGpu): LlamaLogLevel { - if (level === LlamaLogLevel.warn && message.trimEnd().endsWith("the full capacity of the model will not be utilized")) + if (level === LlamaLogLevel.warn && message.endsWith("the full capacity of the model will not be utilized")) return LlamaLogLevel.info; else if (level === LlamaLogLevel.warn && message.startsWith("ggml_metal_init: skipping kernel_") && message.endsWith("(not supported)")) return LlamaLogLevel.log;