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

Epic: Multiple Console Sessions #5990

Open
12 tasks
dhruvisompura opened this issue Jan 14, 2025 · 0 comments
Open
12 tasks

Epic: Multiple Console Sessions #5990

dhruvisompura opened this issue Jan 14, 2025 · 0 comments
Assignees
Labels
area: console Issues related to Console category. area: ui Issues related to UI category. enhancement New feature or request epic Epic

Comments

@dhruvisompura
Copy link
Contributor

dhruvisompura commented Jan 14, 2025

Details

The runtime debugging pane will be utilized to initially manage sessions while the UI controls to manage sessions is being built. This should allow architectural changes to be introduced before all UI controls are.

Tasks

  • Add mechanism to create duplicate sessions for an active runtime session
    • Add + button to console pane which creates a duplicate session of the current active runtime via untimeSessionService.startNewRuntimeSession and makes the new runtime session the active runtime
      • Tweak services to manage more than one active session of same runtime
      • Re-trigger code diagnostics when session is created
      • Testing:
        • Verify a duplicate session can be viewed/shutdown from the debugging runtime pane
        • Verify diagnostics are re-triggered
        • Verify there is an output channel for the session
        • Verify variables pane switches context to new session, displays variables for new session context, and displays session variables session dropdown
  • Add mechanism to create a session for any registered runtime
    • Add dropdown to + button which allows creating a session for a registered runtime from languageRuntimeService.registeredRuntimes
    • Tweak services to manage more than one active session of different runtimes
    • Re-trigger code diagnostics when session is created
    • Restrict number of active sessions to 10/15/20
    • Testing:
      • Verify new session can be viewed/shutdown from the debugging runtime pane
      • Verify diagnostics are re-triggered
      • Verify there is an output channel for the session
      • Verify variables pane switches context to new session, displays variables for new session context, and displays session variables session dropdown
  • Add session tab list view to console pane
    • Create tab list component that displays active sessions in creation order
    • Testing:
      • Verify diagnostics are re-triggered on restart of session
      • Verify shutdown behavior when there is only one active console session
      • Verify shutdown behavior for more than one active console session
  • Add mechanism to delete console tabs
    • Shutdown session for user (if needed), determine new active session, remove session from list of active sessions.
    • Add mechanism to re-trigger code diagnostics when session is changed
    • Testing:
      • Output channels?
      • Verify code diagnostics and code completion are re-triggered when active session is restarted or changed.
      • Verify code diagnostics and code completion are re-triggered when active session is shutdown and a active session change is triggered?
      • Verify deleting a console tab triggers a graceful shutdown of the session, and primary active session is changed?
  • Add mechanism to change active sessions from console tab list
    • Add focus/active console state management
    • Testing:
      • Accessibility testing: focus, navigation
      • Verify diagnostics are re-triggered on change of session
      • Verify that active session changes for editor, and variables pane
      • Verify changing variables pane session does not change primary active session for console/editor.
      • Verify there is an output channel for the session
      • Verify variables pane switches context to new session, displays variables for new session context, and displays session variables session dropdown
  • Replace interpreter dropdown with an active runtime session label
    • Render the short name of the active session
    • Testing:
      • Verify label shows the new active session name when switching sessions via console tab
      • Verify changing variables pane session does not cause label to change
  • Add ability to change active session via active runtime label
    • When clicked, the command palette should be rendered with the list of active session from runtimeSessionService.activeSessions.
    • Testing:
      • Verify that active session changes for editor, and variables pane
      • Verify changing variables pane session does not change primary active session for console/editor.
      • Verify diagnostics are re-triggered on change of session
  • Update mechanisms to render variables for active session if needed?
  • Write Docs

Cleanup

@dhruvisompura dhruvisompura added area: console Issues related to Console category. area: ui Issues related to UI category. epic Epic labels Jan 14, 2025
@dhruvisompura dhruvisompura added this to the 2025.03 Pre-Release milestone Jan 14, 2025
@dhruvisompura dhruvisompura self-assigned this Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: console Issues related to Console category. area: ui Issues related to UI category. enhancement New feature or request epic Epic
Projects
None yet
Development

No branches or pull requests

1 participant