Skip to content

fix: use main field in manifest/metadata json files to determine available plugins#99

Merged
Khushboo-dev-cpp merged 1 commit intomasterfrom
fix/useMainToDeterminePluginPaths
Mar 20, 2026
Merged

fix: use main field in manifest/metadata json files to determine available plugins#99
Khushboo-dev-cpp merged 1 commit intomasterfrom
fix/useMainToDeterminePluginPaths

Conversation

@Khushboo-dev-cpp
Copy link
Collaborator

@Khushboo-dev-cpp Khushboo-dev-cpp commented Mar 20, 2026

  1. findAvailableUiPlugins — use "main" field for C++ plugin library filename

Previously assumed the .dylib filename matched the subdirectory name (e.g. calc_ui_cpp/calc_ui_cpp.dylib). The actual filename is declared in the "main" field of manifest.json (e.g. "darwin-arm64-dev": "calc_ui_cpp_plugin.dylib"). The discovery logic was looking for the wrong file and not finding installed plugins.

  1. getPluginPath — use "main" field for C++ plugin path

Same root cause. The path returned for loading a C++ plugin was constructed from the directory name rather than the "main" field, so QPluginLoader was pointed at a non-existent path.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates UI plugin discovery/loading to correctly handle both dev plugins (with metadata.json) and LGX-installed plugins (with manifest.json), and to use the manifest/metadata "main" field when determining the C++ plugin library filename.

Changes:

  • Update readPluginManifest() and getPluginType() to fall back from manifest.json to metadata.json.
  • Add helpers to resolve "main" across string vs platform-keyed-object formats and use that resolved name for C++ plugin discovery and loading paths.
  • Bump the logos-liblogos input in flake.lock.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 4 comments.

File Description
src/MainUIBackend.cpp Adds manifest/metadata fallback, resolves "main" for correct shared-library discovery/loading, and introduces platform-variant helpers.
flake.lock Updates the pinned revision/hash/timestamp for a Nix input.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@status-im-auto
Copy link
Collaborator

Jenkins Builds

Commit #️⃣ Finished (UTC) Duration Platform Result
d9f19f1 1 2026-03-20 15:29:51 ~35 sec linux/x86_64 📄log

@Khushboo-dev-cpp Khushboo-dev-cpp force-pushed the fix/useMainToDeterminePluginPaths branch from d9f19f1 to dabb82d Compare March 20, 2026 15:32
@Khushboo-dev-cpp Khushboo-dev-cpp force-pushed the fix/useMainToDeterminePluginPaths branch from dabb82d to 1185200 Compare March 20, 2026 15:36
@Khushboo-dev-cpp Khushboo-dev-cpp merged commit 7b87ce2 into master Mar 20, 2026
4 checks passed
@Khushboo-dev-cpp Khushboo-dev-cpp deleted the fix/useMainToDeterminePluginPaths branch March 20, 2026 16:32
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