This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
MSC2716 leftover todo tasks #10737
Labels
T-Task
Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Comments
MadLittleMods
added
the
T-Task
Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
label
Sep 1, 2021
7 tasks
MadLittleMods
added a commit
that referenced
this issue
Sep 7, 2021
4 tasks
MadLittleMods
added a commit
that referenced
this issue
Sep 7, 2021
4 tasks
MadLittleMods
added a commit
that referenced
this issue
Sep 17, 2021
This was referenced Sep 17, 2021
richvdh
pushed a commit
that referenced
this issue
Sep 21, 2021
…us usage with `?prev_event_id` (MSC2716) (#10839) As mentioned in matrix-org/matrix-spec-proposals#2716 (comment) and #10737
MadLittleMods
added a commit
that referenced
this issue
Sep 22, 2021
…ts between chunks Part of [MSC2716](matrix-org/matrix-spec-proposals#2716) Part of #10737
4 tasks
MadLittleMods
added a commit
that referenced
this issue
Sep 29, 2021
…icts between batches (MSC2716) (#10877) Part of [MSC2716](matrix-org/matrix-spec-proposals#2716) Part of #10737
11 tasks
5 tasks
5 tasks
7 tasks
MadLittleMods
added a commit
that referenced
this issue
Jun 16, 2023
…story into existing rooms (#15748) Context for why we're removing the implementation: - matrix-org/matrix-spec-proposals#2716 (comment) - matrix-org/matrix-spec-proposals#2716 (comment) Anyone wanting to continue MSC2716, should also address these leftover tasks: #10737 Closes #10737 in the fact that it is not longer necessary to track those things.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
T-Task
Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Just trying to keep track of the last remaining little tasks to get MSC2716 good to go.
Todo
chunk_id_from_query
corresponds to an actual insertion event,synapse/rest/client/room_batch.py#L302)
?chunk_id
actually corresponds to an insertion event that exists (MSC2716) #10776next_chunk_id
before persisting. Ensure(room_id, next_chunk_id)
is unique. Avoid cross-talk/conflicts between chunks(room_id, next_batch_id)
is unique to avoid cross-talk/conflicts between batches (MSC2716) #10877/batch_send
response into their own fields, MSC2716: Incrementally importing history into existing rooms matrix-spec-proposals#2716 (comment)/batch_send
meta events to their own fields (MSC2716) #10777chunk
tobatch
to match/batch_send
endpoint, MSC2716: Incrementally importing history into existing rooms matrix-spec-proposals#2716 (comment)chunk
tobatch
to match/batch_send
endpoint #10838?prev_event
to?prev_event_id
, MSC2716: Incrementally importing history into existing rooms matrix-spec-proposals#2716 (comment)/batch_send
query parameter from?prev_event
to more obvious usage with?prev_event_id
(MSC2716) #10839Backfill should gracefully handle the case where no one has the complete state for a given event #10764prev_events
instead of fakeprev_events
state_events_at_start
in the MSC2716/batch_send
endpoint get pushed to an application service/transactions
#11241unsigned.replaces_state
chain of the to collect all of them.room.marker
events along the way and set as backward extremities on the homeserver./batch_send
endpoint v1 #11778/batch_send
usage in a room where the room version doesn't support it or is not the room creator/batch_send
usage in the first place to make it more obvious/batch_send
usage in a room where the room version doesn't support it or is not the room creator #13216insertion_events
,insertion_event_edges
,batch_events
, andinsertion_event_extremities
tables whenhs.config.experimental.msc2716_enabled
is enabled so homeservers which go from having the config disabled to enabled(or unsupported to supported) can fill in the necessary info to have historical events appear.rooms.creator
field for easy lookup #10697synapse/handlers/federation_event.py#L545
(backfill receiving) to be more efficient. Calculate thestream_ordering
from newest -> oldest (in the correct order) and persist in the oldest -> newest to get the least missingprev_event
fetch thrashingprev_event
thrashing (scratch) #13864 and Optimize backfill receiving to have less missingprev_event
thrashing (v2) #13970 and No more floating MSC2716 historical batches #13971Outstanding PRs that would still be good to merge (even the closed ones):
/messages
works on remote homeserver and can be backfilled properly after many batches (MSC2716) complement#214/batch_send
endpoint #13229/transactions
for application services (MSC2716) complement#221Maybe:
(room_id, next_batch_id)
unique constraint to DB, Ensure(room_id, next_batch_id)
is unique to avoid cross-talk/conflicts between batches (MSC2716) #10877 (comment)/messages
and/context
include the state from any historical messages returned. Currently, if the historical message isn't the first or last (depending on which endpoint), the historical state won't be available for the historical messages in the timeline and the avatar/displayname won't show for them./messages
back, they will show./messages
returns "A list of state events relevant to showing the chunk." so we should be able to make this work and also include any historical state associated with some historical messages in the chunk./context
only returns "The state of the room at the last event returned." which doesn't precisely allow wiggle room for adding some random historical state. But we technically could since it's just a list of state events returned./sync
since historical messages will supposedly be way off in the distance and really only fetched by paginating/messages
. Just to note that/sync
returns messages for the first message in the chunk, https://github.com/matrix-org/matrix-doc/issues/687invite_room_state
on the/batch_send
state events, as encountered Fix using MSC2716 batch sending with event persistence workers #11220. This isn't any useful functionality gained but would be nice not to throw a 500 here.events
list/batch_send
->events: [messageFromA, memberEventB, messageFromB]
, it will first try to persistmessageFromB
which will fail becausememberEventB
hasn't been processed yet.create_new_client_event
to use a new parameter,state_event_ids
, which accurately describes the usage with MSC2716 instead of abusingauth_event_ids
#12083 (comment)The text was updated successfully, but these errors were encountered: