coil-kt / coil

Image loading for Android and Compose Multiplatform.
https://coil-kt.github.io/coil/
Apache License 2.0
10.7k stars 649 forks source link

Crossfade transitions don't appear to work in this repro project #1647

Closed ZacSweers closed 1 year ago

ZacSweers commented 1 year ago

Describe the bug Apologies for the vague title, we've talked a bunch offline so filing this finally 😅

To Reproduce Repro project: https://github.com/ZacSweers/CatchUp

Install a debug build (should work without extra setup) - ./gradlew :app:installDebug

Swipe over to an image service like Dribbble, notice that images don't crossfade in. If you click one to pull up the full screen image view, I use the memory cache placeholder trick and you can see the full res image also doesn't crossfade in. You can also try opening an i.redd.it or i.imgur.com link in the reddit tab too.

Happens with both AsyncImage and rememberAsyncImagePainter.

Relevant areas of the app

Other notes from our offline chat

finally circling back around to this, I can’t get the debugger to actually read startTimeMillis for some reason
but definitely seeing that crossfades don’t work app-wide
printlns seem to work
Start is -1
so then it sets it to uptimeMillis
after which it’s set to a normal value
but onDraw is only called again once after the initial pass where it sets startTimeMillis

image

Logs/Screenshots

https://user-images.githubusercontent.com/1361086/222983324-9cc1744f-0a51-420a-a57f-d1f07d141258.mp4

Version 2.2.2

colinrtwhite commented 1 year ago

Chatted offline - this was related to the url Dribbble returned being changed (on their end) so it wouldn't resize the image properly.