Files
octoshrimpy 1c08c0dc20 refactor(reactions): shrink reaction SMS payload and dedupe swipe code
Prepares the send-reactions feature for public release by cutting the
per-reaction SMS size and removing duplicated swipe-action code.

Payload (EmojiReactionRepositoryImpl):
- Stop re-embedding the replied-to text in the hidden payload; it already
  shows in the visible fallback line. The reaction target is resolved by
  sender address + timestamp, and the text-fallback matcher now recovers
  the quote from the visible line.
- Encode the payload at 3 bits per invisible char (8-symbol alphabet)
  instead of 1, and word-cap the visible quote. A reaction's invisible run
  drops from ~1,200 chars (~10-20 SMS segments) to ~83 (1-2 segments).

Deduplication:
- Extract SwipeItemTouchCallback base; ConversationItemTouchCallback and
  MessageItemTouchCallback become thin subclasses (removes dead fields).
- Extract BaseSwipeActionsPresenter and share SwipeActionsView/State;
  delete the cloned MessageSwipeActions View/State. Centralize the message
  swipe-action icon map.
- Merge the two near-identical reaction-send streams in ComposeViewModel.

Minor: enumerate the full emoji set off the main thread in EmojiPicker;
reuse a single Handler for the reaction pulse in MessagesAdapter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 20:26:05 -04:00
..
2025-09-04 00:34:50 -04:00