Fix composer targeting and exclude Pet overlay surfaces - #372
Conversation
Prevent Dream Skin from injecting wallpaper and theme state into avatar overlay and Pet composition renderers. Clean and verify already polluted auxiliary targets in both one-shot and watcher discovery paths. Recognize the current ComposerLayoutRoot and toolbar CSS-module prefixes, while retaining legacy selectors and a guarded semantic fallback. Add shared renderer and dual-platform injector regressions and regenerate runtime assets.
Document the cross-platform composer targeting and Pet overlay cleanup fixes under the unreleased sections without changing client versions.
Capture the verified commits, fork branch, prepared PR evidence, and the temporary locked-session blocker for the final GitHub submission.
Record Ready PR Fei-Away#372 and the remaining exact-head CI gates without claiming merge or release status.
There was a problem hiding this comment.
Pull request overview
This PR updates Dream Skin’s renderer targeting to correctly bind the composer surface on newer Codex builds (preferring _ComposerLayoutRoot_ over _ComposerLayoutFooter_) and prevents theme injection from affecting Pet-related transparent overlay surfaces (/avatar-overlay and the avatar overlay composition surface). It also adds/extends regressions to cover both platform injectors and the shared renderer behavior, then propagates the synchronized runtime assets.
Changes:
- Extend selector contract + generic fallback to recognize
_ComposerLayoutRoot_and avoid mis-targeting_ComposerLayoutFooter_. - Detect and exclude Pet overlay surfaces in both the shared renderer payload and platform injector probe logic, including removal+verification of any stale injected state.
- Add/extend cross-platform tests covering exclusion + cleanup behavior and the modern composer layout selection.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| windows/tests/injector-bootstrap.test.mjs | Adds probe coverage for excluded Pet surfaces and verified cleanup calls. |
| windows/scripts/injector.mjs | Adds excludedPetSurface probing and cleanup+verification on excluded targets (one-shot + watch). |
| windows/CHANGELOG.md | Documents the composer targeting fix + Pet surface exclusion behavior. |
| windows/assets/selectors.json | Updates selector contract to include _ComposerLayoutRoot_ / _ComposerLayoutFooter_ patterns. |
| windows/assets/renderer-inject.js | Regenerated synced renderer payload with Pet exclusion + updated selectors. |
| windows/assets/dream-skin.css | Updates composer selectors to include _ComposerLayoutRoot_ for styling. |
| tools/selectors.json | Updates canonical selector contract used for syncing/validation. |
| tools/renderer-runtime.test.mjs | Adds shared-renderer regressions for Pet exclusion/cleanup and modern composer layout selection. |
| TASK_PROGRESS.md | Adds a progress record for the work (needs a small redaction). |
| runtime/renderer-inject.js | Implements shared renderer Pet exclusion and modern composer layout root preference. |
| macos/tests/injector-bootstrap.test.mjs | Mirrors Windows bootstrap regressions for excluded Pet surfaces + cleanup verification. |
| macos/scripts/injector.mjs | Adds excludedPetSurface probing and cleanup+verification on excluded targets (one-shot + watch), plus rejection logging adjustments. |
| macos/CHANGELOG.md | Documents the composer targeting fix + Pet surface exclusion behavior. |
| macos/assets/selectors.json | Updates selector contract to include _ComposerLayoutRoot_ / _ComposerLayoutFooter_ patterns. |
| macos/assets/renderer-inject.js | Regenerated synced renderer payload with Pet exclusion + updated selectors. |
| macos/assets/dream-skin.css | Updates composer selectors to include _ComposerLayoutRoot_ for styling. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Address PR review by removing the contributor machine's absolute clone path from the durable progress record.
|
感谢你提交这组 Codex 26.814 兼容修复。经过审计,ComposerLayoutRoot 选择、Pet/avatar-overlay 排除、旧注入清理与双端回归已纳入 PR #382,并随 v1.5.15 发布;提交中保留了你的贡献归因。该 PR 现在已被正式发布 supersede,关闭原 PR。 |
|
已由 #382 / v1.5.15 发布。感谢贡献。 |
Summary / 摘要
_ComposerLayoutRoot_/_ComposerLayoutFooter_CSS-module structure, while preferring the real root before broad fallback ownership./avatar-overlayand Pet composition surfaces before renderer installation, and remove plus verify any stale Dream Skin state already present on those transparent targets.Type / 类型
Platform / 平台
Self-check / 自测
Docs-only / 仅文档
macOS (when code under
macos/changes)macos/tests/run-tests.shpassed / 已通过macos/scripts/doctor-macos.shverify-dream-skin-macos.shor Desktop VerifyWindows (when code under
windows/changes)install/start/verify/restorescripts exercised / 已按改动跑过对应脚本User-facing / 用户可见变更
macos/CHANGELOG.md(andmacos/VERSIONif release-worthy) / 已更新 changelog(发版时再 bump VERSION)Security / 安全
127.0.0.1) where applicable / CDP 仍仅本机回环(如适用)Notes / 补充
CODEX_DREAM_SKIN_SKIP_DOCTOR=1 CODEX_DREAM_SKIN_SKIP_SIGNED_RUNTIME_TESTS=1 bash macos/tests/run-tests.shpassed outside the sandbox. Full-Xcode SwiftPM/XCTest, installed signed-runtime integrations, and Doctor were skipped by their documented gates.tools/sync-runtime-assets.mjs --check, andgit diff --checkpass._ComposerLayoutFooter_receiving the composer part and theme wallpaper on five Pet/avatar-overlay targets. The equivalent local hotfix was verified with the main renderer still themed and all five Pet-related bodies transparent/unmarked. The PR regressions cover fresh exclusion, cleanup after prior injection, one-shot cleanup, watcher cleanup, and ComposerLayoutRoot selection.