fix(save): tweede Cmd/Ctrl+S tijdens opslag niet meer stilletjes negeren (#1952) #1970
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1970
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/save-wachtrij-1952"
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?
Samenvatting
Een tweede Cmd/Ctrl+S tijdens een lopende opslag werd stilletjes genegeerd:
save()gaf meteenfalseterug, zonder snackbar, zonder dat het tabblad vuil bleef om die reden, en zonder dat de gebruiker zag dat de tweede poging niet was meegenomen.Nu wordt de tweede poging onthouden in
_saveQueueden opnieuw uitgevoerd nadat de eerste opslag klaar is — maar alleen als het tabblad nog vuil is (de eerste opslag kan al schoon hebben gemaakt, of de gebruiker kan ondertussen hebben getypt).De lock zelf blijft: twee schrijfbeurten door elkaar is erger. Het zwijgen was het probleem.
Wat er verandert
lib/state/deck_provider.dart:_saveQueued-veld + wachtrij-logica insave()— definally-blok hertriggertsave()als_saveQueuedgezet is en het tabblad nog vuil is.tool/check_conventions.dart:DeckNotifier-plafond +16 (wachtrij-veld + logica +dart:async-import).Bewaker
De wijziging raakt opslag, maar is puur defensief: geen formaatwijziging, geen nieuwe afhankelijkheid, geen uitgaand verkeer. De wachtrij voorkomt gegevensverlies (de tweede poging wordt niet meer stil weggegooid).
Test plan
make checkgroen (11000+ tests, golden suite, alle poorten)make check-secretsschoon (gitleaks + trufflehog)make sastschoon (semgrep, 0 bevindingen)Generated with Devin