From 0f5cf3f315847bc939cb88911c8882fe0de56c06 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 1 Sep 2026 17:13:54 +0600 Subject: [PATCH] [2026-09-01] eagle: work/projects/cpm-extension-health-pixels-privacy-triage.md --- ...-extension-health-pixels-privacy-triage.md | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/work/projects/cpm-extension-health-pixels-privacy-triage.md b/work/projects/cpm-extension-health-pixels-privacy-triage.md index 6cb67991..589acbe7 100644 --- a/work/projects/cpm-extension-health-pixels-privacy-triage.md +++ b/work/projects/cpm-extension-health-pixels-privacy-triage.md @@ -12,16 +12,16 @@ Status: **DRAFT** | Pixel | Trigger | Frequency | | -------------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------- | -| `debug_web_extension_cpm_initialization_missed_after_session_restore` | Restored tabs do not receive the initial CPM response. | Daily | -| `debug_web_extension_cpm_initialization_recovered_after_session_restore` | CPM later responds after the restoration miss. | Daily | -| `debug_web_extension_cpm_initialization_failed_after_tab_crash` | CPM fails on the first eligible navigation after a tab crash. | Daily + count | -| `debug_web_extension_cpm_initialization_failed_after_extension_reload` | CPM fails on the first eligible navigation after an extension reload. | Daily + count | +| `debug_web_extension_cpm_initialization_failed_after_session_restoration` | CPM fails after a restored-page navigation. | Daily | +| `debug_web_extension_cpm_initialization_failed_after_tab_crash` | CPM fails on the first eligible navigation after a tab crash. | Daily | +| `debug_web_extension_cpm_initialization_failed_after_extension_reload` | CPM fails on the first eligible navigation after an extension reload. | Daily | +| `debug_web_extension_cpm_initialization_failed_after_other` | CPM fails after another eligible navigation. | Daily | | `debug_web_extension_cpm_messaging_stuck_session_restoration` | Messaging remains stuck after a restoration-originated failure. | Daily + count, once/episode | | `debug_web_extension_cpm_messaging_stuck_tab_crash` | Messaging remains stuck across attempts associated with a tab crash. | Daily + count, once/episode | | `debug_web_extension_cpm_messaging_stuck_other` | Messaging remains stuck across other independent navigations. | Daily + count, once/episode | -| `debug_web_extension_cpm_messaging_recovered_without_extension_reload` | A stuck episode recovers without an extension reload. | Daily + count, once/episode | -| `debug_web_extension_cpm_messaging_recovered_after_extension_reload` | A stuck episode recovers after an extension reload. | Daily + count, once/episode | -| `debug_web_extension_cpm_messaging_extension_reload_failed` | Reload fails or CPM remains stuck after reload. | Daily + count, once/episode | +| `debug_web_extension_cpm_messaging_recovered_without_extension_reload` | A failed tab or stuck episode recovers without an extension reload. | Daily + count, once/episode | +| `debug_web_extension_cpm_messaging_recovered_after_extension_reload` | A failed tab or stuck episode recovers after an extension reload. | Daily + count, once/episode | +| `debug_web_extension_cpm_messaging_extension_reload_failed` | CPM still fails after a successful extension reload. | Daily + count, once/episode | iOS and macOS send the exact same pixel names. Parameters distinguish `platform=ios|macos` and `form_factor=phone|tablet|desktop`. `appVersion` is included; macOS also includes `pixelSource` and `channel`. @@ -29,14 +29,13 @@ iOS and macOS send the exact same pixel names. Parameters distinguish `platform= ## Detection Rules - Check only finished, current, main-frame HTTP(S) document navigations after a grace period. -- Treat all `.sessionRestoration` navigations from one app launch as one batch, not one failure per restored tab. -- A redirected restoration still belongs to the restoration batch when `.sessionRestoration` appears in its navigation history. +- A redirected restored-page navigation remains classified as session restoration. - After restoration, any independent eligible document navigation can be the next attempt: reload, typed URL, link, new-tab navigation, or a real back/forward load. - Redirects do not count separately. Same-document, failed, non-HTTP(S), and BFCache navigations do not count when CPM is not expected to initialize again. - A tab crash marks only the next eligible navigation in that tab. - A successful extension reload marks only the next eligible CPM attempt. -- `stuck` retains the strongest contributing reason: tab crash, then session restoration, then other. -- Any successful CPM initialization closes the episode. Pixels are fired for episode transitions, never for every failed tab. +- `stuck` keeps the reason of the first initialization failure; a later failure does not replace it. +- Any successful CPM initialization breaks the failure sequence. Recovery is reported when that success belongs to a previously failed tab or follows a stuck state. ## Privacy Questions