Xubin Ren
e971e81b6c
refactor(webui): expand model preset editor inline
2026-08-07 12:42:37 +08:00
Xubin Ren
ada07aa799
feat(webui): add responsive model preset detail pane
2026-08-07 12:42:37 +08:00
chengyongru and chengyongru
2c7943a133
fix(memory): archive short idle sessions for Dream
2026-08-07 11:45:49 +08:00
chengyongru and chengyongru
8dfce4c162
fix(session): require user anchor for delivery retention
2026-08-07 10:53:55 +08:00
ziuus and chengyongru
60282d1588
fix(session): preserve proactive channel delivery during session retention trimming
2026-08-07 10:53:55 +08:00
Xubin Ren
c2fd41b44d
fix(webui): persist large sidebar ordering state
2026-08-06 19:11:05 +08:00
Xubin Ren
1d290614c9
fix(webui): align composer mention metrics
2026-08-06 19:11:05 +08:00
Xubin Ren
9af6bb91c7
fix(webui): preserve session drag contracts
2026-08-06 19:11:05 +08:00
Xubin Ren
f44a766f98
feat(webui): preview dragged session mentions
2026-08-06 19:11:05 +08:00
Xubin Ren
9cf6cf0639
feat(webui): persist manual session ordering
2026-08-06 19:11:05 +08:00
Xubin Ren
2c8e63446f
feat(webui): drag sessions into composer mentions
2026-08-06 19:11:05 +08:00
Orrin Witt and GitHub
5c4c2cb819
fix(matrix): send non-empty POST body on room join for Continuwuity compatibility ( #5248 )
2026-08-06 18:29:57 +08:00
chengyongru and chengyongru
223b911e7e
fix(webui): tighten interactive motion
2026-08-06 18:28:45 +08:00
chengyongru and GitHub
a95fd0ee82
perf(webui): reduce cold-start payload ( #5262 )
2026-08-06 13:24:34 +08:00
chengyongru and GitHub
67805f5db8
feat: add provider-native request switches ( #5254 )
2026-08-05 18:26:39 +08:00
chengyongru and GitHub
5a1ab44baa
fix(whatsapp): detect outbound media content before dispatch ( #5203 )
2026-08-05 15:44:23 +08:00
chengyongru and GitHub
9098ffd38f
refactor(webui): improve visual consistency ( #5249 )
2026-08-05 13:24:45 +08:00
chengyongru and chengyongru
a54d5d14cb
fix(webui): feather clipped activity edges
2026-08-05 11:10:46 +08:00
chengyongru and GitHub
6e9ae5bd05
refactor(session): remove request-scoped access grants ( #5238 )
2026-08-05 10:18:46 +08:00
Xubin Ren and chengyongru
858f6d96a6
fix(mattermost): preserve thread policy compatibility
2026-08-05 09:31:55 +08:00
Kenneth Zhao and chengyongru
cd4c1d0f6e
feat(mattermost): separate group policy for threads vs channels
2026-08-05 09:31:55 +08:00
Xubin Ren
be5af019b9
fix(wecom): sanitize fallback media filename
2026-08-04 22:04:21 +08:00
santhreal and Xubin Ren
98507ae4fe
fix(wecom): fallback to default filename when sanitize strips to empty
2026-08-04 22:04:21 +08:00
concertypin and Xubin Ren
cb2f9d0bbd
fix(webui): configure public websocket URL
2026-08-04 21:53:16 +08:00
concertypin and Xubin Ren
e318e21cad
fix(webui): require proxy-generated auth assertions
2026-08-04 21:53:16 +08:00
concertypin and Xubin Ren
465a918cf8
feat(webui): bypass tokens for trusted proxy auth
2026-08-04 21:53:16 +08:00
concertypin and Xubin Ren
5cd14a42df
feat(webui): support trusted proxy bootstrap auth
2026-08-04 21:53:16 +08:00
santhreal and Xubin Ren
170c7083ed
fix(telegram): require newline for language tag to preserve single-line fenced code
2026-08-04 21:40:03 +08:00
santhreal and Xubin Ren
a13e29bf07
fix(telegram): preserve code block content when language tag contains special characters
2026-08-04 21:40:03 +08:00
chengyongru and GitHub
5770329542
fix(webui): render markdown in prompt rail previews ( #5244 )
2026-08-04 18:24:54 +08:00
chengyongru and chengyongru
29fdb7d628
fix(webui): align timestamp tooltip styles
2026-08-04 18:22:12 +08:00
Xubin Ren
fa65a01977
refactor(webui): narrow floating control migration
2026-08-04 18:05:34 +08:00
Xubin Ren
28ec8a1b47
fix(webui): correct combobox navigation semantics
2026-08-04 18:05:34 +08:00
Xubin Ren
3b4a056947
chore(webui): sync npm lockfile
2026-08-04 18:05:34 +08:00
Xubin Ren
7819cef7bd
refactor(webui): unify floating controls
2026-08-04 18:05:34 +08:00
chengyongru and chengyongru
faff0ac2fa
fix(webui): align automation metadata with timestamps
2026-08-04 17:46:24 +08:00
chengyongru and chengyongru
f45436b61d
fix(commands): reject invalid slash commands
2026-08-04 17:11:44 +08:00
chengyongru and GitHub
287fd88fe4
fix(webui): refine inline token highlights ( #5241 )
2026-08-04 16:40:41 +08:00
chengyongru and GitHub
2fe135db3e
feat(webui): add integrated Vite dev mode ( #5239 )
2026-08-04 16:14:32 +08:00
chengyongru and GitHub
4e8702a47b
fix(anthropic): support Opus 5 effort controls ( #5236 )
2026-08-04 13:38:54 +08:00
Xubin Ren
d99f589a59
refactor(session): clarify reference boundaries
2026-08-04 12:14:51 +08:00
Xubin Ren
d8aeb0eb2c
refactor(session): simplify cross-session flow
2026-08-04 12:14:51 +08:00
Xubin Ren
62d34b5eb7
refactor(session): tighten cross-session access
2026-08-04 12:14:51 +08:00
Xubin Ren
f15ea84dd1
fix(session): enforce trusted read scope
2026-08-04 12:14:51 +08:00
Xubin Ren
4c07c40b34
feat(session): link agent references
2026-08-04 12:14:51 +08:00
Xubin Ren
cf01978e71
feat(webui): link session mentions
2026-08-04 12:14:51 +08:00
Xubin Ren
5dd3dc5450
fix(session): harden cross-session references
2026-08-04 12:14:51 +08:00
Xubin Ren
9b25da7b92
feat(session): add cross-session references
2026-08-04 12:14:51 +08:00
chengyongru and chengyongru
44b7e1bf41
fix(providers): keep serde errors explicit
2026-08-03 18:06:45 +08:00
arcdrake22 and chengyongru
6eda67b50c
fix(providers): keep reasoning items wire-valid for DeepSeek Responses
...
convert_messages() emitted reasoning items with ``content`` as a plain
string whenever preserve_reasoning was enabled (the DeepSeek spec).
DeepSeek's Responses gateway rejects that shape with a serde error
("input: invalid type: string ..., expected a sequence"), which surfaced
only after token consolidation cleared provider_state and forced the
full-history conversion path; replayed server items already carry list
content, which is why normal multi-turn requests never failed. Serialize
reasoning content as a list of output_text parts, matching the OpenAI
Responses schema and DeepSeek's accepted wire shape (verified live against
api.deepseek.com/responses).
The serde fallback classifier introduced in the previous commit remains as
a last-resort safeguard for any remaining wire incompatibility.
Tests: extend test_preserves_deepseek_reasoning_content to the array shape;
add a full-history regression with the observed failing item, a
replay/consolidation regression covering both replayed and converted
reasoning items, and provider-level request fixtures for both paths.
Full suite: 5773 passed, 22 skipped (only the known local-only
channels/sms packaging failure remains).
2026-08-03 18:06:45 +08:00