-
9a03cded8d
refactor(queue): migrate from slog to tracing
ZhenYi
2026-04-21 22:29:09 +0800
-
57779822dc
refactor(room): migrate from slog to tracing + upgrade metrics to 0.22
ZhenYi
2026-04-21 22:28:52 +0800
-
773da34fab
refactor(service): migrate auth, git service, agent from slog to tracing
ZhenYi
2026-04-21 22:28:33 +0800
-
b4024aa690
feat(observability): Phase 6 OTLP tracing + Prometheus /metrics endpoint
ZhenYi
2026-04-21 22:28:15 +0800
-
418f9a5d8b
feat(rpc): migrate admin from Redis Pub/Sub JSON-RPC to Tonic gRPC
ZhenYi
2026-04-21 13:44:25 +0800
-
81e6ee3d48
feat(observability): Phase 1-5 slog structured logging across platform
ZhenYi
2026-04-21 13:44:12 +0800
-
a527428b2d
fix(frontend): room streaming, dedup, reactions, uploads, and render perf
ZhenYi
2026-04-21 13:43:38 +0800
-
a7e31d5649
feat(tests): add comprehensive Playwright integration tests for all API endpoints
ZhenYi
2026-04-20 22:37:05 +0800
-
d1e5245e4e
fix: room attachment upload (Set Uuid::nil, NotFound with msg, Ok wrapper) and silence dead_code warnings
ZhenYi
2026-04-20 19:48:05 +0800
-
43e2d26ea2
feat(frontend): channel sidebar toggle, member list default closed, fix accent-fg colors
ZhenYi
2026-04-20 19:33:14 +0800
-
e43d9fc8bf
feat(frontend): add attachment_ids to message creation flow and types
ZhenYi
2026-04-20 19:33:09 +0800
-
7736869fc4
feat(frontend): integrate ThemeSwitcher, restore custom palette on page load
ZhenYi
2026-04-20 19:33:04 +0800
-
ce29eb3062
feat(frontend): Discord design system tokens and palette variables
ZhenYi
2026-04-20 19:32:59 +0800
-
3eeb054452
feat(admin): auto-migrate admin DB tables on health check (audit_log, user, role, permission)
ZhenYi
2026-04-20 19:32:38 +0800
-
33a4a5c6c9
feat(service): register project_tools in chat service, add AppStorage::read method
ZhenYi
2026-04-20 19:32:29 +0800
-
b23c6a03c3
feat(room): add attachment_ids to messages, pass AppConfig, increase max_tool_depth to 1000
ZhenYi
2026-04-20 19:32:22 +0800
-
dee79f3f7f
feat(room): add attachment upload/download API and attach files to messages
ZhenYi
2026-04-20 19:32:11 +0800
-
a0ab16e6ea
feat(agent): pass AppConfig through ToolContext and fix tool call handling
ZhenYi
2026-04-20 19:32:03 +0800
-
4e955d9ae3
chore: add mime_guess2, quick-xml serialize feature, and config crate to room lib
ZhenYi
2026-04-20 19:31:52 +0800
-
4d5c62e46a
feat: add project tools (repos, issues, boards, arxiv, curl, members) and ThemeSwitcher component
ZhenYi
2026-04-20 19:31:44 +0800
-
d4b0a9ae67
feat(room): read model_id in search results, register m20260420_000003 migration
ZhenYi
2026-04-20 16:08:35 +0800
-
3c8e9e3674
fix(migrate): use Statement::from_string in down method for SeaORM 2.0
ZhenYi
2026-04-20 16:02:18 +0800
-
eba75ee359
fix(admin): ioredis 5.x username/password in redisOptions, add logging
ZhenYi
2026-04-20 15:50:51 +0800
-
779aaba575
feat: add service worker for push notifications and update room documentation
ZhenYi
2026-04-20 15:45:51 +0800
-
6f6f57f062
feat(frontend): add push notification hooks, image compression, and update room/chat components
ZhenYi
2026-04-20 15:45:47 +0800
-
8316fe926f
feat(service): add push and storage service modules, update project/user/workspace services
ZhenYi
2026-04-20 15:45:40 +0800
-
0c64122b80
chore(frontend): update frontend build configuration
ZhenYi
2026-04-20 15:45:35 +0800
-
26865f8dcf
chore(api): update dist.rs
ZhenYi
2026-04-20 15:45:30 +0800
-
0e4631ec75
chore(api/user): update user notification endpoint
ZhenYi
2026-04-20 15:45:26 +0800
-
26c86f0796
feat(api/room): add upload handler and update websocket handler
ZhenYi
2026-04-20 15:45:22 +0800
-
cec8d486f1
feat(room): update room lib (connection, helpers, member, message, notification, reaction, room, search, service, types)
ZhenYi
2026-04-20 15:45:18 +0800
-
1b863a9f65
chore(queue): update queue types
ZhenYi
2026-04-20 15:45:13 +0800
-
2186960002
chore(models/users): update user notification model
ZhenYi
2026-04-20 15:45:08 +0800
-
a2e8f5bf5b
feat(models/rooms): add room attachment model and update room message/notifications
ZhenYi
2026-04-20 15:45:03 +0800
-
98e6f77341
feat(migrate): add room attachment, push subscription, and model_id migrations
ZhenYi
2026-04-20 15:44:59 +0800
-
d09af7c326
feat(config): add storage configuration module
ZhenYi
2026-04-20 15:44:54 +0800
-
ba15324603
chore: update dependencies (cargo + npm)
ZhenYi
2026-04-20 15:44:49 +0800
-
05909dbde7
fix(admin): use named export Cluster from ioredis 5.x
ZhenYi
2026-04-20 10:03:26 +0800
-
a9c51526b8
fix(admin): fix ioredis 5.x Cluster constructor type resolution
ZhenYi
2026-04-20 09:41:19 +0800
-
67e8c5edc7
fix(admin): use Redis as type annotation, RedisCluster as runtime value
ZhenYi
2026-04-20 09:32:10 +0800
-
09d5a5877f
fix(admin): upgrade ioredis cluster to 5.x RedisCluster API
ZhenYi
2026-04-20 09:28:28 +0800
-
a3fcbab5d8
fix(admin): add /api/health to public paths to allow k8s probe
ZhenYi
2026-04-20 07:40:57 +0800
-
58bba357b0
fix(admin): quote image tag to prevent Helm format string parsing
ZhenYi
2026-04-20 01:33:34 +0800
-
3995579e56
fix(admin): add /api/health route for k8s readiness probe
ZhenYi
2026-04-20 01:02:37 +0800
-
19cad7e14a
config(admin): admin env
ZhenYi
2026-04-20 00:22:42 +0800
-
6d16cc8c18
config(admin): admin env
ZhenYi
2026-04-20 00:15:04 +0800
-
9ed56668dc
fix(admin): handle admin.env as both list and map in deployment template
ZhenYi
2026-04-19 23:21:53 +0800
-
82a928c96a
config(admin): admin env
ZhenYi
2026-04-19 22:39:41 +0800
-
8cf6415e15
config(admin): admin env
ZhenYi
2026-04-19 22:39:25 +0800
-
3034c7f391
feat(admin): add TLS support to ingress with cert-manager and manual secret options
ZhenYi
2026-04-19 22:35:31 +0800
-
e612043e5f
feat(room): auto-add new project members to all rooms
ZhenYi
2026-04-19 22:27:57 +0800
-
b8e5cbbb69
feat(admin): add Docker and Kubernetes deployment for admin panel
ZhenYi
2026-04-19 21:49:22 +0800
-
208b6ed84e
chore: remove deprecated docs (superseded by CLAUDE.md)
ZhenYi
2026-04-19 20:49:21 +0800
-
fb91f5a6c5
feat(admin): add admin panel with billing alerts and model sync
ZhenYi
2026-04-19 20:48:59 +0800
-
c4d4b2ecf5
fix(room): fix channel sidebar clickability and polish UI
ZhenYi
2026-04-19 20:47:07 +0800
-
63c75ad453
feat(room): add category creation and drag-to-assign for channels
ZhenYi
2026-04-19 16:44:31 +0800
-
b73cc8d421
refactor(room): Discord-style UI redesign for channel sidebar and member list
ZhenYi
2026-04-19 01:12:38 +0800
-
66006d842e
feat(agent): inject project context and sender info into AI chat messages
ZhenYi
2026-04-19 01:04:19 +0800
-
b740e2884d
feat(room): auto-inherit project members as room members on room creation
ZhenYi
2026-04-19 01:04:15 +0800
-
39d30678b5
fix(email): resolve SMTP connection failures (port 465 SMTPS, URL double scheme, retry backoff)
ZhenYi
2026-04-19 01:04:11 +0800
-
882e86dc33
refactor(email): switch to async channel-based email queue with retry
ZhenYi
2026-04-19 00:08:10 +0800
-
b693bd6beb
fix(auth): use explicit user_uid in login flow instead of context.user()
ZhenYi
2026-04-19 00:03:18 +0800
-
2a2600859f
dbg(email): add email error printrack
ZhenYi
2026-04-18 23:30:17 +0800
-
7831d08848
feat(auth): add password reset confirmation endpoint and page
ZhenYi
2026-04-18 23:02:24 +0800
-
1af796ac75
feat(service): add file_tools module and git_blob_get tool
ZhenYi
2026-04-18 23:02:10 +0800
-
767bb10249
feat(agent): wire git_tools into AI tool registry with full schemas
ZhenYi
2026-04-18 21:42:33 +0800
-
76ca5fb1dd
fix(frontend): wire up message search button in DiscordChatPanel
ZhenYi
2026-04-18 21:13:03 +0800
-
9336250f1c
fix(agent): skip reasoning_effort when think=false to avoid API errors
ZhenYi
2026-04-18 19:41:59 +0800
-
168f14fbac
chore: remove .next build artifacts from tracking
ZhenYi
2026-04-18 19:33:42 +0800
-
a09f66b779
refactor(room): WebSocket queue and message editor improvements
ZhenYi
2026-04-18 19:29:36 +0800
-
c4fb943e07
fix(backend): add project_name and invited_by_username to InvitationResponse
ZhenYi
2026-04-18 19:24:43 +0800
-
5579e6c58e
feat(backend): add git_tools service module
ZhenYi
2026-04-18 19:08:06 +0800
-
821b0e998d
refactor(room): Discord layout and room WebSocket client refactor
ZhenYi
2026-04-18 19:05:21 +0800
-
0cccec33b2
feat(frontend): invitations page with project and workspace support
ZhenYi
2026-04-18 19:05:14 +0800
-
9b9c12ffc8
feat(backend): add workspace invitation list and slug-based accept APIs
ZhenYi
2026-04-18 19:05:07 +0800
-
00a5369fe1
feat(frontend): Discord layout + AI Studio theme + Room Settings
ZhenYi
2026-04-18 16:59:36 +0800
-
aac32b1b92
fix(frontend): block selectionchange during MentionInput DOM updates
ZhenYi
2026-04-18 11:49:03 +0800
-
53b0b03716
fix(frontend): use selectionchange event for cursor tracking instead of per-render
ZhenYi
2026-04-18 11:42:43 +0800
-
4330325bfc
fix(frontend): skip tracking effect update when caret is at end of text
ZhenYi
2026-04-18 11:39:16 +0800
-
126ffda4fe
fix(frontend): skip cursor tracking effect during deferred cursor updates
ZhenYi
2026-04-18 11:27:37 +0800
-
fb09553b79
fix(frontend): defer cursor offset update in onCategoryEnter
ZhenYi
2026-04-18 11:24:01 +0800
-
5103d99a00
fix(frontend): rewrite MentionInput sync to prevent onChange overwriting mention draft
ZhenYi
2026-04-18 11:20:48 +0800
-
4ace651c6f
fix(frontend): pass selected item to doInsert on Enter key and fix list keys
ZhenYi
2026-04-18 11:16:04 +0800
-
989a4117db
fix(frontend): fix useMemo deps syntax and replace stale ref reads in render body
ZhenYi
2026-04-18 11:14:10 +0800
-
434a3595eb
fix(frontend): mention popover respects shouldBelow for above/below placement
ZhenYi
2026-04-18 11:11:39 +0800
-
3a164f6dcc
fix(frontend): restore missing useMemo import in MentionPopover
ZhenYi
2026-04-18 11:09:53 +0800
-
a834564c0f
fix(frontend): show mention popover when @ is typed
ZhenYi
2026-04-18 11:09:17 +0800
-
8d3ecca0bc
fix(frontend): restore missing cn import in RoomChatPanel
ZhenYi
2026-04-18 11:07:15 +0800
-
f152aaeed9
fix(frontend): 4 mention chain bugs — cursor tracking, caret placement, undefined refs
ZhenYi
2026-04-18 01:34:22 +0800
-
168fdc4da8
refactor(frontend): rewrite mention system with clean state architecture
ZhenYi
2026-04-18 01:26:35 +0800
-
d2935f3ddc
fix(frontend): repair MentionInput contenteditable implementation
ZhenYi
2026-04-18 01:17:04 +0800
-
b7328e22f3
feat(frontend): render mentions as styled buttons in input and messages
ZhenYi
2026-04-18 01:06:39 +0800
-
b96ef0342c
feat(room): render AI mentions as 🤖 button with click-to-insert action
ZhenYi
2026-04-18 00:57:27 +0800
-
3a24022972
fix(room): load model list inside fetchRoomAiConfigs so AI names are always resolved
ZhenYi
2026-04-18 00:55:18 +0800
-
7be2f4eb61
fix(deploy): simplify ingress by removing static paths
ZhenYi
2026-04-18 00:51:52 +0800
-
17e878c8b8
fix(room): fix Enter-on-category via React state update instead of DOM manipulation
ZhenYi
2026-04-18 00:51:14 +0800
-
14de80b24b
fix(room): Enter on category navigates into it, not out of popover
ZhenYi
2026-04-18 00:42:08 +0800
-
245384ef50
fix(room): handle Enter/Tab mention selection directly in ChatInputArea.handleKeyDown
ZhenYi
2026-04-18 00:39:06 +0800
-
b8a61b0802
fix(room): make handleSelect read DOM directly instead of stale props
ZhenYi
2026-04-18 00:35:21 +0800
-
3cd5b3003c
fix(room): fix mention Enter key by reading textarea DOM directly
ZhenYi
2026-04-18 00:25:03 +0800