Skip to content

Duplicate plugin not detected during install #4410

@low-batt

Description

@low-batt

System and IINA version:

  • macOS 13.3.1 (a)
  • IINA develop ee48143

Expected behavior:
When the user attempts to install a plugin that is already installed IINA asks the user if they want to reinstall the plugin. If the user continues the installation the existing copy of the plugin is replaced.

Actual behavior:
IINA installs the plugin a second time. The duplicate installation is not detected until IINA is restarted:

iina-dup-plugin

IINA log:
14:44:23.199 [iina][d] Installing plugin from GitHub URL: https://github.com/iina/plugin-userscript
14:44:28.353 [iina][d] Loading JS plugin from /Users/low-batt/Library/Application Support/com.colliderli.iina/plugins/.temp.290095C0-DA9F-4477-8B08-644693973EB0
14:44:28.354 [iina][e] The file pref.html doesn't exist
14:44:34.933 [iina][e] The file pref.html doesn't exist
14:44:34.952 [player0 - User Scripts][d] Scripts loaded: 0
14:44:34.953 [player0 - User Scripts][d] []
14:44:35.071 [global - User Scripts][d] Scripts loaded: 0
14:44:49.938 [iina][d] Installing plugin from GitHub URL: https://github.com/iina/plugin-userscript
14:44:51.014 [iina][d] Loading JS plugin from /Users/low-batt/Library/Application Support/com.colliderli.iina/plugins/.temp.7D658AF8-8882-476E-ACD6-811088E42D54
14:44:51.015 [iina][e] The file pref.html doesn't exist
14:44:52.924 [iina][e] The file pref.html doesn't exist
14:44:53.065 [global - User Scripts][d] Scripts loaded: 0

Steps to reproduce:
Run the following command in Terminal to enable the plugin system:

defaults write com.colliderli.iina iinaEnablePluginSystem true
  • Start IINA
  • Click on Settings… under the IINA menu
  • The settings panel appears
  • On the left side of the panel click on Plugins
  • On the right side of the panel click on Install from GitHub…
  • The popup Install a new plugin from GitHub appears
  • In the popup click on iina/plugin-userscript
  • The Install button activates
  • Click on Install
  • The Warning popup appears and displays the permissions the plugin requires
  • Click on Install
  • The settings panel shows the User Scripts plugin has been installed and activated
  • Click on Install from GitHub… again
  • The popup Install a new plugin from GitHub appears
  • NOTE that iina/plugin-userscript shows Not Ins…
  • In the popup click on iina/plugin-userscript
  • The Install button activates
  • Click on Install
  • The Warning popup appears
  • Click on Install
  • The settings panel shows two copies of the User Scripts plugin has been installed
  • Restart IINA
  • Upon restart IINA detects the duplicates as shown above
  • MPV does not have this problem.

How often does this happen?
Every time.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions