Skip to content

Only package indexes should updated after changing the "Additional Boards Manager URL" preference. #1156

Closed
@kittaakos

Description

@kittaakos

Describe the problem

Originally reported here:

I notice that the Library Manager index is updated along with the package indexes after a change to the "Additional Boards Manager URLs" preference.

It seems a bit arbitrary to me since there is no reason to think a change to this Boards Manager-specific preference is an indication that the user is planning to use Library Manager.

I think that, for most users, just having a single library index update on startup will be sufficient. That might be problematic if a user leaves the IDE open permanently, but I think that would be a very rare usage pattern. Perhaps a periodic update of all indexes could be implemented at some point as part of the updatable platform and library notification system.

To reproduce

  1. Select File > Preferences from the Arduino IDE menus.
  2. Change the "Additional Boards Manager URL" preference by either adding or removing URLs.
  3. Click the OK button.
  4. Watch the index download notifications. They include "Downloading index: library_index.json.gz".

From the gRPC logs, it appears that a cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateLibrariesIndex request is being sent in addition to the expected UpdateIndex for the package indexes.

daemon INFO 25 CALLED: /cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateIndex STREAM_RESP
26 CALLED: /cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateLibrariesIndex STREAM_RESP

Expected behavior

Only package indexes are updated after changing the "Additional Boards Manager URLs" preference.

Arduino IDE version

HEAD of the main

Operating system

macOS

Operating system version

12.3.1

Additional context

2.0.0-rc8-snapshot-24cc9f1 (tester build for a2bec12)

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