feat(chat): reply-jump (#8), image prev/next nav (#3), multi-file send (#5)

- #8: reply quotes are now clickable — jump to the original message (paging older
  history in if needed), then flash it. reply DTO carries the target's timestamp.
- #3: image lightbox now has ← / → arrows + keyboard nav to flip through all images
  in the conversation.
- #5: the composer queues MULTIPLE files (file input is multiple; paste still works);
  each is shown as a removable chip and sent as its own message (first carries the
  typed text as caption), in order.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 16:02:15 +05:30
parent c672f7b65f
commit 3a976d58ab
2 changed files with 74 additions and 42 deletions
+1 -1
View File
@@ -67,7 +67,7 @@ function buildMsgDTO(m, names, userId){
const d = msgDTO(m);
if (m.reply_to) {
const r = R.messages.byId(m.reply_to);
if (r) d.reply = { id: r.id, from: r.sender_id, fromName: (names && names[r.sender_id]) || '', body: r.body.length > 140 ? r.body.slice(0, 140) + '…' : r.body };
if (r) d.reply = { id: r.id, at: r.created_at, from: r.sender_id, fromName: (names && names[r.sender_id]) || '', body: r.body.length > 140 ? r.body.slice(0, 140) + '…' : r.body };
}
if (m.attachment_id) {
const a = R.attachments.byId(m.attachment_id);