attachmentUploadCancellableFor property
Per-message resolver that reports whether the upload behind
attachmentUploadProgressFor can still be aborted — the signal behind
the cancel X painted inside the ring. Returning null means there is
no send in flight for that id.
A second resolver rather than a reading of the first because the two
have different lifetimes: the ring stays up until the row can render
its own media (bytes uploaded, poster frame uploaded, send
acknowledged), while cancelling stops working the instant the bytes
land. Defaults (when null, the default ChatView/NomaChatView
wiring) to ChatUiAdapter.attachmentUploadCancellableFor, so the X
disappears on time out of the box.
Implementation
final ValueListenable<bool>? Function(String messageId)?
attachmentUploadCancellableFor;