Skip to content

Duplicate websocket session creation #53

@supreme-gg-gg

Description

@supreme-gg-gg

This is not entirely fixed in #52 #44 because we simply stopped the extension if another session is running it (which makes sense for 95% of use cases lol). But in reality, this is not necessary.

Proposed Design

We can try something like this:

Image

This design is quite reasonable because each vscode session can access its own workspace, actions, LLM, user query, etc. while just using the ws server to interact with the overlay that performs animations and visual responses.

A few issues

  1. The ws server will need to maintain a queue to send messages to the overlay app as requests comes in from the sessions, this sounds easy but is actually complex since each audio request has a "play" and a "show" component, the "play" component is actually performed not by the server not the overlay but the session itself, so we need a two-way comm there

  2. Starting and stopping the server likely requires maintaining a lock file and using VSCode tasks (and running the server globally) because extension hosts cannot interact with each other. This contrasts with our current design where each server runs inside the host session

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogNot planned for now

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions