Native-first full key fidelity + bidirectional file cut/paste/drag are Mike's headline must-haves; WebRTC fallback only. Greenfield-salvage-cores, standalone-first + RMM contract, hardened single-tenant but tenancy-ready. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
33 lines
2.4 KiB
Markdown
33 lines
2.4 KiB
Markdown
---
|
|
name: project_guruconnect_v2_direction
|
|
description: GuruConnect v2 modernization direction (Mike, 2026-05-29) — native-first full key fidelity + bidirectional file cut/paste/drag are the headline must-haves; WebRTC is fallback only
|
|
metadata:
|
|
type: project
|
|
---
|
|
|
|
GuruConnect is being re-architected (v2) after the 2026-05-29 audit found 3 CRITICAL relay-plane
|
|
auth holes. Direction set by Mike (product owner), captured in
|
|
`projects/msp-tools/guru-connect/docs/specs/SPEC-002-v2-modernization-architecture.md`:
|
|
|
|
- **Greenfield, salvage cores:** keep the proven Rust (DXGI/GDI capture, input injection, SAS
|
|
helper, prost codec, proto, Gitea-Actions CI) — rebuild relay/auth, session, viewer, dashboard,
|
|
deploy. Clean reset in-place (keep repo/history/issues), not a new repo.
|
|
- **Native-first, NOT WebRTC.** Mike's favorite ScreenConnect features and explicit priorities:
|
|
(1) **keyboard hooks / full key fidelity** — Win+R, Ctrl+C/V, **Ctrl+Alt+Del** must work (browsers
|
|
structurally can't do these, which is why WebRTC is fallback/secondary only); (2) **bidirectional
|
|
file transfer via clipboard cut/paste AND drag-and-drop** from/to either guest or host. Both are
|
|
core differentiators, not deferred. Transport stays custom protobuf-over-WSS.
|
|
- **Standalone-first + versioned `/api/integration/v1/` contract** with GuruRMM (ADR-001; the
|
|
`specs/native-remote-control/` work is the integration prior art).
|
|
- **Hardened single-tenant now, multi-tenancy-READY schema** (nullable `tenant_id` everywhere) so
|
|
the RMM partner/client model switches on later with no migration rewrite.
|
|
- Adopt GuruRMM principles: per-agent keys (Option 3, kill shared AGENT_API_KEY), no-TOML-for-
|
|
endpoints, living-roadmap = definition-of-done, full-stack features, true-integration/anti-Datto.
|
|
|
|
**Why:** initial GC was built with a much older model; lots of debt. Mike is willing to scrap v1
|
|
entirely for a considerably better product. **How to apply:** when building GC features, default to
|
|
native full-fidelity behavior and ship each capability full-stack (proto+agent+server+viewer+
|
|
dashboard+docs). File transfer needs delayed-render clipboard + a chunked engine; drag-out
|
|
(remote→local) is the hard case, ships after drag-in. Re-spec keystone: [[project_versionable_products]].
|
|
Open questions still pending Mike's answer: repo reset, H.264-vs-HEVC default, web transport, support-code format, v1 cutover.
|