The original filter would only populate the contribution list with perfect matches.
Previously, if a core was installed but didn't match the search it wouldn't appear in the results (due to a board being added or the description changed);
the user could then install (not upgrade) the core, triggering a confusing situation.
When moving to arduino-cli backend we should take care of this issue, at least visually (the cli logic would correctly update/downgrade the core)
Fixes#11416
The patch on MenuScroller.java is needed to avoid a clash between custom menus with the same label.
This behaviour artificially increases the amount of objects that the scroller will calculate.
Eg. if two boards share the same custom menu, that menu will contain the properties for both the boards (since it's parsed twice).
if 'showingHint' == true, then many potentially expensive String operations are being executed on an empty string. This change wraps these operations in an if block which will only run them when needed.
When the compiled size of a sketch exceeds the available flash or RAM on the board, the error message includes a link to
a troubleshooting guide:
Sketch uses 16110 bytes (112%) of program storage space. Maximum is 14336 bytes.
Global variables use 685 bytes (66%) of dynamic memory, leaving 339 bytes for local variables. Maximum is 1024 bytes.
Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
When an upload fails, the error message includes a link to a troubleshooting guide:
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
http://www.arduino.cc/en/Guide/Troubleshooting was recently replaced with the Arduino Help Center. Even though that URL
redirects to the Help Center, it only goes to the home page, leaving the user to hunt for the relevant article.
A better user experience is provided by linking directly to the relevant content in the Help Center.