DioxusLabs / DioxusLabs/dioxus
iOS Scroll freezes entire Rust event loop
- Dominant language
- Rust
- Stars
- 39.1k
- Forks
- 1.9k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 4
Description
# iOS Scroll freezes entire Rust event loop
### Problem
On iOS, **all events are blocked while the user is scrolling**. Events queue up and deliver only after scrolling stops.
This breaks every Tao-based iOS app that needs real-time updates during scroll.
**Affected**
- Signal/state updates
- Async task completions
- Cross-thread UI communication
### Screen Recording of Issue
https://github.com/rapporian/ios-scroll-blocks-rust/raw/refs/heads/main/ScreenRecording.mp4
_(Red dot = Rust, Green dot = JavaScript. Watch the red dot freeze during scroll while green continues.)_
### Reproduction
**Repo**: https://github.com/rapporian/ios-scroll-blocks-rust
Scroll the page. Watch the Rust-driven animation freeze while JavaScript `requestAnimationFrame` continues.
### Root Cause
During scroll, iOS switches to `UITrackingRunLoopMode` — observers don't fire, events don't get processed.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked iOS reproduction repository and compare the Rust-driven animation with JavaScript requestAnimationFrame during scrolling. Trace Tao’s iOS event-loop handling and verify that Rust events continue to be processed in UITrackingRunLoopMode; done means animations, async completions, and cross-thread UI communication remain responsive while scrolling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, rust
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100