712 Commits

Author SHA1 Message Date
lugnicca
6c0e6dce06 fix: remove unused keyRepeatTimeoutRef 2025-08-23 18:32:12 +02:00
lugnicca
639bd5fb27 fix: set Escape in keyboard navigation 2025-08-23 18:08:29 +02:00
lugnicca
aa568e6290 fix: remove ModelProvider type 2025-08-23 15:07:42 +02:00
lugnicca
1bf5802a68 refactor: update MockModelProvider type to use ModelProvider and clean up test setup 2025-08-23 02:37:15 +02:00
lugnicca
4e8dd9281f refactor: simplify event handling and fix test setup in ModelCombobox 2025-08-23 02:37:14 +02:00
lugnicca
9a68631d39 refactor: more modular error handling in fetchModelsFromProvider function 2025-08-23 02:37:14 +02:00
lugnicca
f35e6cdae8 refactor: clean model selector and add more tests 2025-08-23 02:37:14 +02:00
lugnicca
3339629747 test: add unit tests for ModelCombobox, useProviderModels and providers 2025-08-23 02:37:14 +02:00
lugnicca
5d9c3ab462 feat: add model selector with fetching from /v1/models endpoints when adding models 2025-08-23 02:36:38 +02:00
Faisal Amir
7801f9c330 fix: update copy mmproj setting desc 2025-08-22 15:27:07 +07:00
Faisal Amir
f6e4d55f5e fix: compatibility imported model 2025-08-22 13:20:57 +07:00
Piotr Orzechowski
ef90f07db8
fix: add missing Polish translations (#6262) 2025-08-21 17:46:48 +07:00
Akarshan Biswas
510c70bdf7
feat: Add model compatibility check and memory estimation (#6243)
* feat: Add model compatibility check and memory estimation

This commit introduces a new feature to check if a given model is supported based on available device memory.

The change includes:
- A new `estimateKVCache` method that calculates the required memory for the model's KV cache. It uses GGUF metadata such as `block_count`, `head_count`, `key_length`, and `value_length` to perform the calculation.
- An `isModelSupported` method that combines the model file size and the estimated KV cache size to determine the total memory required. It then checks if any available device has sufficient free memory to load the model.
- An updated error message for the `version_backend` check to be more user-friendly, suggesting a stable internet connection as a potential solution for backend setup failures.

This functionality helps prevent the application from attempting to load models that would exceed the device's memory capacity, leading to more stable and predictable behavior.

fixes: #5505

* Update extensions/llamacpp-extension/src/index.ts

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

* Update extensions/llamacpp-extension/src/index.ts

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

* Extend this to available system RAM if GGML device is not available

* fix: Improve model metadata and memory checks

This commit refactors the logic for checking if a model is supported by a system's available memory.

**Key changes:**
- **Remote model support**: The `read_gguf_metadata` function can now fetch metadata from a remote URL by reading the file in chunks.
- **Improved KV cache size calculation**: The KV cache size is now estimated more accurately by using `attention.key_length` and `attention.value_length` from the GGUF metadata, with a fallback to `embedding_length`.
- **Granular memory check statuses**: The `isModelSupported` function now returns a more specific status (`'RED'`, `'YELLOW'`, `'GREEN'`) to indicate whether the model weights or the KV cache are too large for the available memory.
- **Consolidated logic**: The logic for checking local and remote models has been consolidated into a single `isModelSupported` function, improving code clarity and maintainability.

These changes provide more robust and informative model compatibility checks, especially for models hosted on remote servers.

* Update extensions/llamacpp-extension/src/index.ts

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

* Make ctx_size optional and use sum free memory across ggml devices

* feat: hub and dropdown model selection handle model compatibility

* feat: update bage model info color

* chore: enable detail page to get compatibility model

* chore: update copy

* chore: update shrink indicator UI

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-08-21 16:13:50 +05:30
Louis
5c4deff215
Merge pull request #6260 from menloresearch/fix/bring-back-manual-model-capability-edit
fix: bring back manual model capability edit modal
2025-08-21 16:31:17 +07:00
Dinh Long Nguyen
32a2ca95b6
feat: gguf file size + hash validation (#5266) (#6259)
* feat: gguf file size + hash validation

* fix tests fe

* update cargo tests

* handle asyn download for both models and mmproj

* move progress tracker to models

* handle file download cancelled

* add cancellation mid hash run
2025-08-21 16:17:58 +07:00
Louis
9bc243c3f7
Merge branch 'dev' into fix/enable-back-app-language-setting 2025-08-21 12:53:21 +07:00
Louis
8e7378b70f
Merge pull request #6255 from menloresearch/fix/remove-experimental-toggle
fix: remove experimental toggle
2025-08-21 12:51:25 +07:00
Faisal Amir
7b9e752301
Merge pull request #6250 from menloresearch/feat/local-api-server
feat: run on startup setting for local api server
2025-08-21 12:43:13 +07:00
Louis
65cb473d25
fix: enable back app language setting 2025-08-21 12:30:30 +07:00
Louis
ec1a695e06
Merge pull request #5874 from 0rzech/polish-translation
feat: add Polish translation
2025-08-21 12:27:00 +07:00
Louis
6c44ec558d
Merge pull request #6211 from cmppoon/dev
fix: emoji picker remains stuck in the open state in AddEditAssistant component
2025-08-21 12:16:09 +07:00
Louis
8de5c1709b
fix: test 2025-08-21 12:01:45 +07:00
Louis
cfbc6b9150
fix: remove experimental toggle 2025-08-21 11:54:34 +07:00
Louis
e6587844d0
Merge branch 'dev' into current-date-instruction 2025-08-21 11:41:30 +07:00
cmuangs
7076a69e3a
Merge branch 'dev' into dev 2025-08-21 12:28:12 +08:00
Louis
bf3e9c5b1e
Merge pull request #6252 from menloresearch/feat/mcp-error-handling
feat: MCP server error handling
2025-08-21 09:32:41 +07:00
Piotr Orzechowski
83620e127e feat: add Polish translation 2025-08-21 00:18:23 +02:00
Louis
6850dda108
feat: MCP server error handling 2025-08-20 23:42:12 +07:00
Faisal Amir
39df7b22b9 chore: rename key runOnStartup from hooks useLocalApiServer 2025-08-20 22:37:45 +07:00
Faisal Amir
68f8c2d3f8 enhancement: change icon vision 2025-08-20 22:21:42 +07:00
Faisal Amir
cfa68c5500 feat: run on startup settin for local api server 2025-08-20 21:56:53 +07:00
Faisal Amir
c2cdb48ff3 enhancement: vision icon on model hub 2025-08-20 21:01:38 +07:00
Louis
b6cf19a33f
Merge pull request #6241 from menloresearch/feat/allow-user-to-set-limit-assistant-tool-steps
feat: allow user to set max_attempt for MCP to avoid looping
2025-08-20 14:49:11 +07:00
Akarshan Biswas
906b87022d
chore: re enable reasoning_content in backend (#6228)
* chore: re enable reasoning_content in backend

* chore: handle reasoning_content

* chore: refactor get reasoning content

* chore: update PR review

---------

Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-08-20 13:06:21 +05:30
Faisal Amir
43ab6dfc65
Merge pull request #6246 from menloresearch/fix/sort-filter-hub
fix: hidden sort filter when searching model
2025-08-20 14:36:15 +07:00
Faisal Amir
1ad29077e3 fix: hiden sort filter when searching model 2025-08-20 14:16:45 +07:00
Dinh Long Nguyen
6519327244
fix: local api server log (#6244) 2025-08-20 14:13:27 +07:00
Faisal Amir
ee0b29d9f0
Merge pull request #6242 from menloresearch/enhancement/remove-validate-extension
enhancement: remove validate file extension from select file when import gguf
2025-08-20 13:30:59 +07:00
Faisal Amir
8f0999cc37 chore: update layout setting assistant 2025-08-20 13:00:59 +07:00
Faisal Amir
f96ff52506 enhancement: remove validate file extension from select file 2025-08-20 12:54:08 +07:00
Louis
48422e0a4b
chore: add min to the call steps 2025-08-20 12:52:01 +07:00
Louis
c018713676
feat: allow user to set max_attempt for MCP to avoid looping 2025-08-20 12:42:54 +07:00
Louis
ecc9020452 fix: prevent scroll position jump when AI completes response while user reading
- Add userIntendedPositionRef to track user's deliberate scroll position during streaming
- Add wasStreamingRef to detect when streaming finishes
- Preserve user's reading position when they scroll away from bottom during AI response
- Restore intended position with smooth scroll when streaming completes
- Reset position tracking on thread changes and component initialization

Fixes #5939

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 10:24:37 +07:00
Dinh Long Nguyen
b0eec07a01
Add contributing section for jan (#6231) (#6232)
* Add contributing section for jan

* Update CONTRIBUTING.md

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-08-20 10:18:35 +07:00
Faisal Amir
a6e5273c7a
Merge pull request #6198 from Louis454545/fix/issue-6025-default-color-selection
fix: resolve issue #6025 - default color selection in appearance page
2025-08-20 10:12:49 +07:00
Faisal Amir
5481ee9e35
Merge pull request #6134 from menloresearch/feat/attachment-ui
feat: attachment UI
2025-08-20 10:04:32 +07:00
Faisal Amir
87af59b65d chore: update icon image instead paperclip 2025-08-20 09:46:57 +07:00
Louis
6efdd66bbd
Merge pull request #6236 from menloresearch/feat/add-tool-call-cancellation 2025-08-20 09:04:53 +07:00
Faisal Amir
6203a93325
Merge pull request #6233 from menloresearch/fix/import-model
fix: improve ux import model
2025-08-20 09:03:33 +07:00
Kamal Fariz Mahyuddin
df27def9cb
Merge branch 'dev' into current-date-instruction 2025-08-19 14:40:08 -07:00