Skip to content
This repository was archived by the owner on Jan 28, 2022. It is now read-only.
This repository was archived by the owner on Jan 28, 2022. It is now read-only.

App crashes with mixed integrations.library versions #532

@zehnm

Description

@zehnm

Description

The latest enhancements in integrations.library are no longer backwards compatible, even within the same minor version range. If there are two plugins, one compiled with version 0.7.0 and the other with 0.6.x the app crashes hard without an error message.

How to Reproduce

Steps to reproduce the behavior:

  1. Install one plugin with the latest release
  2. Install another plugin with an older release
  3. Restart app
  4. App crashes during plugin loading

Expected behavior

Incompatible plugins are not loaded and an error message is printed in the log. If possible with a notification message in the UI.

Your Environment

  • Version used: 0.7.0 and newer
  • Running on:
    • YIO Remote
    • Desktop
    • Standalone Raspberry Pi

Additional context

Issue is a non compatible binary interface and missing checks during plugin loading.

Solution:

  • Include metadata in all plugins which can be queried with the Qt plugin loading mechanism
    • Version of integrations.library
  • Include integrations.library version in remote-software
  • Compare versions during plugin loading.
    To be discussed: either major versions or major & minor must match

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions