Alberto Iannaccone df8658eff9
Pluggable monitor (#982)
* 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>
2022-06-07 15:51:12 +02:00
..
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-04-29 15:44:04 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 15:51:12 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-04-29 15:44:04 +02:00
2022-06-07 12:19:36 +02:00
2021-12-20 02:19:55 +00:00
2022-04-29 15:44:04 +02:00
2022-06-07 12:19:36 +02:00
2022-01-13 17:03:42 +01:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00
2022-06-07 12:19:36 +02:00