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
release: v2.1.0 - Capacitor Android shell, host cursor hide
The web viewer is now also packaged as a native Android app via
Capacitor 8. Same Vite/TypeScript codebase ships to web (PWA), Chrome
extension deep-link, and now Google Play / sideload — no separate
codepaths. Plus a getDisplayMedia tweak so the host cursor is no longer
baked into the encoded video, freeing the synthetic cursor introduced
in v1.7.0 to be the only one the viewer sees.
Capacitor + Android
- web-viewer/package.json: pull in @capacitor/core, /android, /haptics,
/push-notifications, plus the CLI for build commands.
- web-viewer/capacitor.config.ts: appId com.titanxt.viewer, webDir dist
so `npx cap sync` picks up the Vite output.
- web-viewer/android/: scaffolded Capacitor project with Java
MainActivity, gradle wrapper, splash + launcher icons, file_paths
for sharing.
- web-viewer/.gitignore: keep generated build artifacts (.gradle,
.idea, app/build, local.properties) out of the repo while
committing the sources.
Host cursor in stream
- connection.ts (host-side getDisplayMedia, both initial + monitor-
switch paths): pass `cursor: 'never'` so Chromium's screen capture
pipeline doesn't paint the cursor onto the encoded frames. The
synthetic cursor we already render on the viewer is now the only
one the user sees, instead of competing with a baked-in copy that
always lags ~80ms+ behind.