Summary
With only pet-overlay enabled, the pet is completely invisible on KDE Plasma native Wayland with official Linux package 26.901.51231. A window named Codex Pet Overlay remains in Alt-Tab. Its taskbar entry briefly appears and disappears.
KWin reports a visible, non-minimized 772 × 2369 overlay at (574, 0) on a 1920 × 1200 logical desktop. This appears to be a runtime layout compatibility problem despite successful patch application and passing feature tests.
Environment
- Repository commit:
03d9a514259b7d8caf6406e392dd50070e9db747
- Official input:
chatgpt_26.901.51231_amd64.deb
- Input SHA-256:
62580188d87c3d3a9369dab7c73b42a8a32518d4df8a2d5bae6466ddeac5c05e
- Local deb verified against the signed stable InRelease/Packages metadata
- Output: community AppImage, built through
install.sh and make appimage
- Gentoo Linux, kernel
7.2.3-gentoo-dist
- Plasma
6.6.6, native Wayland (--ozone-platform=wayland)
- One enabled display: physical
3840 × 2400, scale 200%, logical 1920 × 1200
- Bundled Codex CLI:
0.153.4
Feature configuration:
{"enabled":["pet-overlay"]}
All feature options use defaults, including lockPosition: false, mode: "interactive", and kwin: true. qdbus6 and KWin's scripting interface are available.
Reproduction
- Build the above official Linux package with only
pet-overlay enabled.
- Launch the AppImage under Plasma native Wayland.
- Wake the pet.
- Observe that the pet body is invisible, although
Codex Pet Overlay appears in Alt-Tab.
Expected: the mascot is visible within the desktop and can be interacted with.
Actual: the body is entirely invisible. The taskbar entry briefly appears and disappears; the Alt-Tab entry remains.
Runtime observations
A temporary inspection-only KWin script read these properties from the matching overlay window:
{
"caption": "Codex Pet Overlay",
"frame": {"x":574,"y":0,"width":772,"height":2369},
"buffer": {"x":574,"y":0,"width":772,"height":2369},
"client": {"x":574,"y":0,"width":772,"height":2369},
"opacity": 1,
"minimized": false,
"hidden": false,
"skipTaskbar": true,
"skipSwitcher": false,
"keepAbove": true,
"onAllDesktops": true
}
The inspection script was unloaded and removed afterward. Application logs also report rendererWindowAppearance=avatarOverlay and rendererWindowVisible=true after waking it.
The taskbar/Alt-Tab difference is consistent with the reported skip flags, but does not explain the invisible mascot by itself.
Suspected cause — not yet confirmed by runtime A/B testing
The current upstream native layout deliberately allocates a tall transparent draw window. The community codexPetOverlayTrayAboveLeft() helper places the mascot at the bottom of windowBounds and compensates by changing the window origin.
For a synthetic input using the observed 772 × 2369 dimensions and a 112 × 121 mascot, evaluating that helper from the built ASAR returns mascot-local top=2248 and a compensating negative window Y. The mascot dimensions in this calculation are test inputs, not a measurement of the live renderer DOM.
If the compensating origin is not applied, the mascot falls below the visible desktop. The actual KWin window origin remains y=0. In the default unlocked mode, the regular KWin hint path gates geometry changes on lockPosition, which may leave the renderer layout and compositor geometry inconsistent.
This is a hypothesis supported by the window geometry and helper calculation; we have not captured the live DOM mascot rectangle or performed an enabled/disabled comparison using the same official package.
Validation already performed
node --test linux-features/pet-overlay/test.js: 72 passed, 0 failed
- Official-bundle build:
feature:pet-overlay:pet-overlay-main reports applied
- Running AppImage ASAR matches the built ASAR
- KWin drag hooks and the feature launcher hook are present
- Main application window and local app-server initialize successfully
These checks pass while the visible pet behavior fails.
Related history
Related: #984, #1056, #1420.
The affected build includes #1420, but the first bad commit has not been identified. Its pet patch changes adapt the settings handler to await this.setSettingValue(...); they do not change the geometry helper. The current helper's last modification predates it (#1056). Please treat this as a current runtime compatibility report, not a proven regression introduced by #1420.
I do not have time to prepare a PR at the moment, so I am reporting the reproduction and diagnostic evidence here.
Summary
With only
pet-overlayenabled, the pet is completely invisible on KDE Plasma native Wayland with official Linux package26.901.51231. A window namedCodex Pet Overlayremains in Alt-Tab. Its taskbar entry briefly appears and disappears.KWin reports a visible, non-minimized
772 × 2369overlay at(574, 0)on a1920 × 1200logical desktop. This appears to be a runtime layout compatibility problem despite successful patch application and passing feature tests.Environment
03d9a514259b7d8caf6406e392dd50070e9db747chatgpt_26.901.51231_amd64.deb62580188d87c3d3a9369dab7c73b42a8a32518d4df8a2d5bae6466ddeac5c05einstall.shandmake appimage7.2.3-gentoo-dist6.6.6, native Wayland (--ozone-platform=wayland)3840 × 2400, scale 200%, logical1920 × 12000.153.4Feature configuration:
{"enabled":["pet-overlay"]}All feature options use defaults, including
lockPosition: false,mode: "interactive", andkwin: true.qdbus6and KWin's scripting interface are available.Reproduction
pet-overlayenabled.Codex Pet Overlayappears in Alt-Tab.Expected: the mascot is visible within the desktop and can be interacted with.
Actual: the body is entirely invisible. The taskbar entry briefly appears and disappears; the Alt-Tab entry remains.
Runtime observations
A temporary inspection-only KWin script read these properties from the matching overlay window:
{ "caption": "Codex Pet Overlay", "frame": {"x":574,"y":0,"width":772,"height":2369}, "buffer": {"x":574,"y":0,"width":772,"height":2369}, "client": {"x":574,"y":0,"width":772,"height":2369}, "opacity": 1, "minimized": false, "hidden": false, "skipTaskbar": true, "skipSwitcher": false, "keepAbove": true, "onAllDesktops": true }The inspection script was unloaded and removed afterward. Application logs also report
rendererWindowAppearance=avatarOverlayandrendererWindowVisible=trueafter waking it.The taskbar/Alt-Tab difference is consistent with the reported skip flags, but does not explain the invisible mascot by itself.
Suspected cause — not yet confirmed by runtime A/B testing
The current upstream native layout deliberately allocates a tall transparent draw window. The community
codexPetOverlayTrayAboveLeft()helper places the mascot at the bottom ofwindowBoundsand compensates by changing the window origin.For a synthetic input using the observed
772 × 2369dimensions and a112 × 121mascot, evaluating that helper from the built ASAR returns mascot-localtop=2248and a compensating negative window Y. The mascot dimensions in this calculation are test inputs, not a measurement of the live renderer DOM.If the compensating origin is not applied, the mascot falls below the visible desktop. The actual KWin window origin remains
y=0. In the default unlocked mode, the regular KWin hint path gates geometry changes onlockPosition, which may leave the renderer layout and compositor geometry inconsistent.This is a hypothesis supported by the window geometry and helper calculation; we have not captured the live DOM mascot rectangle or performed an enabled/disabled comparison using the same official package.
Validation already performed
node --test linux-features/pet-overlay/test.js: 72 passed, 0 failedfeature:pet-overlay:pet-overlay-mainreportsappliedThese checks pass while the visible pet behavior fails.
Related history
Related: #984, #1056, #1420.
The affected build includes #1420, but the first bad commit has not been identified. Its pet patch changes adapt the settings handler to
await this.setSettingValue(...); they do not change the geometry helper. The current helper's last modification predates it (#1056). Please treat this as a current runtime compatibility report, not a proven regression introduced by #1420.I do not have time to prepare a PR at the moment, so I am reporting the reproduction and diagnostic evidence here.