123 Commits

Author SHA1 Message Date
D. Rect.
a668204cdc refactor: pin linuxdeploy in make/yarn build process instead of github workflow
- pulls fix for #5463 out of the github release workflow and into
  the make/yarn build process
- implements a wrapper script that pins linuxdeploy and injects
  a new location for XDG_CACHE_HOME into the build pipeline,
  allowing manipulating .cache/tauri without tainting the hosts
  .cache
- adds ./.cache (project_root/.cache) to make clean and mise clean
  task
- remove .devcontainer/buildAppImage.sh, obsolete now that extra
  build steps have been removed from the github workflow and
  incorporated in the normal build process
- remove appimagetool from .devcontainer/postCreateCommand.sh,
  as it was only used by .devcontainer/buildAppImage.sh
2025-07-10 04:50:12 +00:00
D. Rect.
7d04d66a0b refactor: pull appimage packaging steps out of github linux release workflow
- pulled appimage packaging steps out of release workflow into new
  src-tauri/build-utils/buildAppImage.sh
- cleaned up yarn scripts:
  - moved multi platform yarn scripts out of yarn build:tauri:<platform>
    into generic yarn build:tauri
  - split yarn build:tauri:linux:win32 into separate yarn scripts so it's
    clearer what is specific to which platform
- added src-tauri/build-utils/buildAppImage.sh to new yarn build:tauri:linux
  yarn script

    This is also a good entry point to add flatpak builds in the future.

    Part of #5641
2025-07-10 04:50:12 +00:00
D. Rect.
4134917a45 refactor: split platform specific config out of tauri.conf.json
Allows for better per platform default config. Currently the
default serves windows/macos fine while it has to be tweaked
in order to build for linux

make build-tauri now successfully runs where it errored out before.
Appimages made with make alone however is incomplete as there are
still post processing steps in the github release workflow to bundle
additional resources.

- split platform specific config out of tauri.conf.json into auxiliary
  platform specific config files, natively supported by tauri

- pull improved defaults out of template-tauri-build-linux-x64.yml
  into new tauri.linux.conf.json

- fix tauri-build-linx-x64.yml to utilize new tauri.linux.conf.json
2025-07-10 04:50:12 +00:00
Faisal Amir
2a0597ff01
Merge branch 'dev' into release/v0.6.6 2025-07-02 10:26:32 +07:00
Louis
834bc39242
test: init e2e test with selenium and CI work (#5591)
* test: init e2e test

* Update yarn.lock
2025-06-29 17:12:16 +07:00
Nguyen Ngoc Minh
472ef88bdc
chore: flexible installation path windows installer (#5573) 2025-06-27 23:21:28 +07:00
Faisal Amir
9bbf9a590c
enhancement: support base layout responsive UI (#5472)
* enhancement: support base layout responsive UI

* Update web-app/src/containers/LeftPanel.tsx

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

* Update web-app/src/containers/ThreadList.tsx

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

* enhancement: responsive assistant screen (#5502)

* enhancement: support base layout responsive UI

* Update web-app/src/containers/LeftPanel.tsx

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

* Update web-app/src/containers/ThreadList.tsx

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

* enhancement: responsive assistant screen

* Update web-app/src/containers/dialogs/AddEditAssistant.tsx

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

* enhancement: sort assistant

* Update web-app/src/routes/assistant.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>

* enhancement: responsive hub screen (#5507)

* enhancement: support base layout responsive UI

* Update web-app/src/containers/LeftPanel.tsx

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

* Update web-app/src/containers/ThreadList.tsx

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

* enhancement: responsive assistant screen

* Update web-app/src/containers/dialogs/AddEditAssistant.tsx

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

* enhancement: sort assistant

* Update web-app/src/routes/assistant.tsx

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

* enhancement: responsive hub screen

* 🧹cleanup: multiple key and useless for hub translation

---------

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-26 15:01:50 +07:00
Sam Hoang Van
64a7822cc8
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-23 12:20:05 +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