fix(macos): verwijder gedeprecieerde allowedFileTypes en dode debugPrint #1624

Merged
brenno merged 2 commits from fix/macos-build-ruis into main 2026-08-20 20:08:38 +00:00
Owner

Samenvatting

Rode build-ruis op macOS opgeruimd op twee plekken in eigen code:

  • AppDelegate.swift: de #available(macOS 11.0, *) guards op allowedContentTypes waren dode code (deployment target is macOS 12.0), en allowedFileTypes = nil was (a) gedeprecieerd sinds 12.0, (b) overbodig want allowedContentTypes stond al, (c) nil is de default. Beide weg uit pickFile en saveFile — twee waarschuwingen minder bij elke build.
  • FlutterWindow.swift (eigen fork van desktop_multi_window): de debugPrint("Child window deinit") in CustomWindow.deinit produceerde bij elke presentatie-sluiting een rode regel. De deinit zelf blijft, alleen de print is weg.

Daarnaast de SBOM ververst — die was verouderd geraakt door de merge van PR #1622 (clipboard-HTML-paste), waardoor sbom_test viel.

Wat niet is meegenomen (bewuste keuzes)

  • FLTEnableMergedPlatformUIThread op false: de waarschuwing "Running Flutter without merged threads is deprecated" verschijnt 3x per hot restart. Omdraaien naar true is de enige manier om die ruis weg te krijgen, maar desktop_multi_window is niet thread-safe getest. Onderzoek wees uit dat de "Child window deinit" / "Communicating on a dead channel"-sequentie samenhangt met het sluiten van het publieksvenster — merged threads aanzetten zonder grondige test kan dat verergeren. Laten staan tot dat onderzoek is afgerond.
  • "Communicating on a dead channel": de presenter stuurt naar audienceChannel nadat het publieksvenster gesloten is (~9 send-plekken verspreid over 5 bestanden, geen centrale guard). Dit is een echte race-condition bij het sluiten, maar de fix is een refactor die buiten deze opruim-opdracht valt. De sends worden al opgevangen met .catchError, dus het is ruis, geen crash.
  • "Lost connection to device": debug-verbinding die na uren verloor onder flutter run, geen app-crash.
  • .pub-cache waarschuwingen (quill_native_bridge_macos, video_player_avfoundation, webview_flutter_wkwebview): zitten in plugins, niet in eigen code. Geen actie.

Bewaker

Niet van toepassing — de wijziging raakt geen bestandsformaat, opslag, afhankelijkheid erbij, uitgaand verkeer of publieke belofte. De debugPrint-verwijdering in de vendored fork is een cosmetische wijziging in een eigen kopie, geen nieuwe afhankelijkheid.

Test plan

  • make check groen (10289 tests, 87.2% dekking)
  • make check-secrets schoon (gitleaks + trufflehog)
  • make sast schoon (semgrep, 0 findings)
  • CI static-gate groen op Forgejo

Generated with Devin

## Samenvatting Rode build-ruis op macOS opgeruimd op twee plekken in eigen code: - **`AppDelegate.swift`**: de `#available(macOS 11.0, *)` guards op `allowedContentTypes` waren dode code (deployment target is macOS 12.0), en `allowedFileTypes = nil` was (a) gedeprecieerd sinds 12.0, (b) overbodig want `allowedContentTypes` stond al, (c) `nil` is de default. Beide weg uit `pickFile` en `saveFile` — twee waarschuwingen minder bij elke build. - **`FlutterWindow.swift`** (eigen fork van desktop_multi_window): de `debugPrint("Child window deinit")` in `CustomWindow.deinit` produceerde bij elke presentatie-sluiting een rode regel. De deinit zelf blijft, alleen de print is weg. Daarnaast de SBOM ververst — die was verouderd geraakt door de merge van PR #1622 (clipboard-HTML-paste), waardoor `sbom_test` viel. ## Wat niet is meegenomen (bewuste keuzes) - **`FLTEnableMergedPlatformUIThread` op `false`**: de waarschuwing "Running Flutter without merged threads is deprecated" verschijnt 3x per hot restart. Omdraaien naar `true` is de enige manier om die ruis weg te krijgen, maar `desktop_multi_window` is niet thread-safe getest. Onderzoek wees uit dat de "Child window deinit" / "Communicating on a dead channel"-sequentie samenhangt met het sluiten van het publieksvenster — merged threads aanzetten zonder grondige test kan dat verergeren. Laten staan tot dat onderzoek is afgerond. - **"Communicating on a dead channel"**: de presenter stuurt naar `audienceChannel` nadat het publieksvenster gesloten is (~9 send-plekken verspreid over 5 bestanden, geen centrale guard). Dit is een echte race-condition bij het sluiten, maar de fix is een refactor die buiten deze opruim-opdracht valt. De sends worden al opgevangen met `.catchError`, dus het is ruis, geen crash. - **"Lost connection to device"**: debug-verbinding die na uren verloor onder `flutter run`, geen app-crash. - **`.pub-cache` waarschuwingen** (quill_native_bridge_macos, video_player_avfoundation, webview_flutter_wkwebview): zitten in plugins, niet in eigen code. Geen actie. ## Bewaker Niet van toepassing — de wijziging raakt geen bestandsformaat, opslag, afhankelijkheid erbij, uitgaand verkeer of publieke belofte. De `debugPrint`-verwijdering in de vendored fork is een cosmetische wijziging in een eigen kopie, geen nieuwe afhankelijkheid. #### Test plan - [x] `make check` groen (10289 tests, 87.2% dekking) - [x] `make check-secrets` schoon (gitleaks + trufflehog) - [x] `make sast` schoon (semgrep, 0 findings) - [ ] CI `static-gate` groen op Forgejo Generated with [Devin](https://devin.ai)
De deployment target is macOS 12.0, dus de `#available(macOS 11.0, *)`
guards op allowedContentTypes waren altijd waar, en `allowedFileTypes = nil`
was (a) gedeprecieerd sinds 12.0, (b) overbodig want allowedContentTypes
stond al, (c) nil is de default. Beide weggelaten uit pickFile en saveFile.

De `debugPrint("Child window deinit")` in de eigen fork van
desktop_multi_window produceerde bij elke presentatie-sluiting een rode
regel; de deinit zelf blijft, alleen de print is weg.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
chore: ververs SBOM na #1622 (clipboard-HTML-paste)
All checks were successful
scans / scans (pull_request) Successful in 2m15s
static-gate / static-gate (pull_request) Successful in 7m2s
986afc3274
De SBOM was verouderd geraakt door de merge van PR #1622; sbom_test
viel daardoor. Hergegenereerd met make sbom.

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

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