Skip to content

Notify user when managed platform is not tracked by a package index #2088

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
3 tasks done
per1234 opened this issue Jun 6, 2023 · 0 comments
Open
3 tasks done

Notify user when managed platform is not tracked by a package index #2088

per1234 opened this issue Jun 6, 2023 · 0 comments
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement

Comments

@per1234
Copy link
Contributor

per1234 commented Jun 6, 2023

Describe the request

If an installed Arduino boards platform was installed via Boards Manager, but that platform is not listed in the primary package index or an additional package index configured via the "Additional Boards Manager URLs" preference, display a warning notification to the user:

URL for <platform name> platform is not configured in the "Additional Boards Manager URLs" preference. Updates will not be available.

I think the most appropriate time to check for this condition and display the notification is during the package index update process.

🙂 The user will be aware that Boards Manager updates for the platform will not be available due to the missing URL in their preferences.

Describe the current behavior

The Boards Manager system provides installation and updates of Arduino boards platforms. Arduino maintains a primary package index that provides all official and partner platforms. A huge number of 3rd party platforms are also available. In order to access these, the user must add the URL to the platform's package index to the "Additional Boards Manager URLs" field of their Arduino IDE preferences.

After a platform is installed, it remains usable even if the additional package index URL is removed from the "Additional Boards Manager URLs" preference. However, the presence of this URL is required for the valuable update capability of Boards Manager to work. Users without an in depth understanding of the fairly complex and esoteric Boards Manager system may not be aware of this and thus feel no need to maintain a list of URLs in their "Additional Boards Manager URLs" preference.

There are several scenarios that would make this especially likely to occur:

🙁 The "untracked" status of the platform is not communicated to the user. They may miss out on important advancements made in later releases of the platform or else be confused when the Boards Manager update capability does not seem to work.

Arduino IDE version

e47fb2e

Operating system

All

Operating system version

Any

Additional context

The untracked condition is indicated by the indexed field of the cc.arduino.cli.commands.v1.Platform message not being set to true.

That capability was added by arduino/arduino-cli#2174 and will be introduced into Arduino IDE by #2083

❗ The notification should not be displayed for "unmanaged" (manually installed) platforms, since the "untracked" state is inherent to these platforms. They are identified by the manually_installed field of the cc.arduino.cli.commands.v1.Platform message being set to true.


This will effectively resolve #1524.

The approach proposed here is superior to the alternative solution for #1524 of automatically migrating the URLs from the Arduino IDE 1.x preferences store.

The reason this approach is superior is because it addresses the problem of untracked managed platforms in general and thus improves the user experience beyond the 1.x to 2.x IDE upgrade alone. It should also be fairly easy to implement since Arduino CLI is already indicating the "untracked" state.

The fairly complex code that would be needed for the alternative approach of migrating the 1.x preferences would only provide a one time benefit for the ever diminishing subset of users who are upgrading from Arduino IDE 1.x.

Related:

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details
@per1234 per1234 added type: enhancement Proposed improvement topic: code Related to content of the project itself labels Jun 6, 2023
@kittaakos kittaakos self-assigned this Jun 6, 2023
@kittaakos kittaakos removed their assignment Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

No branches or pull requests

2 participants