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

Theia 1.45.1 #1047

Merged
merged 2 commits into from
Feb 29, 2024
Merged

Theia 1.45.1 #1047

merged 2 commits into from
Feb 29, 2024

Conversation

marcdumais-work
Copy link
Contributor

Update the example apps to use the latest Theia community release.

There was an issue after the update, that required some digging. It turns-out that one of our backend contribution was no longer correctly following the expected life-cycle of a Theia application, causing the app to exit before being fully started.

TL;DR: our contribution would wait in the "initialize" phase until the application was fully started and one of our frontend contribution would send the trace server port. This has been refactored so that our backend contribution configures itself assuming the default port is used, and corrects this once the application is started (the port is only potentially needed later, when the user opens a trace).

See commit message for more details.

Note: because of the above, a bit more testing than usual is probably a good idea

@marcdumais-work marcdumais-work added the dependencies Pull requests that update a dependency file label Feb 28, 2024
There were some recent Theia changes[1] that required to change the way our
Theia extension starts. It used to be that our TraceServerUrlProviderImpl
backend contribution could wait in the "initialize" Theia app life-cycle
phase, until the application was started and it received the trace server
port from the front-end, from our PreferencesFrontendContribution.

But the above no longer works. Now backend contributions are started in
parallel, and all are expected to finish their initialize phase, before the
"start" phase is initiated.

In practice, after upgrading to Theia v1.45.1, the Theia application, that
includes the trace viewer extension,  would be killed during startup, with
no clear indication why.

To prevent this from happening, the need to receive information from the
front-end, during initialization, has been removed: the backend contribution
now initializes with the assumption that the default trace server port is used.
If a different port is configured in the preferences, the information will be
synched after the app has started.

[1]: eclipse-theia/theia#12818

specifically:

"The BackendApplicatinContribution init and configure methods are now called
in parallel for all contributions instead of sequentially."

Signed-off-by: Marc Dumais <[email protected]>
"@theia/preferences": "1.45.1",
"@theia/process": "1.45.1",
"@theia/terminal": "1.45.1",
"@theia/workspace": "1.45.1",
"theia-traceviewer": "0.2.0-next.20231206220005.ff0943f.0"
Copy link
Collaborator

Choose a reason for hiding this comment

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

This needs to be updated after the a new version is available.

@marcdumais-work marcdumais-work merged commit c22cb2c into master Feb 29, 2024
4 checks passed
@marcdumais-work marcdumais-work deleted the theia_1.45.1 branch February 29, 2024 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants