matrix-org / matrix-rust-sdk

Matrix Client-Server SDK for Rust
Apache License 2.0
1.19k stars 235 forks source link

[Task] Restore the method to retry sending of failed messages #3837

Closed pixlwave closed 1 week ago

pixlwave commented 1 month ago

Part of the crypto work from https://github.com/element-hq/element-meta/issues/2488

Whilst most send failures can be resolved automatically (e.g. network failures, invalid access token etc) or are deemed unrecoverable (e.g. invalid data, too large etc) there are some instances where a message can fail to send but may work later:

Having a method to retry sending of an item will be useful for this.

bnjbvr commented 1 month ago

As the current timeline maintainer, I would consider this to be a regression, as the intent in terms of design is that the Timeline API is only a view onto the timeline events. Right now, this is not the case, but the overall effort of moving things out of the timeline into the send queue or into the event cache or other APIs would be wasted, if we restored that method to retry sending in the timeline itself. Let's not do this; can you think of an alternate way to do this?

pixlwave commented 1 month ago

My bad, I shouldn't have specifically said the timeline.

As long as it exists on the room/send queue/timeline item/wherever that would be enough to allow the user to resend a message.