Skip to content

fix: keep iPad editor chrome on the active route - #148

Merged
tiensonqin merged 1 commit into
mainfrom
fix/ipad-editor-chrome-current
Nov 4, 2026
Merged

tiensonqin merged 1 commit into
mainfrom
fix/ipad-editor-chrome-current

Conversation

@tiensonqin

@tiensonqin tiensonqin commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Attach editor chrome, its bottom inset, and the docked-keyboard reader to the visible navigation surface. Root owns them while the path is empty; otherwise the last pushed destination owns them. Previously the focused-block toolbar stayed on the offscreen root.
  • Pin merged LUI a562931873db79f31f479f2937af7289de7b7f85, including the viewport-visibility fix in Refresh Apple virtual row visibility when the viewport changes lui#318 while preserving the current native drawer fix. A transient zero-height viewport previously removed top rows without registering them again when the viewport recovered.
  • Add one pushed-editor runtime regression check. It fails with the original navigation implementation and checks actual native toolbar visibility rather than relying on optional backend frame reports.

Related: logseq/db-test#1505

Verification

  • Fresh simulator build with LOGSEQ_IOS_ENABLE_TESTING=1 LOGSEQ_OPAM_SWITCH=5.5.0 opam exec --switch=5.5.0 -- scripts/build-mobile-ios-simulator.sh; fetched LUI checkout clean at the committed pin, no local override.
  • Native iPad Air 11-inch M4 / iOS 27.0 simulator, real 120-row dark graph: untouched top rows, software-key edits, table and siblings, focused child/task action, docked and moved floating keyboards, dismissal and Back all verified. Initial virtual start stayed at 0 at 6.47s and 65.26s.
  • python3 scripts/test-swift-ui-suite.py: 111 tests in 14 suites passed.
  • Passed PushedBlockEditorCheck (3 consecutive final-pin runs), PushedBlockSelectionCheck, SearchEditorToolbarCheck, NavigationContentStabilityCheck, MarkdownScrollCheck, IPadFloatingKeyboardCheck, and LUIVirtualListReentryRuntimeCheck on the same iPad simulator.
  • git diff --check and staged whitespace checks passed.

Known pre-existing failure

OutlinerKeyboardStabilityCheck still detects a 7pt visible-row shift. The original mobile navigation plus the original LUI pin reproduces the same row40 movement (82.5 → 75.5) with content offset unchanged at 1100. This check is not relaxed or marked passing. Earlier indent-guide overflow diagnostics were inconclusive; this PR does not claim to fix that separate transient.

The reported physical iPadOS 27.0.1 device was not available; verification above is the native iPad simulator, not a desktop/web substitute.

Final native iPad evidence
Untouched long-page startup Focused child with floating keyboard
Initial top rows Visible pushed editor toolbar

Link to Devin session: https://app.devin.ai/sessions/b14d9e9dd8f84b52a9b0493f3deca31e
Open in Devin Desktop: https://app.devin.ai/desktop/session/b14d9e9dd8f84b52a9b0493f3deca31e?variant=devin
Requested by: @tiensonqin


🟢 Devin Review found nothing to fix · View findings

Devin Review

@devin-ai-integration

Copy link
Copy Markdown

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@tiensonqin
tiensonqin merged commit 52164e1 into main Nov 4, 2026
3 of 4 checks passed
@tiensonqin
tiensonqin deleted the fix/ipad-editor-chrome-current branch November 4, 2026 15:48
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