Skip to content

chore(chat): log where touches on the attach card go - #1053

Closed
bmc08gt wants to merge 1 commit into
mainfrom
chore/chat-photo-picker-diagnostics
Closed

bmc08gt wants to merge 1 commit into
mainfrom
chore/chat-photo-picker-diagnostics

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

A TestFlight user's inline photo picker draws but won't scroll or select. The card's own back and All Photos buttons still work, and a force quit doesn't clear it. It doesn't reproduce on the simulator in either keyboard mode, so this logs which layer takes or drops the touch.

  • BarClipView logs each touch above the bar with the band's top (touchTop) and the view that took it. The screen logs every change to the overflow state, with the bar's frame and whether its window is the key window.
  • The bar logs cardTop each time the card is laid out, against the key window it's measured in.
  • AttachOverlayContainer logs each touch with the panel and card regions, the view that took it, and its window.

What it can and can't see:

  • Keyboard down: grid touches go through BarClipView, so a dead grid shows up as Bar overflow touch with hit=none or an unexpected view.
  • Keyboard up: the system hands grid touches straight to the picker and the app never hit-tests them. With the guard removed, every hit test in AttachOverlayContainer logged except the grid taps, which still selected photos. Only the card's controls show up there, so a dead grid logs nothing. The existing Attach panel opening mode= line still shows which mode the user was in.

SensitiveKeyRedactor blanks any metadata key containing "key", which hid the overlay's existing keyboardHeight and keyboardWindowFound. They're now overlapHeight and inputWindowFound.

A TestFlight user's inline photo picker draws but won't scroll or select,
while the card's own buttons still work, and a force quit doesn't clear it.
It doesn't reproduce on the simulator, so these logs record which layer
takes or drops the touch:

- `BarClipView` logs each touch above the bar with the band's top and the
  view that took it, and the screen logs every change to the overflow state.
- The bar logs `cardTop` each time the card is laid out, against the key
  window it is measured in.
- `AttachOverlayContainer` logs each touch with the panel and card regions
  and the view that took it. With the keyboard up, the system hands touches
  on the photo grid straight to the picker, so only the card's controls
  show up here.

`SensitiveKeyRedactor` blanks any metadata key containing "key", which hid
the overlay's existing `keyboardHeight` and `keyboardWindowFound`. They are
now `overlapHeight` and `inputWindowFound`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant