6510 Commits

Author SHA1 Message Date
Faisal Amir
3bbce97329
Merge pull request #6559 from menloresearch/fix/layout-ability-model
fix: layout ability model
2025-09-23 16:13:33 +07:00
Louis
8a51cc1656
feat: add azure as first class provider (#6555)
* feat: add azure as first class provider

* fix: deployment url
2025-09-23 16:09:06 +07:00
Faisal Amir
3133d40081 fix: layout ability model 2025-09-23 15:27:41 +07:00
Dinh Long Nguyen
df61546942
feat: web remote conversation (#6554)
* feat: implement conversation endpoint

* use conversation aware endpoint

* fetch message correctly

* preserve first message

* fix logout

* fix broadcast issue locally + auth not refreshing profile on other tabs+ clean up and sync messages

* add is dev tag
2025-09-23 15:09:45 +07:00
Faisal Amir
2f85f214ea chore: update feedback #1 2025-09-23 13:29:28 +07:00
Faisal Amir
3c004819ca
Update docs/src/pages/_meta.json
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-09-23 12:49:55 +07:00
Faisal Amir
9a936ef826
Update docs/src/components/ui/dropdown-button.tsx
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-09-23 12:49:39 +07:00
Faisal Amir
d2c86801b4 enhancement: migrate handbook and janv2 2025-09-23 12:45:57 +07:00
Louis
292941e1d0
fix: prevent relocation to root directories (#6547)
* fix: prevent relocation to root directories

* Update web-app/src/locales/zh-TW/settings.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-09-23 10:16:11 +07:00
Alexey Haidamaka
5adc0d9d46
add full-width model names (#6350) 2025-09-23 10:14:21 +07:00
Louis
568ee857d5
fix: custom fetch for all providers (#6538)
* fix: custom fetch for all providers

* fix: run in development should use built-in fetch
2025-09-23 09:55:36 +07:00
Akarshan Biswas
885da29f28
feat: add getTokensCount method to compute token usage (#6467)
* feat: add getTokensCount method to compute token usage

Implemented a new async `getTokensCount` function in the LLaMA.cpp extension.
The method validates the model session, checks process health, applies the request template, and tokenizes the resulting prompt to return the token count. Includes detailed error handling for crashed models and API failures, enabling callers to assess token usage before sending completions.

* Fix: typos

* chore: update ui token usage

* chore: remove unused code

* feat: add image token handling for multimodal LlamaCPP models

Implemented support for counting image tokens when using vision-enabled models:
- Extended `SessionInfo` with optional `mmprojPath` to store the multimodal project file.
- Propagated `mmproj_path` from the Tauri plugin into the session info.
- Added import of `chatCompletionRequestMessage` and enhanced token calculation logic in the LlamaCPP extension:
- Detects image content in messages.
- Reads GGUF metadata from `mmprojPath` to compute accurate image token counts.
- Provides a fallback estimation if metadata reading fails.
- Returns the sum of text and image tokens.
- Introduced helper methods `calculateImageTokens` and `estimateImageTokensFallback`.
- Minor clean‑ups such as comment capitalization and debug logging.

* chore: update FE send params message include content type image_url

* fix mmproj path from session info and num tokens calculation

* fix: Correct image token estimation calculation in llamacpp extension

This commit addresses an inaccurate token count for images in the llama.cpp extension.

The previous logic incorrectly calculated the token count based on image patch size and dimensions. This has been replaced with a more precise method that uses the clip.vision.projection_dim value from the model metadata.

Additionally, unnecessary debug logging was removed, and a new log was added to show the mmproj metadata for improved visibility.

* fix per image calc

* fix: crash due to force unwrap

---------

Co-authored-by: Faisal Amir <urmauur@gmail.com>
Co-authored-by: Louis <louis@jan.ai>
2025-09-23 07:52:19 +05:30
hiento09
05e58cffe8
chore: add ci for web stag (#6550) 2025-09-23 01:58:48 +07:00
Akarshan Biswas
bf7f176741
feat: Prompt progress when streaming (#6503)
* feat: Prompt progress when streaming

- BE changes:
    - Add a `return_progress` flag to `chatCompletionRequest` and a corresponding `prompt_progress` payload in `chatCompletionChunk`. Introduce `chatCompletionPromptProgress` interface to capture cache, processed, time, and total token counts.
    - Update the Llamacpp extension to always request progress data when streaming, enabling UI components to display real‑time generation progress and leverage llama.cpp’s built‑in progress reporting.

* Make return_progress optional

* chore: update ui prompt progress before streaming content

* chore: remove log

* chore: remove progress when percentage >= 100

* chore: set timeout prompt progress

* chore: move prompt progress outside streaming content

* fix: tests

---------

Co-authored-by: Faisal Amir <urmauur@gmail.com>
Co-authored-by: Louis <louis@jan.ai>
2025-09-22 20:37:27 +05:30
Faisal Amir
e1294cdc30
Merge pull request #6529 from menloresearch/enhancement/toaster-delete-mcp
enhancement: toaster delete mcp server
2025-09-22 21:12:02 +07:00
Faisal Amir
6373625206
Update web-app/src/index.css
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-09-22 21:04:24 +07:00
Faisal Amir
47b7509d2e remove gen android 2025-09-22 20:59:35 +07:00
Faisal Amir
04e81ba20e chore: update height of thread detail 2025-09-22 20:55:33 +07:00
Faisal Amir
5c4ce729f7 chore: update checking platform using config isntead navigation agent 2025-09-22 20:32:09 +07:00
Louis
0d2c99a413
fix: prevent consecutive messages with same role (#6544)
* fix: prevent consecutive messages with same role

* fix: tests

* fix: first message should not be assistant

* fix: tests
2025-09-22 19:27:45 +07:00
nngostuds
c327622a6c Add server docs
Add server docs
2025-09-22 17:29:02 +07:00
LazyYuuki
ccce3b24e1 🔧 chore: re-arrange the folder structure 2025-09-22 17:23:29 +08:00
Faisal Amir
e3c29277f3 chore: update chatscreen padding 2025-09-22 15:55:07 +07:00
Faisal Amir
f639ec70d4 enhancement: fit mobile layout 2025-09-22 15:06:11 +07:00
Louis
b0b84b7eda
Merge pull request #6475 from menloresearch/feat/bump-tokenjs
feat: fix remote provider vision capability
2025-09-22 14:37:26 +07:00
Nghia Doan
a418574841
Merge pull request #6540 from menloresearch/mobile/thinning_app
feat: Configure iOS to use frontDist to independently build
2025-09-22 11:49:13 +07:00
Vanalite
6d131f8cbb fix: Remove redundant yarn command for ios dev build 2025-09-22 11:35:19 +07:00
Nguyen Ngoc Minh
8cdb021b3d
Merge pull request #6518 from menloresearch/chore/update-build-tauri
chore: update build tauri commands
2025-09-22 11:32:01 +07:00
Vanalite
8e1654961a chore: Configure iOS to use the same build mechanic to remove unnecessary plugin 2025-09-22 11:28:01 +07:00
Vanalite
003598204e Merge remote-tracking branch 'origin/dev' into mobile/dev
# Conflicts:
#	src-tauri/.cargo/config.toml
#	src-tauri/Cargo.toml
#	src-tauri/src/lib.rs
#	web-app/src/containers/__tests__/ChatInput.test.tsx
#	web-app/src/routeTree.gen.ts
#	web-app/src/routes/index.tsx
#	web-app/src/routes/threads/$threadId.tsx
#	yarn.lock
2025-09-22 11:24:20 +07:00
LazyYuuki
48ddc20026 feat: Re-arrange docs as needed 2025-09-21 19:24:48 +08:00
Bui Quang Huy
361c9eeff4
Merge pull request #6524 from menloresearch/docs/update-changelog
docs: update changelog for v0.6.10
2025-09-19 18:08:47 -07:00
Bui Quang Huy
b6169a48e6
Update 2025-09-18-auto-optimize-vision-imports.mdx 2025-09-20 09:04:11 +08:00
Faisal Amir
29862435ab
Merge pull request #6526 from github-roushan/fix-number-input
fix(number-input): preserve '0.0x' format when typing (#6520)
2025-09-19 23:25:22 +07:00
Faisal Amir
ec425163d3 enhancement: toaster delete mcp server 2025-09-19 23:25:01 +07:00
Akarshan Biswas
991bbec53a
fix: Typo in openapi JSON (#6528) 2025-09-19 12:53:39 +05:30
Nguyen Ngoc Minh
e1fa60be99
Merge pull request #6527 from menloresearch/docs/update-url-for-gif-and-videos
docs: update url for gifs and videos
2025-09-19 14:22:12 +07:00
Minh141120
465544cc2c chore: update url for jan-v1 docs 2025-09-19 14:17:23 +07:00
Minh141120
4694ab8350 docs: update url for gifs and videos 2025-09-19 14:10:59 +07:00
Roushan Singh
ae2532d40d fix(number-input): preserve '0.0x' format when typing (#6520) 2025-09-19 11:36:06 +05:30
Bui Quang Huy
2c251d0cef
Merge branch 'dev' into docs/update-changelog 2025-09-18 22:00:27 -07:00
Louis
6bd64409e8
fix: thread rerender issue (#6515)
* fix: thread rerender issue

* chore: clean up console log

* chore: uncomment irrelevant fix

* fix: linter

* chore: remove duplicated block

* fix: tests

* fix: reduce unnessary rerender due to current thread retrieval

* fix: reduce app layout rerender due to router state update

* fix: avoid the entire app layout re render on route change

* clean: unused import

* fix: should not rerender thread message components when typing

* fix re render issue

* direct tokenspeed access

* chore: sync latest

* fix: tests

* fix: linter

* fix: build

---------

Co-authored-by: Dinh Long Nguyen <dinhlongviolin1@gmail.com>
2025-09-19 11:50:46 +07:00
Minh141120
162e0ef378 docs: update changelog for v0.6.10 2025-09-19 11:47:01 +07:00
Louis
0f349f4b8c
fix: build 2025-09-19 11:13:39 +07:00
Louis
1ec9c29df6
fix: linter 2025-09-19 11:08:37 +07:00
Louis
3d8cfbf99a
fix: tests 2025-09-19 10:56:25 +07:00
Akarshan Biswas
d1a8bdc4e3
feat: Add Jan API server Swagger UI (#6502)
* feat: Add Jan API server Swagger UI

- Serve OpenAPI spec (`static/openapi.json`) directly from the proxy server.
- Implement Swagger UI assets (`swagger-ui.css`, `swagger-ui-bundle.js`, `favicon.ico`) and a simple HTML wrapper under `/docs`.
- Extend the proxy whitelist to include Swagger UI routes.
- Add routing logic for `/openapi.json`, `/docs`, and Swagger UI static files.
- Update whitelisted paths and integrate CORS handling for the new endpoints.

* feat: serve Swagger UI at root path

The Swagger UI endpoint previously lived under `/docs`. The route handling and
exclusion list have been updated so the UI is now served directly at `/`.
This simplifies access, aligns with the expected root URL in the Tauri
frontend, and removes the now‑unused `/docs` path handling.

* feat: add model loading state and translations for local API server

Implemented a loading indicator for model startup, updated the start/stop button to reflect model loading and server starting states, and disabled interactions while pending. Added new translation keys (`loadingModel`, `startingServer`) across all supported locales (en, de, id, pl, vn, zh-CN, zh-TW) and integrated them into the UI. Included a small delay after model start to ensure backend state consistency. This improves user feedback and prevents race conditions during server initialization.
2025-09-19 09:11:55 +05:30
Louis
c9d165e65c
Merge branch 'dev' into fix/thread-rerender-issue 2025-09-19 10:34:08 +07:00
Louis
ebb6837437 chore: sync latest 2025-09-19 10:30:03 +07:00
Dinh Long Nguyen
4cfc88ae95 direct tokenspeed access 2025-09-18 23:28:05 +07:00