59 Commits

Author SHA1 Message Date
Faisal Amir
0b312f7a06
chore: translation (#5097)
* chore: translation

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

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-25 17:25:23 +07:00
Faisal Amir
b29e579042
feat: product analytic (#5099)
* feat: product analytic

* chore: remove comment
2025-05-25 17:25:03 +07:00
Faisal Amir
484caf04aa
feat: file upload thumbnail (#5088) 2025-05-25 01:10:21 +07:00
Faisal Amir
0df92d8bda
fix: broken ui download count when leftpanel close (#5089) 2025-05-25 01:10:07 +07:00
Faisal Amir
a29152aa76
fix: text component scaling (#5090)
* fix: text component scaling

* chore: update scaling text xs to 0.75
2025-05-25 01:09:07 +07:00
Faisal Amir
3443c42947
fix: copy icon indicator when success (#5091) 2025-05-25 01:08:06 +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
bed0f98beb
fix: hidden date when value 0 (#5079) 2025-05-23 11:12:11 +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
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
aba75a7d2c
fix: allow dialog triggered by tooltip (#5066) 2025-05-22 15:52:29 +07:00
Faisal Amir
d3c6d7cfaa
enhancement: wrap long line codeblock (#5069) 2025-05-22 15:52:17 +07:00
Faisal Amir
12ad61aaa8
enhancement: show assistant info on message (#5064) 2025-05-22 14:45:58 +07:00
Faisal Amir
dde4e97d8b
enhance: setup screen redirect to hub (#5061) 2025-05-22 11:55:34 +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
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
80cfd57dbd chore: cleanup unused code 2025-05-21 23:52:30 +07:00
Faisal Amir
974f7901e6 feat: add assistant emoji picker 2025-05-21 23:45:49 +07:00
Faisal Amir
fa1a71cc01 chore: copy update 2025-05-21 22:38:19 +07:00
Faisal Amir
9d5e670344 enhancement: message toolbar using tooltip 2025-05-21 22:38:19 +07:00
Sam Hoang Van
ad962c2cf6
feat(webapp): Replace Fuse.js with Fzf for thread search and enhance highlighting (#5052)
This commit replaces Fuse.js with Fzf for client-side thread searching
within the web application, offering potentially improved performance and
a different fuzzy matching algorithm.

Key changes include:

- Updated `package.json` to remove `fuse.js` and add `fzf`.
- Refactored `useThreads.ts` hook:
    - Replaced Fuse.js instantiation and search logic with Fzf.
    - Integrated a new `highlightFzfMatch` utility to return thread
      titles with HTML highlighting for matched characters.
- Created `utils/highlight.ts` for the `highlightFzfMatch` function.
- Updated `ThreadList.tsx`:
    - Renders highlighted thread titles using `dangerouslySetInnerHTML`.
    - Ensures the rename functionality uses and edits a plain text
      version of the title, stripping any highlight tags.
- Updated `index.css`:
    - Modified the `.search-highlight` class to use `font-bold` and
      `color-mix(in srgb, currentColor 80%, white 20%)` for a
      subtly brighter text effect on highlighted matches, replacing
      previous styling.

This provides a more robust search experience with clear visual feedback
for matched terms in the thread list.
2025-05-21 22:31:01 +07:00
Sam Hoang Van
4b77548eb9
Fix/thread sorted and drag drop (#5046)
Modified the `onDragEnd` handler in `ThreadList.tsx` to use the complete global thread list from the `useThreads` store. This resolves a bug where dragging and dropping threads could lead to items disappearing from "Favorites" or "Recents" sections by ensuring the reordering logic operates on the full dataset.

Additionally, the default `order: 1` initialization for new threads in `useThreads.ts` and `services/threads.ts` has been commented out this make thread sorted by newest to oldest
2025-05-21 12:42:29 +07:00
Louis
6676e0ced8
chore: add relocate jan data folder function to new FE (#5043)
* chore: typo

* fix: linter issues

* chore: fix linter

* chore: fix linter

* chore: add relocate data folder
2025-05-21 10:48:10 +07:00
Faisal Amir
c0cef78ef2 chore: add inline message chat input 2025-05-20 21:36:19 +07:00
David
22298f46a3
Merge pull request #5030 from samhvw8/fix/type-rename-thread
fix: type rename thread
2025-05-20 17:36:22 +07:00
sam hoang
06ba2f178b chore: update dialog title from "Rename Title" to "Rename Thread" 2025-05-20 14:45:44 +07:00
Faisal Amir
421c24bf4b
Merge pull request #5036 from menloresearch/chore/auto-focus-chat-input
chore: fix auto focus chat input
2025-05-20 14:42:14 +07:00
Louis
d5393e4563
feat: add custom OpenAI provider (#5033)
* feat: add custom OpenAI provider

* chore: add HF token setting

* chore: move HF token setting to llama.cpp provider - later deprecate model extension
2025-05-20 14:30:51 +07:00
Faisal Amir
adc90167d4 chore: fix auto focus chat input 2025-05-20 14:29:44 +07:00
Louis
46943a1cf7
chore: token speed and edit message (#5031)
* chore: add token speed measurement

* chore: add edit message handler

* chore: add DialogClose wrapper around save button
2025-05-20 14:09:25 +07:00
Faisal Amir
76827d42f5
Merge pull request #5032 from menloresearch/chore/model-loading
chore: model loading and truncate dropdown assiatant title
2025-05-20 12:44:51 +07:00
Faisal Amir
d95439e3f4 chore: update copy 2025-05-20 12:21:30 +07:00
Faisal Amir
ead591d3b8
Merge pull request #5029 from menloresearch/chore/hardware
chore: add setting hardware
2025-05-20 11:30:03 +07:00
Faisal Amir
97728734a7 chore: model loading and truncate dropdown assiatant title 2025-05-20 11:29:18 +07:00
Faisal Amir
4c50ebfe0a chore: add setting hardware 2025-05-20 10:43:36 +07:00
vansangpfiev
837d3ab0e3
chore: remove electron nightly/manual (#5027)
* chore: remove electron nightly/manual

* chore: change nightly pull request branch
2025-05-20 10:22:13 +07:00
Louis
9047d0df4f
chore: remove unnecessary imports 2025-05-20 09:42:34 +07:00
Louis
2dac53e9ca
feat: Jan supports multiple assistants (#5024)
* feat: Jan supports multiple assistants

* chore: persists current assistant to threads.json

* chore: update assistant persistence

* chore: simplify persistence objects
2025-05-20 00:57:26 +07:00
Louis
f6433544af
feat: handle stop streaming message, scroll to bottom and model loads (#5023) 2025-05-19 23:32:55 +07:00
Faisal Amir
afb8ff716a chore: add functiond delete and params type assistant 2025-05-19 22:47:57 +07:00
vansangpfiev
90da49f873
chore: add some ts-ignore to make tauri build works (#5010)
* chore: add some ts-ignore to make build works

* chore: remove tauri build nightly script

* chore: update core package.json

* chore: fix build

* chore: add devtools for tauri beta, nightly

* chore: change transport-sse to transport-sse-server

* chore: comment out dll files

* chore: add ts-ignore

* chore: update nightly CI
2025-05-19 14:49:03 +07:00
Faisal Amir
1507f220e5 chore: cleanup whitespace left panel on thread list 2025-05-19 13:55:46 +07:00
Faisal Amir
1c81e5a95e chore: remove lock 2025-05-19 13:00:28 +07:00
Faisal Amir
1435cd3162 chore: add functional use button when download complete 2025-05-19 12:35:18 +07:00
Faisal Amir
53f5729674 chore: update hub progress download, added toaster 2025-05-19 11:17:16 +07:00
Louis
2345ff172d
chore: update model handlers on the new frontend (#5011)
* chore: provide model handlers to new frontend

* chore: add API server function to the new front end
2025-05-19 10:39:43 +07:00
Louis
74c2c59c90
chore: handle chat functions (#5009) 2025-05-18 20:41:10 +07:00
Louis
c1091ce812
feat: new frontend with model download function (#5008) 2025-05-18 20:00:17 +07:00