chahinebrini
3f1fb76a84
feat(agenthub): TSK-0120 — split messaging from /activity into a /messages conversation view
- MessageSchema: status enum unread|delivered|read|acked + replyTo (additive, RW-compatible)
- messageService: listInbox transitions unread->delivered on fetch (agent-scoped);
markMessageDelivered (idempotent, never downgrades); ackMessage(cwd,id,by?)
- routes: GET /messages HTML branch -> renderMessagesHtml; GET /messages/:id;
POST /messages/:id/ack (mirror of /read, emits message/updated status=acked)
- server/messages.ts: 2-column conversation view (list grouped by pair + unread badge,
thread bubbles aligned by ?as=, replyTo indentation, TSK pill, live via /events)
- activity.ts: drop message rows (tasks-only hard separation)
- ui-shared: HeaderPage +messages + nav link
- CLI: message ack <id> [--by], message reply <parentId> --from --text [--task];
remoteClient ackMessage + getMessage
- tests: +message-receipts.test.ts, server.test.ts activity/messages/receipt-chain
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 00:56:16 +02:00
..
2026-06-26 14:49:47 +02:00
2026-06-24 23:39:19 +02:00
2026-06-24 23:33:27 +02:00
2026-06-24 23:31:14 +02:00
2026-06-25 12:23:23 +02:00
2026-07-12 00:46:47 +02:00
2026-06-25 13:21:10 +02:00
2026-06-24 23:57:22 +02:00
2026-06-24 23:32:14 +02:00
2026-06-26 14:49:47 +02:00
2026-06-24 23:35:53 +02:00
2026-07-12 00:46:47 +02:00
2026-06-26 22:59:37 +02:00
2026-07-01 01:52:57 +02:00
2026-07-12 00:46:47 +02:00
2026-07-12 00:56:16 +02:00
2026-06-24 23:30:15 +02:00
2026-06-25 12:32:11 +02:00
2026-06-24 23:29:32 +02:00
2026-07-12 00:56:16 +02:00
2026-07-12 00:46:47 +02:00
2026-07-12 00:46:47 +02:00
2026-06-28 00:12:50 +02:00
2026-06-24 23:36:58 +02:00
2026-06-24 23:40:23 +02:00
2026-07-08 20:43:42 +02:00
2026-07-12 00:46:47 +02:00
2026-07-08 04:19:36 +02:00
2026-06-27 17:15:25 +02:00
2026-06-29 00:24:39 +02:00
2026-06-25 22:24:53 +02:00
2026-07-12 00:46:47 +02:00