Files
amethyst/desktopApp
Claude c609b33a91 fix: address the audit of the Render/Display split (#4185)
Desktop now uses the shared dialogs instead of its own copies:
  - ReportNoteDialog (desktop) wraps the shared ReportDialog: translated
    labels and the Violence reason desktop was missing. It follows the
    Android flow: "Block & Hide User" mutes the author, "Post Report" files
    the report and mutes. Desktop's report-without-mute option goes away.
  - GroupSubjectDialog (desktop ChatPane) wraps ChatroomSubjectDialog, so
    the group-name dialog is translated and matches Android.

Carried-over issues fixed in the shared code:
  - ChatroomSubjectDialog's Post button was always enabled, so a blank
    subject and blank message sent an empty NIP-17 message to every room
    member. It is enabled only when either field has text.
  - ReportDialog rebuilt its seven labelled reasons on every keystroke and
    kept stale labels across a locale change (unkeyed remember). The
    reasons are now a constant list and the spinner options are
    remembered keyed on the resolved labels.
  - NewChatroomSubjectDialog read the room's subject on every
    recomposition; it is remembered per room again, as before the split.

API surface:
  - DeferredCrossfade goes back to internal; its androidTest drives the
    same path through CrossfadeIfEnabled(enabled = true).
  - CompactButtonHeight/Padding are renamed GitCardButtonHeight/Padding,
    since they are git-card sizes exposed across modules.
  - RelayMemberEventCard and NoPaddingSuggestionChip are private again, and
    the chip drops an ExperimentalMaterial3Api opt-in it never needed.
  - The three channel-header helpers no longer take a nav they don't use.
  - UserProfileScreen calls ReportNoteDialog through an import instead of
    an inline fully-qualified name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0168wY9t7i9NC5u3svyMxEz6
2026-09-23 22:28:31 +00:00
..