Describe the problem
While fixing the #2018 we noticed that the IDE under the tools menu renders the custom board option menus in a different order.
The response of the BoardDetails RPC call is correctly saved in the local storage, and it matches the order sent by the cli.
When rendering those items it seems that another kind of sorting is happening. Probably:
|
ConfigOption.LABEL_COMPARATOR |

To reproduce
- Use the latest version of the IDE.
- For example install the
esp8266 board: https://arduino.esp8266.com/stable/package_esp8266com_index.json
- Select the
Generic ESP8266 Module (Tools > Board > esp8266)
To quickly compare how the order should be:
arduino-cli board details -b esp8266:esp8266:generic --format json | jq '[.config_options | .[] | .option_label]'
Expected behavior
If the cli returns the following:
[
"CPU Frequency",
"VTables",
"Upload Speed"
]
The first option in the menu should be:
- CPU Frequency
- VTables
- Upload Speed

Arduino IDE version
2.1.0
Operating system
Linux
Operating system version
ubuntu 22.04
Additional context
No response
Issue checklist
Describe the problem
While fixing the #2018 we noticed that the IDE under the tools menu renders the custom board option menus in a different order.
The response of the
BoardDetailsRPC call is correctly saved in the local storage, and it matches the order sent by the cli.When rendering those items it seems that another kind of sorting is happening. Probably:
arduino-ide/arduino-ide-extension/src/browser/boards/boards-data-menu-updater.ts
Line 76 in 097c92d
To reproduce
esp8266board: https://arduino.esp8266.com/stable/package_esp8266com_index.jsonGeneric ESP8266 Module(Tools > Board > esp8266)To quickly compare how the order should be:
arduino-cli board details -b esp8266:esp8266:generic --format json | jq '[.config_options | .[] | .option_label]'Expected behavior
If the cli returns the following:
The first option in the menu should be:
Arduino IDE version
2.1.0
Operating system
Linux
Operating system version
ubuntu 22.04
Additional context
No response
Issue checklist