-
13f5ff328c
fix(room): hoist mentionConfirmRef to module scope to fix TDZ error
ZhenYi
2026-04-18 00:17:47 +0800
-
14bcc04991
fix(room): update keyboard shortcuts — Ctrl+Enter sends, Shift+Enter newlines, Enter only for mention select
ZhenYi
2026-04-18 00:11:13 +0800
-
9b966789fd
fix(room): resolve mention IDs to display names when rendering messages
ZhenYi
2026-04-18 00:10:12 +0800
-
a9fc6f9937
feat(room): redesign MentionPopover with modern UI/UX
ZhenYi
2026-04-18 00:02:09 +0800
-
aacd9572d1
fix(room): replace useMemo+categories with plain const to fix SWC parser error
ZhenYi
2026-04-17 23:53:31 +0800
-
9246a9e6ab
fix(room): move eslint-disable comment inside array to fix SWC syntax error
ZhenYi
2026-04-17 23:52:27 +0800
-
f9a3b51406
perf(room): optimize MentionPopover with caching, stable refs, and loading states
ZhenYi
2026-04-17 23:48:26 +0800
-
26682973e7
feat(room): redesign mention system with AST-based format
ZhenYi
2026-04-17 23:43:26 +0800
-
0ea6440ea3
fix(deploy): add proxy-http-version annotation for WebSocket support
ZhenYi
2026-04-17 23:18:00 +0800
-
6431709669
fix(room): show model name instead of UID in settings panel
ZhenYi
2026-04-17 23:17:56 +0800
-
5ff45770ec
fix(room): fix model/ai list response parsing in RoomSettingsPanel
ZhenYi
2026-04-17 23:15:14 +0800
-
4f1ea95b58
fix(room): add missing stream column to room_ai table
ZhenYi
2026-04-17 23:09:55 +0800
-
a171d691c6
fix(room): align ReactionGroup types with frontend and guard reaction update handler
ZhenYi
2026-04-17 22:59:13 +0800
-
047782e585
fix(room): handle reaction updates in onRoomMessage WS handler
ZhenYi
2026-04-17 22:37:20 +0800
-
0cbf6d6aa1
fix(room): accept comma-separated message_ids string in batch reaction endpoint
ZhenYi
2026-04-17 22:28:24 +0800
-
7152346be8
fix(room): make reaction Popover controlled so it closes after select
ZhenYi
2026-04-17 22:16:40 +0800
-
a1ddb5d5bc
fix(room): add HTTP batch reactions endpoint and clean up dead code
ZhenYi
2026-04-17 22:12:10 +0800
-
2f1ed69b31
fix(room): restore useState import removed in refactor
ZhenYi
2026-04-17 22:02:55 +0800
-
ef1adb663d
fix(room): replace manual emoji picker positioning with Popover
ZhenYi
2026-04-17 21:50:50 +0800
-
4767e1d692
fix(room): IDB load no longer waits for WS connection
ZhenYi
2026-04-17 21:45:55 +0800
-
44c9f2c772
fix(room): ensure WS connect before subscribe; reactions load for IDB path
ZhenYi
2026-04-17 21:44:45 +0800
-
50f9cc40fe
fix(room): load reactions for IDB-cached messages via WS-first fallback
ZhenYi
2026-04-17 21:43:47 +0800
-
b70d91866c
fix(room-ws): try reconnect with existing token before requesting new
ZhenYi
2026-04-17 21:40:07 +0800
-
309bc50e86
perf(room): prioritize IndexedDB cache for instant loads
ZhenYi
2026-04-17 21:36:55 +0800
-
bab675cf60
perf(room): increase virtualizer overscan to 30 for smoother scrolling
ZhenYi
2026-04-17 21:31:36 +0800
-
5cd4c66445
perf(room): simplify scroll handler and stabilize callback refs
ZhenYi
2026-04-17 21:28:58 +0800
-
991d86237b
fix: remove stale onRenderedCountChange prop from RoomMessageList usage
ZhenYi
2026-04-17 21:23:03 +0800
-
70381006cf
chore(room): remove Performance Stats panel
ZhenYi
2026-04-17 21:21:59 +0800
-
f2a2ae5d7f
fix(room): use WS for message fetching, eliminate duplicate WS connection
ZhenYi
2026-04-17 21:18:56 +0800
-
cf5c728286
fix(room): fix scrolling lag, N+1 queries, and multiple WS token requests
ZhenYi
2026-04-17 21:08:40 +0800
-
60d8c3a617
fix(room): resolve remaining defects from second review
ZhenYi
2026-04-17 20:28:45 +0800
-
5256e72be7
fix(room): add access check to ws_universal subscribe and fix stream handling
ZhenYi
2026-04-17 17:15:34 +0800
-
afb1bbeb71
fix(service): use default_branch for graph and reflog endpoints
ZhenYi
2026-04-17 16:36:44 +0800
-
a4dc507b66
fix(git): multiple branch and upstream query bugs
ZhenYi
2026-04-17 16:30:58 +0800
-
ee4ff6c752
fix(api): fix branch route order to prevent shadowing
ZhenYi
2026-04-17 16:11:23 +0800
-
1272615d50
fix(api): fix refs route order to prevent shadowing
ZhenYi
2026-04-17 16:10:23 +0800
-
4cee9975d5
fix(api): fix commit route order to prevent InvalidOid("reflog") error
ZhenYi
2026-04-17 16:07:01 +0800
-
82ed726848
fix(git): convert default_branch to full ref name (refs/heads/*)
ZhenYi
2026-04-17 15:56:08 +0800
-
4c49953572
fix(git): use default_branch in git_commit_log and update API docs
ZhenYi
2026-04-17 15:16:18 +0800
-
2bd1339d6c
fix(git): use repo.default_branch instead of HEAD to avoid master/branch mismatch
ZhenYi
2026-04-17 15:13:08 +0800
-
be423aabb6
feat(error): add error print info to system command
ZhenYi
2026-04-17 14:42:51 +0800
-
0d9256793c
test sync
ZhenYi
2026-04-17 14:33:32 +0800
-
845aba443b
fix(deploy): add APP_REPOS_ROOT env to git-hook deployment
ZhenYi
2026-04-17 14:21:15 +0800
-
3354055e6d
fix(operator): mount /data PVC into git-hook deployment
ZhenYi
2026-04-17 14:15:38 +0800
-
e50c31daa6
fix(deploy): mount /data PVC into git-hook container
ZhenYi
2026-04-17 14:06:24 +0800
-
7c042c7b9d
fix(git-hook): use HookService instead of non-existent GitServiceHooks
ZhenYi
2026-04-17 13:54:17 +0800
-
7a2a3c51c4
fix(git/hook): make sync_tags Send-safe by collecting git2 data synchronously
ZhenYi
2026-04-17 13:48:05 +0800
-
01b18c97df
fix(git/hook): address review findings — webhooks, git2 Send, touch_count, rollback
ZhenYi
2026-04-17 13:44:33 +0800
-
1fed9fc8ab
fix(git/hook): address review findings — fs blocking, redis timeout, backoff, slog
ZhenYi
2026-04-17 13:20:31 +0800
-
ef61b193c4
fix(git/hook): refine Redis queue worker, remove dead code, fix warnings
ZhenYi
2026-04-17 13:05:07 +0800
-
8fb2436f22
feat(git): add Redis-backed hook worker with per-repo distributed locking
ZhenYi
2026-04-17 12:33:58 +0800
-
eeb99bf628
refactor(git): drop hook pool, sync execution is now direct and sequential
ZhenYi
2026-04-17 12:22:09 +0800
-
7e42139989
feat(frontend): embed SPA assets into app binary at compile time
ZhenYi
2026-04-17 12:04:34 +0800
-
3de4fff11d
feat(service): improve model sync and harden git HTTP/SSH stability
ZhenYi
2026-04-17 00:13:40 +0800
-
39d126d843
refactor(service): replace tracing with slog in agent sync module
ZhenYi
2026-04-16 22:52:03 +0800
-
3a30150a41
refactor(service): remove all hardcoded model-name inference from OpenRouter sync
ZhenYi
2026-04-16 22:47:24 +0800
-
0a998affbb
refactor(git): remove SSH rate limiting
ZhenYi
2026-04-16 22:40:59 +0800
-
9368df54da
feat(service): auto-sync OpenRouter models on app startup and every 10 minutes
ZhenYi
2026-04-16 22:35:34 +0800
-
329b526bfb
fix(git): add storage_path existence pre-check to run_fsck and run_gc
ZhenYi
2026-04-16 22:24:14 +0800
-
d26e947f8e
fix(git): add storage_path existence pre-check in run_sync
ZhenYi
2026-04-16 22:23:17 +0800
-
8a0d2885f7
fix(git): correct pool panic detection and add failure diagnostic logs
ZhenYi
2026-04-16 22:21:30 +0800
-
bbf2d75fba
fix(git): harden hook pool retry, standardize slog log format
ZhenYi
2026-04-16 21:41:35 +0800
-
759ce7444e
build(docker): 在多个 Docker 镜像中添加 Git 安装
ZhenYi
2026-04-16 21:25:55 +0800
-
d0fc590491
fix(frontend): remove unused Zap import in landing-sections.tsx
ZhenYi
2026-04-16 21:10:39 +0800
-
752b91d329
chore: update Cargo.lock for russh downgrade to 0.50.4
ZhenYi
2026-04-16 20:58:12 +0800
-
02847ef1db
fix(git): downgrade russh to 0.50.4, remove flate2 feature, fix log format
ZhenYi
2026-04-16 20:58:01 +0800
-
1090359951
fix(git): add SSH channel lifecycle logging and fix password auth username check
ZhenYi
2026-04-16 20:40:17 +0800
-
f5ab554d6b
fix(git): add LFS upload size limits and fix HTTP rate limiter read/write counter
ZhenYi
2026-04-16 20:14:13 +0800
-
cef4ff1289
fix(git): harden HTTP and SSH git transports for robustness
ZhenYi
2026-04-16 20:11:18 +0800
-
5a59f56319
fix(room): revert stale edited_at if messageGet fetch fails
ZhenYi
2026-04-16 19:34:59 +0800
-
beea8854ce
fix(room): fix stale room subscribe after async connect
ZhenYi
2026-04-16 19:34:07 +0800
-
7989f7ba4b
fix(room): fix StrictMode reconnect loop, add revokeMessage rollback
ZhenYi
2026-04-16 19:33:14 +0800
-
7416f37cec
fix(room): prevent double-send, log resubscribe errors, dim pending messages
ZhenYi
2026-04-16 19:29:34 +0800
-
677e88980b
fix(room): add edit rollback, clean stream channels on room shutdown/idle
ZhenYi
2026-04-16 19:28:23 +0800
-
c89f01b718
feat(room): improve robustness — optimistic send, atomic seq, jitter reconnect
ZhenYi
2026-04-16 19:23:06 +0800
-
5482283727
feat(seo): add useHead to all landing pages with Command as Service titles and descriptions
ZhenYi
2026-04-16 19:12:06 +0800
-
022b45d44f
docs(landing): replace 'Real-time' with 'Command-first' in nav, align Enterprise nav desc
ZhenYi
2026-04-16 19:08:20 +0800
-
e59edf6c1a
docs(landing): align docs page hero with Command as Service platform
ZhenYi
2026-04-16 19:05:57 +0800
-
757a7044bf
docs(landing): align Enterprise pricing and Public Rooms nav with Command as Service
ZhenYi
2026-04-16 19:04:34 +0800
-
260d154db2
docs(landing): final alignment — rooms features, API endpoint, and Pro pricing tagline
ZhenYi
2026-04-16 19:03:27 +0800
-
c9f4e2dbe7
docs(landing): replace 'chat rooms' with 'command-first rooms' in feature descriptions
ZhenYi
2026-04-16 19:02:26 +0800
-
84f2604106
docs(landing): align remaining landing pages with Command as Service concept
ZhenYi
2026-04-16 19:01:27 +0800
-
4c77426965
docs(landing): align all non-business pages with Command as Service concept
ZhenYi
2026-04-16 18:59:37 +0800
-
4eb93da28b
docs(landing): update README and SEO defaults to Command as Service tagline
ZhenYi
2026-04-16 18:58:28 +0800
-
a4cb18580b
docs(landing): rewrite tagline and features around Command as Service
ZhenYi
2026-04-16 18:54:50 +0800
-
431f40063f
fix(ws): allow APP_DOMAIN_URL and APP_STATIC_DOMAIN origins
ZhenYi
2026-04-16 18:51:52 +0800
-
89deebced6
fix(api): add clone url
ZhenYi
2026-04-16 18:31:05 +0800
-
df87a65cbb
fix(room): accept room_public JSON key for HTTP fallback
ZhenYi
2026-04-16 18:27:53 +0800
-
8b433c9169
feat(repo): return ssh/https clone URLs from backend
ZhenYi
2026-04-16 18:20:48 +0800
-
b1e93a7cfc
fix(init): use resp.error to detect project_not_found instead of HTTP status
ZhenYi
2026-04-16 18:05:44 +0800
-
b4af88e730
chore(scripts): use git short SHA as default image tag
ZhenYi
2026-04-16 17:34:52 +0800
-
fa091b9d22
deploy(k8s): add CRD definitions for operator
ZhenYi
2026-04-16 17:24:25 +0800
-
756af4fb73
docs: add branch protection, commit convention, and gitflow guides
ZhenYi
2026-04-16 17:24:14 +0800
-
51e4531e95
docs: update README to reflect Redis pub/sub instead of NATS
ZhenYi
2026-04-16 17:24:11 +0800
-
a09ff66191
refactor(room): remove NATS, use Redis pub/sub for message queue
ZhenYi
2026-04-16 17:24:04 +0800
-
41f96af064
fix(init): use isAxiosError to correctly detect 404 on project name availability check
ZhenYi
2026-04-16 17:22:25 +0800
-
f5084974b3
fix(k8s): add APP_SESSION_SECRET to ConfigMap to fix captcha errors with multi-pod
ZhenYi
2026-04-15 23:31:11 +0800
-
b6022e824d
feat(k8s): enforce minimum 2 replicas for all services except email-worker
ZhenYi
2026-04-15 23:08:25 +0800
-
e7cf0c544f
fix(k8s): remove all health probes from gitserver
ZhenYi
2026-04-15 23:07:17 +0800
-
dd4bbf3bb5
fix(k8s): add startupProbe to gitserver deployment template
ZhenYi
2026-04-15 23:04:17 +0800