Skip to content

nirvikpatel/sharedsession-logi

Repository files navigation

SharedSession: Synchronized Ring for Collaboration

A Logitech Actions SDK plugin that transforms the MX Creative Console into a shared, permission-scoped control surface for real-time remote collaboration.

Press a button → session starts → share the link → reviewer controls your screen. No terminal. No setup.

How It Works

  1. Host presses "Start SharedSession" on their MX Creative Console
  2. An invite link is copied to clipboard + a native overlay appears on screen
  3. Reviewer clicks the link in their browser — joins instantly
  4. Reviewer uses the virtual ring (or keyboard W/A/S/D) to scroll, zoom, navigate the host's screen
  5. Reviewer clicks Pop-out to keep a compact controller window active alongside Teams/Meet/Zoom
  6. Host controls everything from the overlay: permissions, reviewer list, enable/disable, hide for screen sharing

Features

  • Permission-scoped control — VIEW, NAVIGATE, PRESENT, MEDIA modes. Destructive actions are never allowed.
  • Multi-reviewer sessions — up to 20 reviewers with individual enable/disable control
  • Native Windows overlay — expandable pill bar with settings, reviewer list, permission switcher
  • One-click hide — hide overlay during screen sharing, toggle back with the MX Console button
  • Click-to-copy — click the session code on the overlay to re-copy the share link
  • Embedded relay server — runs inside the plugin process, no separate server needed
  • ngrok on-demand — public tunnel starts only when you create a session
  • Browser-based reviewer — no hardware needed on the reviewer's side
  • Pop-out controller — compact status window stays active alongside Teams/Meet/Zoom, keeps commands working when the main tab is in the background
  • Works worldwide — host and reviewer can be in different countries

Architecture

┌─────────────────────────┐                              ┌─────────────────────────┐
│     HOST                 │                              │   REVIEWER               │
│                          │       ┌──────────────┐       │                          │
│  Logi Options+           │       │ Embedded     │       │   Click the link →       │
│  └─ SharedSession Plugin │──ws──▶│ Relay Server │◀──ws──│   Browser dashboard      │
│     • Start Session btn  │       │ (in-process) │       │   (virtual ring + keys)  │
│     • Embedded server    │       │      +       │       │                          │
│     • Native overlay     │       │ ngrok tunnel │       │   No hardware needed     │
│     • System control     │       └──────────────┘       │                          │
│                          │                              │                          │
│  MX Creative Console     │                              │   Any browser, anywhere  │
└─────────────────────────┘                              └─────────────────────────┘

Permission Levels

Level Allowed Actions Use Case
VIEW Scroll, zoom, highlight Code reviews, reading docs
NAVIGATE View + jump between sections Document reviews
PRESENT Scroll, zoom, slides, spotlight Co-presenting
MEDIA Volume, play/pause, scene switch Stream moderation

Host can change permission level mid-session from the overlay.

For Developers

Prerequisites

  • Windows 10/11
  • Node.js LTS (v18+)
  • Logi Options+ (latest)
  • MX Creative Console

Build & Install

npm install
npm run build:plugin
npm run plugin:link

The plugin appears in Logi Options+. Assign "Start SharedSession" to a button.

Development (standalone server mode)

npm run build
npm start
# Open http://localhost:3000 in browser

Package for distribution

npm run plugin:pack
# Creates .lplug4 file — double-click to install

Built With

  • Logitech Actions SDK (Node.js)
  • TypeScript / Node.js
  • WebSocket (ws)
  • PowerShell + WPF (native overlay)
  • ngrok (tunneling)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors