Settings: a failed save can be retried, and says what is happening #275
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "settings-retry"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the last open item in #208, plus three things found next to it while
testing.
The item from #208
Voorkeuren and Automatisch opruimen save on change, with no submit button. So a
failed save left nothing to press: picking the same value again fires no change
event, and reloading was the only way back. The banner said "Probeer het
opnieuw" without offering the means.
Each panel now keeps the last patch it sent, and the banner offers it back
through
nldd-banner's ownactionsslot.Found while testing, not in #208
Automatisch opruimen showed nothing at all when a save failed - the same
silence #201 fixed for Voorkeuren. It was never passed
failed. It also had nolive region, so a screen reader heard none of this either. Both fixed, with the
tests it never had.
Both panels shared one mutation, so they shared its state: changing a theme
put "Opslaan..." under Automatisch opruimen as well, and a failure would have
shown the notice in a panel the user never touched. One saver per panel now, so
the state cannot leak rather than being filtered afterwards.
Settings.vuegetsthe test it never had; it fails on the shared-mutation version.
Offline said "Opslaan..." forever. TanStack pauses a mutation instead of
running it (
networkMode: 'online'), so nothing was being saved and no errorwould ever arrive - the retry button could not appear by construction. That
state now says "Wachten op verbinding...".
The save notice
stops feeling instant, and the same hold-back
nldd-activity-indicatoruses.fields you last touched. Each field carries its own now, and only the one
being saved speaks.
only when something is slow or stuck, so it takes the content tier - which in
this repo means no size rule at all.
nldd-activity-indicator, which needs a box of its own:measured at 518x518 when left to fill its parent, 20x20 once given one. Its
own 1000ms hold-back is off, since the delay is already ours.
The banner drops its full stop: "Opslaan mislukt" is a fragment, and the other
fragment-shaped notice in the app has none either.
Verification
vue-tsc, eslint 0 errors, the full e2e suite(67 passed, 3 skipped),
uvx pre-commit run --all-filesincluding thegenerated-API-types gate.
PUT /api/settings: exactly one liveregion speaks, and it is the field that was changed.
Settings: a failed save can be retriedto Settings: a failed save can be retried, and says what is happeningcc8261564acfa8249bd0