mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-08-29 18:31:33 +00:00
* feat: add collaboration rooms with switchable presenter Rooms are a group of members watching one stage - the live SSH/RDP/VNC session the current presenter shares. Any member can take over the stage; the host can invite, force-stop and end the meeting. Stages reuse session_shares (new room share type), so gating, recording, expiry and the global sharing toggle all apply unchanged. * feat: add stage control handoff to collaboration rooms The presenter or host can grant any member write access to the live stage and take it back; members can raise a hand to ask. SSH flips the participant's permission on the live gate; RDP/VNC re-mint the viewer's join token. Control clears on every stage switch. * feat: guest links, role invites and invite awareness for collab rooms - Anonymous guest link per room (host toggles/rotates), followed by polling the public resolve endpoint; SSH guests join over the terminal WS with roomGuestToken, guac guests get read-only join tokens - Invite by role (expands to current members, snapshot semantics) - Toast when a room you were invited to appears - Stale stages are cleared lazily when the presenter is gone - Telnet presenting, expired-tab fallback, documented single-instance and guac-kick limits - Tests for the collab routes, room hub, share access and control flip * fix: keep remote desktop collaboration read-only
125 lines
2.4 KiB
JSON
125 lines
2.4 KiB
JSON
{
|
|
"version": "7",
|
|
"dialect": "mysql",
|
|
"entries": [
|
|
{
|
|
"idx": 0,
|
|
"version": "5",
|
|
"when": 1785738871436,
|
|
"tag": "0000_clean_pretty_boy",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 1,
|
|
"version": "5",
|
|
"when": 1786132418625,
|
|
"tag": "0001_puzzling_aqueduct",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 2,
|
|
"version": "5",
|
|
"when": 1786147319261,
|
|
"tag": "0002_bumpy_korg",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 3,
|
|
"version": "5",
|
|
"when": 1786258964346,
|
|
"tag": "0003_dry_human_robot",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 4,
|
|
"version": "5",
|
|
"when": 1786423595505,
|
|
"tag": "0004_fancy_spencer_smythe",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 5,
|
|
"version": "5",
|
|
"when": 1786428085301,
|
|
"tag": "0005_tearful_mindworm",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 6,
|
|
"version": "5",
|
|
"when": 1786482021452,
|
|
"tag": "0006_last_fantastic_four",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 7,
|
|
"version": "5",
|
|
"when": 1786487754919,
|
|
"tag": "0007_aspiring_turbo",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 8,
|
|
"version": "5",
|
|
"when": 1786498680274,
|
|
"tag": "0008_lame_nighthawk",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 9,
|
|
"version": "5",
|
|
"when": 1786509736628,
|
|
"tag": "0009_tan_skaar",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 10,
|
|
"version": "5",
|
|
"when": 1786515117582,
|
|
"tag": "0010_small_infant_terrible",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 11,
|
|
"version": "5",
|
|
"when": 1786519424221,
|
|
"tag": "0011_easy_the_order",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 12,
|
|
"version": "5",
|
|
"when": 1786598522577,
|
|
"tag": "0012_outgoing_ultron",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 13,
|
|
"version": "5",
|
|
"when": 1786737725732,
|
|
"tag": "0013_third_wraith",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 14,
|
|
"version": "5",
|
|
"when": 1786757023790,
|
|
"tag": "0014_bitter_nextwave",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 15,
|
|
"version": "5",
|
|
"when": 1787576997080,
|
|
"tag": "0015_red_cobalt_man",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 16,
|
|
"version": "5",
|
|
"when": 1787581983770,
|
|
"tag": "0016_unusual_tyrannus",
|
|
"breakpoints": true
|
|
}
|
|
]
|
|
} |