[2026-10-19] eagle: work/projects/cpm-readiness-telemetry-tech-design-2026-10-15.md work/projects/cpm-status-2026-10-15.md work/projects/cpm-web-extension-code-guide-2026-10-09.md
This commit is contained in:
1 parent
ce8c30494d
commit
72cf47c912
3 files changed
+48
No files matched your search
@@ -1,3 +1,5 @@
|
||||
> **Актуально — 19 октября 2026, uninstall fix опубликован.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`e970e8c90e`**, 6 commits / 22 paths; отдельный review-only harness **`e380cf98f7`**, 12 paths вне main. Удаление активного CPM context отменяет pending late-document recovery; удаление старой upgrade-версии и ошибка unload сохраняют recovery. **190 unit PASS**, red-before-fix 2 PASS / 1 FAIL, signed macOS и iOS Simulator builds PASS, strict lint 11 / 0. ON → OFF → ON на новом app head выполняется; итог будет записан после завершения. PR description и reviewer flag steps актуализированы с сохранением ручных правок. Формы оставлены в прежнем виде; late reload flag default disabled. Предыдущие heads/results ниже — история.
|
||||
|
||||
> **Актуально — 19 октября 2026, полный повторный review #7379.** Проверен локальный `5708197362` против #7376: 22 changed paths, **187 существующих тестов PASS + 1 новый probe FAIL**. Новый P2: uninstall активного CPM context не отменяет pending late-document recovery. Общий launch→navigation deadline и привязка recovery pixel к точной WKNavigation исправлены локально и прошли повторные регрессии; усиление защиты форм явно отложено пользователем, исходная проверка сохранена за default-disabled флагом. В GitHub пока `08866c7eda` (CI: 48 SUCCESS / 21 SKIPPED), новые production commits не опубликованы. Локальный review-only harness `4308751d59` синхронизирован; его новый ON/OFF/ON ещё не запускался. Подробности — в конце; прежние heads/results ниже относятся к истории.
|
||||
|
||||
> **Актуально — 16 октября 2026, PR review fixes.** В [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379) проверены оба inline замечания: cancellation уже покрыта, повторные 5 секунд на каждую navigation исправлены общим deadline на startup. Production **`08866c7eda`**, 3 commits / 21 paths; review-only harness **`3f4d755511`**, 12 test-only paths, вне main. Проверки: red-before-fix **2 FAIL**, после исправления **182 unit PASS**, signed macOS build и iOS shared-module build PASS, strict lint **8 / 0**; на одних app/XCTest binaries **ON 8 PASS → OFF 6 ожидаемых functional FAIL → ON 8 PASS**, без skips. Оба review threads resolved; Danger 0 failures, только PR-size advisory; flag tracking links добавлены, defaults не менялись. Пользовательские правки и reviewer steps сохранены. Подробности этого review — в конце. Более ранние heads/results ниже сохранены как история.
|
||||
@@ -394,3 +396,17 @@ CI snapshot `08866c7eda` на 16:19 UTC: 31 SUCCESS, 12 SKIPPED, 3 QUEUED, 5 IN_
|
||||
**Harness и публикация.** Локальный `codex/cpm-fix-init-loss-integration-tests / 4308751d593bcc63abfb4baaced83e35bd19255f` обычным merge синхронизирован с `5708197362`; README исправлен на 26 новых shared regressions и прежнюю защиту форм. Над production по-прежнему ровно 12 harness-only paths, 8 app methods и два ON/OFF schemes; они не идут в main. Удалён только собственный generated Package.resolved diff от предыдущего test run. Рабочая production branch чистая. Production и harness commits пока не push; PR body не перезаписан. Старый ON 8 PASS → OFF 6 functional FAIL → ON 8 PASS относится к опубликованному `08866c7eda` / test branch `3f4d755511`; на новом локальном head этот app cycle ещё не повторён.
|
||||
|
||||
**Замечание о стиле URL check.** Для HTTP(S) подходит `URL.NavigationalScheme.hypertextSchemes` из Common; initializer сохраняет регистр, поэтому lowercased необходимо сохранить. Это ответ на вопрос, source replacement не выполнялся.
|
||||
|
||||
## 19 октября 2026 — исправление uninstall/preflight race и push
|
||||
|
||||
Production **`e970e8c90eca76e55217f75c13122735a72664c5`**, branch `alex/cpm-fix-init-loss`, [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379), база #7376 / `713d67419a`. Опубликованы все три локальных commits после `08866c7eda`; итоговый diff — 6 commits / 22 paths. Push обычный fast-forward, без переписывания истории. Review-only **`codex/cpm-fix-init-loss-integration-tests / e380cf98f7e9709085ce76289211f3e1e43c8395`** синхронизирована обычным merge, над production по-прежнему ровно 12 harness-only paths; они не идут в main.
|
||||
|
||||
**Исправление.** До unload запоминается, удаляется ли текущий выбранный embedded context. После успешного unload его background document recovery инвалидируется, включая уже ожидающую async safety preflight. Неудачный unload выходит до invalidation; удаление старого context при upgrade не отменяет recovery replacement. Добавлены постоянные shared regressions `testUninstallingActiveEmbeddedContextCancelsPendingDocumentRecovery`, `testUninstallingOldEmbeddedContextPreservesReplacementDocumentRecovery` и `testFailedUninstallPreservesActiveDocumentRecovery`. Первые два используют production loader с настоящими WKWebExtensionContext; третий моделирует ошибку unload и проверяет сохранение live context. HTTP(S)-checks в native navigation callers macOS/iOS переведены на `URL.NavigationalScheme.hypertextSchemes` с сохранением lowercased.
|
||||
|
||||
**Проверки.** До fix новые три tests: **2 PASS / 1 functional FAIL** — активное удаление оставляло выполняющийся reload callback. После fix пять выбранных shared suites: **190 PASS / 0 failures** (13 background diagnostics + 13 readiness recovery + 78 monitor + 35 lifecycle + 51 manager), всего 29 новых shared regression methods относительно базы PR. Unit run выполнен в изолированной копии 96 побайтно совпадающих production source files. Полные macOS и iOS Simulator builds — PASS; macOS app подписан Apple Development, team HKE973VLUW, strict verification всего app bundle PASS. Strict lint всех 11 непушенных Swift files — 0 violations. Схемы/имена/параметры/frequency pixels не менялись.
|
||||
|
||||
**Формы и flags.** По явному указанию пользователя новая защита форм не возвращена. Original JavaScript predicate побайтно совпадает с `08866c7eda`; known limitation controlled/defaultValue и Shadow DOM остаётся. Независимый `webExtensions.cpmLateBackgroundDocumentRecovery` всё ещё default disabled на обеих платформах. Deadline launch→navigation и attribution по конкретной WKNavigation сохранены из предыдущих локальных исправлений и теперь опубликованы.
|
||||
|
||||
**Документация и app validation.** PR body точечно уточняет общий launch/navigation deadline, invalidation при удалении активного context и точную WKNavigation attribution. Пользовательские правки, testing branch link и ON 8 PASS → OFF 6 functional FAIL → ON 8 PASS instructions сохранены. README harness обновлён: 8 новых manager regressions / 29 новых shared methods. На новом head запущен dedicated signed app cycle; текущий app ON → OFF → ON ещё выполняется. Старые app результаты не перенесены на новый head.
|
||||
|
||||
Артефакты: `/private/tmp/cpm-pr7379-uninstall-fix-20261019/` (`unit-green.log`, `unit-evidence.json`, `lint.log`, `mac-build.log`, `ios-build.log`, signature logs, `heads.json`, PR snapshots); red control — `/private/tmp/cpm-pr7379-full-review-20261019/uninstall-red.log`.
|
||||
@@ -6,6 +6,8 @@ tags:
|
||||
- cpm
|
||||
- status
|
||||
---
|
||||
> **Актуально — 19 октября 2026, uninstall fix опубликован.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`e970e8c90e`**, 6 commits / 22 paths; отдельный review-only harness **`e380cf98f7`**, 12 paths вне main. Удаление активного CPM context отменяет pending late-document recovery; удаление старой upgrade-версии и ошибка unload сохраняют recovery. **190 unit PASS**, red-before-fix 2 PASS / 1 FAIL, signed macOS и iOS Simulator builds PASS, strict lint 11 / 0. ON → OFF → ON на новом app head выполняется; итог будет записан после завершения. PR description и reviewer flag steps актуализированы с сохранением ручных правок. Формы оставлены в прежнем виде; late reload flag default disabled. Предыдущие heads/results ниже — история.
|
||||
|
||||
> **Актуально — 19 октября 2026, полный повторный review #7379.** Проверен локальный `5708197362` против #7376: 22 changed paths, **187 существующих тестов PASS + 1 новый probe FAIL**. Новый P2: uninstall активного CPM context не отменяет pending late-document recovery. Общий launch→navigation deadline и привязка recovery pixel к точной WKNavigation исправлены локально и прошли повторные регрессии; усиление защиты форм явно отложено пользователем, исходная проверка сохранена за default-disabled флагом. В GitHub пока `08866c7eda` (CI: 48 SUCCESS / 21 SKIPPED), новые production commits не опубликованы. Локальный review-only harness `4308751d59` синхронизирован; его новый ON/OFF/ON ещё не запускался. Подробности — в конце; прежние heads/results ниже относятся к истории.
|
||||
|
||||
> **Актуально — 16 октября 2026, PR review fixes.** В [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379) проверены оба inline замечания: cancellation уже покрыта, повторные 5 секунд на каждую navigation исправлены общим deadline на startup. Production **`08866c7eda`**, 3 commits / 21 paths; review-only harness **`3f4d755511`**, 12 test-only paths, вне main. Проверки: red-before-fix **2 FAIL**, после исправления **182 unit PASS**, signed macOS build и iOS shared-module build PASS, strict lint **8 / 0**; на одних app/XCTest binaries **ON 8 PASS → OFF 6 ожидаемых functional FAIL → ON 8 PASS**, без skips. Оба review threads resolved; Danger 0 failures, только PR-size advisory; flag tracking links добавлены, defaults не менялись. Пользовательские правки и reviewer steps сохранены. Подробности этого review — в конце. Более ранние heads/results ниже сохранены как история.
|
||||
@@ -1200,3 +1202,17 @@ CI snapshot `08866c7eda` на 16:19 UTC: 31 SUCCESS, 12 SKIPPED, 3 QUEUED, 5 IN_
|
||||
**Harness и публикация.** Локальный `codex/cpm-fix-init-loss-integration-tests / 4308751d593bcc63abfb4baaced83e35bd19255f` обычным merge синхронизирован с `5708197362`; README исправлен на 26 новых shared regressions и прежнюю защиту форм. Над production по-прежнему ровно 12 harness-only paths, 8 app methods и два ON/OFF schemes; они не идут в main. Удалён только собственный generated Package.resolved diff от предыдущего test run. Рабочая production branch чистая. Production и harness commits пока не push; PR body не перезаписан. Старый ON 8 PASS → OFF 6 functional FAIL → ON 8 PASS относится к опубликованному `08866c7eda` / test branch `3f4d755511`; на новом локальном head этот app cycle ещё не повторён.
|
||||
|
||||
**Замечание о стиле URL check.** Для HTTP(S) подходит `URL.NavigationalScheme.hypertextSchemes` из Common; initializer сохраняет регистр, поэтому lowercased необходимо сохранить. Это ответ на вопрос, source replacement не выполнялся.
|
||||
|
||||
## 19 октября 2026 — исправление uninstall/preflight race и push
|
||||
|
||||
Production **`e970e8c90eca76e55217f75c13122735a72664c5`**, branch `alex/cpm-fix-init-loss`, [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379), база #7376 / `713d67419a`. Опубликованы все три локальных commits после `08866c7eda`; итоговый diff — 6 commits / 22 paths. Push обычный fast-forward, без переписывания истории. Review-only **`codex/cpm-fix-init-loss-integration-tests / e380cf98f7e9709085ce76289211f3e1e43c8395`** синхронизирована обычным merge, над production по-прежнему ровно 12 harness-only paths; они не идут в main.
|
||||
|
||||
**Исправление.** До unload запоминается, удаляется ли текущий выбранный embedded context. После успешного unload его background document recovery инвалидируется, включая уже ожидающую async safety preflight. Неудачный unload выходит до invalidation; удаление старого context при upgrade не отменяет recovery replacement. Добавлены постоянные shared regressions `testUninstallingActiveEmbeddedContextCancelsPendingDocumentRecovery`, `testUninstallingOldEmbeddedContextPreservesReplacementDocumentRecovery` и `testFailedUninstallPreservesActiveDocumentRecovery`. Первые два используют production loader с настоящими WKWebExtensionContext; третий моделирует ошибку unload и проверяет сохранение live context. HTTP(S)-checks в native navigation callers macOS/iOS переведены на `URL.NavigationalScheme.hypertextSchemes` с сохранением lowercased.
|
||||
|
||||
**Проверки.** До fix новые три tests: **2 PASS / 1 functional FAIL** — активное удаление оставляло выполняющийся reload callback. После fix пять выбранных shared suites: **190 PASS / 0 failures** (13 background diagnostics + 13 readiness recovery + 78 monitor + 35 lifecycle + 51 manager), всего 29 новых shared regression methods относительно базы PR. Unit run выполнен в изолированной копии 96 побайтно совпадающих production source files. Полные macOS и iOS Simulator builds — PASS; macOS app подписан Apple Development, team HKE973VLUW, strict verification всего app bundle PASS. Strict lint всех 11 непушенных Swift files — 0 violations. Схемы/имена/параметры/frequency pixels не менялись.
|
||||
|
||||
**Формы и flags.** По явному указанию пользователя новая защита форм не возвращена. Original JavaScript predicate побайтно совпадает с `08866c7eda`; known limitation controlled/defaultValue и Shadow DOM остаётся. Независимый `webExtensions.cpmLateBackgroundDocumentRecovery` всё ещё default disabled на обеих платформах. Deadline launch→navigation и attribution по конкретной WKNavigation сохранены из предыдущих локальных исправлений и теперь опубликованы.
|
||||
|
||||
**Документация и app validation.** PR body точечно уточняет общий launch/navigation deadline, invalidation при удалении активного context и точную WKNavigation attribution. Пользовательские правки, testing branch link и ON 8 PASS → OFF 6 functional FAIL → ON 8 PASS instructions сохранены. README harness обновлён: 8 новых manager regressions / 29 новых shared methods. На новом head запущен dedicated signed app cycle; текущий app ON → OFF → ON ещё выполняется. Старые app результаты не перенесены на новый head.
|
||||
|
||||
Артефакты: `/private/tmp/cpm-pr7379-uninstall-fix-20261019/` (`unit-green.log`, `unit-evidence.json`, `lint.log`, `mac-build.log`, `ios-build.log`, signature logs, `heads.json`, PR snapshots); red control — `/private/tmp/cpm-pr7379-full-review-20261019/uninstall-red.log`.
|
||||
@@ -6,6 +6,8 @@ tags:
|
||||
- cpm
|
||||
- webkit
|
||||
---
|
||||
> **Актуально — 19 октября 2026, uninstall fix опубликован.** [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379): production **`e970e8c90e`**, 6 commits / 22 paths; отдельный review-only harness **`e380cf98f7`**, 12 paths вне main. Удаление активного CPM context отменяет pending late-document recovery; удаление старой upgrade-версии и ошибка unload сохраняют recovery. **190 unit PASS**, red-before-fix 2 PASS / 1 FAIL, signed macOS и iOS Simulator builds PASS, strict lint 11 / 0. ON → OFF → ON на новом app head выполняется; итог будет записан после завершения. PR description и reviewer flag steps актуализированы с сохранением ручных правок. Формы оставлены в прежнем виде; late reload flag default disabled. Предыдущие heads/results ниже — история.
|
||||
|
||||
> **Актуально — 19 октября 2026, полный повторный review #7379.** Проверен локальный `5708197362` против #7376: 22 changed paths, **187 существующих тестов PASS + 1 новый probe FAIL**. Новый P2: uninstall активного CPM context не отменяет pending late-document recovery. Общий launch→navigation deadline и привязка recovery pixel к точной WKNavigation исправлены локально и прошли повторные регрессии; усиление защиты форм явно отложено пользователем, исходная проверка сохранена за default-disabled флагом. В GitHub пока `08866c7eda` (CI: 48 SUCCESS / 21 SKIPPED), новые production commits не опубликованы. Локальный review-only harness `4308751d59` синхронизирован; его новый ON/OFF/ON ещё не запускался. Подробности — в конце; прежние heads/results ниже относятся к истории.
|
||||
|
||||
> **Актуально — 16 октября 2026, PR review fixes.** В [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379) проверены оба inline замечания: cancellation уже покрыта, повторные 5 секунд на каждую navigation исправлены общим deadline на startup. Production **`08866c7eda`**, 3 commits / 21 paths; review-only harness **`3f4d755511`**, 12 test-only paths, вне main. Проверки: red-before-fix **2 FAIL**, после исправления **182 unit PASS**, signed macOS build и iOS shared-module build PASS, strict lint **8 / 0**; на одних app/XCTest binaries **ON 8 PASS → OFF 6 ожидаемых functional FAIL → ON 8 PASS**, без skips. Оба review threads resolved; Danger 0 failures, только PR-size advisory; flag tracking links добавлены, defaults не менялись. Пользовательские правки и reviewer steps сохранены. Подробности этого review — в конце. Более ранние heads/results ниже сохранены как история.
|
||||
@@ -484,3 +486,17 @@ CI snapshot `08866c7eda` на 16:19 UTC: 31 SUCCESS, 12 SKIPPED, 3 QUEUED, 5 IN_
|
||||
**Harness и публикация.** Локальный `codex/cpm-fix-init-loss-integration-tests / 4308751d593bcc63abfb4baaced83e35bd19255f` обычным merge синхронизирован с `5708197362`; README исправлен на 26 новых shared regressions и прежнюю защиту форм. Над production по-прежнему ровно 12 harness-only paths, 8 app methods и два ON/OFF schemes; они не идут в main. Удалён только собственный generated Package.resolved diff от предыдущего test run. Рабочая production branch чистая. Production и harness commits пока не push; PR body не перезаписан. Старый ON 8 PASS → OFF 6 functional FAIL → ON 8 PASS относится к опубликованному `08866c7eda` / test branch `3f4d755511`; на новом локальном head этот app cycle ещё не повторён.
|
||||
|
||||
**Замечание о стиле URL check.** Для HTTP(S) подходит `URL.NavigationalScheme.hypertextSchemes` из Common; initializer сохраняет регистр, поэтому lowercased необходимо сохранить. Это ответ на вопрос, source replacement не выполнялся.
|
||||
|
||||
## 19 октября 2026 — исправление uninstall/preflight race и push
|
||||
|
||||
Production **`e970e8c90eca76e55217f75c13122735a72664c5`**, branch `alex/cpm-fix-init-loss`, [#7379](https://github.com/duckduckgo/apple-browsers/pull/7379), база #7376 / `713d67419a`. Опубликованы все три локальных commits после `08866c7eda`; итоговый diff — 6 commits / 22 paths. Push обычный fast-forward, без переписывания истории. Review-only **`codex/cpm-fix-init-loss-integration-tests / e380cf98f7e9709085ce76289211f3e1e43c8395`** синхронизирована обычным merge, над production по-прежнему ровно 12 harness-only paths; они не идут в main.
|
||||
|
||||
**Исправление.** До unload запоминается, удаляется ли текущий выбранный embedded context. После успешного unload его background document recovery инвалидируется, включая уже ожидающую async safety preflight. Неудачный unload выходит до invalidation; удаление старого context при upgrade не отменяет recovery replacement. Добавлены постоянные shared regressions `testUninstallingActiveEmbeddedContextCancelsPendingDocumentRecovery`, `testUninstallingOldEmbeddedContextPreservesReplacementDocumentRecovery` и `testFailedUninstallPreservesActiveDocumentRecovery`. Первые два используют production loader с настоящими WKWebExtensionContext; третий моделирует ошибку unload и проверяет сохранение live context. HTTP(S)-checks в native navigation callers macOS/iOS переведены на `URL.NavigationalScheme.hypertextSchemes` с сохранением lowercased.
|
||||
|
||||
**Проверки.** До fix новые три tests: **2 PASS / 1 functional FAIL** — активное удаление оставляло выполняющийся reload callback. После fix пять выбранных shared suites: **190 PASS / 0 failures** (13 background diagnostics + 13 readiness recovery + 78 monitor + 35 lifecycle + 51 manager), всего 29 новых shared regression methods относительно базы PR. Unit run выполнен в изолированной копии 96 побайтно совпадающих production source files. Полные macOS и iOS Simulator builds — PASS; macOS app подписан Apple Development, team HKE973VLUW, strict verification всего app bundle PASS. Strict lint всех 11 непушенных Swift files — 0 violations. Схемы/имена/параметры/frequency pixels не менялись.
|
||||
|
||||
**Формы и flags.** По явному указанию пользователя новая защита форм не возвращена. Original JavaScript predicate побайтно совпадает с `08866c7eda`; known limitation controlled/defaultValue и Shadow DOM остаётся. Независимый `webExtensions.cpmLateBackgroundDocumentRecovery` всё ещё default disabled на обеих платформах. Deadline launch→navigation и attribution по конкретной WKNavigation сохранены из предыдущих локальных исправлений и теперь опубликованы.
|
||||
|
||||
**Документация и app validation.** PR body точечно уточняет общий launch/navigation deadline, invalidation при удалении активного context и точную WKNavigation attribution. Пользовательские правки, testing branch link и ON 8 PASS → OFF 6 functional FAIL → ON 8 PASS instructions сохранены. README harness обновлён: 8 новых manager regressions / 29 новых shared methods. На новом head запущен dedicated signed app cycle; текущий app ON → OFF → ON ещё выполняется. Старые app результаты не перенесены на новый head.
|
||||
|
||||
Артефакты: `/private/tmp/cpm-pr7379-uninstall-fix-20261019/` (`unit-green.log`, `unit-evidence.json`, `lint.log`, `mac-build.log`, `ios-build.log`, signature logs, `heads.json`, PR snapshots); red control — `/private/tmp/cpm-pr7379-full-review-20261019/uninstall-red.log`.
|
||||
Reference in new issue
Block a user