Skip to content

[codex] Sync avatar settings across Linux windows#954

Draft
Ikkisovi wants to merge 1 commit into
ilysenko:mainfrom
Ikkisovi:codex/avatar-settings-sync-main
Draft

[codex] Sync avatar settings across Linux windows#954
Ikkisovi wants to merge 1 commit into
ilysenko:mainfrom
Ikkisovi:codex/avatar-settings-sync-main

Conversation

@Ikkisovi

@Ikkisovi Ikkisovi commented Jul 14, 2026

Copy link
Copy Markdown

Summary

  • broadcast Linux query-cache-invalidate events to every registered Electron window
  • let the avatar overlay refresh settings immediately after changes in the main settings window
  • add a regression test for the cross-window invalidation path

Root Cause

The settings window optimistically updates its own cache and persists the value, but the avatar overlay is a separate renderer with an independent settings cache. The existing internal IPC broadcast does not deliver to sibling Electron windows, so the overlay retained its startup value until restart.

Scope

This is Linux-only wrapper behavior. It does not change the settings schema, skill staging, Ozone mode, Wayland behavior, window positioning, or drag handling.

Current Upstream Validation

  • rebased onto current main at 52e9701
  • validated against upstream DMG 26.707.72221
  • DMG SHA-256: 40e34814e74e30943c209ebd4da94cd4de3581a52c5bffbe2bcf2e488d6361c6
  • current bundle: main-UDW_FlxC.js, Electron 42.1.0
  • full transactional candidate build: accepted
  • patch report: linux-avatar-settings-sync = applied, strategy = upstream
  • generated bundle parses successfully and contains exactly one settings-sync marker
  • complete diff reviewed independently with a local LLM; no findings

Tests

  • node --test scripts/patch-linux-window-ui.test.js (385/385 passed)
  • bash tests/scripts_smoke.sh (passed)
  • git diff --check (passed)

Required CI checks will be allowed to complete before maintainer review or merge is requested.

@Ikkisovi Ikkisovi marked this pull request as ready for review July 14, 2026 00:47

@Yo-DDV Yo-DDV left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Ikkisovi for keeping this focused.

@ilysenko, I traced the complete path rather than relying only on the fixture. The avatar overlay is registered through the same app-service window manager, messages are queued while a renderer is not ready, and the receiving path only invalidates the requested query. I found no rebroadcast loop or window lifecycle mismatch.

I also applied the patch twice against the current upstream 26.707.62119 main bundle. It inserted one marker, emitted no warning, parsed successfully, and the second pass was byte-identical. The patcher suite passes 369/369 and the script smoke suite passes. The payload matches the existing desktop-originated invalidations for skills and plugins, with no new external I/O, dependency, or permission surface.

I found no blocker in the changed code or the adjacent IPC and window lifecycle paths.

@ilysenko ilysenko left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The repository now targets upstream CODEX.DMG version 26.707.71524, while this PR was validated against 26.707.62119.

Please rebase onto the current main and verify that the patch still matches and works against the current DMG. Follow the repository’s CONTRIBUTING.md, run the relevant tests locally, review the complete diff independently with a local LLM, and wait for all required CI checks to pass before requesting maintainer review or merge.

@Yo-DDV Yo-DDV added risk: medium Behavioral change with bounded compatibility or cross-surface risk. type: bug A reproducible defect or regression in supported behavior. area: launcher and runtime Launcher, process lifecycle, webview, or packaged runtime behavior. and removed risk: medium Behavioral change with bounded compatibility or cross-surface risk. type: bug A reproducible defect or regression in supported behavior. area: launcher and runtime Launcher, process lifecycle, webview, or packaged runtime behavior. labels Jul 14, 2026
@Ikkisovi Ikkisovi marked this pull request as draft July 15, 2026 04:53
@Ikkisovi Ikkisovi force-pushed the codex/avatar-settings-sync-main branch from e4ed986 to afa0d06 Compare July 15, 2026 06:54
@Ikkisovi Ikkisovi force-pushed the codex/avatar-settings-sync-main branch from afa0d06 to 971ddda Compare July 15, 2026 07:01
@Ikkisovi

Ikkisovi commented Jul 15, 2026

Copy link
Copy Markdown
Author

Addressed the requested changes:

  • rebased the single focused commit onto current main at 52e9701
  • updated and revalidated the patch against current upstream DMG 26.707.72221 (40e34814e74e30943c209ebd4da94cd4de3581a52c5bffbe2bcf2e488d6361c6)
  • fixed the protocol-version matcher so the literal fc(...) call is matched correctly on the current bundle
  • completed a full transactional candidate build; upstream DMG acceptance verdict is accepted
  • confirmed linux-avatar-settings-sync is applied using the upstream strategy, the generated bundle parses, and the marker is inserted exactly once
  • ran node --test scripts/patch-linux-window-ui.test.js: 385/385 passed
  • ran bash tests/scripts_smoke.sh: passed
  • ran git diff --check: passed
  • independently reviewed the complete three-file diff with a local LLM; no findings

I will wait for all required CI checks to pass before requesting maintainer review or merge.

GitHub currently reports no checks for the updated fork head. If the workflows are waiting for first-time contributor approval, maintainer workflow approval is needed before those required checks can start.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants