-
5f28605e13
feat: add clipboard paste, multi-image select, and file picker
hailin
2026-02-28 04:32:16 -0800
-
9b467924a0
fix: add attachments JSONB column to conversation_messages schema
hailin
2026-02-28 04:18:35 -0800
-
2c657e2b4c
fix: use NestJS native useBodyParser instead of direct express import
hailin
2026-02-28 04:01:54 -0800
-
b9c3bfdf91
feat: add multimodal image support to Claude Agent SDK engine
hailin
2026-02-28 03:38:59 -0800
-
e4c2505048
feat: add multimodal image input with streaming markdown optimization
hailin
2026-02-28 03:24:17 -0800
-
89f0f6134d
fix: resolve bottom overflow issues in chat page timeline rendering
hailin
2026-02-28 01:38:37 -0800
-
50dbb641a3
fix: comprehensive hardening of agent task cancel/inject/approve flows
hailin
2026-02-27 22:20:46 -0800
-
d5f663f7af
feat: inject-message support for mid-stream task interruption
hailin
2026-02-27 21:33:50 -0800
-
ce4e7840ec
fix: route AgentSkillService to per-tenant schema to match SDK engine
hailin
2026-02-27 21:21:36 -0800
-
f5d9b1f04f
feat: add app upgrade system with self-hosted APK update support
hailin
2026-02-26 22:35:01 -0800
-
3278696f4c
feat: inject tenant skills into agent system prompt
hailin
2026-02-26 20:42:15 -0800
-
3ed20cdf08
refactor: clean up agent SSH setup after fixing host-local routing
hailin
2026-02-26 18:11:44 -0800
-
836d4d2a03
fix: add iproute2 to container for ip route command
hailin
2026-02-26 18:06:35 -0800
-
ae7d9251ec
fix: add route for host-local IP (14.215.128.96) in agent container
hailin
2026-02-26 18:05:30 -0800
-
0dea3f82bc
fix: mount correct SSH key (rwadurian_ed25519) in agent-service
hailin
2026-02-26 13:05:01 -0800
-
f0ad6e09e6
fix: move entrypoint.sh to project root (deploy/ is in .dockerignore)
hailin
2026-02-26 12:14:31 -0800
-
bad7f4802d
fix: use root entrypoint to copy SSH key then drop to appuser
hailin
2026-02-26 12:13:55 -0800
-
329916e1f6
fix: correct SSH key permissions in agent-service container
hailin
2026-02-26 12:00:02 -0800
-
795e8a11c5
feat: enable SSH access from agent-service container
hailin
2026-02-26 11:55:54 -0800
-
36d36acad4
fix: set tenantId when creating credentials in inventory-service
hailin
2026-02-26 10:52:14 -0800
-
51b348e609
feat: complete tenant member management (CRUD + delete tenant)
hailin
2026-02-26 10:00:09 -0800
-
bc7e32061a
fix: improve voice call reconnection robustness
hailin
2026-02-25 07:33:34 -0800
-
57fabb4653
fix: set interleaved=true for PcmPlayer streaming playback
hailin
2026-02-25 06:59:06 -0800
-
e706a4cdc7
fix: enable simultaneous playback + recording in voice call
hailin
2026-02-25 06:48:16 -0800
-
75083f23aa
debug: add TTS send_bytes logging to pipeline
hailin
2026-02-25 06:19:18 -0800
-
5be7f9c078
fix: resample OpenAI TTS output from 24kHz to 16kHz WAV
hailin
2026-02-25 05:38:39 -0800
-
4456550393
feat: lazy-load local TTS/STT models on first request
hailin
2026-02-25 04:38:49 -0800
-
7b71a4f2fc
fix: properly close WebSocket with subscription cancel + fire-and-forget
hailin
2026-02-25 03:45:43 -0800
-
45eb6bc453
fix: use unawaited close to prevent WebSocket reconnect hang
hailin
2026-02-25 03:41:13 -0800
-
3185438f36
fix: close previous WebSocket before opening new connection
hailin
2026-02-25 03:37:16 -0800
-
e02b350043
fix: create /data/claude-tenants dir with appuser ownership in Dockerfile
hailin
2026-02-25 02:52:57 -0800
-
cc0f06e2be
feat: SDK engine native resume with per-tenant HOME isolation
hailin
2026-02-25 02:27:38 -0800
-
2403ce5636
feat: multi-turn conversation context management with session history UI
hailin
2026-02-24 19:04:35 -0800
-
7cda482e49
fix: simplify _dioBinary in voice test page to avoid interceptor conflicts
hailin
2026-02-24 17:57:58 -0800
-
c02c2a9a11
feat: add OpenAI TTS/STT provider support in voice pipeline
hailin
2026-02-24 09:27:38 -0800
-
f7d39d8544
fix: use theme-aware colors in voice test page for dark mode readability
hailin
2026-02-24 09:21:06 -0800
-
f8f0d17820
fix: disable SSL verification for OpenAI proxy with self-signed cert
hailin
2026-02-24 08:59:06 -0800
-
d43baed3a5
feat: add OpenAI TTS/STT API endpoints for comparison testing
hailin
2026-02-24 07:20:03 -0800
-
ac0b8ee1c6
fix: rewrite voice test page using flutter_sound for both record and play
hailin
2026-02-24 05:41:10 -0800
-
d4783a3497
fix: use temp directory path for audio recording instead of empty string
hailin
2026-02-24 05:39:07 -0800
-
5d4fd96d43
feat: streaming claude-api engine, engineType override, fix voice test page
hailin
2026-02-24 05:30:11 -0800
-
6e832c7615
feat: add voice I/O test page in Flutter settings
hailin
2026-02-24 05:16:10 -0800
-
0bd050c80f
feat: add STT test and round-trip test to voice test page
hailin
2026-02-24 05:08:00 -0800
-
0aa20cbc73
feat: add temporary TTS test page at /api/v1/test/tts
hailin
2026-02-24 05:06:02 -0800
-
740f8f5f88
fix: sentence splitting bug in voice pipeline TTS streaming
hailin
2026-02-24 05:03:05 -0800
-
7ac753ada4
fix: add ANTHROPIC_BASE_URL to agent-service for proxy access
hailin
2026-02-24 04:49:27 -0800
-
79fae0629e
chore: upgrade claude-agent-sdk to ^0.2.52
hailin
2026-02-24 04:12:03 -0800
-
2a150dcff5
fix: prevent error event from overriding completed status in controller
hailin
2026-02-24 03:49:21 -0800
-
6876ec569b
fix: remove ANTHROPIC_API_KEY from agent-service to use subscription mode
hailin
2026-02-24 03:43:09 -0800
-
e20936ee2a
feat: collapsible thinking node in chat timeline
hailin
2026-02-24 03:34:58 -0800
-
8e4bd573f4
fix: deduplicate text events from SDK stream_event and assistant message
hailin
2026-02-24 03:31:48 -0800
-
65e68a0487
feat: streaming TTS — synthesize per-sentence as agent tokens arrive
hailin
2026-02-24 03:14:22 -0800
-
aa2a49afd4
fix: extract text from assistant message + fix event data parsing
hailin
2026-02-24 03:01:25 -0800
-
a7b42e6b98
feat: add detailed logging to agent engine and task controller
hailin
2026-02-24 02:56:09 -0800
-
0dbe711ed3
feat: add detailed logging to voice pipeline (STT/Agent/TTS timing)
hailin
2026-02-24 02:47:21 -0800
-
1d5c834dfe
feat: add event buffering to agent WS gateway for late subscribers
hailin
2026-02-24 02:41:38 -0800
-
370e32599f
fix: subscribe to agent WS before creating task to avoid race condition
hailin
2026-02-24 02:35:57 -0800
-
82d12a5ff5
feat: mount voice model cache volumes to avoid re-downloading on restart
hailin
2026-02-24 02:28:28 -0800
-
abf5e29419
feat: route voice pipeline through agent-service instead of direct LLM
hailin
2026-02-24 00:47:31 -0800
-
7afbd54fce
fix: rewrite voice pipeline for direct WebSocket I/O, fix TTS and navigation
hailin
2026-02-23 23:34:35 -0800
-
6cd53e713c
fix: bypass JWT for voice WebSocket route (fixes 401 on WS upgrade)
hailin
2026-02-23 21:30:11 -0800
-
2a87dd346e
fix: send empty JSON body to voice session endpoint (fixes 422)
hailin
2026-02-23 21:21:48 -0800
-
45c54acb87
fix: improve voice call page UI centering and error display
hailin
2026-02-23 21:10:49 -0800
-
b7814d42a9
fix: resolve 3 timeline UI bugs (blank start, spinner style, tool status)
hailin
2026-02-23 18:13:30 -0800
-
20325a84bd
feat: redesign chat UI from bubble style to timeline workflow
hailin
2026-02-23 17:33:42 -0800
-
74be945e4a
feat: enable token-level streaming and fix duplicate message bubble
hailin
2026-02-23 17:24:48 -0800
-
5f827b0961
fix: revert ws/wss protocols - Kong OSS handles WS over http/https
hailin
2026-02-23 17:02:53 -0800
-
2e6a5e7292
chore: update lockfile for ws/platform-ws dependencies
hailin
2026-02-23 16:54:14 -0800
-
86d7cac631
fix: replace Socket.IO with raw WebSocket to fix 502 on /ws/agent
hailin
2026-02-23 16:52:43 -0800
-
5e31b15dcf
fix: use IOWebSocketChannel for headers support
hailin
2026-02-23 16:45:35 -0800
-
803cea0fe4
fix: pass JWT token in WebSocket connection headers
hailin
2026-02-23 16:43:31 -0800
-
9cdc4933dc
fix: add python-multipart dependency for voice-service
hailin
2026-02-23 16:10:50 -0800
-
3cb9ebd407
fix: release QueryRunner connections to prevent pool exhaustion
hailin
2026-02-23 15:55:06 -0800
-
a6cd3c20d9
feat: add WebSocket robustness to voice call (heartbeat, reconnect, jitter buffer)
hailin
2026-02-23 07:32:19 -0800
-
dfc541b571
feat: add Markdown rendering and phone-call voice entry to chat UI
hailin
2026-02-23 07:31:40 -0800
-
bed17f32f9
fix: install bash in Alpine container for Agent SDK shell access
hailin
2026-02-23 06:52:23 -0800
-
d4391eef97
fix: run services as non-root user for SDK bypassPermissions
hailin
2026-02-23 06:41:10 -0800
-
04a18a7899
fix: use acceptEdits mode and mount .claude.json for SDK
hailin
2026-02-23 06:37:31 -0800
-
db1d0620f2
debug: add stderr callback to SDK engine for error visibility
hailin
2026-02-23 06:34:42 -0800
-
d40f66ce14
fix: use bypassPermissions mode for headless SDK execution
hailin
2026-02-23 06:30:38 -0800
-
3a6f9d9447
fix: mount .claude directory as read-write for SDK debug logs
hailin
2026-02-23 06:21:31 -0800
-
14e8d7019a
fix: use dynamic import helper for ESM-only claude-agent-sdk
hailin
2026-02-23 06:18:04 -0800
-
b963b7d4da
feat: enable SDK subscription mode with OAuth credentials mount
hailin
2026-02-23 06:14:45 -0800
-
9126225317
fix: disable TLS verification for Anthropic proxy (self-signed cert)
hailin
2026-02-23 05:52:02 -0800
-
810dcd7def
feat: switch default engine to claude_api with base URL support
hailin
2026-02-23 05:45:08 -0800
-
9a1ecf10ec
fix: add restart policy, global error handlers, and fix tenant schema bug
hailin
2026-02-23 05:30:34 -0800
-
6dcfe7cd9a
chore: gitignore iOS 自动生成文件
hailin
2026-02-23 05:10:54 -0800
-
4651291468
style: 导航栏去掉蓝色药丸背景,改为图标/文字高亮
hailin
2026-02-23 05:09:34 -0800
-
6a84519090
refactor: 移除 AppBar 刷新按钮,统一使用下拉刷新
hailin
2026-02-23 05:08:16 -0800
-
1c291ce6c0
fix: Scheduler 用 slug 构建 tenant schema 名
hailin
2026-02-23 05:03:04 -0800
-
09274aa6af
fix: Scheduler 查询 public.tenants 而非 it0_shared.tenants
hailin
2026-02-23 05:00:17 -0800
-
840318f449
fix: Scheduler 缺少 tenant 上下文导致 ops-service 卡死
hailin
2026-02-23 04:55:52 -0800
-
666b173906
fix: 根治 Unhandled Exception — async void 拦截器 + 全局错误兜底
hailin
2026-02-23 04:37:39 -0800
-
68004409a3
fix: 仪表盘概览卡片等高对齐
hailin
2026-02-23 04:28:40 -0800
-
4e55e9a616
feat: 补齐大厂级网络层 — 401并发锁、请求去重、结构化错误日志
hailin
2026-02-23 04:05:53 -0800
-
94652857cd
feat: 生产级 API 错误处理 — 重试拦截器、友好错误提示、网络监测、WebSocket 退避
hailin
2026-02-23 04:01:04 -0800
-
1075a6b265
refactor: 重构 chat_page 对接完整架构,集成全部 stream event widget
hailin
2026-02-23 03:21:44 -0800
-
15e6fca6c0
fix: translate all remaining English UI strings to Chinese and remove dead code
hailin
2026-02-23 02:07:57 -0800
-
9f44878fea
fix: unify all pages to Chinese + fix bottom nav selected state
hailin
2026-02-23 01:59:09 -0800
-
b76b5246cc
fix: align settings page style with other pages using Card containers
hailin
2026-02-23 01:51:42 -0800