Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix duplicated editor tabs #1012

Merged
merged 1 commit into from
May 31, 2022
Merged

Fix duplicated editor tabs #1012

merged 1 commit into from
May 31, 2022

Conversation

msujew
Copy link
Contributor

@msujew msujew commented May 30, 2022

Motivation

Closes #656
Closes #793

Change description

Since editor widget identity is based not only on the URI, but also the options, we need to pass the correct options into the open call. Doing that prevents Theia from opening multiple tabs of the same editor

Other information

You might need to run the View: reset workbench layout command before testing this, since it modifies some state which is stored (in parts) in the browsers local storage.

Reviewer checklist

  • PR addresses a single concern.
  • The PR has no duplicates (please search among the Pull Requests before creating one)
  • PR title and description are properly filled.
  • Docs have been added / updated (for bug fixes / features)

@per1234 per1234 added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project labels May 31, 2022
Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes #656 and #793 for me.
Thanks @msujew!

@msujew msujew merged commit 5fc30bd into main May 31, 2022
@msujew msujew deleted the msujew/fix-duplicate-tabs branch May 31, 2022 09:33
AlbyIanna pushed a commit that referenced this pull request Jun 3, 2022
AlbyIanna pushed a commit that referenced this pull request Jun 3, 2022
AlbyIanna pushed a commit that referenced this pull request Jun 7, 2022
* 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: eclipse-theia/theia#11226
Signed-off-by: Akos Kitta <[email protected]>

* Fixed the translations.

Signed-off-by: Akos Kitta <[email protected]>

* Fixed the translations again.

Removed `electron` from the `nls-extract`. It does not contain app code.

Signed-off-by: Akos Kitta <[email protected]>

* Aligned the stop handler code to Theia.

Signed-off-by: Akos Kitta <[email protected]>

Co-authored-by: Akos Kitta <[email protected]>

* 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 <[email protected]>

* override coreClientProvider in monitor-service

* cleanup merged code

Co-authored-by: Francesco Stasi <[email protected]>
Co-authored-by: Silvano Cerza <[email protected]>
Co-authored-by: Mark Sujew <[email protected]>
Co-authored-by: David Simpson <[email protected]>
Co-authored-by: Akos Kitta <[email protected]>
@per1234 per1234 mentioned this pull request Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
2 participants