Skip to content

Improve Mirror interaction, scrolling, and pairing - #847

Merged
onevcat merged 16 commits into
mainfrom
takeover/pr-846-mirror-interaction
Oct 2, 2026
Merged

onevcat merged 16 commits into
mainfrom
takeover/pr-846-mirror-interaction

Conversation

@onevcat

@onevcat onevcat commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Summary

Continues #846 by @Awhisper and retains all 13 original commits, including source head 0a39b9ce3257456c500543f0e8a02dcfc911759c (last checked 2026-10-02 13:32:20 UTC).

  • Separate interactive input from automation completion receipts.
  • Add explicit remote scrolling, Mac styled scrollback, QR pairing, connection-detail paste, and device revocation.
  • Fix Mac frame acknowledgements with fixed Ghostty titles and configuration reloads. Use a private OSC 7 parser marker and report a stalled parser after 30 seconds.
  • Consume Android scroll completions once so reader recreation preserves subsequent reading positions.
  • Add regression coverage and remove timing races from the full test suite.

Remote scrolling changes the Host's shared viewport, not an independent client history position. Styled-history limits and the plain-text fallback remain. Ghostty source and framework are unchanged.

Validation

  • make test: 3,578 passed, 6 skipped, zero failures across four xcresult groups.
  • make build-app and make check: passed, including 210 script tests, lint, formatting, and localization checks.
  • CLI build, smoke, unit (304), and integration (106): passed.
  • Android unit: 39 passed, 1 skipped; lint and all 9 remote-scroll emulator UI tests passed, including reader recreation.
  • Static-title and reader-recreation regressions were observed before their fixes.

The app test build reports four dependency-scan warnings; the Debug app build has no warnings. iOS suites, physical-device pairing, and actual Android Activity rotation were not rerun. Android coverage recreates the reader composition while retaining its Session.

Merge requirement

Merge with a merge commit. Do not squash or rebase. This preserves @Awhisper's original commit identities. This replacement PR adds follow-up commits without rewriting the contribution.

@onevcat
onevcat merged commit aeeae7f into main Oct 2, 2026
1 check passed
@onevcat
onevcat deleted the takeover/pr-846-mirror-interaction branch October 2, 2026 14:41
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