Uh oh!
There was an error while loading. Please reload this page.
[Air #1388] feat: Vendor sdpi-components v4.0.1 into the plugin bundle - #1397
Merged
Conversation
amrmelsayed
commented
Aug 10, 2026
CollaboratorAuthor
Integration review (streamdeck architect), low-risk tier, read in full + independently verified.
No findings. Recommending approval at the pr gate; merge authorization is Amr's. |
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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
Vendors the sdpi-components library (v4.0.1 release build) into the Stream Deck plugin bundle and switches all three property-inspector pages from the remote CDN
<script>to the local relative reference, so action configuration works offline and no remotely mutable code executes in the configuration UI.Closes#1388
What Changed
com.cluesmith.codev.sdPlugin/ui/lib/sdpi-components.js(v4.0.1, downloaded fromhttps://sdpi-components.dev/releases/v4/sdpi-components.js; a second independent download produced an identical sha256f6c0dfd2ed68e18084b9952842b86e3850cf837d674704700c2a0718e0a24f6b).codev-action.html,builder-action.html,fleet-slot.htmlnow load<script src="lib/sdpi-components.js">instead of the CDN URL.src/__tests__/vendored-ui-lib.test.ts: the vendored file exists in the bundle, everyui/*.htmlreferences the relative path, nosrc/hrefin any PI page points at a remote origin, and the README's documented version matches the vendored file's license header.Key Decisions
ui/lib/sdpi-components.js, the location suggested in the issue and consistent with Elgato's bundling guidance.Test Plan
vendored-ui-lib.test.ts— 8 new assertions across the three PI pages)pnpm --filter @cluesmith/codev-streamdeck build)streamdeck validatepasses;streamdeck packartifact includesui/lib/sdpi-components.js(verified viaunzip -l)file://with all http(s) requests aborted —sdpi-selectcustom element registers,connectElgatoStreamDeckSocketentrypoint is defined, all options render, zero remote requests attemptedSettings persistence rides the live Stream Deck websocket, so that final leg stays a hardware smoke test; since the vendored file is byte-identical to what the CDN served, persistence behavior is unchanged.
Review Notes
The vendored file is third-party minified code — review its provenance (checksum above) rather than its contents. Everything else is three one-line HTML edits, a README section, and a guard test.