Do not try to parse the original `NotFound` error message, but look for
a sketch somewhere in the requested path.
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
From now on, the editor widget open promise resolution does not rely on
internal Theia events but solely on @phosphor's `isAttached`/`isVisible`
properties.
The editor widget promise resolves with the next task after a navigation
frame so the browser can render the widget.
Closes#1612
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
The original (`fs-extra`-based) implementation did not check if the
file is writable either.
Resources are not writable in mounted AppImages.
Closes#1586
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
- feat: generalized Node.js error handling
- Gracefully handle when the sketch folder has been deleted
- feat: spare detecting invalid sketch name error
- The invalid sketch name detection requires at least one extra FS access.
Do not try to detect the invalid sketch name error, but use the original
`NotFound` from the CLI.
- fix: typo
Closes#1596
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
* Added a modifiable default sketch for new project
* Removed unused file
* WiP : Now nothing's working... :(
* yarn i18n:generate for the settings
* Updated the desription for markdown description.
* Lintered the code
* Remove undesirable whitespaces
* Applied kittaakos suggestions
* Removed extra whitespaces
* Fixed default `.ino` for the missings empty lines.
- The implementation has been taken from @kittaakos repo
d10de01736/arduino-ide-extension/src/browser/serial/monitor/serial-monitor-send-input.tsx
- The previous method has been modified to ensure the first element instead of an empty string is returned if the index is at the beginning of the list.
- The push method has been modified to check if the current command is same as the last command. If same then, it is not added to the list else it is added.
* let the user edit the stepper input with keyboard
* consider exceptions and fix styling
* fix onBlur with empty strings
* always set the internal state value
* misc fixes
Co-authored-by: David Simpson <45690499+davegarthsimpson@users.noreply.github.com>
It is common for a "port" to be used in some way during the process of uploading to a board. However, the array of
Arduino boards is very diverse. Some of these do not produce a port and their upload method has no need for one.
For this reason, the IDE must allow the upload process to be initiated regardless of whether a port happens to be
selected. During the addition of support for user provided fields, an unwarranted assumption was made that all boards
require a port selection for upload and this resulted in a regression that broke uploading for these boards. This
regression was especially user unfriendly in that there was no response whatsoever from the IDE when the user attempted
to initiate an upload under these conditions.
The bug is hereby fixed. The upload process will always be initiated by the IDE regardless of whether a port is
selected. In cases where a port is required, the resulting error message returned by Arduino CLI or the upload tool will
communicate the problem to the user.
If the board select dialog is listening on the backend's event,
the frontend might miss the event when it comes up, although boards
are connected and ports are discovered.
Closes#573
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
* Fix boards listing
* use arduio-cli sorting fix
* re-use code to handle board list response
* change `handleListBoards` visibility to `private`
* pad menu items order with leading zeros to fix alphanumeric order
It has been removed from the gRPC API: arduino/arduino-cli#1890
This PR switches from `real_name` to `name` in the UI, as the `name` is
the canonical form provided by the CLI.
Closes#1525
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
- IDE2 can start if the package index download fails. Closes#1084
- Split the lib and platform index update. Closes#1156
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
Arduino libraries may specify dependencies on other libraries in their metadata. The installation of these dependencies
is offered by the Arduino IDE when the user installs the dependent library using the Library Manager widget.
The order of the buttons in the dialog that offers the dependencies installation was recently rearranged. The dialog
response interpretation code was not updated to reflect the changes to the button indexes at that time. This caused the
"CANCEL" button to trigger the behavior expected from the "INSTALL ALL" button, and vice versa.
The library dependencies installation dialog response interpretation code is hereby updated to use the new button
indexes.
An "INSTALLED" label is shown on the items in the Library Manager and Boards Manager views that are currently installed
on the user's system.
During some work to add missing internationalization to the UI strings, this text was changed to "INSTALL". That text is
not appropriate for what this label is intended to communicate.
The regression is hereby corrected, while retaining the internationalization of the string.