You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spin the Export and Import buttons while they are working
Both buttons went dead quiet once clicked. An export of the whole database
can take a while to build and showed nothing at all until the file
appeared; an import says "Importing" once and never says anything again,
so a restore that takes minutes looked exactly like one that had hung. In
both cases the button still looked untouched and invited a second click -
which on an import means sending the whole file again into a half-applied
restore.
They now do what the speedtest RUN button already does: the label is
replaced by a spinner for as long as the work runs, and comes back
whatever the outcome, including the failures. The label keeps its space
while it is hidden, so the button does not resize under the pointer
mid-click, and a screen reader is told the button is busy since it cannot
see the swap. Export also refuses a second click while it is running,
which it never did before.
Co-Authored-By: Claude <noreply@anthropic.com>
<span class="muted card-foot">Exports the selected categories as one JSON file. <b>No passwords are exported</b> - not your login, not your iperf3 servers'. Restoring here keeps the iperf3 passwords already saved on this machine; on a different machine you re-enter them. <b>Your webhook and heartbeat URLs are included</b>, and those act as credentials - keep the file private.</span>
$('exportMsg').textContent='This backup is too large to download in the browser. Fetch it with curl, or stop the service first and copy the database file with its -wal sidecar and pingularity.key - see the docs.';
7567
7582
} else if(res==='fail'){
7568
7583
$('exportMsg').textContent='Export failed.';
7569
7584
}
7570
7585
});
7586
+
// Swap a button's label for a spinner while its work runs, and refuse a second
7587
+
// click for the same reason the import handler already disabled itself: a repeat
7588
+
// send would upload the whole file again into a half-applied import. aria-busy
7589
+
// carries the same state to a screen reader, which cannot see the swap.
0 commit comments