fix(windows): licentie-pagina, bestandsassociaties en handtekening-upload (#1600) #1621

Merged
brenno merged 1 commit from fix/windows-installer-restpunten-1600 into main 2026-08-20 19:20:00 +00:00
Owner

Samenvatting

Drie punten uit #1600 die de Windows-installatie-ervaring en de release-veiligheid verbeteren:

1. Licentie-pagina toont platte tekst, geen ruwe Markdown

Inno Setup's LicenseFile toont de inhoud letterlijk — de HTML-commentaar, #/##/**/> markers en --- regels uit LICENSE.md stonden op het eerste scherm dat elke Windows-gebruiker ziet.

  • Nieuw tool/generate_license_txt.dart stripst Markdown naar platte tekst.
  • packaging/windows/LICENSE.txt is de gegenereerde uitvoer (gecommit, want de installer bouwt offline).
  • De .iss wijst naar LICENSE.txt i.p.v. LICENSE.md.
  • Een test regenereert en vergelijkt, dus een LICENSE.md-edit zonder re-run faalt de poort.

2. Bestandsassociaties gebruiken een placeholder, niet C:\Program Files

De .reg zei "per gebruiker, geen beheerdersrechten nodig" maar hardcodeerde C:\Program Files\OciDeck — een pad dat admin-rechten vereist en de belofte tegenspreekt. Nu staat <JOUW-OCIDECK-MAP> er: een obvious placeholder, niet een echt-uitziend default-pad.

3. Release-script uploadt de handtekening veilig (upload-then-replace)

De vorige volgorde (DELETE dan POST) liet bij een gefaalde POST de release zonder handtekening achter; een stil gefaalde DELETE (|| true) leidde tot een 409 op de POST. Nu: POST onder .new → DELETE oude → PATCH hernoem. Faalt de POST, dan staat de oude nog op de release.

Testplan

  • test/windows_packaging_test.dart — 3 nieuwe tests (licentie .txt bestaat, is vers, bevat geen Markdown) + 1 nieuwe test (.reg placeholder)
  • test/release_auto_version_test.dart — test ververst voor upload-then-replace volgorde
  • make check-static groen
  • make check-secrets — geen leaks (gitleaks + trufflehog)
  • make sast — 0 findings (semgrep)
  • Rebased op origin/main (5 commits)

Generated with Devin

## Samenvatting Drie punten uit #1600 die de Windows-installatie-ervaring en de release-veiligheid verbeteren: ### 1. Licentie-pagina toont platte tekst, geen ruwe Markdown Inno Setup's `LicenseFile` toont de inhoud letterlijk — de HTML-commentaar, `#`/`##`/`**`/`>` markers en `---` regels uit `LICENSE.md` stonden op het eerste scherm dat elke Windows-gebruiker ziet. - Nieuw `tool/generate_license_txt.dart` stripst Markdown naar platte tekst. - `packaging/windows/LICENSE.txt` is de gegenereerde uitvoer (gecommit, want de installer bouwt offline). - De `.iss` wijst naar `LICENSE.txt` i.p.v. `LICENSE.md`. - Een test regenereert en vergelijkt, dus een `LICENSE.md`-edit zonder re-run faalt de poort. ### 2. Bestandsassociaties gebruiken een placeholder, niet `C:\Program Files` De `.reg` zei "per gebruiker, geen beheerdersrechten nodig" maar hardcodeerde `C:\Program Files\OciDeck` — een pad dat admin-rechten vereist en de belofte tegenspreekt. Nu staat `<JOUW-OCIDECK-MAP>` er: een obvious placeholder, niet een echt-uitziend default-pad. ### 3. Release-script uploadt de handtekening veilig (upload-then-replace) De vorige volgorde (DELETE dan POST) liet bij een gefaalde POST de release zonder handtekening achter; een stil gefaalde DELETE (`|| true`) leidde tot een 409 op de POST. Nu: POST onder `.new` → DELETE oude → PATCH hernoem. Faalt de POST, dan staat de oude nog op de release. #### Testplan - [x] `test/windows_packaging_test.dart` — 3 nieuwe tests (licentie .txt bestaat, is vers, bevat geen Markdown) + 1 nieuwe test (.reg placeholder) - [x] `test/release_auto_version_test.dart` — test ververst voor upload-then-replace volgorde - [x] `make check-static` groen - [x] `make check-secrets` — geen leaks (gitleaks + trufflehog) - [x] `make sast` — 0 findings (semgrep) - [x] Rebased op `origin/main` (5 commits) Generated with [Devin](https://devin.ai)
fix(windows): licentie-pagina, bestandsassociaties en handtekening-upload (#1600)
All checks were successful
scans / scans (pull_request) Successful in 4m59s
static-gate / static-gate (pull_request) Successful in 10m13s
cbdacbb479
Drie punten uit #1600 die de Windows-installatie-ervaring en de
release-veiligheid verbeteren:

1. Licentie-pagina toont platte tekst, geen ruwe Markdown. Inno Setup's
   LicenseFile toont de inhoud letterlijk — de HTML-commentaar, #/##/**/>
   markers en --- regels uit LICENSE.md stonden op het eerste scherm dat
   elke Windows-gebruiker ziet. Nieuw tool/generate_license_txt.dart
   stripst Markdown naar platte tekst; packaging/windows/LICENSE.txt is
   de gegenereerde uitvoer; de .iss wijst ernaar. Een test regenereert en
   vergelijkt, dus een LICENSE.md-edit zonder re-run faalt de poort.

2. Bestandsassociaties gebruiken een placeholder, niet C:\Program Files.
   De .reg zei "per gebruiker, geen beheerdersrechten nodig" maar
   hardcodeerde C:\Program Files\OciDeck — een pad dat admin-rechten
   vereist en de belofte tegenspreekt. Nu staat <JOUW-OCIDECK-MAP> er:
   een obvious placeholder, niet een echt-uitziend default-pad.

3. Release-script uploadt de handtekening veilig (upload-then-replace).
   De vorige volgorde (DELETE dan POST) liet bij een gefaalde POST de
   release zonder handtekening achter; een stil gefaalde DELETE (|| true)
   leidde tot een 409 op de POST. Nu: POST onder .new → DELETE oude →
   PATCH hernoem. Faalt de POST, dan staat de oude nog op de release.

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

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