mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
Unistyles' StyleSheet.create((theme) => ...) wraps styled components in <UnistylesComponent> and patches native view properties via C++. When these dynamic styles are applied to Reanimated's Animated.View, a theme change causes both systems to fight over the same native node, crashing with "Unable to find node on an unmounted component." Fix: use plain React Native StyleSheet for static positioning on Animated.View, and pass theme-dependent values (backgroundColor) as inline styles from useUnistyles() instead of Unistyles dynamic sheets. Also: - Add gestureAnimatingRef to prevent double withTiming during gesture opens - Remove all debug instrumentation added during investigation - Add Maestro flow and bash script for automated theme-toggle verification - Add docs/MOBILE_TESTING.md covering Maestro patterns, self-verification loops, the Unistyles+Reanimated pitfall, and simulator commands
32 lines
693 B
YAML
32 lines
693 B
YAML
appId: sh.paseo
|
|
---
|
|
# Ensure sidebar is closed: if sidebar-sessions is visible, close it via swipe left
|
|
- runFlow:
|
|
when:
|
|
visible:
|
|
id: "sidebar-sessions"
|
|
commands:
|
|
- swipe:
|
|
direction: LEFT
|
|
duration: 300
|
|
|
|
# Small pause for close animation
|
|
- takeScreenshot: 00-sidebar-closed
|
|
|
|
# Open sidebar via swipe right gesture (the actual path that triggers the bug)
|
|
- swipe:
|
|
start: "5%,50%"
|
|
end: "80%,50%"
|
|
duration: 300
|
|
|
|
# Verify sidebar opened
|
|
- assertVisible:
|
|
id: "sidebar-sessions"
|
|
- takeScreenshot: 01-sidebar-opened
|
|
|
|
# Close sidebar via swipe left
|
|
- swipe:
|
|
direction: LEFT
|
|
duration: 300
|
|
- takeScreenshot: 02-sidebar-closed-again
|