Address review feedback on the send-failure dialog

- Resolve the send handle at tap time and pass it through the alert,
  removing the duplicated lookup and the stale-itemID window between
  tapping the indicator and pressing Retry.
- Route 'Remove message' through the existing timeline item menu redact
  action instead of a bespoke redact path with a fatalError.
- Surface a retry failure to the user with an indicator toast rather
  than only logging it.
- Only set the send-info accessibility identifier when the label has a
  tappable status, so plain timestamps don't create ambiguous matches.
This commit is contained in:
Matthew Hodgson
2026-08-06 20:33:31 +03:00
committed by Stefan Ceriu
parent 404410b8a2
commit 8bc7e7c281
3 changed files with 19 additions and 22 deletions
@@ -48,7 +48,9 @@ private struct TimelineItemSendInfoModifier: ViewModifier {
TimelineItemSendInfoLabel(sendInfo: sendInfo)
.accessibilityHidden(isAccessibilityHidden)
.contentShape(.rect)
.accessibilityIdentifier(A11yIdentifiers.roomScreen.sendInfo)
// Only the labels with a tappable status get the identifier, so that
// plain timestamps don't produce ambiguous matches in UI tests.
.accessibilityIdentifier(sendInfo.status != nil ? A11yIdentifiers.roomScreen.sendInfo : "")
// Tap gesture to avoid the message being detected as a button by VoiceOver
// (and the action shows a description that is already read to the user).
.onTapGesture {