116 Commits

Author SHA1 Message Date
Sam Hoang Van
329fb7d023
Feat: auto restart mcp (#5226)
* feat: implement retry mechanism for MCP server activation with exponential backoff

feat: enhance MCP server activation with configurable retry attempts

feat: implement MCP server restart monitoring and cleanup functionality

feat: enhance MCP server restart logic with improved monitoring and configuration handling

feat: add manual deactivation for MCP servers to prevent automatic restarts

* feat: enhance MCP server startup with initial attempt tracking and health monitoring
2025-06-25 11:40:28 +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
Bui Quang Huy
f5971b9d03
🔀 Merge: pull request #5351 from menloresearch/fix/window-path-fix
🐛 Fix: window path name with a space lead to cannot find correct path to Jan datafolder
2025-06-18 17:17:53 +07:00
Sam Hoang Van
eb5655bbd4
fix(proxy): implement true HTTP streaming for chat completions API (#5350) 2025-06-18 16:19:48 +07:00
Sam Hoang Van
6cee466f52
fix(server): add gzip decompression support for /models endpoint filtering (#5349)
- Add gzip detection using magic number check (0x1f 0x8b)
- Implement gzip decompression before JSON parsing
- Add gzip re-compression for filtered responses
- Fix "invalid utf-8 sequence" error when upstream returns gzipped content
- Maintain Content-Encoding consistency for compressed responses
- Add comprehensive gzip handling with flate2 library

Resolves issue where filtering failed on gzip-compressed model responses.
2025-06-18 15:30:31 +07:00
Sam Hoang Van
369ba5ac75
feat(server): filter /models endpoint to show only downloaded models (#5343)
- Add filtering logic to proxy server for GET /models requests
- Keep only models with status "downloaded" in response
- Remove Content-Length header to prevent mismatch after filtering
- Support both ListModelsResponseDto and direct array formats
- Add comprehensive tests for filtering functionality
- Fix Content-Length header conflict causing empty responses

Fixes issue where all models were returned regardless of download status.
2025-06-18 14:11:53 +07:00
LazyYuuki
a075debb05 🐛 fix: window path problem 2025-06-18 14:02:36 +08:00
Nguyen Ngoc Minh
3f07358125
🐛 fix(updater): terminate sidecar processes before update to avoid file access errors (#5325) 2025-06-17 23:43:15 +07:00
Faisal Amir
11d767633e
🐛fix: allow script posthog (#5316) 2025-06-17 18:35:02 +07:00
Louis
1e17cc6ec7
enhancement: model run improvement (#5268)
* fix: mcp tool error handling

* fix: error message

* fix: trigger download from recommend model

* fix: can't scroll hub

* fix: show progress

* enhancement: prompt users to increase context size

* enhancement: rearrange action buttons for a better UX

* 🔧chore: clean up logics

---------

Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-06-14 16:32:15 +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
Louis
27c4918395
fix: default settings should leave empty (#5257)
* fix: default settings should leave empty

* fix: default settings

* fix: remove some more default settings

* fix: threads and cont

* fix: data

* fix: default setting

* fix: settings

* chore: bump cortex version

* chore: bump to cortex 1.0.14

* chore: clean up

* typoe

* chore: fix dialog hang

* fix: default parameter

* chore: truncate edit model title

* chore: update default provider settings

* chore: fix typo

---------

Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-06-13 00:01:25 +07:00
Sam Hoang Van
e22452b26e
fix: add cortex_killed_intentionally state to manage sidecar process termination (#5255)
* fix: add cortex_killed_intentionally state to manage sidecar process termination

* fix: improve handling of intentionally killed sidecar process
2025-06-12 19:20:27 +07:00
Faisal Amir
7b59aa32f9
chore: onboarding local model (#5234)
* chore: simple onboarding local model

* chore: update new model and improve flow e2e onboarding local model

* fix: default tool support models

---------

Co-authored-by: Louis <louis@jan.ai>
2025-06-11 18:38:07 +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
Sam Hoang Van
eef37defb4
fix(server): enhance CORS handling for local API network access (#5236)
* fix(server): enhance CORS handling for local API network access

- Fix CORS preflight validation to use Host header for target validation
- Use Origin header correctly for CORS response headers
- Improve host validation to support both host:port and host-only formats
- Filter upstream CORS headers to prevent duplicate Access-Control-Allow-Origin
- Add CORS headers to all error responses for consistent behavior
- Fix host matching logic to handle trusted hosts with and without ports
- Ensure single Access-Control-Allow-Origin header per response

This resolves CORS preflight failures that were blocking cross-origin
requests to the local API server, enabling proper network access from
web applications and external tools.

Fixes: OPTIONS requests being rejected due to incorrect host validation
Resolves: "access control allow origin cannot contain more than one origin" error

* fix(proxy): bypass host and authorization checks for root path in CORS preflight

* fix(proxy): bypass host and authorization checks for whitelisted paths
2025-06-11 09:44:17 +07:00
Louis
92a52dfa08
fix: tauri path env (#5233) 2025-06-10 18:31:21 +07:00
Louis
891c149f1b
fix: MCP server should not spawn shell window (#5223)
* fix: MCP server should not spawn shell window

* Update src-tauri/src/core/mcp.rs

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-09 23:23:34 +07:00
Louis
6d6790d5e0
fix: clean up cortex processes (#5215)
* fix: clean up cortex processes

* chore: clean up

* chore: does not need output shell
2025-06-09 22:23:07 +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
Louis
c444643294
fix: path resolver in windows (#5209) 2025-06-06 17:26:08 +07:00
Nguyen Ngoc Minh
19bcce80fa
ci: update file size tauri build template macos and windows (#5208)
* chore: update filesize latest-mac.yaml

* chore: disable createUpdaterArtifacts as handled on ci

* chore: update file size latest.yaml
2025-06-06 16:02:09 +07:00
David
3cdbff53eb fix: file system mcp server missing param 2025-06-05 14:32:10 +07:00
Louis
fb7dc21135
chore: update MCP servers list (#5195)
* chore: update MCP servers list

* chore: rename

* chore: attempt to stop models before updating

* chore: clean up logs

* chore: fix bug refresh
2025-06-04 21:47:27 +07:00
David
534a673c51 fix: add missing default host ip 2025-06-04 20:08:41 +07:00
Louis
cb3ac4b136
feat: Jan API Server should have API Key setting (#5193)
* feat: Jan API Server should have API Key setting

* chore: reveal api key icon

* Update src-tauri/src/core/server.rs

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

* chore: add validation apiKey

---------

Co-authored-by: Faisal Amir <urmauur@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-04 18:04:47 +07:00
David
30acc6f493
Merge pull request #5186 from menloresearch/fix/headers-validations-for-local-api-server
Fix: headers validations for local api server
2025-06-04 12:45:38 +07:00
David
b674a521f2 fix: validate trusted hosts for local api server 2025-06-04 11:50:51 +07:00
Louis
a3e78dd563
refactor: clean up migrations (#5187) 2025-06-04 00:41:14 +07:00
Nguyen Ngoc Minh
9c825956e8
ci: tauri build macos (#5184)
* ci: tauri build macos

* chore: comment out electron builder .zip.sig file to s3

* chore: enable auto updater tauri

* chore: comment out s3 upload mac.zip.sig

* chore: handle remind me later state

* chore: add dll file windows

* chore: add debug step verbose

* ci: add msvcp140_codecvt_ids.dll bundle windows

* chore: update download progress

* chore: update app updater UI

* chore: remove log

* chore: reload app after download app

* chore: reset remindmelater
2025-06-03 23:00:04 +07:00
Louis
7dc51c5e0f
fix: relocate jan data folder (#5179)
* fix: relocate jan data folder failed

* fix: avoid infinite recursion

* chore: kill background processes to unblock factory reset

* chore: stop models before reset factory

* chore: clean up

* chore: clean up

* fix: show error

* chore: get active models should not have retry
2025-06-03 21:23:42 +07:00
Louis
de9c59d309
chore: enhance MCP permission settings (#5178)
* chore: enhance MCP permission settings

* chore: bring default mcp servers in

* chore: default mcp servers are inactive
2025-06-03 13:36:21 +07:00
Louis
ecef9d7df6
feat: handle open Jan on HF GGUF repo (#5173)
* feat: handle open Jan on HF GGUF repo

* chore: reset retry attempts
2025-06-03 01:09:36 +07:00
Louis
817e3175f3
fix: model run failed on windows (#5168)
* fix: model run failed on windows

* chore: fix dependency path on windows
2025-06-03 00:03:10 +07:00
Louis
1a0f643d87
refactor: clean up repo (#5165)
* chore: remove legacy themes

* refactor: clean up dependencies

* chore: remove cuda 11 dependency - fix linux LD_LIBRARY_PATH

* fix: load models issue on Linux

# Conflicts:
#	src-tauri/src/core/setup.rs

* chore: do not download cuda 11 by default

* chore: remove cuda 11 from installer

* fix: cuda lookup on Linux
2025-06-02 19:03:06 +07:00
Thien Tran
8509479dfb
fix: Fix hwinfo bugs (#5164)
* add libnvidia-ml.so.1 fallback for linux

* fix AMD memory usage on Linux

* add os_type. use std::env::consts::ARCH directly
2025-06-02 17:39:10 +08:00
Faisal Amir
b98c31b184
enhancement: open folder log and change data folder dialog confirm (#5159)
* enhancement: ux change data folder with confirmation and reveal in finder logs

* chore: update button open logs local api server

* Update web-app/src/components/ui/button.tsx

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

* chore: handle error when change location data folder failed

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-02 08:54:16 +07:00
Louis
573e667c34
feat: migrate legacy local storage data to new app (#5156)
* feat: migrate legacy local storage data to new app

* chore: refactor localstorage db read

* chore: clean up

* chore: migrate api key setting

* chore: apply proxy configs

* chore: fix key
2025-06-01 22:57:01 +07:00
Louis
646ba86de8
fix: extension settings are not retained in new sessions (#5154) 2025-05-31 21:28:08 +07:00
Louis
2b7b9c2dc6
chore: add timeout to tool use requests (#5143) 2025-05-29 23:45:55 +07:00
Faisal Amir
f812952044
enhancement: all platform layout (#5119)
* enhancement: conditional layout leftpanel for windows

* chore: calculate height leftpanel windows

* chore: enhance calc left panel height

* enhancement minor ui

* Update web-app/src/routes/settings/hardware.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-05-28 20:10:51 +07:00
Louis
4672754b81
chore: persist assistants settings (#5127)
* chore: assistant settings

* chore: fix model sources issue after deleted models

* chore: assistants as files

* chore: clean up
2025-05-28 19:33:13 +07:00
Thien Tran
ab3f027d02
fix: support delete file for fs.rm() (#5117) 2025-05-28 09:28:13 +08:00
Louis
eb0e21e5d6
chore: bump llama.cpp to b5509 (#5120) 2025-05-27 23:29:41 +07:00
Louis
26154941ca
fix: chore UI issues (#5116)
* fix: app log outputs with debug level

* fix: reasoning block still show loading indicator when stopped

* chore: fix mistral AI base url
2025-05-27 19:38:21 +07:00
Louis
0b8c7bae69
fix: correct app data folder name (#5115)
* fix: correct app data folder name

* chore: clean up
2025-05-27 15:58:25 +07:00
Thien Tran
6415be9c74
feat: Support download resume (#5111)
* initial support

* append instead of replace extension
2025-05-27 10:46:49 +08:00
Louis
b8de48c9e9
fix: enhance tool use and model provider not persisted issues (#5094)
* chore: enhance tool use loop

* fix: create new custom provider is not saved

* chore: bump llama.cpp b5488

* chore: normalize reasoning assistant response

* chore: fix tool call parse in stream mode

* fix: give tool call default generated id

* fix: system instruction should be on top of the history

* chore: allow users to add parameters
2025-05-26 15:12:55 +07:00
Thien Tran
71bb7ce1e9
fix: fileStat returned object in JS (#5102)
* fix fileStat returned value in JS

* match type from JS
2025-05-26 14:40:03 +08:00
Louis
634efb9d9d
chore: providers should default on (#5083)
* chore: providers should default on

* chore: add emoji image source

* chore: correct connect-src
2025-05-23 16:26:17 +07:00