From 012733e8f747c0c3de066d4b09bbabffbdb29805 Mon Sep 17 00:00:00 2001 From: magdev Date: Sun, 3 May 2026 13:08:12 +0200 Subject: [PATCH] plan: consolidate telemetry into v0.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Telemetry was split awkwardly: v0.3.0 had "Sentry + opt-in telemetry" (build the pipeline) and v1.0.0 had "Telemetry / crash reporting opt-in plumbing" (settle the API). The cross-platform crash-dump side is per-OS work — Apple Crash Reporter, Windows WER, Linux core dumps all differ — so it naturally rides with the v0.9.0 cross-platform packaging push rather than landing twice. Single v0.9.0 entry now covers both: PHP-side Sentry + per-platform crash-dump pipeline, opt-in only, plumbing settled before v1.0.0 even if no default endpoint ships. Co-Authored-By: Claude Opus 4.7 (1M context) --- PLAN.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PLAN.md b/PLAN.md index 6846ced..67b11d3 100644 --- a/PLAN.md +++ b/PLAN.md @@ -570,7 +570,6 @@ Bigger pieces still deferred (each warrants its own minor, not v0.2.0 noise): - **i18n bridge** (§12). Symfony Translator (XLIFF) + Qt Translator (.ts) with a shared locale switch fanning out to both. - **Persistent log files + rotation** (Phase 5 out-of-scope). Symfony monolog wiring + a Qt-host log file with rotation. The dev console stays for live tails. - **Multi-arch builds** (§12). Linux ARM64, Windows ARM, macOS universal (arm64 + x86_64). Each adds a CI matrix dimension. -- **Sentry + opt-in telemetry** (§12). PHP-side Sentry for backend errors + a crash-dump pipeline for the Qt host. Off by default. - **Flathub / Snap packaging** (§12). Better discoverability than AppImage at the cost of additional packaging surfaces. - **Composer `create-project` package** (Phase 5 out-of-scope). Publish `php-qml/skeleton` as a composer template so `composer create-project php-qml/skeleton my-app` works. Bash `bin/php-qml-init` stays for curl-bootstrap. @@ -581,6 +580,7 @@ Locks down the cross-platform story before promoting to v1.0.0. Held until v0.9. - **macOS packaging** (was Phase 4b). `.app` bundle + `.dmg` + Sparkle 2 + notarization. Prerequisites: self-hosted macOS runner, Apple Developer cert ($99/yr), notarisation toolchain. - **Windows packaging** (was Phase 4c). NSIS installer + WinSparkle + Authenticode signing. Prerequisites: self-hosted Windows runner, code-signing cert (EV preferred to dodge SmartScreen reputation warm-up). - **Per-platform first-launch UX** (§11, *Distribution UX*). Gatekeeper / SmartScreen / AV-vendor pre-submissions, file-association docs, App Store path decisions. +- **Telemetry + crash reporting** (§12). Opt-in only, off by default; PHP-side Sentry for backend errors + a per-platform crash-dump pipeline for the Qt host (each OS does this differently — fits the cross-platform-packaging milestone). Plumbing settled before v1.0.0 even if no default endpoint ships. ### v1.0.0 — when @@ -589,6 +589,5 @@ When the public API (Symfony bundle services + attributes, Qt module C++ types + - **Auth model** (§12). Per-session bearer is fine for local-only; revisit if Mercure ever leaves loopback. - **Mercure storage strategy.** In-memory works for bundled mode now; document or switch if persistence is needed. - **AppImage relinkability** (§12, Qt LGPL row). Document and test the user-side relink procedure end-to-end. -- **Telemetry / crash reporting opt-in plumbing** (§12). Settled by v1, even if disabled by default. - **Security model audit** (§12). Caddyfile generation hardened against `0.0.0.0` binding; loopback-only enforcement audited end-to-end. - **FrankenPHP-as-library evaluation** (§12 — future optimisation). CGo-embed FrankenPHP into the Qt host as a single process. Subprocess model stays the default; this is a perf optimisation only if measurements warrant.