3488bbfd94
Critical: - EmojiPackScreen delete dialog: swap plus icon for Delete - EmojiGrid: switch emoji AsyncImage from Crop to Fit so non-square artwork and transparent backgrounds render correctly - AddEmojiDialog: wrap Address.parse in runCatching; a malformed user-entered address no longer crashes the app - BrowseEmojiSetsSubAssembler: use the query scope, not the account scope, for the feed-freshness collector so the subscription lives only as long as the query High: - Drop descriptive kdoc from AddEmojiDialog and EmojiPackViewModel - EmojiPackCard takes an optional author; Browse feed always shows it, MyEmojiList shows it only for foreign packs - EmojiPackScreen: helper line 'Long-press to remove' above the grid so the interaction is discoverable - AddEmojiDialog: private toggle is now a Switch (correct control for a boolean form value) instead of a FilterChip Medium: - EmojiPackState: distinct, accurate error messages on the add/ remove-to-selection paths (was copy-paste) - OwnedEmojiPacksState: import NameTag/TitleTag rather than using fully qualified names inline