Repository navigation
Fix mobile native menus, virtual lists, and scrolling navigation titles - #253
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preserve native menu hit testing and stable virtualized mobile navigation. Reveal journal and page toolbar titles only after their content headings pass the top, including fast scrolling that evicts standalone headings. Clear the title on return.
Keep overlay base content at a stable SwiftUI structural position as overlays appear and disappear. Previously each added overlay wrapped the whole base again, recreating native text inputs and hiding/reopening the keyboard when a capture confirmation appeared. Dynamic overlays now preserve the base input, focus, and in-progress draft.
Refine the compact drawer to use at most 79% of the viewport width and a 52-point main-panel corner radius, leaving a wider preview of the main content. A retained, non-interactive layer progressively fades main-panel content toward the current theme background as the drawer opens, restoring its contrast on close. The background color stays unchanged in light and dark modes. Composite the panel before applying its shadow so the translucent fade layer cannot cast an extra shadow over the content.
Merged the latest main before opening this PR, preserving padding changes and protocol validation. Export the active opam switch in CI so tooling tests can run from temporary directories.
Validation: 183 Apple backend tests, 9 tooling tests, and 104 mobile Swift UI tests passed locally. The overlay state and compact-drawer rendering regressions fail before their fixes and pass afterward. Native simulator checks passed for Journal/Page heading scrolling, consecutive quick captures without keyboard-hide events, top-positioned capture confirmation, and four drawer transitions preserving 300 content rows.