Skip to content

Add per-device mirror mode to the Remote teleprompter view - #97

Merged
f merged 1 commit into
f:masterfrom
skobylite:pr/remote-mirror
Aug 22, 2026
Merged

Add per-device mirror mode to the Remote teleprompter view#97
f merged 1 commit into
f:masterfrom
skobylite:pr/remote-mirror

Conversation

@skobylite

Copy link
Copy Markdown
Contributor

Summary

Remote viewers reading off teleprompter glass need the script flipped left-to-right. This adds a Mirror control to the Remote browser view that flips the reading surface with scaleX(-1).

  • The control is fixed at the top of the page and shows on every screen, including "Waiting for Textream…", so a rig can be set up before the prompter starts.
  • It sits outside the flipped surface, so it stays legible and tappable while mirroring is on.
  • The choice is stored per browser in localStorage.
  • ?mirror=1 / ?mirror=0 presets a device from a QR code or bookmark, and persists that choice.

Remote browser output only. The native external-display Mirror mode is untouched.

Credit

This builds on the approach in #52 by @voicaandrei, which has been open since May without review. Two differences: that PR flips #main as a whole, which mirrors its own Mirror button and makes the label unreadable; and it places the control inside the bottom bar, which only exists once a reading session is active, so there is nothing to tap on the waiting screen. Happy to close this in favour of #52 with those two fixes applied there instead — whichever the maintainer prefers.

Testing

  • Generated the page from BrowserServer.generateHTML and drove it against a mock feed plus a live Textream session: toggle, persistence across reloads, both URL overrides, desktop and mobile layouts.
  • Verified on an iPhone against a Mac running the build.

Remote viewers on teleprompter glass need the script flipped horizontally.
Adds a Mirror control to the remote view that flips the reading surface with
scaleX(-1). It sits above every screen, including the waiting screen, so a
rig can be set up before the prompter starts, and it stays unflipped itself
so it remains legible and tappable.

The choice is stored per browser in localStorage, and ?mirror=1 / ?mirror=0
presets a device from a QR code or bookmark.

Builds on the approach in f#52 by voicaandrei.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@f
f merged commit 50bbffc into f:master Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants