test(shell): WebDAV/S3-open via runAsync — linux-gate niet meer rood #1770

Merged
brenno merged 1 commit from fix/linux-gate-webdav-open-flaky into main 2026-08-24 12:02:27 +00:00
Owner

Wat

De linux-gate faalde op "Openen uit…" haalt het gekozen deck van de server (shell_webdav_actions_test.dart): 10519 passed, 1 failed. De file-tap in de browserdialoog start de échte open-keten (download → schijfimport → laden), maar de test wachtte erop met tap + settleUntil — één 5 ms runAsync-venster per iteratie. Op de 4-core Xeon-runner onder de volle suite is dat niet genoeg echte async-tijd om de schijf-IO af te ronden, en valt de keten stil binnen de 400 stappen.

Waarom act en niet meer settleUntil

De eigen testdocumentatie noemt al twee pompsorten: act (één runAsync-blok) voor alles wat echt werk doet, settleUntil voor menu's (route-animatie die binnen runAsync niet loopt). De file-tap in een reeds geopende dialoog pop't alleen de route; de visuele sluitanimatie is niet nodig voor de open-keten, dus act mag hier. Dat geeft de hele keten onbeperkte echte async-tijd binnen één blok in plaats van 400 × 5 ms.

De S3-open-test had hetzelfde tap + settleUntil-patroon en was even fragiel — alleen lucky tot nu toe. Idem versterkt voor symmetrie, zodat niet de ene groen is en de andere rood afhankelijk van de volgorde.

Wat niet verandert

Geen lib/-code, geen pubspec, geen formaat/opslag/afhankelijkheid/uitgaand verkeer/belofte — uitsluitend test-harness. De bewaker-stap sla ik daarom expliciet over.

Test plan

  • make check groen (10521 tests, 87,1% coverage)
  • make check-secrets schoon (gitleaks + trufflehog, 0 leaks)
  • make sast schoon (semgrep, 0 findings)
  • static-gate groen op CI
  • linux-gate groen op CI (de eigenlijke graadmeter voor deze fix)

Generated with Devin

## Wat De `linux-gate` faalde op `"Openen uit…" haalt het gekozen deck van de server` (`shell_webdav_actions_test.dart`): 10519 passed, 1 failed. De file-tap in de browserdialoog start de échte open-keten (download → schijfimport → laden), maar de test wachtte erop met `tap` + `settleUntil` — één 5 ms `runAsync`-venster per iteratie. Op de 4-core Xeon-runner onder de volle suite is dat niet genoeg echte async-tijd om de schijf-IO af te ronden, en valt de keten stil binnen de 400 stappen. ## Waarom `act` en niet meer `settleUntil` De eigen testdocumentatie noemt al twee pompsorten: `act` (één `runAsync`-blok) voor alles wat echt werk doet, `settleUntil` voor menu's (route-animatie die binnen `runAsync` niet loopt). De file-tap in een **reeds geopende** dialoog pop't alleen de route; de visuele sluitanimatie is niet nodig voor de open-keten, dus `act` mag hier. Dat geeft de hele keten onbeperkte echte async-tijd binnen één blok in plaats van 400 × 5 ms. De S3-open-test had hetzelfde `tap` + `settleUntil`-patroon en was even fragiel — alleen lucky tot nu toe. Idem versterkt voor symmetrie, zodat niet de ene groen is en de andere rood afhankelijk van de volgorde. ## Wat niet verandert Geen `lib/`-code, geen pubspec, geen formaat/opslag/afhankelijkheid/uitgaand verkeer/belofte — uitsluitend test-harness. De bewaker-stap sla ik daarom expliciet over. #### Test plan - [x] `make check` groen (10521 tests, 87,1% coverage) - [x] `make check-secrets` schoon (gitleaks + trufflehog, 0 leaks) - [x] `make sast` schoon (semgrep, 0 findings) - [ ] `static-gate` groen op CI - [ ] `linux-gate` groen op CI (de eigenlijke graadmeter voor deze fix) Generated with [Devin](https://devin.ai)
test(shell): WebDAV/S3-open via runAsync, niet per-iteratie vensters
All checks were successful
scans / scans (pull_request) Successful in 4m54s
static-gate / static-gate (pull_request) Successful in 13m21s
933cd10828
De linux-gate faalde af en toe op '"Openen uit…" haalt het gekozen deck
van de server': de file-tap in de browserdialoog start de échte open-keten
(download → schijfimport → laden), maar de test wachtte erop met `tap` +
`settleUntil` — één 5 ms runAsync-venster per iteratie. Op de 4-core
Xeon-runner onder de volle suite is dat niet genoeg echte async-tijd om
de schijf-IO af te ronden, en valt de keten stil.

De eigen testdocumentatie noemt al twee pompsorten: `act` (één runAsync-blok)
voor alles wat echt werk doet, `settleUntil` voor menu's (route-animatie).
De file-tap in een reeds geopende dialoog pop't alleen de route; de
visuele sluitanimatie is niet nodig voor de open-keten, dus `act` mag hier.
Dat geeft de hele keten onbeperkte echte async-tijd binnen één blok.

De S3-open-test had hetzelfde patroon en was even fragiel — alleen lucky
tot nu toe. Idem versterkt voor symmetrie.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit f61882fc75 into main 2026-08-24 12:02:27 +00:00
Sign in to join this conversation.
No description provided.