- Translate To: shows all available languages with searchable list instead
of only device locales
- Don't Translate From: uses InputChip FlowRow with an Add button and
searchable language picker to add new languages
- Language Preferences: displays as OutlinedCards with radio buttons for
choosing display language, includes delete and add-new-pair functionality
with guided source/target selection
- Added new string resources for the refreshed UI
https://claude.ai/code/session_011iTJ1gg8weaxaALiUQNH4C
- Add EventSyncScreen composable with UI for event sync configuration
- Add EventSyncViewModel for managing sync state and business logic
- Add route and navigation entry for EventSync screen
- Add entry point in AllRelayListScreen
- Add string resources for EventSync UI
https://claude.ai/code/session_01U8qF9mK4UBvXsXP1zNMXfX
* 'main' of https://github.com/vitorpamplona/amethyst:
New Crowdin translations by GitHub Action
New Crowdin translations by GitHub Action
feat: add missing translation settings to Translation settings menu
Allows users to add an expiration date to posts via NIP-40. The feature
follows the same pattern as content warning (toggle button in the bottom
action bar, expandable section in the post body) and uses the same
calendar/time picker UI as poll deadlines.
- ExpirationDateButton: timer icon toggles orange when active
- ExpirationDatePicker: date+time picker with "Expires in X" display
- ViewModel: wantsExpirationDate + expirationDate state, wired into
both TextNoteEvent and PollEvent builders, loaded from drafts
- Strings: add_expiration_date, expiration_date_label, etc.
https://claude.ai/code/session_016QjmArr6zfM1Qx58iNrntA
Expose the translateTo and languagePreferences fields from
AccountLanguagePreferences in the Translation settings screen
(UserSettingsScreen), which previously only showed the
dontTranslateFrom setting.
New settings added:
- Translate To: dropdown to select the target translation language
from the device's configured locales, with a checkmark on the
currently selected language.
- Language Display Preferences: for each saved language-pair
preference (source → target), a dropdown to choose which language
to show first; only visible when at least one preference exists.
https://claude.ai/code/session_01BheCJbDDZDAAYo6GAJBtFf
Adds a new "Bitcoin Explorer (OTS)" settings page in App Settings,
modeled after the existing Namecoin settings page.
Users can configure a custom Mempool-compatible blockchain explorer
API URL for OpenTimestamps proof verification. When a custom URL is
set it takes priority over the automatic Tor-aware selection (mempool.space
when Tor is active, blockstream.info otherwise).
Changes:
- OtsSettings: immutable data class for explorer config
- OtsSharedPreferences: DataStore-backed persistence (global/app-level)
- TorAwareOkHttpOtsResolverBuilder: accepts customExplorerUrl lambda
- OtsSettingsSection: UI section with active explorer display, URL input,
known-explorers reference list, and reset button
- OtsSettingsScreen: full screen wrapping the section
- Routes.OtsSettings: new navigation route
- AllSettingsScreen: new entry under App Settings
- AppModules: wires otsPrefs and passes custom URL to resolver builder
https://claude.ai/code/session_01GX7k36uepGxU3U1fBKYFrx
- Add contentWarningReason() helper to TagArrayExt and EventExt for reading the reason from existing events
- Add contentWarningDescription state to ShortNotePostViewModel, wired into event building and draft load/save/reset
- Update ContentSensitivityExplainer to accept description state and render an OutlinedTextField for user input
- Pass description state from ShortNotePostScreen to ContentSensitivityExplainer
- Add "Reason (optional)" placeholder string resource
https://claude.ai/code/session_01P2nkYdNiWXiAcfMPTRTVEW
Extract the Namecoin settings from PrivacyOptionsScreen into a
dedicated NamecoinSettingsScreen with its own Route.NamecoinSettings
route. Add a "Namecoin Settings" entry to AllSettingsScreen so users
can navigate to it directly from the settings list.
https://claude.ai/code/session_013gEw6fJYFiFoe4zETo8dpC
* 'main' of https://github.com/vitorpamplona/amethyst:
New Crowdin translations by GitHub Action
fix: resolve conflicts with upstream PR #1789 merge
fix(desktop): remove noisy debug logs and silence SLF4J warnings
feat(desktop): add bunker heartbeat indicator to sidebar navigation
fix(desktop): verify user pubkey via get_public_key after nostrconnect login
fix(desktop): address code review findings for NIP-46 bunker login
feat(desktop): add nostrconnect:// login flow for QR-based signer pairing
revert: remove QR code scanning from login
feat(desktop): webcam QR scanning via ffmpeg for bunker login
feat(desktop): add webcam QR code scanning for bunker login
feat(desktop): add QR code scanning for bunker login
fix(desktop): clear stored credentials on logout
feat(desktop): update login hints to mention bunker:// option
fix(desktop): simplify settings logout to just a button
feat(desktop): add logout option to menu bar and settings
test: add NIP-46 test suite for desktop, quartz, and fix pre-existing chess test errors
feat(desktop): add NIP-46 remote signer (bunker://) login