Skip to content

fix: Improve iOS native navigation and graphs#12679

Merged
tiensonqin merged 22 commits into
masterfrom
fix/ios-bugs
May 18, 2026
Merged

fix: Improve iOS native navigation and graphs#12679
tiensonqin merged 22 commits into
masterfrom
fix/ios-bugs

Conversation

@tiensonqin
Copy link
Copy Markdown
Contributor

Summary

  • replace the iOS graphs tab with native UI and native graph actions
  • smooth native tab, search, calendar, dialog, and graph navigation flows
  • switch graphs refresh from a header button to pull-to-refresh
  • fix lint cleanup needed by the full validation command

Validation

  • rtk bb dev:lint-and-test
  • rtk xcodebuild -workspace ios/App/App.xcworkspace -scheme Logseq -configuration Debug -destination 'generic/platform=iOS' build\n\n## Notes\n- Device/simulator runtime verification was handled separately during the bugfix iterations; this PR creation step did not rerun device testing.

@tiensonqin tiensonqin changed the title [codex] Improve iOS native navigation and graphs fix: Improve iOS native navigation and graphs May 18, 2026
@tiensonqin tiensonqin marked this pull request as ready for review May 18, 2026 22:18
Copilot AI review requested due to automatic review settings May 18, 2026 22:18
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR improves mobile native navigation, especially iOS tab/search/dialog flows, and replaces the iOS graphs tab with a native SwiftUI-backed graph list/actions bridge.

Changes:

  • Adds native iOS graph list rendering, graph actions, pull-to-refresh, and JS/native graph bridge updates.
  • Adjusts mobile navigation stack synchronization, search tab transitions, top bar behavior, and bottom sheet dismissal timing.
  • Updates mobile dev HTTPS setup, docs, ignore rules, and adds navigation regression tests.

Reviewed changes

Copilot reviewed 21 out of 23 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/test/mobile/navigation_test.cljs Adds regression tests for mobile stack switching, pop-to-root, and search state transitions.
src/main/mobile/state.cljs Changes search tab leave behavior to preserve query state while resetting stack history.
src/main/mobile/navigation.cljs Updates stack sync, browser route synchronization, duplicate push handling, and reset navigation typing.
src/main/mobile/components/popup.cljs Adds native bottom sheet content-ready notification after dismissal.
src/main/mobile/components/header.cljs Adds iOS graph-specific top bar behavior and native graph creation popup handling.
src/main/mobile/components/app.cljs Adds native graph section/action payload generation and iOS bridge effects.
src/main/mobile/bottom_tabs.cljs Adds native graph update/action listeners and refines search/tab event handling.
src/main/frontend/components/repo.cljs Keeps mobile graph download popup open while starting remote graph download.
shadow-cljs.edn Adds optional HTTPS Shadow CLJS dev server configuration.
scripts/src/logseq/tasks/dev/mobile.clj Adds mobile HTTPS certificate generation and updates iOS/Android mobile dev tasks.
ios/App/App/Utils.swift Adds debug-only server trust handling for HTTPS dev server loading.
ios/App/App/UILocalPlugin.swift Improves date picker completion/cancel handling and multiline alert drops.
ios/App/App/SharedWebViewController.swift Detaches shared webview using the actual current parent.
ios/App/App/NativeTopBarPlugin.swift Disables nav bar hide/show animation.
ios/App/App/NativeBottomSheetPlugin.swift Waits for JS content readiness before clearing dismissal snapshot.
ios/App/App/LiquidTabsStore.swift Adds native graph state, refresh state, and web tab transition readiness tracking.
ios/App/App/LiquidTabsRootView.swift Adds native graphs tab UI and revises iOS search/tab navigation flows.
ios/App/App/LiquidTabsPlugin.swift Adds native graph bridge methods/events and tab readiness support.
ios/App/App/AppDelegate.swift Refines native stack bookkeeping, JS-originated pop suppression, and route observation.
docs/develop-logseq-on-mobile.md Updates iOS mobile dev instructions for HTTPS Shadow CLJS workflow.
bb.edn Adds a Babashka task for generating the mobile HTTPS certificate.
.gitignore Ignores generated local SSL development artifacts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ios/App/App/LiquidTabsRootView.swift
Comment thread ios/App/App/LiquidTabsRootView.swift
Comment thread src/main/mobile/state.cljs
Comment thread scripts/src/logseq/tasks/dev/mobile.clj Outdated
Comment thread scripts/src/logseq/tasks/dev/mobile.clj Outdated
Comment thread scripts/src/logseq/tasks/dev/mobile.clj
Comment thread scripts/src/logseq/tasks/dev/mobile.clj
@tiensonqin tiensonqin merged commit 519bdf3 into master May 18, 2026
10 checks passed
@tiensonqin tiensonqin deleted the fix/ios-bugs branch May 18, 2026 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants