Skip to content

Improve adaptive iPhone layouts and stream viewport resizing - #122

Draft
alessandrococciolo wants to merge 1 commit into
hugeBlack:mainfrom
alessandrococciolo:contrib/adaptive-layout
Draft

alessandrococciolo wants to merge 1 commit into
hugeBlack:mainfrom
alessandrococciolo:contrib/adaptive-layout

Conversation

@alessandrococciolo

Copy link
Copy Markdown

Resizing the stream while zoomed can leave the viewport at its previous size, and the Metal/OpenGL renderers currently only refresh SDK dimensions when the width or scale changes. This updates the complete viewport bounds and makes the surrounding interface fit both narrow and wide windows. The work was motivated by iPhone Duo, with layout decisions based on available space rather than device names or hard-coded screen dimensions.

  • Use an adaptive computer grid, keep connection actions readable, and stack settings rows for accessibility text sizes.
  • Make sign-in scrollable, constrain settings to a readable width, and keep the stream menu scrollable within the available safe area.
  • Track width, height and display scale, reset stale zoom/touch state when the viewport changes, and use the active window's screen for rendering density and refresh limits.

The upstream app identity, deployment targets, assets, SDK and default video settings are preserved. The iOS 14 picker fallback remains in place.

Validation

  • ARM64 Release archive built locally with Xcode 27.0 / iOS 27 SDK. The local command overrides the deployment target to iOS 15 because that toolchain rejects iOS 14; the project deployment target is unchanged in this PR.
  • Narrow and wide layouts inspected using a macOS SwiftUI harness with mock hosts. These are layout previews, not iOS screenshots or physical-device evidence.
  • Targeted local credential/provenance scan of the exact public tree and new commit found no credentials or unrelated private code.
  • git diff --check passes.

Remaining validation

This is a draft pending a real iPhone Duo streaming session: fold/unfold and rotate while connected, including after pinch zoom, then check pointer alignment, keyboard access and scrolling through the complete stream menu. Login, streaming latency and physical-device behavior have not been tested yet.

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.

1 participant