- Process relays in batches of 50 instead of one at a time; each batch
opens a single subscription covering all relays simultaneously, so
5 000 relays become 100 batches rather than 5 000 sequential round-trips.
- Collapse the three sequential phases into one combined query per batch:
send both the 'authored by me' filter and the 'p-tagged me' filter in
the same subscription, then route events to outbox/inbox/DM relays by
their properties. This halves the total number of relay connections.
- Make the procedure pausable: cancel() now transitions to SyncState.Paused
(carrying the next chunk index and events-sent count) instead of Idle.
The screen shows a Resume button that continues from the saved checkpoint
and a Start Over button to restart from scratch.
- The mobile-data dialog correctly routes to resume() vs start() depending
on whether a checkpoint exists.
https://claude.ai/code/session_01U8qF9mK4UBvXsXP1zNMXfX
Replace the disabled-Start + secondary-Start-Anyway button pattern
with a single always-enabled Start button that shows an AlertDialog
when the connection is metered/mobile, requiring explicit confirmation
before running a potentially gigabyte-scale operation.
https://claude.ai/code/session_01U8qF9mK4UBvXsXP1zNMXfX
Move EventSyncViewModel from a screen-scoped ViewModel to a plain class
held by AccountViewModel (activity-scoped). The sync job now runs on
AccountViewModel's viewModelScope, so it continues when the user
navigates away. The back button no longer cancels the sync.
https://claude.ai/code/session_01U8qF9mK4UBvXsXP1zNMXfX
- 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
Implements a pure-Kotlin (commonMain) parser for the BUD-10 blossom: URI
scheme, which allows sharing blob references with discovery hints.
Format: blossom:<sha256>.<ext>[?xs=<server>&as=<pubkey>&sz=<bytes>]
- BlossomUri data class holds sha256, extension, servers (xs), authors (as), size (sz)
- BlossomUri.parse() returns null for non-blossom URIs or invalid SHA-256
- Supports repeated xs/as params (multiple servers and authors)
- Percent-encodes server URLs on serialisation; decodes on parse
- BlossomUri.toUriString() round-trips back to a canonical URI
- Includes commonTest coverage for all parsing cases
https://claude.ai/code/session_01T4jyLbkNWd3f7i6MwsBcD4
- 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