Skip to content

ui_qml manifest: 'view' field required but undocumented — 'main' with QML path silently ignored #142

Description

@xAlisher

Summary

The ui_qml plugin manifest requires a "view" field for the QML entry point. Using "main": {"linux-amd64": "Main.qml"} (old format) causes the plugin to silently fail — no error, no log, plugin never loads.

Old format (broken in ce48695+)

{
  "type": "ui_qml",
  "main": { "linux-amd64": "Main.qml" }
}

Correct format

{
  "type": "ui_qml",
  "view": "Main.qml",
  "main": {}
}

Root cause

MainUIBackend::resolveQmlViewPath reads meta.value("view"). If empty, returns early with a warning and never calls loadQmlView. The main field with a QML path is not read for ui_qml type — it is only used for the optional C++ backend .so.

Impact

Any third-party ui_qml plugin built before ce48695 or following outdated documentation will silently not load. No error surface to the user or developer.

Suggestion

  • Add a deprecation warning when main contains a .qml path for ui_qml type
  • Document the view field requirement in the module builder tutorial
  • Consider: if view is missing but main contains a QML path, treat it as view with a deprecation log

Environment

  • LogosBasecamp AppImage ce48695 (linux-amd64)
  • Ubuntu 24.04

[Claude Code]

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions