From b127b68ef32c156cd89f9b9cef69df6d2230e24b Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 21 Oct 2026 12:40:57 +0600 Subject: [PATCH] [2026-10-21] eagle: work/projects/cpm-episode-telemetry-phase2-plan-2026-10-20.md --- work/projects/cpm-episode-telemetry-phase2-plan-2026-10-20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/work/projects/cpm-episode-telemetry-phase2-plan-2026-10-20.md b/work/projects/cpm-episode-telemetry-phase2-plan-2026-10-20.md index f46974a7..d04072bb 100644 --- a/work/projects/cpm-episode-telemetry-phase2-plan-2026-10-20.md +++ b/work/projects/cpm-episode-telemetry-phase2-plan-2026-10-20.md @@ -125,7 +125,7 @@ Outcome `no_response_before_deadline` is never proof of permanent failure. `relo - Эпизоды: доля `no_response_before_deadline` и `bg_events` с `died_client` после рестарта (неудачное восстановление); `reload_state` как запасная перезагрузка по зависанию. - Success-пиксели #7379 (`outcome=background_ready`) вместе с `recovery_applied`: резкий рост повторов после рестартов указывает на пункт 2. -**Отложенная правка** (комментарий 21 октября 2026): подписать рестарт #7459 на сброс состояния #7379 только для перезапущенного контекста. Лежит **незакоммиченной** в worktree `alex/cpm-fix-init-loss-production` (ветка `alex/cpm-fix-init-loss`) и `alex/cpm-fix-init-loss-macos` (ветка `alex/cpm-fix-init-loss-macos-release`); обе ветки уже смержены в релизы, патч рассчитан на текущие файлы. Оценка: польза узкая (работает, только если на момент рестарта старт ещё не завершён; обычно он уже завершён), побочные эффекты (ждущие навигации отпускаются раньше 5 с, теряется замер первой загрузки и install/upgrade для перезапущенной попытки). Ревью дважды (независимо): безопасно, крашей и рекурсии нет; нужно добавить тест менеджера (открыть `cpmNetworkProcessRecovery` internal) и записать ограничения в описание PR. Отдельно отвергнута первая версия, которая сбрасывала состояние на каждый возврат приложения: на iOS это каждое переключение приложений и сброс легитимного старта. +**Отложенная правка** (комментарий 21 октября 2026): подписать рестарт #7459 на сброс состояния #7379 только для перезапущенного контекста. Worktree удалены 21 октября 2026; полный патч (с тестами) сохранён в `~/DuckDuckGo/cpm-worktree-backups-20261021/alex_cpm-fix-init-loss-production.diff` (iOS) и `alex_cpm-fix-init-loss-macos.diff` (macOS); применяется поверх `release/ios/7.243.0` и `release/macos/1.213.0` через `git apply --3way`. Ветки `alex/cpm-fix-init-loss` и `alex/cpm-fix-init-loss-macos-release` смержены в релизы. Оценка: польза узкая (работает, только если на момент рестарта старт ещё не завершён; обычно он уже завершён), побочные эффекты (ждущие навигации отпускаются раньше 5 с, теряется замер первой загрузки и install/upgrade для перезапущенной попытки). Ревью дважды (независимо): безопасно, крашей и рекурсии нет; нужно добавить тест менеджера (открыть `cpmNetworkProcessRecovery` internal) и записать ограничения в описание PR. Отдельно отвергнута первая версия, которая сбрасывала состояние на каждый возврат приложения: на iOS это каждое переключение приложений и сброс легитимного старта. Ключевая часть патча (плюс два теста: «хук вызывается один раз с идентификатором» и «не вызывается при неудачном рестарте»):