Plakken houdt structuur uit webeditor-HTML (#1595) #1622

Merged
brenno merged 2 commits from feat/clipboard-html-paste into main 2026-08-20 19:25:20 +00:00
Owner

Summary

  • Plakken in de documenteditor leest de HTML-variant van het klembord (macOS, Windows, Linux, web) en zet die om naar Markdown: koppen, geneste lijsten, nadruk, links, code, tabellen.
  • De HTML zelf wordt niet bewaard en niet gerenderd. Spreadsheet-plakken blijft voorgaan; ontbreekt HTML, dan de bestaande platte-tekstval.
  • package:html was al transief in de lockfile en is nu een directe MIT-afhankelijkheid om te ontleden, niet om te tonen.

Closes #1595

Bewaker

Bestandsformaat blijft gewone Markdown in het .md. Geen nieuwe klembord-afhankelijkheid (pasteboard al in de keten). HTML van buiten komt alleen in de omzetter; javascript:/data:/script/style vallen weg.

Test plan

  • make check groen (10261 tests, dekking 87,2%)
  • make check-secrets (gitleaks + trufflehog) en make sast (semgrep, 0 findings)
  • DAST (ZAP) niet gedraaid: geen Docker/ZAP in deze omgeving
  • Native NSPasteboard/GtkClipboard vallen buiten flutter test; de Dart-keten (omzetting, volgorde, kanaal-mock) wel. Op macOS: kopiëren uit een webeditor met geneste lijst en plakken in Bron.

Notes

De platformlezing zelf is niet onder flutter test. De mermaid-coverage-toets reset hostNeeded zodat hij niet meer van de suitévolgorde afhangt.

## Summary - Plakken in de documenteditor leest de HTML-variant van het klembord (macOS, Windows, Linux, web) en zet die om naar Markdown: koppen, geneste lijsten, nadruk, links, code, tabellen. - De HTML zelf wordt niet bewaard en niet gerenderd. Spreadsheet-plakken blijft voorgaan; ontbreekt HTML, dan de bestaande platte-tekstval. - `package:html` was al transief in de lockfile en is nu een directe MIT-afhankelijkheid om te ontleden, niet om te tonen. Closes #1595 ## Bewaker Bestandsformaat blijft gewone Markdown in het `.md`. Geen nieuwe klembord-afhankelijkheid (`pasteboard` al in de keten). HTML van buiten komt alleen in de omzetter; `javascript:`/`data:`/script/style vallen weg. ## Test plan - [x] `make check` groen (10261 tests, dekking 87,2%) - [x] `make check-secrets` (gitleaks + trufflehog) en `make sast` (semgrep, 0 findings) - [ ] DAST (ZAP) niet gedraaid: geen Docker/ZAP in deze omgeving - Native `NSPasteboard`/`GtkClipboard` vallen buiten `flutter test`; de Dart-keten (omzetting, volgorde, kanaal-mock) wel. Op macOS: kopiëren uit een webeditor met geneste lijst en plakken in Bron. ## Notes De platformlezing zelf is niet onder `flutter test`. De mermaid-coverage-toets reset `hostNeeded` zodat hij niet meer van de suitévolgorde afhangt.
De platte-tekstvariant van het klembord is bij Copilot Notebook de gerenderde
tekst, zonder koppen of nestniveaus. Die staan in de HTML-variant: die lezen
we op macOS, Windows, Linux en web, zetten we om naar Markdown, en renderen
we nooit. Ontbreekt HTML, dan blijft de bestaande platte-tekstval.

Co-authored-by: Cursor <cursoragent@cursor.com>
test: mermaid hostNeeded niet laten afhangen van de suitévolgorde
All checks were successful
scans / scans (pull_request) Successful in 4m23s
static-gate / static-gate (pull_request) Successful in 11m57s
2d3c373d9a
De singleton hield de vlag vast na mermaid_render_pipeline_test, waardoor
coverage in de volle suite rood werd terwijl dezelfde toets in isolatie groen
was.

Co-authored-by: Cursor <cursoragent@cursor.com>
brenno merged commit d439638c6b into main 2026-08-20 19:25:20 +00:00
brenno deleted branch feat/clipboard-html-paste 2026-08-20 19:25:22 +00:00
Sign in to join this conversation.
No description provided.