* 1032 failing upload flag for monitor mgr
* move upload failure fix logic to frontend
* misc corrections
* avoid starting monitor when upload is in progress
* avoid starting monitor when upload is in progress
* prevent monitor side effects on upload (WIP)
* send upload req after notifying mgr
* dispose instead of pause on upld (code not final)
* Revert "dispose instead of pause on upld (code not final)"
This reverts commit 2d5dff2a2d85754467470b5973b7ecac8017aa58.
* force wait before upload (test)
* always start queued services after uplaod finishes
* test cli with monitor close delay
* clean up unnecessary await(s)
* remove unused dependency
* revert CLI to 0.23
* use master cli for testing, await in upload finish
* remove upload port from pending monitor requests
* fix startQueuedServices
* refinements queued monitors
* clean up monitor mgr state
* fix typo from prev cleanup
* avoid dupl queued monitor services
* variable name changes
* reference latest cli commit in package.json
Co-authored-by: Alberto Iannaccone <a.iannaccone@arduino.cc>
* backend structure WIP
* Scaffold interfaces and classes for pluggable monitors
* Implement MonitorService to handle pluggable monitor lifetime
* Rename WebSocketService to WebSocketProvider and uninjected it
* Moved some interfaces
* Changed upload settings
* Enhance MonitorManager APIs
* Fixed WebSocketChange event signature
* Add monitor proxy functions for the frontend
* Moved settings to MonitorService
* Remove several unnecessary serial monitor classes
* Changed how connection is handled on upload
* Proxied more monitor methods to frontend
* WebSocketProvider is not injectable anymore
* Add generic monitor settings storaging
* More serial classes removal
* Remove unused file
* Changed plotter contribution to use new manager proxy
* Changed MonitorWidget and children to use new monitor proxy
* Updated MonitorWidget to use new monitor proxy
* Fix backend logger bindings
* Delete unnecessary Symbol
* coreClientProvider is now set when constructing MonitorService
* Add missing binding
* Fix `MonitorManagerProxy` DI issue
* fix monitor connection
* delete duplex when connection is closed
* update arduino-cli to 0.22.0
* fix upload when monitor is open
* add MonitorSettingsProvider interface
* monitor settings provider stub
* updated pseudo code
* refactor monitor settings interfaces
* monitor service provider singleton
* add unit tests
* change MonitorService providers to injectable deps
* fix monitor settings client communication
* refactor monitor commands protocol
* use monitor settings provider properly
* add settings to monitor model
* add settings to monitor model
* reset serial monitor when port changes
* fix serial plotter opening
* refine monitor connection settings
* fix hanging web socket connections
* add serial plotter reset command
* send port to web socket clients
* monitor service wait for success serial port open
* fix reset loop
* update serial plotter version
* update arduino-cli version to 0.23.0-rc1 and regenerate grpc protocol
* remove useless plotter protocol file
* localize web socket errors
* clean-up code
* update translation file
* Fix duplicated editor tabs (#1012)
* Save dialog for closing temporary sketch and unsaved files (#893)
* Use normal `OnWillStop` event
* Align `CLOSE` command to rest of app
* Fixed FS path vs encoded URL comparision when handling stop request.
Ref: https://github.com/eclipse-theia/theia/issues/11226
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
* Fixed the translations.
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
* Fixed the translations again.
Removed `electron` from the `nls-extract`. It does not contain app code.
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
* Aligned the stop handler code to Theia.
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
Co-authored-by: Akos Kitta <a.kitta@arduino.cc>
* fix serial monitor send line ending
* refactor monitor-service poll for test/readability
* localize web socket errors
* update translation file
* Fix duplicated editor tabs (#1012)
* i18n:check rerun
* Speed up IDE startup time.
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
* override coreClientProvider in monitor-service
* cleanup merged code
Co-authored-by: Francesco Stasi <f.stasi@me.com>
Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
Co-authored-by: Mark Sujew <mark.sujew@typefox.io>
Co-authored-by: David Simpson <45690499+davegarthsimpson@users.noreply.github.com>
Co-authored-by: Akos Kitta <a.kitta@arduino.cc>
An extra brace was inadvertently introduced into a template literal used to format output text in the event of an error
during compilation. This caused the text to end in a pointless `}`
For example:
```
Compilation error: exit status 1}
```
After this change, the output text is as expected:
```
Compilation error: exit status 1
```
* get serial connection status from BE
* handle serial connect in the BE
* allow breakpoints on vscode (windows)
* Timeout on config change to prevent serial busy
* serial-service tests
* Rebuild gRPC protocol interfaces
* Implement methods to get user fields for board/port combination
* Implement dialog to input board user fields
* Add configure and upload step when uploading to board requiring user fields
* Disable Sketch > Configure and Upload menu if board doesn't support user fields
* Fix serial upload not working with all boards
* Update i18n source file
* fix user fields UI
* regenerate cli protocol
* fix localisation
* check if user fields are empty
Co-authored-by: Alberto Iannaccone <a.iannaccone@arduino.cc>
* spawn new window where to instantiate serial plotter app
* initialize serial monito web app
* connect serial plotter app with websocket
* use npm serial-plotter package
* refactor monitor connection and fix some connection issues
* fix clearConsole + refactor monitor connection
* add serial unit tests
* refactoring and cleaning code
* integrate cli 0.19.0
* Update CLI version used to fix crash on lib/core install/uninstall
* Update CLI version
* Update CLI version
* update cli version
Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
- Merged the Arduino channels into one,
- Removed the channel selector dropdown from the UI.
Closesarduino/arduino-pro-ide#421.
Signed-off-by: Akos Kitta <kittaakos@typefox.io>
Made the port/fqbn/programmer optional for upload, verify,
and burn bootloader. From now on, the IDE does not warn the user before
performing the desired CLI command.
Closesarduino/arduino-pro-ide#364
Signed-off-by: Akos Kitta <kittaakos@typefox.io>
When uploading using a programmer, the port is ignored by the CLI.
Also removed `programmer` from compile request [arduino/arduino-cli#861]
Signed-off-by: Akos Kitta <kittaakos@typefox.io>