Repository navigation
WaEnhancer Community 0.0.21
WaEnhancer Community 0.0.21
SHA-256: cc7da7f336056d3d07334a7dddaf3ef70571d9eaa2d7aabb3544809e5e240984
Changes since v0.0.20.
What's changed
- #93 fix(glass): tap glides between tabs in a fixed 450 ms; icon stays full size on landing
Full changelog
This section compiles the descriptions of the pull requests included in this release.
#93 — fix(glass): tap glides between tabs in a fixed 450 ms; icon stays full size on landing
Merged by contribution from @igorcv88.
Problem (seventh device recording, animator scale 0.33×)
- A tab tap never travelled. WhatsApp's click jumps the pager to the new page in about one frame. The bubble followed that jump, then swelled and collapsed in place in about 200–270 ms ("explodes and compresses at once").
- A page swipe took about 480 ms visible. The user judged this one right.
- On landing, the selected icon was small and dim for about 100 ms. Two causes:
- the morph scaled the canvas, so the content was about 60% of its size;
- the pill copy was drawn over the icon, because the bubble's Z is above the tab row.
Change
-
BubbleMotionglide. When no finger holds the bubble,animateToruns a deterministic timeline:- rise 0–120 ms;
- travel 120–300 ms, with analytic velocity, so the squash still applies;
- land 300–450 ms.
The timing is fixed and does not follow the animator duration scale, except that scale 0 still snaps; this was agreed with the user. A redirect mid-glide is continuous. A press, a swipe follow or a snap cancels the glide.
-
LiquidBubble.holdPagerFollow().BubbleTouchcalls it on ACTION_UP over a non-selected tab, so the selection report starts the glide instead of the bubble following the pager jump.- The hold ends when the pager rests on a page, or after 700 ms.
setTabsno longer snaps a glide that is already heading to the selected tab.
-
Landing.
- The morph sizes the shape, not its content.
settleScalebrings the spring scale to exactly 1 before the hand-off.drawIconsredraws the tab row inside the pill at the pill copy's opacity.
Validation
:app:testWhatsappDebugUnitTest: 461 tests, 0 failures. Four new tests cover the glide timing, redirect continuity, interruption andsettleScale.:app:assembleWhatsappDebugbuilds.- Not device-validated. Visual change to confirm: during the rise, the bubble's content starts at 1:1 instead of zooming up from about 60%.
Details are in handoff.md and docs/ONEMATE_MATERIAL_2026-10-12.md.
🤖 Generated with Claude Code
https://claude.ai/code/session_0157emnK4gGDtGGT282rGFw8
Generated by Claude Code