Commit Graph

  • 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