You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
0.2.2: fixes for first-capture 400, menu-bar flicker, camera SIGABRT
Server:
- When activating a credit-mode session, use clientCapturedAt as
started_at (clamped to [serverNow-5min, serverNow]) so upload latency
+ client clock skew don't push capturedAt microseconds before
startedAt and trigger captured_at_before_session_start.
- validateCapturedAt tolerates a 2s slop window on that check to
handle parallel-activation races.
Desktop:
- Menu-bar title was flickering between '<1m'/'1m' and '1m'/'2m'
because both Rust (1s tick) and JS (per useSessionTimer change)
were writing the title with values that drifted by ~1s at the
minute boundary. JS now only calls update_tray_time on pause/resume
transitions; the Rust ticker is the sole writer.
- start_tray_ticker was a sync #[tauri::command] that called
tokio::spawn via start_tray_timer. Sync Tauri commands run on
threads without a tokio runtime, so spawn panicked and aborted the
process. This crashed camera sessions in 0.2.0 + 0.2.1; nobody
noticed because screen capture (the common path) goes through
start_capture_loop which is already async. Fix: add 'async' to the
command. Regression tests assert tokio::spawn behavior in both
runtime contexts.
SDK (clients/react): no source changes — only the version bump. The
0.2.2 dist (rebuilt locally) contains the credit-mode capturedAt /
getNextExpectedAt plumbing landed in 0.2.1; verified downstream
desktop + web packages still type-check against the rebuilt bundle.
0 commit comments