eclipse-theia / eclipse-theia/theia-cloud
Allow stable Session Naming for ephemeral sessions
- Dominant language
- Java
- Stars
- 99
- Forks
- 49
- Avg merge
- 2h 33m
- Merged PRs (30d)
- 1
Description
### Is your feature request related to a problem? Please describe.
Right now, the Session/Workspace name is set-able when creating non-ephemeral sessions.
The following code shows how to create a session with predictable name:
```JS
const launchRequest = {
serviceUrl: config.serviceUrl,
appId: config.appId,
user: email!,
appDefinition: appDefinition,
workspaceName: 'we-can-set-every-value-here',
```
but this parameter is ignored for ephemeral sessions. The session's name would be `we-can-set-every-value-here-session`.
This allows to create two sessions with the same name, both resolving to the same workspace, and, thus, restarting and reconnecting the user to the workspace. This is **good** and actually very useful functionality.
Still, it seems like unintended functionality to allow such behavior on non-ephermal sessions but not on ephemeral ones. Maybe, this mechanisms allows to bring the system in a unpredicted state by choosing weird names?
### Describe the solution you'd like
We want a controllable way to set the session name (regardless of persistency). The session names are currently calculated in regard to the `user` and the `appDefinition`, giving us no flexibility to add dynamic data fetched via the landing page to it (exerciseId).
In our use case it is required to (re)identify a running session and have the user connect to it. This could be solved with either setting the name ourselves or being able to predict the names in a stable and extensible way.
### Describe alternatives you've considered
It would also be able to define some flags/options during session/workspace creation to later identify it with.
### Cluster provider
_No response_
### Additional information
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
No file or test is named. Start by tracing session/workspace creation and the logic that calculates names from the user and appDefinition, comparing ephemeral and non-ephemeral paths. Done means a stable, controllable naming or identification mechanism works for both persistence modes and prevents unintended collisions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100