Files
management/docs/issues/0095-threadnet-web-6-windows-desktop-code-signing-installer-brandi.md
T
Thore CimbalandClaude Opus 5 a1def8666e feat(issues): adopt the component trackers — one backlog, one numbering (ADR-0019)
ADR-0012 made docs/issues/ canonical for the management scope only and left
gitops, ThreadNet-Web and threadnet-call on GitLab "until the component adopts".
That split produced exactly what it invited: two numbering worlds where
management#20 and gitops#20 are different issues, drift nobody had to answer for
(gitops#61 carried no milestone since 2026-08-11), and component backlogs that
host sessions without lab access cannot read at all.

The 46 open component issues are now files 0056-0101. The file id is the
group-wide identifier; provenance lives in the frontmatter (new field `projekt`
plus gitlab_iid) and in the filename, so "gitops#61" still finds 0091. Bodies are
copied verbatim; comments and history stay on GitLab, as with the 2026-08-11
management import.

Both scripts learned the second dimension: spiegel_issues.py routes each file to
its origin project, reopens issues that are open in the repo but closed on the
board, and writes the new iid back after creating one; gruppenpruefung.py checks
drift across all four trackers instead of management alone. What the mirror
cannot decide stays a finding, not a silent state.

Two things needed a hand, both recorded in the files: gitops#61 had no milestone
(M1 - it is a live account-takeover path) and carried two area labels where the
schema holds one. The Gitea migration footers in the imported bodies point at
decommissioned trackers; their links are removed, the provenance sentence stays.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 12:00:00 +00:00

1.5 KiB
Raw Blame History

type, id, status, created, milestone, priority, projekt, gitlab_iid, related
type id status created milestone priority projekt gitlab_iid related
issue 0095 open 2026-07-31 M4 low threadnet-web 6

Windows-Desktop: Code-Signing (+ Installer-Branding)

Adoptiert aus threadnet-web#6 (2026-08-18, ADR-0019). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei.

Der Windows-Build (Issue #5, jetzt geschlossen) liefert eine unsignierte NSIS-Exe — funktional, aber SmartScreen warnt beim Install. Optionen (aus #5 übernommen, Stand 2026-07-31):

  1. Azure Trusted Signing (~10 $/Monat) — günstigster seriöser Weg, EV-äquivalente SmartScreen-Reputation, braucht Azure-Konto + Identitätsprüfung; electron-builder unterstützt es nativ (azureSignOptions).
  2. Certum Open-Source-/OV-Zertifikat (Smartcard/Token, einmalig ~70130 €) — klassisch, Token-Handling in CI ist aber fummelig (physischer USB-Token an der Build-VM).
  3. SSL.com eSigner (Cloud-Signing, teurer, API-freundlich).

Start unsigniert ist für den Community-Kreis okay; Signing lohnt, sobald der Client breiter verteilt wird.

Außerdem als Packaging-Feinschliff hier mit erledigen: Installer-Branding — aktuell Upstream-„Element Setup" (Default-VARIANT_PATH element.io/release/build.json); eine aXion-Variante (apps/desktop/axion1337/) mit eigenem appId/productName wäre der saubere Abschluss.


Migriert aus Gitea sorb/ThreadNet-Web#6 — dort erstellt am 2026-07-31 von sorb.