Closed manuroe closed 1 month ago
Related regarding behaviour when editing: https://github.com/element-hq/element-x-ios/issues/2759
I made a lot of progress today and I am able to store and restore messages, and also edit and reply states, I am even able to asynchronously loading reply details of an item that has not been paginated in the timeline, and even display a loading state in the meantime
@VolkerJunginger how do you want to manage the edge case described in the second point about "Restoring edits and replies for messages no more in the cache"?
We've discussed the issue with Mauro, and I don't think there's a technical reason the replied-to / updated event has to be in the timeline, since the event could be fetched based on its ID, if it's missing from the timeline, and a synthetic timeline item could be created from that — let's see if that technical solution is fruitful before deciding what to do at a product-wide level.
I also addd an API here: https://github.com/matrix-org/matrix-rust-sdk/pull/3534 that allows to async load a reply for an event that has not been paginated yet, this is useful to load the reply preview in the text composer when the draft is restored, and such event is very old, or has not been loaded yet in the timeline.
After pairing with @bnjbvr we agreed to fist implement the APIs required to make the draft work and then solve the issue we found caused by the fact that edit and replies won't work for items that have not been paginated yet: https://github.com/matrix-org/matrix-rust-sdk/issues/3538
We will handle this as a separate issue and in a separate PR In the meantime since the rest of the SDK work is done we can unblock the mobile apps and start merging the draft as a first iteration. Should we feature flag it? or can we keep it as it is even with the current API limitation?
@manuroe
If we can have the next iteration before Tuesday, our next RC, it is fine to merge it without a feature flag. End users will see it as a bug and we do not want to ship bugs in production.
As you suggested on matrix, @Velin92 , we can merge it now without a FF. If it appears we cannot make the next iteration before Tuesday, we will add a FF to hide from production users.
We did everything we wanted.
Acceptance criteria
For editing & reply
In case that we have trouble sending the message (edit or reply) because it has not been loaded into the timeline
The main objective is to send the message.
This means in for prios:
Make sure replies work
Edits
PRD https://docs.google.com/document/d/1c8je627qaT1FCh1qHsnFM1u7wsdNSkLmqLIW3xExLd0/edit
Leads
Size estimate
None
Dependencies
Out of scope
Open questions
Subtasks
Sign-off
Android
iOS