matevip
a3e6724cf4
fix(chat): channel conversation sync + running indicator
...
- ChannelMessageRouter: include assistantMessageId in message_complete
and done broadcasts so ChatConsole observers can reconcile the
streaming placeholder to the persisted DB row by id instead of
falling back to the FIFO 'claim' heuristic (which occasionally
dropped the assistant bubble on external channel conversations).
Capture the id from ConversationService.saveMessage in both the
sync agentService.chat path and the streaming processWithStreaming
path; switch to HashMap since Map.of rejects null values when save
is skipped (e.g. under approval).
- ChatConsole: add a 'running' indicator on the sidebar so users can
tell which conversations have an in-flight agent run. Pulsing amber
dot on the channel icon (both expanded and collapsed modes) plus a
'生成中…' / 'Generating…' pill in expanded mode.
- ChatConsole: don't cancel the previous conversation's streaming run
when switching conversations — let it keep running in the background
and reconcile when the user comes back.
2026-04-17 10:03:56 +08:00
matevip
b35c29767c
feat(chat): realtime sync for external channel conversations
2026-04-17 08:25:32 +08:00
matevip
8fbe30d7ac
feat(auth): password change dialog + workspace member provisioning improvements
2026-04-17 00:11:10 +08:00
matevip
c4883e108c
fix(llm): pre-filter non-chat DashScope modalities + quieter probe logging
2026-04-16 18:15:48 +08:00
matevip
adfe23cd2c
fix(llm): classify DashScope 'url error' as client error + broaden dot-version purge
2026-04-16 18:15:35 +08:00
matevip
8a25d723f0
fix(chat): reset stale stopRequested flag on new stream register
2026-04-16 18:13:34 +08:00
matevip
ba086d75f2
fix(llm): purge unavailable DashScope models + protocol-aware discovery probe
2026-04-16 18:13:13 +08:00
matevip
b3c6b5a654
fix(wiki): sub-segment mean-pool embedding for chunks exceeding model token limit
2026-04-16 17:12:17 +08:00
matevip
c6cc61f546
fix(migration): add missing id column to V14 system_setting insert
2026-04-16 17:12:08 +08:00
matevip
25978ceb12
feat(llm): UI-configurable embedding models with per-KB binding and dynamic factory
2026-04-16 17:12:00 +08:00
matevip
04ad281ffd
fix(skill): use getModel instead of nonexistent getById in SkillSynthesisService
2026-04-16 17:11:46 +08:00
matevip
1fdf87b31e
feat(wiki): semantic hybrid search + chunk persistence + deep research pipeline
2026-04-16 17:11:31 +08:00
matevip
a6e9a17208
feat(skill): Agent-autonomous skill synthesis — create/edit/patch via @Tool with security scanning
2026-04-16 17:10:59 +08:00
matevip
7d8d16e458
feat: 5 defensive hardenings
...
- ConversationWindowManager: cap reserve token at 50% of effective max
to prevent negative historyBudget on small-context models (8K/16K)
- common.security.SecretEquals: new constant-time comparison utility
(MessageDigest.isEqual wrapper) for secrets/tokens/signatures
- WeixinChannelAdapter: migrate context_token comparison to SecretEquals
- FeishuChannelAdapter: fail-fast on empty encrypt_key when connection_mode=webhook
- TelegramChannelAdapter: sanitize attachment captions — strip control bytes
(\p{Cc} except \t\r\n) + format chars (\p{Cf}) + 4096 char cap
- AgentGraphBuilder: fallback Anthropic max_tokens to 4096 on null/0/negative
Tests: SecretEqualsTest (5) + TelegramCaptionSanitizeTest (5) — all green.
2026-04-15 22:14:55 +08:00
matevip
52f5a38654
fix(flyway): renumber V9__hook_system.sql to V10 to resolve version collision
2026-04-15 16:51:46 +08:00
matevip
4a4b39249e
chore(channel): remove stale external-reference comments; fix(wiki): canonical slug lookup on merge path
2026-04-15 16:44:02 +08:00
matevip
a3373ef906
fix(wiki): show reprocess button for partial materials
2026-04-15 11:18:40 +08:00
matevip
1dbacb6b68
chore: remove orphan brand-experiment SVG
2026-04-15 10:38:59 +08:00
matevip
ef8120413c
feat(wiki): real-time SSE progress + parallel page generation + partial-resume; fix concurrent slug collisions; fix skill overwrite + hub retry
2026-04-15 10:34:11 +08:00
matevip
2a2f862257
feat(wiki): per-raw progress bar in raw-material card (RFC-012 M2 v2 UI)
2026-04-14 18:56:45 +08:00
matevip
f285db22d0
fix(wiki): surface LLM root cause + fail fast on DNS/TLS/refused (RFC-012 M1 follow-up v2)
2026-04-14 18:24:49 +08:00
matevip
62ac1fb79c
fix(wiki): route emits metadata only; per-page create + merge in phase B (RFC-012 M2 v2)
2026-04-14 18:11:35 +08:00
matevip
26d45b0e35
fix(agent): use JdkClientHttpRequestFactory for LLM RestClient (gzip + HTTP/2)
2026-04-14 17:53:44 +08:00
matevip
4fb6a83eb6
feat(wiki): two-phase digest — route + per-page merge (RFC-012 M2)
2026-04-14 17:39:50 +08:00
matevip
a369e8055d
fix(wiki): bound LLM retry + http read timeout (RFC-012 M1 follow-up)
2026-04-14 16:05:37 +08:00
matevip
b9ed8219ba
feat(wiki): parallel processing + resilient LLM retry + hash-based skip (RFC-012 M1)
2026-04-14 15:18:03 +08:00
matevip
aa439b6a3a
fix: remove accidentally committed data directory (H2 runtime files)
2026-04-13 18:42:26 +08:00
matevip
0adb3dddf1
feat(plugin): Plugin SDK + UI layout improvements
2026-04-13 18:38:03 +08:00
matevip
97e101ab52
feat(channel): auto-start on create, multi-account UX, wecom mixed message
2026-04-13 17:10:34 +08:00
matevip
881badd15f
feat(channel): weixin voice ASR fallback, wecom mixed message handling
2026-04-13 16:38:09 +08:00
matevip
d5e3502829
fix(wiki): backend hardening + batch delete UI
2026-04-13 15:37:12 +08:00
matevip
e4679796b8
feat(wiki): performance + quality + delete redesign (RFC-008)
2026-04-13 09:35:26 +08:00
matevip
80b7b8e126
feat(agent): multi-agent delegation with parallel execution (RFC-004)
2026-04-12 23:40:27 +08:00
matevip
46f77c281b
fix(agent): complete RFC-001 — Anthropic thinking, iteration budget, UI fixes
2026-04-12 17:28:15 +08:00
matevip
2a8b90365b
feat(agent): add deep thinking toggle (RFC-001)
2026-04-12 11:29:32 +08:00
matevip
c60d637e33
chore: bump version to 1.1.0-SNAPSHOT for v1.1 development
2026-04-12 10:00:27 +08:00
matevip
a5a3d16498
docs(rfcs): add 7 RFCs for v1.1 roadmap and update sync guide
2026-04-12 09:43:57 +08:00
matevip
379422101c
refactor(ui): minimalist login redesign, MCP fixes, Flyway upgrade compatibility
2026-04-11 23:01:08 +08:00
matevip
4f217dfc2c
release: v1.0.418 — UI redesign, workspace isolation, backend i18n
2026-04-11 20:30:14 +08:00
matevip
d35050e75b
release: v1.0.418
2026-04-11 19:57:58 +08:00
matevip
b613a5de11
feat(tool): add CronJobTool for chat-based scheduled tasks + Flyway V2/V3 migrations
2026-04-11 19:51:28 +08:00
matevip
b3c1f8403d
feat(skill): add ZIP file import for skill installation
2026-04-11 19:29:01 +08:00
matevip
d3b72929c7
fix(security): login rate limiting, SQL injection fix, error boundary
2026-04-11 18:31:51 +08:00
matevip
8dbb437e40
fix(security): remove debug console.log and hide internal error details
2026-04-11 18:26:41 +08:00
matevip
fe83b72d67
fix(security): harden JWT, CORS, and H2 Console for production
2026-04-11 18:21:17 +08:00
matevip
c619ffee4e
fix(ui): prevent modals from closing on backdrop click
2026-04-11 18:06:48 +08:00
matevip
408ad980dd
feat(i18n): complete remaining i18n — DefaultToolGuard, LLM/Datasource services, Channels UI
2026-04-11 18:02:03 +08:00
matevip
af9addaaec
feat(i18n): structured i18n keys for exceptions and auto-translate 100+ error messages
2026-04-11 17:52:25 +08:00
matevip
81ff1bf491
feat(i18n): complete backend i18n — guard rules, tool errors, response codes
2026-04-11 17:26:58 +08:00
matevip
e662cce91a
fix(chat): improve thinking segment display and message bubble rendering
2026-04-11 17:09:25 +08:00