Skip to content

fix(chat-ui): photo close transition, double tap and reply quote follow-ups - #1687

Merged
bmc08gt merged 6 commits into
code/cashfrom
fix/chat-photo-followups
Oct 6, 2026
Merged

bmc08gt merged 6 commits into
code/cashfrom
fix/chat-photo-followups

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Follow-ups to #1683 that were pushed after it merged.

Closing a photo from full screen

  • The photo now shrinks onto its bubble's real corners (grouped, captioned and reply bubbles included) instead of one fixed radius that snapped on landing.
  • It no longer draws over the top bar. It is clipped to the area between the bar and the composer, and for the last fifth of the close the message list draws it under the bar's blur while the viewer's copy fades out, so a photo running under the bar doesn't pop when the viewer goes.
  • It lands on the bubble's full bounds. boundsInRoot() clipped a bubble running under the bar to its visible part, so the photo landed on a smaller rect and the real bubble jumped when it appeared.

Double tap
Bubble only installed its click handler when it had a tap or long press, so a bubble that only handled double tap dropped it. Double tap on a photo opens the reaction strip again.

Photo reply quote
A photo reply's quote is now a chip over the photo's top-left instead of a separate bubble above it: at most 80% of the photo's width, two lines, inset 4 dp with corners concentric with the photo's (PhotoQuoteCornersTest).

…op bar

The flight back from the viewer ended on one radius for every corner, then
snapped to the bubble's grouped corners once it settled. It now animates to
the corners the bubble draws (first/middle/last, caption, quote).

The flying photo was drawn over the transcript's top bar and bottom composer
and only went behind them when the row took over. It is now clipped to the
transcript area on the way back, easing out to the full screen only near
fully open.
…g press

Bubble only attached its gesture handler when a tap or long press was set,
so a bubble that only reacts to a double tap never got one.
The overlay clipped the photo hard at the bar's bottom edge, while the
bubble it lands on sits under the bar's blur and fade, so the part under
the bar appeared in one frame when the overlay went. Over the last fifth
of the close the transcript now draws the photo itself, inside the blur
and haze, and the overlay's copy fades out as it fades in.
boundsInRoot() clips a layout to its ancestors, so a bubble running past
the top of the message list reported only its visible part. The closing
photo landed on that shorter rect, and the bubble jumped to its real size
when the overlay went. Read the bubble's position and size unclipped.
The quote sat in its own small bubble above the photo, so it read as a
separate message. It is now a chip on the photo's top-left, capped at 80%
of the photo's width and two lines of text, on a near-opaque ground so it
stays readable over bright images.
The chip sat 8dp in from a 12dp corner, which leaves it a 4dp corner that
reads as square. It now sits 4dp in, so its corner is 8dp, and the corner
nested in the photo's top-start follows that corner when grouping flattens
it.
@bmc08gt bmc08gt self-assigned this Oct 6, 2026
@github-actions github-actions Bot added the type: fix Bug fix label Oct 6, 2026
@bmc08gt
bmc08gt merged commit b52c93d into code/cash Oct 6, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the fix/chat-photo-followups branch October 6, 2026 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant