mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 06:05:24 +00:00
feat: move session sharing and collab rooms into a plugin (B12)
This commit is contained in:
1 parent
791d8656a1
commit
a276f6898c
207 files changed
+35771
-11072
No files matched your search
@@ -0,0 +1,31 @@
|
||||
# Session Sharing
|
||||
|
||||
Share a live terminal or remote desktop session by link or with another user,
|
||||
and present sessions to a group in collaboration rooms.
|
||||
|
||||
Bundled with Termix and enabled by default. It imports only
|
||||
`@termix/plugin-sdk`.
|
||||
|
||||
## What it does
|
||||
|
||||
- **Shares**: a link for anonymous guests, or a grant for one user, read-only
|
||||
or read-write, with an expiry. The share button sits in the terminal and
|
||||
remote desktop toolbars.
|
||||
- **Rooms**: members watch one stage, the live session the presenter shows.
|
||||
The presenter or host can hand input control to a member, and a room can
|
||||
have an anonymous guest link.
|
||||
- **`sessions.sharing`**: member joins and room events for the terminal
|
||||
socket. Guest joins go through `sessions.sharing.guests` on `ctx.registry`,
|
||||
because a guest has no user for a service's permission check.
|
||||
|
||||
It reaches live sessions only through the `sessions.live` service, keyed by
|
||||
session type: ssh-terminal provides `ssh`, remote desktop provides `rdp`,
|
||||
`vnc` and `telnet`.
|
||||
|
||||
## Layout
|
||||
|
||||
manifest.json id, capabilities and what this plugin contributes
|
||||
src/backend/ activate(ctx), routes, the room hub, the services
|
||||
src/frontend/ share dialog, guest views, rooms panel and tab
|
||||
migrations/ one .sql per dialect, generated from src/backend/tables.ts
|
||||
tests/ backend (node) and frontend (jsdom)
|
||||
Reference in new issue
Block a user