|
|
f81f9419e0
|
chore(plan): complete frontend message flow tasks except gap hint
|
2026-05-12 15:59:18 +00:00 |
|
|
|
a0be5d6b36
|
chore(plan): complete frontend guild-channel browser tasks
|
2026-05-12 15:26:21 +00:00 |
|
|
|
271e712804
|
chore(plan): complete frontend auth and session tasks
|
2026-05-12 15:09:12 +00:00 |
|
|
|
1c386e0a80
|
chore(plan): complete frontend app-shell client wrapper tasks
|
2026-05-12 13:46:24 +00:00 |
|
|
|
34442663a3
|
chore(plan): add frontend-desktop todo and complete frontend routing skeleton step
|
2026-05-12 13:14:01 +00:00 |
|
|
|
71ac0f91c6
|
docs(todo): align MVP DoD with unified api key model and current completion
|
2026-05-12 12:47:28 +00:00 |
|
|
|
0f7b99c687
|
docs(ops): add backup and restore runbook
|
2026-05-12 12:44:08 +00:00 |
|
|
|
b7d66f334a
|
feat(observability): add in-process metrics endpoint for qps latency and error-rate
|
2026-05-12 12:39:20 +00:00 |
|
|
|
b7c9e34738
|
feat(observability): add structured request logs with request-id middleware
|
2026-05-12 12:35:23 +00:00 |
|
|
|
07d8b20f57
|
feat(db): add TypeORM migration workflow for center and guild
|
2026-05-12 12:32:44 +00:00 |
|
|
|
1b568757cb
|
ops: add production compose with DB_SYNC disabled and env template
|
2026-05-12 12:30:04 +00:00 |
|
|
|
7cf0c50921
|
test(contract): add center-guild registration contract integration test
|
2026-05-12 12:26:03 +00:00 |
|
|
|
bccd942898
|
feat(guild-realtime): add presence and typing websocket events
|
2026-05-12 12:22:36 +00:00 |
|
|
|
33d101af22
|
feat(guild-realtime): broadcast message lifecycle events over websocket
|
2026-05-12 12:18:01 +00:00 |
|
|
|
01090273c6
|
feat(guild-realtime): add websocket gateway with api-key auth and channel rooms
|
2026-05-12 12:13:19 +00:00 |
|
|
|
8534c530c8
|
test(integration): add lightweight MySQL-backed API smoke tests for center and guild
|
2026-05-12 12:04:33 +00:00 |
|
|
|
41a4172267
|
test(unit): add lightweight vitest coverage for auth duration and seq pagination utils
|
2026-05-12 11:53:46 +00:00 |
|
|
|
ec796ae609
|
chore(quality): mark lint and build gates green for both services
|
2026-05-12 11:42:00 +00:00 |
|
|
|
0731778bd3
|
feat(docs): add Swagger/OpenAPI endpoints for center and guild services
|
2026-05-12 11:41:30 +00:00 |
|
|
|
b014767324
|
feat(guild-auth): enforce unified x-api-key auth for inbound APIs
|
2026-05-12 11:32:25 +00:00 |
|
|
|
11aa538793
|
docs(todo): replace bot token auth item with unified api key auth
|
2026-05-12 11:30:28 +00:00 |
|
|
|
24cbee3135
|
feat(guild-events): add outbound retry queue with exponential backoff
|
2026-05-12 11:28:21 +00:00 |
|
|
|
7e458ad6d3
|
feat(guild-events): add HMAC-signed webhook delivery and replay guards
|
2026-05-12 11:26:21 +00:00 |
|
|
|
37ec670280
|
feat(guild-events): add webhook event envelope and message lifecycle emits
|
2026-05-12 11:24:43 +00:00 |
|
|
|
8ca5d68ba4
|
feat(protocol): enforce X-Fabric-Version negotiation on node registration
|
2026-05-12 11:22:18 +00:00 |
|
|
|
3795aea2cb
|
docs(protocol): define unified error codes and retry policy v1
|
2026-05-12 11:18:00 +00:00 |
|
|
|
676e838697
|
docs(protocol): document center-guild HMAC registration handshake v1
|
2026-05-12 11:12:48 +00:00 |
|
|
|
ab01a83a90
|
feat(center-protocol): enforce HMAC auth for node registration
|
2026-05-12 11:11:29 +00:00 |
|
|
|
670762aa7a
|
feat(guild-messaging): add idempotency-key support for write endpoints
|
2026-05-12 10:40:00 +00:00 |
|
|
|
2ec50f3234
|
feat(guild-messaging): add gap-detection metadata for seq backfill responses
|
2026-05-12 10:37:27 +00:00 |
|
|
|
fa5d0d31b2
|
feat(guild-messaging): switch seq allocation to DB transaction with row lock
|
2026-05-12 10:35:41 +00:00 |
|
|
|
4b4755b33b
|
feat(guild-messaging): add seq-range pagination with limit for message listing
|
2026-05-12 10:32:25 +00:00 |
|
|
|
c08fa4756b
|
feat(guild-messaging): implement soft delete strategy for messages
|
2026-05-12 10:30:51 +00:00 |
|
|
|
325e13ee13
|
feat(guild-messaging): add simplified message edit window policy
|
2026-05-12 10:29:29 +00:00 |
|
|
|
d3fdc3dd1e
|
feat(guild-messaging): support message metadata for reply mentions and attachments
|
2026-05-12 10:28:02 +00:00 |
|
|
|
ceaece754e
|
feat(guild-model): add practical indexes for channel/dm/member queries
|
2026-05-12 10:21:48 +00:00 |
|
|
|
e53c943991
|
feat(guild-model): add member and role base entities
|
2026-05-12 09:02:21 +00:00 |
|
|
|
46f138328e
|
feat(guild-model): complete guild/channel/dm entities
|
2026-05-12 09:01:24 +00:00 |
|
|
|
2e2e217b5f
|
feat(center): enhance health check with DB readiness
|
2026-05-12 08:58:44 +00:00 |
|
|
|
7270256587
|
feat(center): add audit logs for auth and node operations
|
2026-05-12 08:57:34 +00:00 |
|
|
|
7f68a09486
|
feat(center-nodes): add node heartbeat endpoint
backend-ci / verify (Fabric.Backend.Center) (push) Has been cancelled
backend-ci / verify (Fabric.Backend.Guild) (push) Has been cancelled
|
2026-05-12 08:54:17 +00:00 |
|
|
|
7887a8d3be
|
feat(center-nodes): add node status model and status update endpoint
backend-ci / verify (Fabric.Backend.Center) (push) Has been cancelled
backend-ci / verify (Fabric.Backend.Guild) (push) Has been cancelled
|
2026-05-12 08:52:39 +00:00 |
|
|
|
e10d225063
|
feat(center-nodes): add paginated node listing
|
2026-05-12 08:51:01 +00:00 |
|
|
|
e381679165
|
feat(center-nodes): enforce nodeId and endpoint uniqueness
|
2026-05-12 08:49:34 +00:00 |
|
|
|
0020df5d5e
|
feat(center-nodes): validate shared secret on node registration
|
2026-05-12 08:49:02 +00:00 |
|
|
|
3ad8cc3a56
|
feat(center-auth): implement register/login/refresh/logout with bcrypt and DTO validation
|
2026-05-12 08:47:44 +00:00 |
|
|
|
97528ce2c5
|
feat(center): validate required env on startup
|
2026-05-12 08:43:49 +00:00 |
|
|
|
2871141d4c
|
ci: add backend lint+build workflow for center and guild
|
2026-05-12 08:43:09 +00:00 |
|
|
|
ea32aeb819
|
chore: add eslint and prettier setup for center and guild
|
2026-05-12 08:42:47 +00:00 |
|
|
|
07c8a0f99d
|
chore: add .env.example for center and guild services
|
2026-05-12 08:40:58 +00:00 |
|