The 9.8k-line collaboration runtime was welded to the desktop GUI (WidgetHostNative + winit EventLoopProxy), so the web daemon and future satellite hosts could not run sessions. Split the host coupling behind a CollabHost trait + wake notifier closure, then move the runtime, JWKS fetcher, and tests into the new leaf crate op-collab-host: - CollabHost (CollaborationEditorHost + dirty/id-namespace hooks) with a HeadlessCollabHost for daemon and test use; the WidgetHostNative impl lives behind op-host-native's gl-host feature - async work reaches sync relay/JWKS code through an injected BlockingExecutor (process-global OnceLock) instead of depending on op-host-services, keeping the crate graph acyclic - desktop keeps a thin shim (type alias + wake closure); call sequence and test assertions unchanged, 154 runtime tests moved as-is |
||
|---|---|---|
| .. | ||
| assets | ||
| examples | ||
| notes | ||
| src | ||
| tests | ||
| Cargo.toml | ||