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: manage AI bindings separately per connection #14760

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sdirix
Copy link
Member

@sdirix sdirix commented Jan 23, 2025

What it does

Moves all AI backend bindings into ConnectionContainerModules. Therefore these are now scoped per connection (i.e. frontend) instead of globally for all connections.

The global bindings lead to a lot of interference when multiple connections were open. In fact AI streaming did only work for the latest connection.

Related to #14143

How to test

  • Open multiple tabs/windows of Theia and verify that Theia AI works in all of them.
  • Verify that AI features are connection scoped, e.g. use workspace preferences for AI models, open two different workspaces at the same time and observe that the expected models show up in the corresponding windows

Follow-ups

Related to #14143 this prepares the code base to simplify / streamline a lot of the delegation mechanics.

Breaking changes

  • This PR introduces breaking changes and requires careful review. If yes, the breaking changes section in the changelog has been updated.

Attribution

Review checklist

Reminder for reviewers

Moves all AI backend bindings into ConnectionContainerModules.
Therefore these are now scoped per connection (i.e. frontend) instead
of globally for all connections.

The global bindings lead to a lot of interference when multiple
connections were open. In fact AI streaming did only work for the
latest connection.
@sdirix sdirix added the TheiaAI label Jan 23, 2025
@sdirix sdirix marked this pull request as ready for review January 23, 2025 08:51
@sdirix sdirix removed the TheiaAI label Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Waiting on reviewers
Development

Successfully merging this pull request may close these issues.

1 participant