chengyongru and chengyongru
6c0f151f6e
fix(webui): polish responsive layout
2026-07-23 18:22:02 +08:00
chengyongru and GitHub
4b1547db7d
style(webui): unify settings and dark mode surfaces ( #5058 )
2026-07-23 17:47:20 +08:00
chengyongru and GitHub
96eb965aae
feat(webui): show the actual fallback model ( #5017 )
2026-07-23 15:57:13 +08:00
chengyongru and GitHub
9cf2fb19c2
feat(xai): surface hosted X Search activity ( #5050 )
2026-07-23 13:42:09 +08:00
Xubin Ren
536e8db324
refactor(webui): remove unused picker styling hooks
2026-07-23 12:42:24 +08:00
Xubin Ren
2f4f00bb9f
refactor(image): reuse the model picker
2026-07-23 12:42:24 +08:00
Xubin Ren
8bd951a06f
test(image): update model picker assertion
2026-07-23 12:42:24 +08:00
Xubin Ren
e875f29185
fix(image): allow custom model ids
2026-07-23 12:42:24 +08:00
Xubin Ren
1616fa9f14
feat(image): apply generation settings live
2026-07-23 12:42:24 +08:00
chengyongru and GitHub
c7393c785e
feat(providers): add xAI Grok OAuth with capability-gated X Search ( #5035 )
2026-07-23 11:55:16 +08:00
chengyongru and GitHub
c22efb5f7a
feat(agent): make model presets session-scoped ( #4866 )
2026-07-23 00:38:49 +08:00
Xubin Ren
aa8387fb4d
feat(webui): polish agent output and app discovery
2026-07-22 22:42:31 +08:00
chengyongru and chengyongru
4cd6eb6c38
fix(webui): avoid mobile welcome composer overlap
2026-07-22 15:55:09 +08:00
chengyongru and GitHub
254497c02e
fix(webui): improve mobile composer layout ( #5030 )
2026-07-22 14:59:56 +08:00
chengyongru and GitHub
96abb4d2c4
style(webui): clarify surface hierarchy ( #5029 )
2026-07-22 14:33:58 +08:00
chengyongru and GitHub
63bc6e98a7
fix(webui): detect Chrome voice recording support ( #5027 )
2026-07-22 14:10:09 +08:00
chengyongru and GitHub
7bf7469d90
feat(webui): show pin indicators for pinned chats ( #5025 )
2026-07-22 11:47:45 +08:00
yrk and Xubin Ren
9abad4746e
feat(providers): add ModelScope provider for LLM and image generation
2026-07-22 01:35:20 +08:00
chengyongru and chengyongru
b32d673ead
fix(webui): decouple skill reference rendering
2026-07-21 22:56:04 +08:00
chengyongru and chengyongru
79b89f4f4c
feat(webui): highlight skill references in sent messages
2026-07-21 22:56:04 +08:00
chengyongru and chengyongru
93571149db
fix(webui): prioritize skill names in autocomplete
2026-07-21 15:19:38 +08:00
chengyongru and chengyongru
052f671b3c
fix(webui): keep Markdown table diffs inline
2026-07-21 15:16:12 +08:00
chengyongru and GitHub
76f3eead42
style(webui): simplify Markdown code blocks ( #5002 )
2026-07-20 14:41:23 +08:00
chengyongru and chengyongru
949cfad548
fix(webui): show copy action on every assistant message
2026-07-20 13:51:53 +08:00
chengyongru and GitHub
462a0dfb0f
refactor(channels): make built-in channels self-contained ( #4908 )
...
* refactor(channels): own setup and instance contracts
* refactor(channels): isolate management contracts
* refactor(channels): normalize activation contracts
* fix(channels): enforce management contracts
* refactor(channels): finish setup ownership migration
* fix(channels): harden management contracts
* fix(channels): enforce lazy loading and runtime ownership
* fix(feishu): make multi-instance startup idempotent
* fix(webui): render channel setup contracts cleanly
* fix(feishu): stop websocket clients cleanly
* fix(channels): enforce persistence and activation gates
* fix(channels): preserve global feature action scope
* fix(channels): apply defaults for single plugins
* fix(channels): enforce management contract boundaries
* refactor(feishu): remove identity helper indirection
* fix(channels): preserve management setup contracts
* refactor(channels): generalize instance settings UI
* refactor(channels): package channel plugins with web UI metadata
* refactor(channels): make built-ins self-contained packages
* test(channels): colocate tests with channel packages
* fix(dingtalk): use official brand icon
* feat(channels): colocate webui translations
* docs(channels): clarify plugin ownership
* test(exec): remove output wait race
* refactor(channels): unify plugin descriptors
* fix(channels): enforce descriptor-owned contracts
* refactor(channels): finish package-owned plugin setup
* refactor(channels): use repository-owned packages only
* fix(channels): self-describe dependencies and runtime state
* fix(channels): warn about legacy entry points
2026-07-19 23:30:49 +08:00
bingqilinweimaotai and Xubin Ren
8c68c6fe1e
feat: support Kimi K3
2026-07-18 17:38:32 +08:00
Peter Dave Hello and chengyongru
6de5a0c5ca
Improve zh-TW Traditional Chinese locale
2026-07-18 00:59:05 +08:00
Xubin Ren
b4adb29c2b
feat(webui): support native folder picker bridges
2026-07-17 12:26:03 +08:00
chengyongru and GitHub
ba86dccc8d
fix(webui): correct activity timer duration ( #4649 )
2026-07-15 16:46:05 +08:00
chengyongru and GitHub
5ed28a6744
fix(webui): validate inferred file paths before preview ( #4935 )
2026-07-15 10:45:40 +08:00
chengyongru and GitHub
37165b0db0
feat(webui): highlight slash commands and app mentions ( #4933 )
2026-07-15 00:34:22 +08:00
chengyongru and chengyongru
2116e32013
test: speed up CI and harden the suite
2026-07-15 00:18:37 +08:00
5365bab088
fix(webui): sync package-lock.json for qrcode dependency
...
fe0717b3 ("feat(webui): add guided setup flows") added qrcode and
@types/qrcode to webui/package.json without regenerating the lockfile,
so `npm ci` fails in the Docker build with EUSAGE (Missing: qrcode,
@types/qrcode, dijkstrajs, pngjs, yargs, ...).
Regenerate the lockfile so it matches package.json again.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-14 23:16:21 +08:00
chengyongru and chengyongru
f718c69b2d
feat(webui): add copy action to user messages
2026-07-14 22:41:17 +08:00
chengyongru and GitHub
6c9e3a2cc3
refactor(webui): centralize native runtime access ( #4769 )
2026-07-14 15:00:30 +08:00
chengyongru and GitHub
b7048cf76a
feat(webui): support document attachments with ingress safeguards ( #4771 )
...
* feat: support document attachments in webui
* fix(webui): normalize document attachment MIME
* refactor(webui): move attachment policy out of channel
* fix(webui): reject oversized attachments before send
* fix(webui): align Portuguese attachment errors
* refactor(webui): separate ingress and transport limits
* fix(webui): reject malformed attachment payloads
2026-07-14 14:47:42 +08:00
chengyongru and chengyongru
6b5820ea89
fix(webui): sync localized preboot copy
2026-07-13 23:28:19 +08:00
bill-kopp-ai-dev and chengyongru
1e7518a207
feat(webui): add Brazilian Portuguese (pt-BR) locale
...
Translate the WebUI common.json to pt-BR, register the locale in
config.ts (with normalizeLocale rules for "pt", "pt-BR", "pt-PT", ...)
and index.ts resources, and add a Brazilian Portuguese overview
assertion in i18n.test.tsx.
Notes:
- Generic "pt" and any "pt-*" variant resolve to pt-BR. A future
pt-PT locale can be added without affecting existing users.
- Universally borrowed technical terms (nanobot, BYOK, MCP, JSON,
URL, Web, Apps when used as a product name, Skills) are kept in
English, matching the pattern used by es/fr/ja/ko/vi/id.
- Empty-thread greetings, quick-action prompts, and slash command
descriptions are translated; quick-action prompts are intentionally
phrased so the agent still receives a clear task spec.
Verified with bun run test (536 passing), bun run lint (clean), and
bun run build (7.18s).
2026-07-13 23:28:19 +08:00
Xubin Ren and GitHub
fe0717b385
feat(webui): add guided setup flows
...
* feat(channels): add guided setup flows
* test(channels): preserve setup config values
* fix(channels): reflect saved setup state
* refactor(channels): simplify setup state metadata
* fix(channels): harden setup lifecycle
* refactor(channels): centralize setup contracts
* fix(channels): route setup actions through webui shim
* fix(channels): adapt settings for compact screens
* fix(models): preserve default preset display
* feat(models): add curated Codex catalog
* fix(webui): stop attached gateway on interrupt
* fix(webui): simplify apps catalog
* docs(webui): clarify apps and runtime features
* feat(settings): add guided capability setup
* fix(webui): harden setup and managed services
* test: keep managed runtime checks portable
* test: scope POSIX runtime coverage
* fix(webui): simplify file settings
* feat(files): bundle document reading
* fix(webui): harden setup request boundaries
* fix(webui): prevent channel setup status squeeze
* fix(settings): group provider compatibility aliases
* refactor(settings): remove redundant setup surfaces
* fix(webui): harden guided setup lifecycle
* fix(webui): preserve channel setup compatibility
2026-07-13 13:11:46 +08:00
chengyongru and Xubin Ren
e206ee4e70
refactor(agent): remove legacy image mode prompt injection
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
47d498bab0
fix(webui): disarm queued prompt for voice shortcut
2026-07-11 01:02:14 +08:00
chengyongru and Xubin Ren
04328f8129
feat(webui): guide queued prompt with second Enter
2026-07-11 01:02:14 +08:00
chengyongru and Xubin Ren
137fbf875e
fix(webui): keep syntax highlighting chunks acyclic
2026-07-11 00:57:37 +08:00
chengyongru and Xubin Ren
1ee4349a08
feat(webui): highlight file previews and diffs
2026-07-11 00:57:37 +08:00
sid and Xubin Ren
d32f8961b1
fix(webui): bind landing first message to created chat
2026-07-10 20:19:10 +08:00
Siddhant Londhe and Xubin Ren
e284592649
fix(webui): sync package-lock.json to resolve docker build failure
2026-07-10 19:31:58 +08:00
chengyongru and Xubin Ren
6851a6ebd4
fix(webui): sync file edit display preference
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
7768672c5b
feat: add file edit diff progress view
...
Capture file edit snapshots through runner tool lifecycle hooks and render unified diffs in the WebUI with folding and truncation controls.
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
4ddd639e67
fix(webui): route missing API bootstrap tokens to auth
...
maintainer edit: handle review feedback by treating bootstrap responses without api_token as auth-required, and remove the obsolete issue_token(api_token=...) compatibility path now that API tokens are issued separately.
2026-07-08 21:01:48 +08:00
chengyongru and Xubin Ren
88143a8bf0
fix(webui): gate bootstrap API token issuance
2026-07-08 21:01:48 +08:00