bug: config-file telemetry opt-out is bypassed on the main thread (Config.get() unavailable before Instance)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- cli, observability
Direzione di ricerca
Inizia da Telemetry.doInit() in packages/opencode/src/altimate/telemetry/index.ts e dalla chiamata a Telemetry.init() in packages/opencode/src/index.ts, quindi esamina config.ts per l’elenco di merge della configurazione globale e Global.Path.config. Usa test/telemetry/telemetry.test.ts come punto di ingresso per la copertura; il lavoro è completato quando un opt-out della telemetria definito nel file di configurazione viene rispettato sia all’interno sia all’esterno di una Instance.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found during the v0.11.1 release review (Chaos Gremlin / privacy persona). Deferred because: needs a design decision on how doInit() should read the user's global config without an Instance.
Problem. Telemetry.doInit() (packages/opencode/src/altimate/telemetry/index.ts) reads telemetry.disabled through Config.get(), which throws outside an Instance context. On failure it proceeds as enabled. The CLI middleware in packages/opencode/src/index.ts calls Telemetry.init() before Instance.provide(), so on the main thread a config-file opt-out ("telemetry": {"disabled": true} in the global altimate-code.json) is not honored for main-thread events (onboarding, first_launch, startup_ready, main-thread event_loop_stall). Only the env-var opt-out (ALTIMATE_TELEMETRY_DISABLED / OPENCODE_DISABLE_TELEMETRY) is reliable there.
v0.11.1 fixed the same bypass on the TUI worker (init moved inside Instance.restore), but the main-thread path is pre-existing and remains.
Also missing: no test anywhere exercises the config-file opt-out; only the env vars are tested (test/telemetry/telemetry.test.ts).
Suggested fix. When Config.get() throws, fall back to reading the global config files under Global.Path.config directly (same list config.ts merges) for the single telemetry.disabled key, and add a test that a config-file opt-out disables telemetry both inside and outside an Instance.
- Lingua principale
- TypeScript
- Stelle
- 813
- Fork
- 134
- Merge medio
- 2g 5h
- PR unite (30g)
- 62
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di AltimateAI/altimate-code
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
AltimateAI/altimate-code#1323 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
AltimateAI/altimate-code#1288 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
AltimateAI/altimate-code#1285 ·
-
privacy: Altimate Base consent dialog no longer discloses persistent per-installation identifier Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
AltimateAI/altimate-code#1284 ·
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 72/100
AltimateAI/altimate-code#1283 ·
Tutte le issue di AltimateAI/altimate-code
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
copse-dev/agent-pane#2953 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Apertabug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
calcite-components needs triage refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Esri/calcite-design-system#15203 ·