KAN-71: Correct iOS and macOS navigation gestures and scroll bounds #168

Merged
Twyco merged 2 commits from fix/KAN-71-native-navigation-scroll into main 2026-09-29 05:28:54 +00:00
Owner

KAN-71 fixes native history gestures and vertical overscroll on iOS and macOS. Edge swipes on iOS and system-configured trackpad swipes on macOS traverse exactly one browser-history entry, including asynchronous Inertia entries that WebKit's default native navigation can skip. Cancelled gestures and an empty history do not navigate.

The shared navigation script confines vertical overscroll while leaving horizontal scrolling available. Gestures yield to dialogs, horizontal boards, editable fields and drag operations. The iOS Back button is removed; the Server settings button remains for KAN-70. Remote pages gain no native command bridge.

Functional changes target iOS and macOS. Android receives only version metadata. Base branch: main (pulled with --ff-only before creating this branch).

Native app version: 0.2.4; iOS bundle/build number: 4; Android version code: 2004. Package, Tauri, Rust and Xcode version metadata agree. Release notes describe the navigation and overscroll fixes.

Validation:

  • 11 iOS simulator tests passed, including native gesture completion/cancellation, single-step SPA traversal, forward history, unsaved input, empty history and scroll policy.
  • 215 native JavaScript tests and 19 Rust tests passed; two existing optional integration tests were skipped.
  • AppKit adapter tests cover back/forward, cancellation, interrupted gestures, system preferences, nested scroll ownership, empty history and stale callbacks.
  • Real macOS WKWebView smoke test passed, including async history entries and session isolation.
  • Browser regression tests passed for full-page and SPA history, short/long page boundaries, horizontal board scrolling, dialogs, drag and input guards.
  • Rust formatting/Clippy, targeted ESLint and diff checks passed.
  • The final version consistency test and cargo check --locked passed after the version update; no Android build was attempted.

The requester approved automated simulator/WebView/gesture tests as sufficient for Review. Physical iPhone/iPad and trackpad acceptance was not performed.

KAN-71 fixes native history gestures and vertical overscroll on iOS and macOS. Edge swipes on iOS and system-configured trackpad swipes on macOS traverse exactly one browser-history entry, including asynchronous Inertia entries that WebKit's default native navigation can skip. Cancelled gestures and an empty history do not navigate. The shared navigation script confines vertical overscroll while leaving horizontal scrolling available. Gestures yield to dialogs, horizontal boards, editable fields and drag operations. The iOS Back button is removed; the Server settings button remains for KAN-70. Remote pages gain no native command bridge. Functional changes target iOS and macOS. Android receives only version metadata. Base branch: `main` (pulled with `--ff-only` before creating this branch). Native app version: `0.2.4`; iOS bundle/build number: `4`; Android version code: `2004`. Package, Tauri, Rust and Xcode version metadata agree. Release notes describe the navigation and overscroll fixes. Validation: - 11 iOS simulator tests passed, including native gesture completion/cancellation, single-step SPA traversal, forward history, unsaved input, empty history and scroll policy. - 215 native JavaScript tests and 19 Rust tests passed; two existing optional integration tests were skipped. - AppKit adapter tests cover back/forward, cancellation, interrupted gestures, system preferences, nested scroll ownership, empty history and stale callbacks. - Real macOS WKWebView smoke test passed, including async history entries and session isolation. - Browser regression tests passed for full-page and SPA history, short/long page boundaries, horizontal board scrolling, dialogs, drag and input guards. - Rust formatting/Clippy, targeted ESLint and diff checks passed. - The final version consistency test and `cargo check --locked` passed after the version update; no Android build was attempted. The requester approved automated simulator/WebView/gesture tests as sufficient for Review. Physical iPhone/iPad and trackpad acceptance was not performed.
Twyco added 1 commit 2026-09-29 05:23:05 +00:00
fix(KAN-71): correct Apple navigation gestures and scroll bounds
CI/CD / preconditions (pull_request) Successful in 2s
Native JavaScript checks / Native launcher and release tests (pull_request) Successful in 1m4s
macOS checks / Native Rust tests and unsigned build (pull_request) Successful in 1m31s
CI/CD / test_and_check_app (pull_request) Successful in 6m44s
CI/CD / Publish immutable image (pull_request) Skipped
4afaa79834
Twyco added 1 commit 2026-09-29 05:27:09 +00:00
chore(KAN-71): bump native version to 0.2.4 and mobile build numbers
macOS checks / Native Rust tests and unsigned build (pull_request) Successful in 1m32s
CI/CD / preconditions (pull_request) Successful in 1s
Native JavaScript checks / Native launcher and release tests (pull_request) Successful in 1m1s
CI/CD / test_and_check_app (pull_request) Successful in 6m39s
CI/CD / Publish immutable image (pull_request) Skipped
aa14068c66
Twyco merged commit 386b25858b into main 2026-09-29 05:28:54 +00:00
Twyco deleted branch fix/KAN-71-native-navigation-scroll 2026-09-29 05:28:55 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: PetschStudios/KanbanGit#168