attachmentUploadCancellableFor property

ValueListenable<bool>? Function(String messageId)? attachmentUploadCancellableFor
final

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;