fix(recovery): mislukt crashherstel melden aan de gebruiker (#1953) #1971

Merged
brenno merged 1 commit from fix/crashherstel-melding-1953 into main 2026-09-03 15:23:07 +00:00
Owner

Samenvatting

Een schrijffout naar de herstelmap (schijf vol, rechten, pad weg) ging naar het logboek en verder niets. De gebruiker vertrouwde de belofte dat onopgeslagen werk terugkomt na een crash, zonder ooit te horen dat de vangnetten kapout waren.

Nu meldt de eerste fout in een sessie (of de eerste ná een geslaagde schrijfbeurt) zich via een foutmelding in de UI. Daarna niet elke 25 s herhalen — een geslaagde schrijfbeurt reset de vlag, zodat een volgende fout wéér meldt.

Wat er verandert

  • lib/services/recovery_service.dart: onWriteError-callback + _lastWriteFailed-vlag. De eerste fout roept de callback; een geslaagde schrijfbeurt reset de vlag.
  • lib/state/tabs_provider.dart: recoveryWriteErrorProvider (StateProvider) + callback-bedrading in de constructor.
  • lib/widgets/shell/command_palette_actions.dart: _listenRecoveryWriteError-listener die een foutmelding toont.
  • lib/widgets/app_shell.dart: listener bedrading.
  • 31 vertalingen via make add-l10n.

Bewaker

De wijziging raakt opslag (herstelmap), maar is puur defensief: geen formaatwijziging, geen nieuwe afhankelijkheid, geen uitgaand verkeer. De melding voorkomt dat de gebruiker op een vangnet leunt dat er niet is.

Test plan

  • make check groen (11000+ tests, golden suite, alle poorten)
  • make check-secrets schoon (gitleaks + trufflehog)
  • make sast schoon (semgrep, 0 bevindingen)
  • Nieuwe test: eerste schrijffout roept callback, tweede niet
  • Nieuwe test: geslaagde schrijfbeurt reset vlag, volgende fout meldt wéér

Generated with Devin

## Samenvatting Een schrijffout naar de herstelmap (schijf vol, rechten, pad weg) ging naar het logboek en verder niets. De gebruiker vertrouwde de belofte dat onopgeslagen werk terugkomt na een crash, zonder ooit te horen dat de vangnetten kapout waren. Nu meldt de eerste fout in een sessie (of de eerste ná een geslaagde schrijfbeurt) zich via een foutmelding in de UI. Daarna niet elke 25 s herhalen — een geslaagde schrijfbeurt reset de vlag, zodat een volgende fout wéér meldt. ### Wat er verandert - `lib/services/recovery_service.dart`: `onWriteError`-callback + `_lastWriteFailed`-vlag. De eerste fout roept de callback; een geslaagde schrijfbeurt reset de vlag. - `lib/state/tabs_provider.dart`: `recoveryWriteErrorProvider` (StateProvider<bool>) + callback-bedrading in de constructor. - `lib/widgets/shell/command_palette_actions.dart`: `_listenRecoveryWriteError`-listener die een foutmelding toont. - `lib/widgets/app_shell.dart`: listener bedrading. - 31 vertalingen via `make add-l10n`. ### Bewaker De wijziging raakt opslag (herstelmap), maar is puur defensief: geen formaatwijziging, geen nieuwe afhankelijkheid, geen uitgaand verkeer. De melding voorkomt dat de gebruiker op een vangnet leunt dat er niet is. #### Test plan - [x] `make check` groen (11000+ tests, golden suite, alle poorten) - [x] `make check-secrets` schoon (gitleaks + trufflehog) - [x] `make sast` schoon (semgrep, 0 bevindingen) - [x] Nieuwe test: eerste schrijffout roept callback, tweede niet - [x] Nieuwe test: geslaagde schrijfbeurt reset vlag, volgende fout meldt wéér Generated with [Devin](https://devin.ai)
fix(recovery): mislukt crashherstel melden aan de gebruiker (#1953)
All checks were successful
scans / scans (pull_request) Successful in 2m6s
static-gate / static-gate (pull_request) Successful in 5m17s
7edc936da1
Een schrijffout naar de herstelmap (schijf vol, rechten, pad weg) ging
naar het logboek en verder niets. De gebruiker vertrouwde de belofte
dat onopgeslagen werk terugkomt na een crash, zonder ooit te horen dat
de vangnetten kapot waren.

Nu meldt de eerste fout in een sessie (of de eerste ná een geslaagde
schrijfbeurt) zich via een foutmelding in de UI. Daarna niet elke 25 s
herhalen — een geslaagde schrijfbeurt reset de vlag, zodat een volgende
fout wéér meldt.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 1e165446a4 into main 2026-09-03 15:23:07 +00:00
Sign in to join this conversation.
No description provided.