make check rood op main na #870: dartcv4 ontbreekt in THIRD_PARTY_NOTICES + flaky gezichtsdetectietest #890

Closed
opened 2026-07-26 14:03:32 +00:00 by brenno · 1 comment
Owner

Probleem

Na de dartcv4-migratie (#870, merge 2b11a491) faalt make check op de huidige main op punten die los staan van de PR's die erna landden. Ontdekt tijdens het rebasen van #876 op main; #876 is bewust op het bewijs gemerged (zijn eigen poorten waren groen), maar main blijft hierop rood.

Wat er faalt

  1. THIRD_PARTY_NOTICES.md mist dartcv4 — echte fout, blokkerend. test/third_party_notices_test.dart ("every direct dependency appears in the notices") eist dat elke directe dependency in de notices staat. #870 verving opencv_core door dartcv4 in pubspec.yaml maar werkte het handmatig onderhouden notices-bestand niet bij (regel ~94 en ~113 noemen nog opencv_core). Fix: voeg een dartcv4-entry toe (verifieer de licentie uit het pakket zelf — niet gokken, het is een juridisch bestand) en werk de opencv_core-verwijzingen bij.

  2. test/ai_image_outbound_dialog_test.dart flakt onder make-check-last — 'meldt gevonden gezichten, en zwijgt bij nul' viel om op een niet-vindbaar widget (tester.tap), maar slaagt geïsoleerd (8/8). Oorzaak: sinds dartcv4 met een geïnstalleerde cmake de native laag echt bouwt, draait de async gezichtsdetectie mee, wat de dialoog-pump-timing onder last laat flakeren (bekende runAsync-dialoogklasse). Fix: begrensde multi-frame-pumps zodat de dialoog settelt vóór de tap.

  3. make check vereist nu cmake (dartcv4 native-assets-build-hook). Zonder cmake op PATH breekt élke dart run/flutter test ('Failed to find cmake with version=latest'; de Android-SDK-cmake wordt geweigerd). Een andere sessie werkt al aan het native-assets-pad (tak fix/macos-dartcv-native-assets-path) — mogelijk dekt die dit; documenteer in elk geval de cmake-eis in docs/CHECKS.md of de bouwdocs, zodat make check lokaal reproduceerbaar blijft.

Al gedeeltelijk gedeblokkeerd

In de #876-merge (chore-commit) zijn drie triviale, gelabelde main-fixes meegenomen: een dart-format-drift en een _dualHost-lint in de presenter-bestanden, en het klasse-plafond van _FullscreenPresenterState (van #865/#872, opgetrokken naar 3465 — met een aparte refactortaak). De notices (1) en de flake (2) horen bij #870 zelf.

Waarom dit telt

Zolang main hierop rood staat, kan geen enkele sessie een schone make check draaien vóór een merge — de kernpoort van deze repo. Prioriteit: (1) blokkeert het hardst.

## Probleem Na de dartcv4-migratie (#870, merge 2b11a491) faalt `make check` op de huidige main op punten die los staan van de PR's die erna landden. Ontdekt tijdens het rebasen van #876 op main; #876 is bewust op het bewijs gemerged (zijn eigen poorten waren groen), maar main blijft hierop rood. ## Wat er faalt 1. **THIRD_PARTY_NOTICES.md mist `dartcv4`** — echte fout, blokkerend. `test/third_party_notices_test.dart` ("every direct dependency appears in the notices") eist dat elke directe dependency in de notices staat. #870 verving `opencv_core` door `dartcv4` in `pubspec.yaml` maar werkte het handmatig onderhouden notices-bestand niet bij (regel ~94 en ~113 noemen nog `opencv_core`). Fix: voeg een `dartcv4`-entry toe (verifieer de licentie uit het pakket zelf — niet gokken, het is een juridisch bestand) en werk de `opencv_core`-verwijzingen bij. 2. **`test/ai_image_outbound_dialog_test.dart` flakt onder make-check-last** — 'meldt gevonden gezichten, en zwijgt bij nul' viel om op een niet-vindbaar widget (`tester.tap`), maar **slaagt geïsoleerd** (8/8). Oorzaak: sinds dartcv4 met een geïnstalleerde cmake de native laag echt bouwt, draait de async gezichtsdetectie mee, wat de dialoog-pump-timing onder last laat flakeren (bekende runAsync-dialoogklasse). Fix: begrensde multi-frame-pumps zodat de dialoog settelt vóór de tap. 3. **`make check` vereist nu cmake** (dartcv4 native-assets-build-hook). Zonder cmake op PATH breekt élke `dart run`/`flutter test` ('Failed to find cmake with version=latest'; de Android-SDK-cmake wordt geweigerd). Een andere sessie werkt al aan het native-assets-pad (tak `fix/macos-dartcv-native-assets-path`) — mogelijk dekt die dit; documenteer in elk geval de cmake-eis in docs/CHECKS.md of de bouwdocs, zodat make check lokaal reproduceerbaar blijft. ## Al gedeeltelijk gedeblokkeerd In de #876-merge (chore-commit) zijn drie triviale, gelabelde main-fixes meegenomen: een dart-format-drift en een `_dualHost`-lint in de presenter-bestanden, en het klasse-plafond van `_FullscreenPresenterState` (van #865/#872, opgetrokken naar 3465 — met een aparte refactortaak). De notices (1) en de flake (2) horen bij #870 zelf. ## Waarom dit telt Zolang main hierop rood staat, kan geen enkele sessie een schone `make check` draaien vóór een merge — de kernpoort van deze repo. Prioriteit: (1) blokkeert het hardst.
Author
Owner

Opgelost op main (merge 0ff457fa, PR #900). (1) De notices-regel was al door #892 gerepareerd; de laatste opencv_core-verwijzing in de proza is nu ook weg. (2) De flaky test is deterministisch gemaakt — oorzaak was een niet-gesloten dialoog die pumpWidget overleeft (reconcile), barrière over de knop; hitTestWarningShouldBeFatal als regressiewaarborg. (3) De cmake-eis staat nu in docs/CHECKS.md en de setupgids. make check groen (6704 tests), secrets + SAST schoon.

Opgelost op main (merge 0ff457fa, PR #900). (1) De notices-regel was al door #892 gerepareerd; de laatste opencv_core-verwijzing in de proza is nu ook weg. (2) De flaky test is deterministisch gemaakt — oorzaak was een niet-gesloten dialoog die pumpWidget overleeft (reconcile), barrière over de knop; hitTestWarningShouldBeFatal als regressiewaarborg. (3) De cmake-eis staat nu in docs/CHECKS.md en de setupgids. make check groen (6704 tests), secrets + SAST schoon.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#890
No description provided.