Skip to content

Library/Boards Manager offers already installed release when it is the only one #781

Closed
@per1234

Description

@per1234

Describe the bug

When multiple releases of a library or boards platform are available, Library and Boards Manager offer only the available versions other than the currently installed one.

🐛 When there is only one available release of a library or boards platform, the user is still offered an INSTALL button. If they click it, the IDE attempts to install the version that is already installed.

To Reproduce

  1. Open the Arduino IDE Library Manager.
  2. Search for Arduino Uno WiFi Dev Ed Library
  3. Install "Arduino Uno WiFi Dev Ed Library by Arduino".
    🐛 Notice that the library listing still has an INSTALL button for the already installed 0.0.3 release:
    image
  4. Click the INSTALL button.
    🐛 Notice that the version shown in the notifications is identified as undefined
    Processing Arduino Uno WiFi Dev Ed Library:undefined: Already installed Arduino Uno WiFi Dev Ed [email protected]
    
    Successfully installed library Arduino Uno WiFi Dev Ed Library:undefined
    
    image
  5. Hover the mouse pointer over the "INSTALLED" label on the "Arduino Uno WiFi Dev Ed Library by Arduino" library listing.
    (It turns into an UNINSTALL button)
  6. Click the UNINSTALL button.
    • 🐛 Notice that the "Arduino Uno WiFi Dev Ed Library by Arduino" library listing still has an "INSTALLED" label, even though the library was really uninstalled.
    • 🐛 Notice that the Sketch > Include Library menu still contains "Arduino_Uno_WiFi_Dev_Ed_Library".
  7. Open the Arduino IDE Boards Manager.
  8. Search for littleBits
  9. Install "littleBits Arduino AVR Modules by littleBits Electronics".
    🐛 Notice that the platform listing still has an INSTALL button for the already installed 1.0.0 release:
    image

Expected behavior

Remove or disable the INSTALL button when there is nothing available to install.

This is how it has always worked in Arduino IDE 1.x:

image

image

Desktop

  • OS: Windows 10
  • Version: 2.0.0-rc3-snapshot.1d88263
    Date: 2022-01-24T16:22:30.529Z
    CLI Version: 0.20.2 [13783819]

Additional context

In addition to libraries and boards platforms that only had one release, such as the ones used in the demo above, this condition will be present for all installed boards platforms without a package index. Because the "Additional Boards Manager URLs" preference that provides these package indexes is not imported from the Arduino IDE 1.x preferences, that will be the case for all 3rd party boards platforms present on the system of a user who has just updated to Arduino IDE 2.x, even in the session during which they have manually updated that preference (#637). So it is not a rare condition.


I did not experience the same problem with the uninstall not being recognized after the double install in Boards Manager as I did in Library Manager.


I missed a previous report of the same bug at #157. The discussion there might provide additional information if the problem is not clear from what I wrote above.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions