Skip to content

Preserve Android desktop zoom and wrapping preferences - #700

Open
Kuddev wants to merge 1 commit into
mainfrom
fix/android-display-preferences-20261021
Open

Kuddev wants to merge 1 commit into
mainfrom
fix/android-display-preferences-20261021

Conversation

@Kuddev

@Kuddev Kuddev commented Oct 21, 2026

Copy link
Copy Markdown
Owner

Result / 用户结果

Preserves the phone-width wrapping option and native desktop-mirror zoom when leaving and reopening the terminal screen. Refs #669.

The exact 0.5–5 zoom ratio is stored separately from the existing base font size. Gesture completion and the existing blank-space double-tap reset save the preference; reapplying preferences during a pinch no longer cancels the active gesture or multiplies an already scaled font size.

Design / 设计边界

  • Reuses the existing DisplayPreferences storage and Flow. Defaults remain wrapping off and zoom 1.
  • Native snapshots restore their precise ratio; the legacy text renderer keeps its existing base-font-size behavior. The desktop PTY grid is unchanged.
  • The persistence decision is documented under architecture/notes/mobile/android/.

Evidence / 验证依据

  • 54 Android tests passed, zero failures/skips: CommandComposer18, DesktopOutputSurface7, TerminalSnapshotView29. The new regressions exercise the actual screen menu, pinch, screen removal, repository recreation, reentry, subsequent pinch, rendered glyph size and reset.
  • Kotlin sources and all relevant Android/tool/native dependency inputs were compared with the tested checkout before carrying the change onto current main; those inputs are unchanged.
  • Architecture against 8d629559 and git diff --check passed. Validation used JDK17, Gradle8.14, SDK35 and the pinned native dependencies.
  • Physical-phone acceptance has not been performed; these are Robolectric/Compose/native-Canvas regressions. No new APK or Release is published by this change.

Required Review / 必须确认

  • Followed the contribution, architecture and project constraints.
  • Reused the existing preference authority and preserved the two renderers' established scale semantics.
  • Architecture budgets were not increased.
  • Regression coverage and physical-device limits are stated.
  • No new UI strings or governance gates were introduced.

@github-actions github-actions Bot added the size/M 101–500 行 label Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M 101–500 行

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant