mobile: definitive slide fix (zero teardown) + real native download + reconcile (batch125)
Slide: the residual ~40ms end-of-slide hitch (down from 128ms in b124) was the layer DEMOTE + the deferred full renderThread at transitionend. Two fixes: - Keep .content promoted for the WHOLE time a chat is open (will-change lives on body.chat-open, not on the animating class). The open transition now only changes the transform VALUE 100%->0; when it ends there is nothing to tear down -> no demote raster. - Slide-end no longer rebuilds all 40 nodes: reconcileOpen() appends only the 0-2 genuinely new tail messages (full renderThread only if the page structure diverged). Download: routing to Safari failed auth (no login cookie). Real fix: fetch the file in the WebView (cookie present) and hand the bytes to the OS save/share sheet via Filesystem+Share (added to mobile deps; ships next TestFlight build). Until then, images fall back to the iOS long-press "Save to Photos" instead of breaking the app. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -15,8 +15,10 @@
|
||||
"@capacitor/app": "^7.0.0",
|
||||
"@capacitor/camera": "^7.0.0",
|
||||
"@capacitor/core": "^7.0.0",
|
||||
"@capacitor/filesystem": "^7.0.0",
|
||||
"@capacitor/ios": "^7.0.0",
|
||||
"@capacitor/keyboard": "^7.0.0",
|
||||
"@capacitor/share": "^7.0.0",
|
||||
"@capacitor/push-notifications": "^7.0.0",
|
||||
"@capacitor/splash-screen": "^7.0.0",
|
||||
"@capacitor/status-bar": "^7.0.0"
|
||||
|
||||
Reference in New Issue
Block a user