fix(save): afsluiten na git-opslag niet als geslaagd tellen bij annuleren/falen (#1948) #1972

Merged
brenno merged 1 commit from fix/git-opslaan-afsluiten-1948 into main 2026-09-03 15:45:50 +00:00
Owner

Samenvatting

_saveToGit gaf geen succes/falen terug — _saveToOrigin retourneerde altijd true voor git, ook bij annuleren of een mislukte commit/push. De afsluitlus wiste daarna de herstelkopie en sloot de app, terwijl het werk nergens stond.

Nu retourneert _saveToGit een bool: alleen committed, merged, queued en pushFailed (lokale commit bestaat) zijn true. Annuleren, conflict en failed zijn false — venster blijft open, herstel blijft liggen.

Wat er verandert

  • lib/widgets/shell/shell_actions_git.dart: _saveToGit retourneert Future<bool> in plaats van Future<void>. Alle early returns geven false; de try/catch geeft false bij uitzonderingen; de switch op GitSaveStatus geeft true voor success-statussen en false voor conflict/failed.
  • lib/widgets/shell/shell_actions_connections.dart: _saveToOrigin geeft _saveToGit(...) door in plaats van await _saveToGit(...); return true;.

Bewaker

Geen formaatwijziging, geen nieuwe afhankelijkheid, geen uitgaand verkeer. De wijziging 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: Cmd+S met git-herkomst annuleert zonder succesmelding
  • Bestaande test: annuleren in het opslaanvenster commit niets — nog groen

Generated with Devin

## Samenvatting `_saveToGit` gaf geen succes/falen terug — `_saveToOrigin` retourneerde altijd `true` voor git, ook bij annuleren of een mislukte commit/push. De afsluitlus wiste daarna de herstelkopie en sloot de app, terwijl het werk nergens stond. Nu retourneert `_saveToGit` een `bool`: alleen `committed`, `merged`, `queued` en `pushFailed` (lokale commit bestaat) zijn `true`. Annuleren, `conflict` en `failed` zijn `false` — venster blijft open, herstel blijft liggen. ### Wat er verandert - `lib/widgets/shell/shell_actions_git.dart`: `_saveToGit` retourneert `Future<bool>` in plaats van `Future<void>`. Alle early returns geven `false`; de try/catch geeft `false` bij uitzonderingen; de switch op `GitSaveStatus` geeft `true` voor success-statussen en `false` voor conflict/failed. - `lib/widgets/shell/shell_actions_connections.dart`: `_saveToOrigin` geeft `_saveToGit(...)` door in plaats van `await _saveToGit(...); return true;`. ### Bewaker Geen formaatwijziging, geen nieuwe afhankelijkheid, geen uitgaand verkeer. De wijziging 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: Cmd+S met git-herkomst annuleert zonder succesmelding - [x] Bestaande test: annuleren in het opslaanvenster commit niets — nog groen Generated with [Devin](https://devin.ai)
fix(save): afsluiten na git-opslag niet als geslaagd tellen bij annuleren/falen (#1948)
All checks were successful
scans / scans (pull_request) Successful in 2m13s
static-gate / static-gate (pull_request) Successful in 5m26s
0f678dd5e8
_saveToGit gaf geen succes/falen terug — _saveToOrigin retourneerde
altijd true voor git, ook bij annuleren of een mislukte commit/push.
De afsluitlus wiste daarna de herstelkopie en sloot de app, terwijl
het werk nergens stond.

Nu retourneert _saveToGit een bool: alleen committed, merged, queued
en pushFailed (lokale commit bestaat) zijn true. Annuleren, conflict
en failed zijn false — venster blijft open, herstel blijft liggen.

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

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