Skip to content

Keep the Remote surface selector visible while scrolling - #104

Merged
enaboapps merged 2 commits into
mainfrom
codex/sticky-surface-switcher-103
Aug 24, 2026
Merged

Keep the Remote surface selector visible while scrolling#104
enaboapps merged 2 commits into
mainfrom
codex/sticky-surface-switcher-103

Conversation

@enaboapps

@enaboapps enaboapps commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Closes #103

Summary

  • keep the Remote surface selector pinned after the title and connection status scroll away
  • use Expo SDK 57 blur targeting on Android 12+ with themed tinting and an opaque Reduce Transparency fallback
  • preserve the ordinary Screen tree and the existing selector accessibility/focus contract
  • document and test sticky thresholds, relayout, theme variants, fallback behavior, and Remote state coverage

Validation

  • npm run validate (48 suites, 353 tests, Expo Doctor 21/21)
  • npx expo config --type public inspected; identifiers, permissions, and plugin configuration unchanged
  • clean Android Expo prebuild passed
  • Android all-architecture debug build passed (552 Gradle tasks)
  • OPD2403 / Android 16: verified real blur, pinned selector, scrolling, fixed PC switcher clearance, and responsive landscape layout; captured sanitized before/after screenshots locally without activating remote commands
  • iOS prebuild cannot run on Windows; macOS native CI and iOS physical checks remain required
  • no Android 11 system image is installed; the pre-Android-12 opaque fallback is covered by automated tests

Notes

Installing the official SDK-matched expo-blur package required refreshing the existing Expo SDK 57 patch-level packages reported by Expo Doctor. Version metadata remains 1.0.0-beta.13, build 15.

Physical follow-up

Before release, verify iOS light/dark and Reduce Transparency, Android 11 fallback on hardware/emulator, 200% text, and assistive-technology scanning as described in the updated smoke-test documentation.

Independent review

Reviewed at exact latest head 37241d9 with no actionable findings. Focused review tests passed (4 suites, 17 tests). The reviewer confirmed the Expo Blur integration, sticky threshold/relayout behavior, platform fallbacks, accessibility contract, Remote state coverage, and npm lock portability fix.

CI initially exposed a platform-specific npm lock omission. The latest head explicitly includes the required @emnapi peer packages; a clean npm ci and the complete npm run validate now pass, and the rerun validation job is green.

@enaboapps

Copy link
Copy Markdown
Contributor Author

Latest-head CI is green at 37241d9: validation passed, Android native build passed, and iOS native build passed. The PR remains draft and unmerged pending explicit approval.

@enaboapps
enaboapps marked this pull request as ready for review August 24, 2026 19:08
@enaboapps
enaboapps merged commit 7a2aed2 into main Aug 24, 2026
3 checks passed
@enaboapps
enaboapps deleted the codex/sticky-surface-switcher-103 branch August 24, 2026 19:08
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.

Keep the Remote surface selector visible while scrolling

2 participants