Is there some known issue with last compose 1.7 an...
# compose-wear
t
Is there some known issue with last compose 1.7 and horologist 0.6.9 with
ScalingLazyColumn
and jumping ? (When flinging to top or bottom, or via rotary there's a delay before snap in some cases.)
y
Not that I'm aware of. So finger and rotary?
t
Yes, currently working on the data layer so the ui is simple test but the jump is flagrant.
horo 0.6.9 and compose 1.7 snapshot 11763555
a simple
ScalingLazyColumn
with
rememberResponsiveColumnState()
Anyway I'll do a proper bug report once I work in the UI part if it's not something stupid on my side.
y
Thanks, much appreciated.
t
Won't be soon :) Not mentally ready for the review and their copy pastes
y
Did you upgrade from 0.6.8 to 0.6.9?
t
Not sure to understand the question, I'm using 0.6.9 yes, did not have any usage of scalingstuff when using the previous versions.
πŸ‘ 1
y
That answers it
I was wondering if you had a previous non janky version?
Can you confirm you are testing release build?
t
This is not jank at all, this is snapping issue, see with rotary, you can see that it settle to a position, then scroll again to new position.
With fling it's the same once it's reach the top. It does a new small animation to position, not jank or anything like like that.
y
Thanks, Ill take a look
t
But as said I'm using a snapshot version of Compose that might impact as there were easing changes.
And can't yet test with a new snapshot version due to the new pining to something that will only be release tonight πŸ™‚
So maybe wait until tomorrow, I'll test with a more recent snapshot just in case you don't loose time.
just tested 0.6.8 and it's the same so it's probably on Compose side. That's all I can test it's non working day here.
πŸ‘ 1
y
OK, I managed to repro with Compose 1.7.0-SNAPSHOT
A huge thank you for flagging this.
βž• 1
t
Thanks for taking the time, I report hundreds of things, having the proper triaging is always the hard part, and spending time to build repro that no one will look into even worse when indie dev not paid by the hour πŸ˜‰
πŸ™πŸ» 1
πŸ™ 1
y
It's a horologist bug, with the Rotary support in 1.4, we were double applying the modifiers, and flipped. Will fix and release.
πŸ‘ 1
πŸ‘ 1
s
Many thanks to Tolriq for the clear bug report and videos, really important to fix this.
t
You have no idea how many reports with even more led to nothing. So no it's the opposite, thanks for not ignoring reports without the perfect repro. R8 team and horologist are the exceptions unfortunately.
πŸ™πŸ» 1
BTW half related, but is there some official / horologist solution to have an 'header' in the Lazyscallingcolumn? Like when scrolled to top, 1/3 or 1/2 of the screen is that header (like an album / playlist cover for example) Or should I have it under and offset via the state ?
y
nope. @stevebower might know if anything planned. I wouldn't want to write it on top of SLC.
@Tolriq when you get a chance, can you test with 0.6.10? I'm not waiting for this, just want to make sure you are unblocked.
t
I'll try today, but don't worry I'm not blocked I'm going real slow on the Wear part for now. And just discovered https://issuetracker.google.com/issues/265073970 just before preparing my next release, so need to find a quick workaround and have no idea yet πŸ™‚
πŸ‘πŸ» 1
@yschimke Wear compose 1.4.0 A8 renamed RotaryBehavior that break horologist πŸ™‚
y
Yep - it's an alpha, and 0.6.x is is development branch of Horologist. So it's expected.
@stevebower warned me about these changes at the time I changed Horologist, but part of the value of Horologist can be to flush out issues before everything is baked into a beta.
t
Yes I know just warning since I'm testing 0.6.10 and updated all.
Anyway the rotary issue is fixed with 0.6.10
but not the overscroll
y
Which was the overscroll issue again?
t
quick swipe to reach a top / bottom of a list will still trigger the small delayed jump as in first video
first video I uploaded here
y
OK, let me check
Swipe with finger?
t
well with mouse on emulator for now πŸ™‚
But should simulate finger
y
Yep - that's a finger.
t
I'm on snapshot 11788448 now that I could update.
y
with mouse wheel that simulates RSB
compose 1.7.0 alpha just got released, testing against that would be a better base to raise any bugs.
t
The snapshot is from yesterday so it's 1.7 A8 with a couple more fixes
From a quick look seems the snapping is done on the wear library, so it's probably tied to https://github.com/androidx/androidx/commit/7451a357818ebaa82c9f63c9f5223edce3f2a3d4 that unclamped the values with easings. There were numerous post fixes on different things like https://android-review.googlesource.com/c/platform/frameworks/support/+/3044893 after that and a few others, maybe wear fling requires clamping too ?
sorry lack time to fully debug this 😞
So updated to last wear compose and horologist and the issue is still present.
y
cc @Michail Kulaga - who knows the rotary code
t
This is not rotary
this is fling with finger.
When reaching the top or bottom there's a jump occurring as seen in the video.
The rotary stuff is fixed sorry if I was not clear. Seems it was 2 different issues.
y
Yep - you were. The snap issue is fixed in Horologist. The second remains.
I would suggest raising a bug.
Wear Compose 1.4 alpha is built against Compose 1.6 stable, so it's possible it doesn't show up for the Wear Compose team
t
Yes it's probably the change I mentioned then, unfortunately issues for compose I can't ping the proper people and don't have a full repro are each time ignored, so will wait for the migration to 1.7 for wear or having more time to build a repro.
πŸ‘πŸ» 1
So took me some time to reach a status and have time to fill an issue for this one πŸ™‚ https://issuetracker.google.com/issues/349781047 if you can ensure it's triaged thanks.
πŸ‘€ 1
y
Done. Thanks again for raising.
t
@yschimke So since no one looked and I have a couple of hours before moving again, this is caused by https://github.com/google/horologist/blob/main/compose-layout/src/main/java/com/go[…]gle/android/horologist/compose/pager/HorizontalPagerDefaults.kt removing that spec does fix the issue. I do not have time to investigate more if the spec is just wrong to use here, or there's a bug in compose default flingBehavior, but since the root is in Horologist I'm pinging you as you probably know why it's used like that (but last changed by @stevebower)
y
I'll follow up
Thanks
πŸ‘ 1