chore(gate): herstel groene make check op main — drift over vijf poorten (#1118) #1119

Merged
brenno merged 4 commits from chore/conventions-greening-1103-drift into main 2026-08-02 09:53:33 +00:00
Owner

Wat & waarom

make check stond rood op main (de26b0fa) door voorbestaande drift over
meerdere poorten. Omdat de CI-poort hier alleen op een release-tag draait (niet
per PR), zijn die overschrijdingen ongemerkt op main beland. Deze PR zet de
volledige poort weer op groen — door te krimpen / registreren, niet door
plafonds te verhogen (geen enkele baseline is aangeraakt).

De overtredingen en de aanpak (allemaal gedrag-behoudend)

Bestands-/klasseplafonds (conventions):

  • markdown_deck_editor.dart 1512 → 962: staart-hulpwidgets naar nieuw part
    markdown_deck_editor_widgets.dart; _formattingBar als top-level helper.
  • tabs_provider.dart 1037 → 981 én TabsNotifier 2291 → 2235:
    _openPackageFromBytes uit de klasse getild naar top-level in het bestaande
    part tabs_provider_package.dart (patroon _selectTab(notifier, …)).
  • app_shell.dart 841 → 805, app_shell_main_layout.dart 1026 → 985,
    _MainLayoutState 1490 → 1449: _shortcutBindings naar nieuw part
    main_layout_shortcuts.dart, _listenChartDataWarning naar
    command_palette_actions.dart.

Methodelengte:

  • question_editor.dart _QuestionEditorState.build 163 → 123 regels: het
    vraagsoort-keuzeveld naar _questionKindField(l10n).

Hardgecodeerde tekst:

  • expanded_markdown_dialog.dart '$previewShortcut · Esc': de toetsnaam Esc
    loopt nu door l10n.d('Esc') en staat als identifier in
    unchangedInAllLanguages én unchangedInEnglish (geen nepvertaling — conform
    de poort-aanwijzing en shortcut_label.dart).

Wit-oppervlak-poort (gevolg van de verplaatsing):

  • De witte scope-schakelaar-duim verhuisde mee naar
    markdown_deck_editor_widgets.dart; de allowlist in
    chrome_no_fixed_white_surface_test.dart wijst nu naar dat bestand.

Source-map-registratie (voorbestaande drift):

  • Drie editor-libraries zonder regel in docs/SOURCE_MAP.md toegevoegd:
    editor_slide_preview.dart, expanded_markdown_dialog.dart,
    markdown_editor_field.dart.

Verificatie

dart analyze schoon; alle statische poorten groen; volledige make check
(incl. coverage + coverage-per-file) én make l10n-check groen.

Proces-observatie (los van deze PR)

De onderliggende oorzaak is dat de statische poorten (conventions, methodelengte,
hardgecodeerde tekst, source-map) alleen op een release-tag draaien, niet per PR —
daardoor kan main tussen releases stil rood worden. Overweeg een lichte
per-PR-poort (alleen de snelle statische checks, zonder de trage coverage-run) om
herhaling te voorkomen. Bewust hier alleen gemeld, niet gebouwd.

Closes #1118

## Wat & waarom `make check` stond **rood op `main`** (de26b0fa) door voorbestaande drift over meerdere poorten. Omdat de CI-poort hier alleen op een release-tag draait (niet per PR), zijn die overschrijdingen ongemerkt op `main` beland. Deze PR zet de volledige poort weer op groen — door te **krimpen / registreren**, niet door plafonds te verhogen (geen enkele baseline is aangeraakt). ## De overtredingen en de aanpak (allemaal gedrag-behoudend) **Bestands-/klasseplafonds (conventions):** - `markdown_deck_editor.dart` 1512 → 962: staart-hulpwidgets naar nieuw part `markdown_deck_editor_widgets.dart`; `_formattingBar` als top-level helper. - `tabs_provider.dart` 1037 → 981 én `TabsNotifier` 2291 → 2235: `_openPackageFromBytes` uit de klasse getild naar top-level in het bestaande part `tabs_provider_package.dart` (patroon `_selectTab(notifier, …)`). - `app_shell.dart` 841 → 805, `app_shell_main_layout.dart` 1026 → 985, `_MainLayoutState` 1490 → 1449: `_shortcutBindings` naar nieuw part `main_layout_shortcuts.dart`, `_listenChartDataWarning` naar `command_palette_actions.dart`. **Methodelengte:** - `question_editor.dart` `_QuestionEditorState.build` 163 → 123 regels: het vraagsoort-keuzeveld naar `_questionKindField(l10n)`. **Hardgecodeerde tekst:** - `expanded_markdown_dialog.dart` `'$previewShortcut · Esc'`: de toetsnaam `Esc` loopt nu door `l10n.d('Esc')` en staat als identifier in `unchangedInAllLanguages` én `unchangedInEnglish` (geen nepvertaling — conform de poort-aanwijzing en `shortcut_label.dart`). **Wit-oppervlak-poort (gevolg van de verplaatsing):** - De witte scope-schakelaar-duim verhuisde mee naar `markdown_deck_editor_widgets.dart`; de allowlist in `chrome_no_fixed_white_surface_test.dart` wijst nu naar dat bestand. **Source-map-registratie (voorbestaande drift):** - Drie editor-libraries zonder regel in `docs/SOURCE_MAP.md` toegevoegd: `editor_slide_preview.dart`, `expanded_markdown_dialog.dart`, `markdown_editor_field.dart`. ## Verificatie `dart analyze` schoon; alle statische poorten groen; volledige `make check` (incl. `coverage` + `coverage-per-file`) én `make l10n-check` groen. ## Proces-observatie (los van deze PR) De onderliggende oorzaak is dat de statische poorten (conventions, methodelengte, hardgecodeerde tekst, source-map) alleen op een release-tag draaien, niet per PR — daardoor kan `main` tussen releases stil rood worden. Overweeg een lichte per-PR-poort (alleen de snelle statische checks, zonder de trage coverage-run) om herhaling te voorkomen. Bewust hier alleen gemeld, niet gebouwd. Closes #1118
Voorbestaande drift op main: recente merges duwden deze bestanden/klassen over
hun plafond zonder dat een per-PR-poort het ving. Gedrag-behoudend gekrompen —
geen baseline verhoogd.

- markdown_deck_editor.dart 1512->962: staart-hulpwidgets naar nieuw part
  markdown_deck_editor_widgets.dart; _formattingBar als top-level helper.
- tabs_provider.dart 1037->981 en TabsNotifier 2291->2235: _openPackageFromBytes
  als top-level helper naar het bestaande part tabs_provider_package.dart.
- app_shell.dart 841->805, app_shell_main_layout.dart 1026->985 en
  _MainLayoutState 1490->1449: _shortcutBindings naar nieuw part
  main_layout_shortcuts.dart, _listenChartDataWarning naar command_palette_actions.dart.

De witte scope-schakelaar-duim verhuisde mee; de allowlist in
chrome_no_fixed_white_surface_test.dart wijst nu naar het nieuwe part-bestand.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
_QuestionEditorState.build was 163 regels (max 150). Het vraagsoort-keuzeveld is
naar _questionKindField(l10n) getild; build is nu 123 regels. Gedrag ongewijzigd.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
expanded_markdown_dialog.dart toonde '$previewShortcut · Esc' met een letterlijke
'Esc'. De toetsnaam loopt nu door l10n.d('Esc') en staat als identifier in
unchangedInAllLanguages en unchangedInEnglish — geen nepvertaling, conform de
poort-aanwijzing en shortcut_label.dart.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
test+docs: dek editor_slide_preview en registreer drie editor-libraries (#1118)
All checks were successful
scans / scans (pull_request) Successful in 3m42s
fd651ecd4f
- test/editor_slide_preview_test.dart: de gedeelde editorSlidePreview-wrapper stond
  op 0% (editors roepen hem lui aan via previewBuilder); een gerichte render-test
  brengt hem boven de per-bestand-coveragevloer.
- docs/SOURCE_MAP.md: regels voor editor_slide_preview.dart,
  expanded_markdown_dialog.dart en markdown_editor_field.dart, die geen
  source-map-entry hadden.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 8a24e400a6 into main 2026-08-02 09:53:33 +00:00
brenno deleted branch chore/conventions-greening-1103-drift 2026-08-02 09:53:34 +00:00
Sign in to join this conversation.
No description provided.