Skip to content

"Updatable" filter not set in Boards/Library Manager during "INSTALL MANUALLY" operation if other view open in side panel #1740

Closed
@per1234

Description

@per1234

Describe the problem

Arduino IDE automatically checks for available updates to boards platforms and libraries installed via Boards Manager and Library Manager. If an update is available, a notification dialog appears with the following options:

  • LATER
  • INSTALL MANUALLY
  • INSTALL ALL

"INSTALL MANUALLY" opens the Boards Manager or Library Manager view with the "Type" filter set to "Updatable". This allows the user to evaluate the available updates and install them selectively.

If another view was already open in the Side Panel, the "Type" filter is left set to the default "All" when the Boards Manager or Library Manager view is opened.

🐛 "INSTALL MANUALLY" will not provide the user with a convenient path to update dependencies.

To reproduce

Set up

An outdated version of a library is installed in order to trigger the update offer dialog:

  1. Open the Library Manager view if it is not already open.
  2. In the "Filter your search" field, type arduinocloudthing
    This is just an arbitrarily selected library with no special significance.
  3. Select "1.7.2" from the version menu on the "ArduinoCloudThing" entry.
  4. Click the "INSTALL" button.
  5. An "Install library dependencies" dialog will now appear. Click the "INSTALL WITHOUT DEPENDENCIES" button.
  6. Wait for the "ArduinoCloudThing" library to be installed successfully.

Demo

  1. Select File > New Sketch from the Arduino IDE menus.
    This is done to ensure the Library Manager view has the default "Type" filter setting.
  2. Click the folder icon on the Activity Bar to open the "Sketchbook" view in the Side Panel.
  3. Press the Ctrl+Shift+P keyboard shortcut (Command+Shift+P for macOS users) to open the "Command Palette".
  4. Select the "Arduino: Check for Arduino Updates" command from the menu.
  5. Wait for the "Updates are available for some of your libraries." notification dialog to appear.
  6. Click the "INSTALL MANUALLY" button.

🐛 The Library Manager view opens with the "Type" filter set to "All":

image

Expected behavior

The "Type" filter is always set to "Updatable" when the "Library Manager" view is opened via the "INSTALL MANUALLY" button of the platform update offer dialog.

Arduino IDE version

2.0.3

Operating system

Windows

Operating system version

10

Additional context

I bisected the introduction of the bug to ac9cce1 / #1662 (does not occur when using the build for the previous commit 3ad6609 or older).


The "Arduino: Check for Arduino Updates" command palette command was used in the demo as a convenient way to trigger the update notification. The bug also affects the more commonly used update notification on IDE startup.


I used the technique of manually opening a view in the side panel in the demo in order to make it as simple as possible. However, the fault also occurs in the more likely use cases when the panel was open for other reasons, such as:

  • The panel open state was restored for the workspace on startup due to it having been open during the previous IDE session.
  • Both Boards and Library Manager updates were available and the panel was previously opened for a manual update operation via the other view (real life example.

The fault also occurs when opening the view with filter configured via a librarymanager/boardsmanager link under the same conditions.

For example:

// http://librarymanager/Updatable

Originally reported by @KurtE at https://forum.arduino.cc/t/arduino-2-0-3-update-boards/1061726

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions