34 Commits
Author SHA1 Message Date
isaacandClaude Opus 4.7 e7662a3de5 Add typing-draft send delay
Delay outgoing messages while the peer in the same (peerId, threadId)
chat is live-typing an incoming message, gated via a new per-account
Postbox `.allTypingDrafts` view feeding a synchronous Set membership
check inside PendingMessageManager.

Postbox:
- Add `AllTypingDraftsView` tracking `Set<PeerAndThreadId>` of active
  typing drafts; expose via `PostboxViewKey.allTypingDrafts`.
- Disambiguate `PostboxViewKey` hash arms for `.typingDrafts` (constant
  prefix 23) and `.contacts` (16 → 24) to avoid runtime collisions
  with peerId-only arms and `.combinedReadState`. Hash values are
  runtime-only, so this is safe.

PendingMessageManager:
- Add `.waitingForSendGate(groupId:content:)` parking state for single
  messages and albums whose upload finished but are gated on a
  typing-draft-clearing event; update `groupId` accessor and
  `dataForPendingMessageGroup` so partially-parked albums drain on
  gate open.
- Add `.waitingForForwardSendGate` parking state for forwards (no
  associated values) so drain section (1) routes single non-grouped
  messages via `commitSendingSingleMessage` and section (3) routes
  forwards via `sendGroupMessagesContent`, avoiding the double-dispatch
  that occurred when forwards reused `.waitingForSendGate`.
- Subscribe to `.allTypingDrafts`; wire the gate at single-message,
  album, and forward send paths and at drain.
- Cleanup parked forwards on pending-message removal; snapshot
  Dictionary keys before iterating to avoid mutation during iteration.

Specs and plan documents are included under `docs/superpowers/`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 12:15:55 +04:00
Isaac 905a46e6cc Update API 2025-08-11 16:54:32 +02:00
Isaac d7bb7d55b4 - Story search UI
- Delete message confirmation
2024-06-04 19:18:41 +04:00
Isaac 9cfdc27443 Various improvements 2024-03-27 19:00:12 +04:00
Isaac 6ed9cef40a [WIP] Quick replies 2024-02-23 15:26:33 +04:00
Isaac bd4a534097 Various improvements 2024-02-02 14:32:13 +01:00
Isaac 0cab0ca678 [WIP] Saved messages 2024-01-23 17:52:21 +01:00
Isaac 6a89f938db [WIP] Saved messages 2024-01-06 00:43:58 +04:00
Isaac 0e75f18f14 [WIP] Saved messages 2023-12-25 22:58:09 +04:00
Isaac 0ad61d8d63 [WIP] Saved messages 2023-12-23 00:47:22 +04:00
Ali 848e342991 Stories 2023-08-11 02:23:27 +04:00
Ali 008b52a250 Stories 2023-07-09 02:07:53 +04:00
Ali b76ea6ba99 Stories 2023-06-24 21:50:38 +03:00
Ali af19d3f4b5 [WIP] Stories 2023-06-06 23:23:48 +04:00
Ali 969724de40 [WIP] Stories 2023-05-23 23:53:43 +04:00
Ali 3b93037be9 General UI bug fixes 2022-11-24 23:55:40 +04:00
Ali a82110eb3a Topic impovements 2022-11-09 22:17:59 +04:00
Ali db4b73ae6b [WIP] Topics 2022-10-11 18:38:58 +04:00
Ali b5a59ba488 [WIP] Topics 2022-10-01 00:08:07 +02:00
Ali d01a7853fa [WIP] Topic APIs 2022-09-28 12:15:06 +02:00
Ali 7020c5ed05 Status and reaction improvements 2022-09-05 03:57:37 +04:00
Ali e8d124c812 Refactoring 2022-05-28 18:26:23 +04:00
Ali af1b794332 Refactoring 2022-05-26 23:11:44 +04:00
Ali 85a0b3b4d0 Refactoring 2022-05-20 06:53:13 +03:00
Ali 1a5876f90e Shared media improvements 2021-10-25 21:20:29 +04:00
Ali 49279a33f0 Refactoring 2021-09-23 19:57:25 +03:00
Ali bfa66cce6c Merge branch 'experimental-2' 2021-09-22 02:23:51 +03:00
Ali d35acc8283 Isolate postbox 2021-09-22 01:56:45 +03:00
Ali 1fe0d4a75b Temp 2021-09-03 00:45:22 +04:00
Ali fa3be5d99b Merge commit '4b34a6643f212dab03affe205b8636ae8a6c687e'
Update widget
2021-01-15 22:40:32 +04:00
Ali 0eccec10ed Comments update [skip ci] 2020-09-18 19:17:48 +04:00
Ali e2071301c2 User Info screen 2020-02-07 14:23:25 +00:00
Ali 77826e91d4 Chat List Filter improvements 2020-01-28 19:46:28 +04:00
overtake 8f66c10ac1 refactor and cleanup [skip ci] 2019-11-01 17:11:12 +04:00