skill: document QML_PATH and QPluginLoader UI plugin pattern - #59
Open
vpavlin wants to merge 1 commit into
Open
Conversation
Add notes on UI plugins that use QPluginLoader + IComponent (installed to plugins/ not modules/), the manifest.json format, and the QML_PATH env var needed to load QML from filesystem instead of embedded QRC. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
dlipicar
added a commit
that referenced
this pull request
Aug 19, 2026
logos-protocol 0af8e0c -> 988e0ba (#59) logos-rust-sdk 571d570 -> 671bcc6 (#39) logos-dev-boost 31cbcd3 -> 4fb867a (#17) logos-tutorial (#81) also merged but is not a rev-pinned root input, so nothing to move for it. All three were SQUASH-merged, so the branch commits are not ancestors of master and `origin/master..HEAD` still counted them as ahead — the pins move to the new master SHAs rather than to anything recognisable from the branches. Checked by CONTENT rather than by topology before moving: master carries jsonRequireArray/jsonRequireObject, TokenManager::forIdentity/isolateIdentity, lp_grant_host_services and lp_token_keys; rust-sdk's dead gen_provider example is gone; dev-boost's guidelines name logos-qt-host-generator. Both platforms evaluate: aarch64-darwin 641, x86_64-windows 399 — unchanged, as expected for a pin move whose content was already in the closure via the branches. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
dlipicar
added a commit
that referenced
this pull request
Aug 19, 2026
logos-protocol 988e0ba -> f4407ff (#59 then #60) logos-rust-sdk 671bcc6 -> 7c65d31 (#39 then #40) logos-dev-boost 4fb867a -> a915699 (#17 then #18) Set 1 merged in two waves, which is why this moves a second time. The first four PRs were squash-merged at their pre-CI heads, so the CI conversions that had been pushed to those same branches afterwards were not included and needed their own PRs; those have now merged too. logos-tutorial (#81, #83) merged in both waves as well but is not a rev-pinned root input. Every SHA here came from `git ls-remote`, not from a local ref: an explicit `git fetch origin master` in these submodules left origin/master at the PRE-merge tip, and repinning off that would have quietly pinned stale revisions while reporting success. Both platforms evaluate: aarch64-darwin 641, x86_64-windows 399. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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
plugins/install directory vsmodules/,manifest.jsonformat, andIComponentinterface requirementQML_PATH=<dir>env var to load QML from filesystem instead of embedded QRC — essential for QML iteration without full rebuildsContext
Discovered while building the WhisperWall Basecamp UI plugin. Without
QML_PATH, any.qmlfile changes on disk are silently ignored because the plugin loads QML from the baked-in Qt resource. This tripped us up multiple times before finding the override mechanism.Test plan
QML_PATHexample command is copy-paste-ready🤖 Generated with Claude Code