* fix(wallet): keep jars visible and clickable during background refetch
Gate the jars grid on isLoading instead of isFetching, matching the balance display above it. isFetching is true on every background refetch, so the jars (and the Jar Details overlay they open) were being replaced by a spinner any time wallet data refreshed, even though the previous jars were still valid to show.
* test(wallet): assert jars stay visible during background refetch
Update the jars spinner test to match the new isLoading-based gate. The test now asserts that a jar name stays on screen and the background refetch still calls refetch on click, instead of asserting a spinner appears.
* test(wallet): assert jar overlay opens on click during background refetch
* chore(orderbook): improve bond and relative fee display value
* ui(earn): hover effects on fidelity bond and offer cards
* fix: use correct repo url base
* chore(jar-detials): improve confirmations display value
* chore(send): remove dev/prod distinction for minimum collaborators
this is already dynamically done by fetching the backend config value
* chore(send): jars with frozen funds are selectable
* ui(send): justify jars and increase space to precondition alert
* build: fix errors in test setups
* feat(send): open utxo selector on click on selected jar
* test: add tests for Jar and SelectableJar
* chore(ui): frozen balance with class 'invisible' instead of 'hidden'
* ui(receive): justify around jars
* chore(i18n): improve missing source jar utxos message
* fix(receive): save sourceJarIndex before async operation
* chore: flag if address from parsed from bip21 uri
* chore: scan applied alert only when parsed from uri
* refactor(earn): standardize move-to-jar form
* refactor(earn): standardize bond renewal form
* refactor(send): standardize utxo selection form
* chore(settings): remove stale form migration todo
* refactor(earn): rely on form confirmation default
* chore: freeze/unfreeze alert warning or error depending on context
* chore(sweep): fieldset and errors in sweep form
* chore(form): use FieldError component consistently
* chore(cleanup): remove unnecessary mocks
* test(websocket): initial test for useJmWebsocket
* refactor: add reason to scheduler error messages
* fix: dismiss schedule confirm dialog on error
* chore(i18n): distinct scheduler starting/stopping messages
* chore(sweep): remove redundant manual destination validation
* chore(sweep): initial sweep options
* chore(ui): add slider component
* chore(sweep): add rounding chance option
* feat(sweep): ability to add/remove destinations
* chore(sweep): use plan tumbler mutation
* refactor(sweep): use tumblerstartMutation
* refactor(sweep): externalize SweepForm
* feat(sweep): ability to set min/max number of collaborators
* chore(sweep): increase time_lambda_seconds in insecure test options
* chore(sweep): fix progress step of quick sweep
* chore(sweep): start refactor schedule entry
* chore(sweep): preserve raw data in ScheduleEntry
* feat(sweep): show destination addresses
* chore(sweep): scroll to top after start/stop
* chore(ui): add Item component
* fix: only abort single taker runs on send page
* chore(sweep): schedule entries with Item component
* chore(sweep): show wait time before next action
* chore(sweep): schedule entries in accordion
* chore(sweep): remove scheduler.progress_current_state_wait_before_next message
* chore(sweep): tab for completed entries
* refactor(sweep): align Schedule object structure
* chore(sweep): display error message on failed actions
* chore(sweep): display completed scheduled sweep
* chore(sweep): move stop button from child component to page
* feat(sweep): ability to review scheduled sweep plan
* chore(sweep): increase schedule polling from 3s to 10s
* chore(sweep): hourglass icon for waiting alerts
* chore(sweep): adapt buttons, labels and alert texts
* fix(sweep): default min confirmations between phases
* chore(sweep): improve time estimate on sweeps
* chore(sweep): show pending tasks in details
* feat(sweep): ability to configure mintxcount
* chore(storybook): add slider, sidebar and item stories
* test(sweep): verify add/remove sweep destination input
* test: load decorators from story meta config
* chore(sweep): add makeSessionIdleTimeoutSeconds to form values
* chore(sweep): reload schedule if not stale or terminated
* chore(sweep): more details in sections
* chore(sweep): reorder entry details
* chore(sweep): show transaction info in destination section
* chore(sweep): estimate duration with fixed runtime info of maker phases
* chore(regtest): setup dummy wallet fidelity bonds
* fix(sweep): maker idle timeout less than runtime duration
* chore(sweep): use taker_utxo_age as min confs in sweep preconditions
* chore(build): add task test:coverage
* chore(sweep): max number of destination addresses
* chore(sweep): maxNumberOfDestinations