mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-11 16:57:39 +00:00
Follow-up fixes from an audit of the import feature: - Cancel an in-flight scan when the source selection changes (toggle/add/remove/enable-all). Without this a scan started against the old selection could land afterwards and offer blobs sourced from a server the user just de-selected — which importSelected() would then mirror from. - Sign the BUD-02 list token once per scan and reuse it across every source and target. The token carries no `server` scope tag, so it's valid everywhere; per-server signing was a round-trip storm with remote NIP-46 signers. - BlossomMirrorQueue.start() now returns whether it actually started a sweep. importSelected() keys the Started/Busy result off that instead of a separate isRunning check, closing a TOCTOU where the import would report "started" but the queue silently dropped the work. - The import screen's empty-state now collects the kind-10063 server list reactively, so the "add servers first" ↔ picker switch recomposes when the list arrives from a relay after the screen opens. - init() re-points at the current account each call (matching the sibling BlobManager VM) while still seeding the source list only once. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E5G515Grhc4t7ACoza9eyN