YIO-Remote / remote-software

💎 YIO Remote Software repository
GNU General Public License v3.0
164 stars 21 forks source link

App crashes with mixed integrations.library versions #532

Closed zehnm closed 3 years ago

zehnm commented 3 years ago

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

Additional context

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

Solution:

zehnm commented 3 years ago

Fixed with #533 and #537: plugin metadata is checked before loading the plugin. This will resolve incompatible plugin versions if no incompatible changes are introduced in patch versions.