-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Sync Release/v0.6.6 into dev #5973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sync: commits from dev into release/v0.7.0
Sync dev into Release/v0.7.0
…5087) * add pull and abortPull * add model import (download only) * write model.yaml. support local model import * remove cortex-related command * add TODO * remove cortex-related command
* fix: update ui version_backend, mem usage hardware * chore: hidden gpu from system monitor on mac * chore: fix gpus vram
This commit addresses a potential race condition that could lead to "connection errors" when unloading a llamacpp model. The issue arose because the `activeSessions` map still has the session info of the model during unload. This could lead to "connection errors" when the backend is taking time to unload while there is an ongoing request to the model. The fix involves: 1. **Deleting the `pid` from `activeSessions` before calling backend's unload:** This ensures that the model is cleared from the map before we start unloading. 2. **Failure handling**: If somehow the backend fails to unload, the session info for that model is added back to prevent any race conditions. This commit improves the robustness and reliability of the unloading process by preventing potential conflicts.
* fix: migrate app settings to the new version * fix: edge cases * fix: migrate HF import model on Windows * fix hardware page broken after downgraded * test: correct test * fix: backward compatible hardware info
* fix: selected openrouter model does not work * test: add tests to cover new change
…ng (#5947) This commit addresses a race condition where, with "Auto-Unload Old Models" enabled, rapidly attempting to load multiple models could result in more than one model being loaded simultaneously. Previously, the unloading logic did not account for models that were still in the process of loading when a new load operation was initiated. This allowed new models to start loading before the previous ones had fully completed their unload cycle. To resolve this: - A `loadingModels` map has been introduced to track promises for models currently in the loading state. - The `load` method now checks if a model is already being loaded and, if so, returns the existing promise, preventing duplicate load operations for the same model. - The `performLoad` method (which encapsulates the actual loading logic) now ensures that when `autoUnload` is active, it waits for any *other* models that are concurrently loading to finish before proceeding to unload all currently loaded models. This guarantees that the auto-unload mechanism properly unloads all models, including those initiated in quick succession, thereby preventing the race condition. This fixes the issue where clicking the start button very fast on multiple models would bypass the auto-unload functionality.
Previously, the `autoUnload` flag was not being updated when set via config, causing models to be auto-unloaded regardless of the intended behavior. This patch ensures the setting is respected at runtime.
* fix: update edge case experimental feature MCP * Update web-app/src/routes/settings/mcp-servers.tsx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
The variable was not initialized resulted in always setting true when starting. This change fixes it.
* fix: factory reset fail due to access denied error * fix: unused import * fix: tests
* fix: assistant with last used and fix metadata * chore: revert instruction and desc * chore: fix current assistant state * chore: updae metadata message assistant * chore: update test case
…mg-src directive (#5967) * fix: csp including img.shields.io in img-src directive * fix: add huggingface upload cdn to img-src directive
This change improves the robustness of the llama.cpp extension's server port selection. Previously, the `getRandomPort()` method only checked for ports already in use by active sessions, which could lead to model load failures if the chosen port was occupied by another external process. This change introduces a new Tauri command, `is_port_available`, which performs a system-level check to ensure the randomly selected port is truly free before attempting to start the llama-server. It also adds a retry mechanism with a maximum number of attempts (20,000) to find an available port, throwing an error if no suitable port is found within the specified range after all attempts. This enhancement prevents port conflicts and improves the reliability and user experience of the llama.cpp extension within Jan. Closes #5965
…ows (#5972) * fix: remove CREATE_NEW_PROCESS_GROUP flag for proper Ctrl-C handling CREATE_NEW_PROCESS_GROUP prevented GenerateConsoleCtrlEvent from working, causing graceful shutdown failures. Removed to enable proper signal handling. * Revert "fix: remove CREATE_NEW_PROCESS_GROUP flag for proper Ctrl-C handling" This reverts commit 82ace3e. * fix: use direct process termination instead of console events Simplified Windows process cleanup by removing console attachment logic and using direct child.kill() method. More reliable for headless processes. * Fix missing imports * switch to tokio::time * Don't wait while forcefully terminate process using kill API on Windows Disabled use of windows-sys crate as graceful shutdown on Windows is unreliable in this context. Updated cleanup.rs and server.rs to directly call child.kill().await for terminating processes on Windows. Improved logging for process termination and error handling during kill and wait. Removed timeout-based graceful shutdown attempt on Windows since TerminateProcess is inherently forceful and immediate. This ensures more predictable process cleanup behavior on Windows platforms. * final cleanups
urmauur
approved these changes
Jul 30, 2025
qnixsynapse
approved these changes
Jul 30, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
auto_unloadsetting from config @qnixsynapse (fix: correctly applyauto_unloadsetting from config #5953)Contributor
@Minh141120, @bytrangle, @dependabot, @dependabot[bot], @ethanova, @gary149, @hiento09, @louis-menlo, @qnixsynapse, @ramonpzg and @urmauur