100 Commits

Author SHA1 Message Date
Akarshan Biswas
a1af70f7a9
feat: Enhance Llama.cpp backend management with persistence (#5886)
* feat: Enhance Llama.cpp backend management with persistence

This commit introduces significant improvements to how the Llama.cpp extension manages and updates its backend installations, focusing on user preference persistence and smarter auto-updates.

Key changes include:

* **Persistent Backend Type Preference:** The extension now stores the user's preferred backend type (e.g., `cuda`, `cpu`, `metal`) in `localStorage`. This ensures that even after updates or restarts, the system attempts to use the user's previously selected backend type, if available.
* **Intelligent Auto-Update:** The auto-update mechanism has been refined to prioritize updating to the **latest version of the *currently selected backend type*** rather than always defaulting to the "best available" backend (which might change). This respects user choice while keeping the chosen backend type up-to-date.
* **Improved Initial Installation/Configuration:** For fresh installations or cases where the `version_backend` setting is invalid, the system now intelligently determines and installs the best available backend, then persists its type.
* **Refined Old Backend Cleanup:** The `removeOldBackends` function has been renamed to `removeOldBackend` and modified to specifically clean up *older versions of the currently selected backend type*, preventing the accumulation of unnecessary files while preserving other backend types the user might switch to.
* **Robust Local Storage Handling:** New private methods (`getStoredBackendType`, `setStoredBackendType`, `clearStoredBackendType`) are introduced to safely interact with `localStorage`, including error handling for potential `localStorage` access issues.
* **Version Filtering Utility:** A new utility `findLatestVersionForBackend` helps in identifying the latest available version for a specific backend type from a list of supported backends.

These changes provide a more stable, user-friendly, and maintainable backend management experience for the Llama.cpp extension.

Fixes: #5883

* fix: cortex models migration should be done once

* feat: Optimize Llama.cpp backend preference storage and UI updates

This commit refines the Llama.cpp extension's backend management by:

* **Optimizing `localStorage` Writes:** The system now only writes the backend type preference to `localStorage` if the new value is different from the currently stored one. This reduces unnecessary `localStorage` operations.
* **Ensuring UI Consistency on Initial Setup:** When a fresh installation or an invalid backend configuration is detected, the UI settings are now explicitly updated to reflect the newly determined `effectiveBackendString`, ensuring the displayed setting matches the active configuration.

These changes improve performance by reducing redundant storage operations and enhance user experience by maintaining UI synchronization with the backend state.

* Revert "fix: provider settings should be refreshed on page load (#5887)"

This reverts commit ce6af62c7df4a7e7ea8c0896f307309d6bf38771.

* fix: add loader version backend llamacpp

* fix: wrong key name

* fix: model setting issues

* fix: virtual dom hub

* chore: cleanup

* chore: hide device ofload setting

---------

Co-authored-by: Louis <louis@jan.ai>
Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-07-24 18:33:35 +07:00
Louis
ce6af62c7d
fix: provider settings should be refreshed on page load (#5887) 2025-07-24 14:30:33 +07:00
Faisal Amir
5d00cf652a
🐛fix: get system info and system usage (#5884) 2025-07-24 12:39:10 +07:00
Faisal Amir
399671488c
fix: gpu detected from backend version (#5882)
* fix: gpu detected from backend version

* chore: remove readonly props from dynamic field
2025-07-24 10:45:48 +07:00
Louis
d347058d6b
fix: HuggingFace provider should be non-deletable (#5856)
* fix: HuggingFace provider should be non-deletable

* refactor: rename const folder

* test: correct test case
2025-07-22 23:32:37 +07:00
Faisal Amir
5553096bc4
enhancement: dialog model error trigger from provider screen and improve copy button (#5858) 2025-07-22 20:36:01 +07:00
Louis
c550f6cf0d
Merge pull request #5809 from menloresearch/refactor/simplify-proxy-settings
refactor: simplify proxy settings by removing unused SSL verification options
2025-07-19 16:34:37 +07:00
Akarshan
59ad2eb784
Merge branch 'dev' into release/v0.6.6 2025-07-18 18:29:20 +05:30
Louis
8ca507c01c
feat: proxy support for the new downloader (#5795)
* feat: proxy support for the new downloader

* test: remove outdated test

* ci: clean up
2025-07-17 23:10:21 +07:00
Louis
9872a6e82a test: add missing unit tests 2025-07-15 22:29:28 +07:00
Louis
08fe2c27fd
fix: translations 2025-07-15 11:11:00 +07:00
Louis
b8259e7794 feat: add HF token setting 2025-07-11 00:05:52 +07:00
Faisal Amir
977a8a5774
Update web-app/src/routes/settings/providers/index.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-07-07 11:19:00 +07:00
Faisal Amir
19fc399ae1 enhancement: gpu list based on backend 2025-07-03 23:18:50 +07:00
Faisal Amir
c34291237f enhancement: add hub detail page 2025-07-03 13:36:00 +07:00
Louis
66bae2adb8
chore: clean up 2025-07-02 12:29:02 +07:00
Louis
9b730058b4
feat: use hardware information api 2025-07-02 12:29:02 +07:00
Louis
8bd4a3389f
refactor: frontend uses new engine extension
# Conflicts:
#	extensions/model-extension/resources/default.json
#	web-app/src/containers/dialogs/DeleteProvider.tsx
#	web-app/src/routes/hub.tsx
2025-07-02 12:28:24 +07:00
Faisal Amir
662879bb5d
enhancement: setting responsive (#5615)
* feat: setting responsive

* 🧹cleanup: feeback PR

* 🧹cleanup: unused className

* 🧹cleanup: unused props
2025-07-01 09:44:32 +07:00
Louis
7223f6fc3f
Merge pull request #5552 from menloresearch/dev
sync: apply latest changes into release/v0.6.4
2025-06-26 09:02:27 -07:00
Louis
e1b6690763
Merge branch 'dev' into release/v0.6.3
# Conflicts:
#	web-app/src/containers/DropdownModelProvider.tsx
#	web-app/src/containers/SettingsMenu.tsx
#	web-app/src/containers/dialogs/DeleteModel.tsx
#	web-app/src/routes/__root.tsx
#	web-app/src/routes/settings/general.tsx
#	web-app/src/routes/threads/$threadId.tsx
2025-06-26 21:55:35 +07:00
Faisal Amir
f46d45e786
🐛fix: disabled backdrop onboarding on linux (#5533) 2025-06-26 15:01:44 +07:00
Louis
63761efca2
config: remove MCP and tool use production gate 2025-06-26 10:01:42 +07:00
Faisal Amir
3eb31be62e
enhancement: adjust placement exp toggle (#5525)
* enhancement: adjust placement exp toggle

* Update web-app/src/routes/settings/general.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>
2025-06-25 17:10:02 +07:00
Faisal Amir
52d15802d9
enhancement: experimental feature toggle (#5514) 2025-06-25 14:10:54 +07:00
Faisal Amir
8fdb65eba5
🐛fix: prevent render error when additional information missing from hardware (#5413) 2025-06-25 11:41:28 +07:00
Louis
1dc9e47524
🐛 fix: add back a couple of major fixes (#5469) 2025-06-24 14:43:31 +07:00
Faisal Amir
0518fea2a2
🐛fix: prevent render error when additional information missing from hardware (#5413) 2025-06-21 00:03:04 +07:00
Sam Hoang Van
c32dd092d0
Enhance i18n and add missing i18n for all component (#5314)
* Refactor translation imports and update text for localization across settings and system monitor routes

- Changed translation import from 'react-i18next' to '@/i18n/react-i18next-compat' in multiple files.
- Updated various text strings to use translation keys for better localization support in:
  - Local API Server settings
  - MCP Servers settings
  - Privacy settings
  - Provider settings
  - Shortcuts settings
  - System Monitor
  - Thread details
- Ensured consistent use of translation keys for all user-facing text.

Update web-app/src/routes/settings/appearance.tsx

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

Update web-app/src/routes/settings/appearance.tsx

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

Update web-app/src/locales/vn/settings.json

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

Update web-app/src/containers/dialogs/DeleteMCPServerConfirm.tsx

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

Update web-app/src/locales/id/common.json

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Add Chinese (Simplified and Traditional) localization files for various components

- Created `tools.json`, `updater.json`, `assistants.json`, `chat.json`, `common.json`, `hub.json`, `logs.json`, `mcp-servers.json`, `provider.json`, `providers.json`, `settings.json`, `setup.json`, `system-monitor.json`, `tool-approval.json` in both `zh-CN` and `zh-TW` locales.
- Added translations for tool approval, updater notifications, assistant management, chat interface, common UI elements, hub interactions, logging messages, MCP server configurations, provider management, settings options, setup instructions, and system monitoring.

* Refactor localization strings for improved clarity and consistency in English, Indonesian, and Vietnamese settings files

* Fix missing key and reword

* fix pr comment

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-20 15:33:54 +07:00
Louis
22396111be
fix: stop api server on page unload (#5356)
* fix: stop api server on page unload

* fix: check api server status on reload

* refactor: api server state

* fix: should not pop the guard
2025-06-19 00:12:03 +07:00
Faisal Amir
5b60116d21
🐛fix: setting provider hide model capabilities (#5355)
* 🐛fix: setting provider hide model capabilities

* 🐛fix: hide tools icon on dropdown model providers

* fix: stop server on app close or reload

* enhancement: reset heading class

---------

Co-authored-by: Louis <louis@jan.ai>
2025-06-18 21:48:18 +07:00
Faisal Amir
0681c6bb9e
fix: glitch toggle gpus (#5353)
* fix: glitch toogle gpu

* fix: Using the GPU's array index as a key for gpuLoading

* enhancement: added try-finally
2025-06-18 19:58:24 +07:00
Faisal Amir
417b789b5e
🐛fix: update wording desc vulkan (#5338)
* 🐛fix: update wording desc vulkan

* enhancement: update copy
2025-06-18 12:35:37 +07:00
Ramon Perez
06be778e98
improved wording in UI elements (#5323) 2025-06-18 09:35:57 +07:00
Louis
86079074d2
🐛fix: update default extension settings (#5315)
* fix: update default extension settings

* chore: hide language setting on Prod
2025-06-17 17:37:31 +07:00
Louis
2899d58ad7
🐛fix: llama.cpp default NGL setting does not offload all layers to GPU (#5310)
* 🐛fix: llama.cpp default NGL setting does not offload all layers to GPU

* chore: cover more cases

* chore: clean up

* fix: should not show GPU section on Mac
2025-06-17 15:30:07 +07:00
Faisal Amir
4dfc9f604a
🐛fix: remove onboarding local model and hide the edit capabilities model (#5301)
* 🐛fix: remove onboarding local model and hide the edit capabilities model

* ♻️refactor: conditional search params setup screen
2025-06-16 20:53:48 +07:00
Faisal Amir
8e921ab521
🐛fix: optional additional_information gpu (#5291) 2025-06-16 16:28:54 +07:00
Faisal Amir
da2f97c227
enhancement: add setting chat width container (#5289)
* enhancement: add setting conversation width

* enahncement: cleanup log and change improve accesibility

* enahcement: move const beta version
2025-06-16 15:02:43 +07:00
Louis
e20c801ff0
enhancement: out of context troubleshooting (#5275)
* enhancement: out of context troubleshooting

* 🔧refactor: clean up
2025-06-15 18:20:17 +07:00
Faisal Amir
d131752419
fix: masking value MCP env field (#5276) 2025-06-15 16:18:43 +07:00
Faisal Amir
2b8c448be4
chore: enable shortcut zoom (#5261)
* chore: enable shortcut zoom

* chore: update shortcut setting
2025-06-13 11:37:34 +07:00
Faisal Amir
82736c96b1
chore: fix wrong classname color text (#5252) 2025-06-12 14:03:45 +07:00
Faisal Amir
46add8e88a
chore: experimental tag mcp (#5239)
* chore: experimental tag on mcp setting

* chore: dupl classname
2025-06-11 15:35:55 +07:00
Sam Hoang Van
dba35bc5a4
chore: comment out API documentation handling code (#5240) 2025-06-11 15:15:45 +07:00
sam hoang
6f030f720a
feat(local-api-server): add button to open API documentation and improve layout 2025-06-11 11:46:04 +07:00
Faisal Amir
8ba4b0be36
chore: add toggle loading sever MCP (#5225)
* chore: add toggle loading sever mcp

* chore: remove duplicate classname

* chore: remove log

* chore: remove log

* fix: save server config

---------

Co-authored-by: Louis <louis@jan.ai>
2025-06-09 23:56:49 +07:00
Louis
919b6671a1
enahancement: mcp server activation response and error handling (#5220)
* fix: mcp server error handling

* fix: custom installation path of MCP package managers

* chore: clean up

* chore: clean up

* chore: append mcp server errors to app logs

* fix: logs reading

* chore: typo
2025-06-09 19:43:16 +07:00
Faisal Amir
1d69101f97
fix: conditional button refresh model (#5221) 2025-06-09 17:43:48 +07:00
Louis
46c7f02827
fix: avoid spamming server restarts (#5212) 2025-06-07 11:54:35 +07:00