fix(decky): render plugin on SteamOS 3.7.x#33
Merged
lobinuxsoft merged 1 commit intoMay 1, 2026
Merged
Conversation
Steam's React internals were rebuilt and the literal `React.createElement` no longer appears in the LibraryContextMenu module's siblings (now uses the jsx/jsxs runtime). The double-filter selector in `getLibraryContextMenu()` returned undefined, `fakeRenderComponent(undefined)` threw "fun is not a function", the `definePlugin` callback aborted, and Decky inserted its TheError fallback shape — invisible in the QAM without a `titleView`. - Drop the createElement filter in the LibraryContextMenu sibling lookup (mirrors decky-steamgriddb, the original source of this pattern). - Migrate `title:` → `titleView:` to match Decky's official Plugin interface for v3.2.x (`title` is not in the type). Closes #32
This was referenced May 1, 2026
lobinuxsoft
added a commit
to lobinuxsoft/decky-plugin-database
that referenced
this pull request
May 1, 2026
SteamOS 3.7.x render fix — see lobinuxsoft/decky-capydeploy#33
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CapyDeploy v1.2.0 stopped rendering on SteamOS 3.7.22 + Decky v3.2.3. The plugin loaded backend-side but the QAM showed nothing — the frontend silently fell into Decky's
TheErrorfallback.Root cause
getLibraryContextMenu()insrc/patches/contextMenuPatch.tsxfiltered LibraryContextMenu siblings by bothcreateElementANDnavigator:. Steam rebuilt React internals; the literalReact.createElementis gone (now jsx/jsxs runtime)..find()returnedundefined,fakeRenderComponent(undefined)threwTypeError: fun is not a function, thedefinePlugincallback aborted, and the loader inserted its error fallback{name, version, content: <TheError/>, icon, loadType}. Without atitleView, that shape is invisible in the sidebar.Fix
createElementfilter — leaves onlynavigator:, mirroringdecky-steamgriddb(the original source of this pattern, per the comment on line 3) which kept working through the Steam UI update.title: <div/>→titleView: <div/>to match Decky's officialPlugininterface for v3.2.x. The legacytitlefield is no longer in the TS type; it survived only by spread.Verification
Built locally and deployed to a Steam Deck (SteamOS 3.7.22, Decky v3.2.3). Confirmed via CDP probe of
SharedJSContext:Test plan
Closes #32