Files
amethyst/commons
Claude 57ecda7302 refactor: chat audit cleanup - shared action catalog and dedup
- New noteActionSections: the full note-action inventory (follow, copy,
  share, edit, broadcast, timestamp, pin, label, bookmarks, playlists,
  emoji packs, mute, delete/report) lives once, with all gating, and is
  rendered by BOTH the 3-dot NoteDropDownMenu (as M3 rows) and the chat
  long-press sheet (as icon tiles) - the two surfaces can no longer
  drift. The menu also gains the delete confirmation dialog and the
  privacy-safe private-rumor delete the sheet got in the audit fixes.
- payViaIntentOrManualSplit: the shared zap-payment tail (wallet intent
  vs manual split screen), replacing three verbatim copies in
  ReactionsRow and one in the sheet.
- Chat bubble shapes move to commons ChatTheme.kt as the single source
  of truth (18dp geometry incl. grouped variants); Desktop now inherits
  the modernized corners, and the stale 15dp duplicates are gone.
- Deleted the unreferenced RenderCreateChannelNote /
  RenderChangeChannelMetadataNote card renderers (~360 lines).
- ChatSystemMessage renders one Surface with a conditional clickable
  instead of two duplicated branches.
- ChatEngagementDetailSheet rows share one EngagementRow scaffold;
  delivery tick selection deduped into DeliveryLadderTick /
  DeliveryStatusTick.
- Hardcoded chat font sizes replaced with Font12SP / named constants.

Not merged on purpose: ChipReactionGlyph vs MultiSetCompose's gallery
glyph dispatch - the gallery variant handles interactive secret emoji
and alignment modifiers, so unification would change behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0129yvP2hmVeDFfuKKy94tqX
2026-07-12 22:33:58 +00:00
..