140 Commits

Author SHA1 Message Date
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
Faisal Amir
da10502bdd
fix: remind me later updater (#5191)
* fix: remind me later app updater

* chore: update state app updater

* chore sync state
2025-06-04 15:35:38 +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
171b1e8c60
fix: handle tool availability states (#5183)
* fix: handle tool availability states

* Update web-app/src/hooks/useToolAvailable.ts

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

* Update web-app/src/hooks/useToolAvailable.ts

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

* Update web-app/src/hooks/useToolAvailable.ts

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

* fix: hub refresh

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-04 00:17:39 +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
Faisal Amir
135e75b812
fix: avatar assistants render (#5181)
* fix: avatar assistants render

* fix: delete assistant

* Update web-app/src/containers/dialogs/AddEditAssistant.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-03 20:00:25 +07:00
Faisal Amir
6861c46ac6
feat: setting toggle vulkan (#5126)
* feat: setting toggle vulkan

* feat: add vulkan toggle setting

* chore: default flash attention disable

* chore: fix vulkan retrieval

* fix: vulkan setting does not affect engine run

* 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: Louis <louis@jan.ai>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-03 13:56:23 +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
Faisal Amir
aeba895250
fix: app updater state (#5171) 2025-06-02 22:25:38 +07:00
Faisal Amir
b0d3d485cf
fix: sticky action scroll to bottom when edit message (#5169) 2025-06-02 22:00:12 +07:00
Faisal Amir
d56686fd21
chore: check app update via general setting (#5167) 2025-06-02 20:33:48 +07: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
Faisal Amir
057accfb96
enhancement: ux tool call permission dialog and state active (#5157)
* enhancement: mcp toold dialog approval

* enhancement: update mcp tool enable or disable

* chore: add toggle mcl global permission
2025-06-01 23:58:20 +07:00
Faisal Amir
81a7248a93
enhancement: querry search hub include list of model (#5147) 2025-05-30 15:09:43 +07:00
Faisal Amir
3022fdebc2
fix: update model id dropdown without refresh (#5144) 2025-05-30 13:05:06 +07:00
Faisal Amir
27c2a360f0
fix: reverse setting local provider (#5140)
* fix: reverse setting local provider

* fix conflict
2025-05-30 00:00:07 +07:00
Faisal Amir
8046f95b67
feat: add refresh button list model remote provider (#5136) 2025-05-29 22:06:25 +07:00
Faisal Amir
1b3f16b3e1
feat: start and stop model (#5133)
* feat: start and stop model

* refactor: clean up start models

---------

Co-authored-by: Louis <louis@jan.ai>
2025-05-29 13:23:12 +07:00
Faisal Amir
72d1192499
chore: add skip button joyride (#5125) 2025-05-28 20:10:59 +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
Faisal Amir
cfcc99d75f
feat: predefined params (#5128) 2025-05-28 20:09:48 +07:00
Faisal Amir
2ae6c7ed92
feat: filter downloaded model on hub screen (#5113)
* feat: filter downloaded model on hub screen

* chore: custom avatar provider

* chore: alignment dropdown
2025-05-27 15:17:07 +07:00
Louis
c6ce193256
fix: remove chat message on GUI (#5114)
* fix: remove chat message on GUI

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

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

* chore: fix message removal sequence

* chore: add comment

* Update web-app/src/containers/ThreadContent.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-27 15:13:47 +07:00
David
db731efb62
Merge pull request #5107 from menloresearch/fix/janhq-url-correction
Fix: janhq url correction
2025-05-27 10:15:20 +07:00
Faisal Amir
e08b98ec6a
fix: overflow content codeblock (#5110) 2025-05-27 10:07:36 +07:00
David
eb97e4ef26 fix: correct jan repo url 2025-05-26 16:52:32 +07:00
Louis
64f5703461
chore: allow users to import hf repo (#5103)
* chore: allow users to input HF repo id / url

* chore: allow users to search HuggingFace models

* chore: normalize input

* chore: normalize input from FE

* chore: clean up

* chore: clean up

* fix: conflict

* fix: model name from metada instead id

* chore: enable ryhype raw for desc card hub

* fix: broken link

* chore: remove log

---------

Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-05-26 15:13:22 +07:00
Faisal Amir
8afb962739
feat: add quick access model setting via dropdown model (#5104)
* feat: add quick access model setting via dropdown model

* Update web-app/src/containers/DropdownModelProvider.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-26 13:29:09 +07:00
Faisal Amir
253f9f9501
feat: add couple section about us on general settings (#5098)
* feat: initial about us

* feat: add couple about us on general setting

* chore: change discord url

* Update web-app/src/routes/settings/general.tsx

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

* Update web-app/src/routes/settings/general.tsx

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

* chore: add rel attribute

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-25 17:25:13 +07:00
Faisal Amir
b29e579042
feat: product analytic (#5099)
* feat: product analytic

* chore: remove comment
2025-05-25 17:25:03 +07:00
Louis
125104320e
chore: handle many issues with app settings and message actions (#5086)
* chore: handle many issues with app settings and message actions

* Update web-app/src/services/mcp.ts

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-23 21:23:52 +07:00
Faisal Amir
dfe15fac32
enhancement: built-in custom emoji and show metadata message (#5085)
* enhancement: built-in custom emoji and show metadata message

* chore: seperate render avatar as component

* fix: avatar on assistant screen
2025-05-23 15:37:47 +07:00
Faisal Amir
fce559a8fa
fix: mcp info when long string without space (#5080) 2025-05-23 11:12:20 +07:00
Sam Hoang Van
7df7d8ffa0
feat: Implement Cortex server auto-restart and webview notification (#5074)
* feat: Implement Cortex server auto-restart and webview notification

Implements a robust auto-restart mechanism for the Cortex server (sidecar)
managed by the Tauri backend.

Key changes:

Backend (src-tauri):
- Modified `core/setup.rs` to:
  - Loop sidecar spawning, attempting up to `MAX_RESTARTS` (5) times with a
    `RESTART_DELAY_MS` (5 seconds) between attempts.
  - Monitor the sidecar process for unexpected termination (crashes or
    non-zero exit codes).
  - Reset the restart attempt count to 0 in `AppState` upon a successful
    server spawn.
  - Emit a "cortex_max_restarts_reached" event to the webview if the
    server fails to start after `MAX_RESTARTS`.
- Updated `core/state.rs` to include `cortex_restart_count: Arc<Mutex<u32>>`
  in `AppState` to track restart attempts.
- Added a new Tauri command `reset_cortex_restart_count` in `core/cmd.rs`
  to allow the webview (or other parts of the app) to reset this counter.
- Registered the new command and initialized the `cortex_restart_count`
  in `lib.rs`.

Frontend (web-app):
- Created a new component `CortexFailureDialog.tsx` in
  `src/containers/dialogs/` to:
  - Listen for the "cortex_max_restarts_reached" event from Tauri.
  - Display a dialog informing the user that the local AI engine (Cortex)
    failed to start after multiple attempts.
  - Offer options to "Contact Support" (opens jan.ai/support),
    "Restart Jan" (invokes the `relaunch` Tauri command), or "Okay"
    (dismisses the dialog).
- Integrated the `CortexFailureDialog` into the `RootLayout` in
  `src/routes/__root.tsx` so it's globally available.
- Corrected button variants in `__root.tsx` to use `variant="default"`
  with appropriate classNames for outline styling, resolving TypeScript
  errors.

* refactor: Improve async handling and logging in setup_sidecar function
2025-05-22 23:09:43 +07:00
Louis
942f2f51b7
chore: send chat completion with messages history (#5070)
* chore: send chat completion with messages history

* chore: handle abort controllers

* chore: change max attempts setting

* chore: handle stop running models in system monitor screen

* Update web-app/src/services/models.ts

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

* chore: format time

* chore: handle stop model load action

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-22 20:13:50 +07:00
Louis
570bb8290f
chore: add model information in System Monitoring (#5062)
* chore: add model information in System Monitoring

* chore: handle empty models case

* chore: fix type
2025-05-22 16:07:08 +07:00
Louis
4d66eaf0a7
chore: handle local models chat with MCP (#5065)
* chore: handle local models chat with MCP

* chore: update MCP server connection status in the settings page

* chore: error handling

* chore: normalize message

* chore: update finally block
2025-05-22 16:06:55 +07:00
Faisal Amir
12ad61aaa8
enhancement: show assistant info on message (#5064) 2025-05-22 14:45:58 +07:00
Faisal Amir
434abaaca6
chore: app updater UI (#5054)
* chore: initial app updater UI and download management enhance

* chore: revert package version

* chore: update conditional app updater

* chore: remove console

* chore: add utils isDev

* chore: close popup when user click download

* revert yarn lock
2025-05-22 11:54:06 +07:00
Faisal Amir
a7d2e72313
enhancement: disabled config when server is running (#5058) 2025-05-22 11:07:14 +07:00
Faisal Amir
fab8f0a9c9
Merge pull request #5059 from menloresearch/enhancement/hub-left-panel-collapse
enhancement: update layout hub when left panel collapse
2025-05-22 11:04:21 +07:00
Faisal Amir
bd0d2a5cec
Merge pull request #5057 from menloresearch/feat/assistant-emoji
feat: add assistant emoji picker
2025-05-22 10:56:01 +07:00
Faisal Amir
6a6ccc9a9e
Merge pull request #5055 from menloresearch/enhancement/message-toolbar
enhancement: message toolbar using tooltip
2025-05-22 10:55:28 +07:00
Faisal Amir
0622106f8e chore: update routes log 2025-05-22 00:51:30 +07:00
Faisal Amir
0c73035b3c feat: initial app logs 2025-05-22 00:46:28 +07:00
Faisal Amir
661e907784 enhancement: update layout hub when left panel collapse 2025-05-22 00:14:16 +07:00
Faisal Amir
974f7901e6 feat: add assistant emoji picker 2025-05-21 23:45:49 +07:00