MSC3999: Add causal parameter to /timestamp_to_event#3999
MSC3999: Add causal parameter to /timestamp_to_event#3999MadLittleMods wants to merge 4 commits intomainfrom
/timestamp_to_event#3999Conversation
/timestamp_to_event/timestamp_to_event
| Instead of only defining a timestamp, we add an optional `event_id` query parameter | ||
| which represents a topological spot in the DAG that we can easily determine what comes | ||
| before or after from (a casual relationship). |
There was a problem hiding this comment.
We should clarify that this should be added to the client and federation (server) /timestamp_to_event API's
| Instead of only defining a timestamp, we add an optional `event_id` query parameter | ||
| which represents a topological spot in the DAG that we can easily determine what comes |
There was a problem hiding this comment.
Event ID's are globally unique but we're after a topological position in the DAG which is per-room so the event lookup should be constrained to the room.
| Instead of only defining a timestamp, we add an optional `event_id` query parameter | ||
| which represents a topological spot in the DAG that we can easily determine what comes |
There was a problem hiding this comment.
What happens when event_id can't be found?
Should the homeserver try to backfill the event from other homeservers?
What error code should we throw if we can't find it in any case?
|
|
||
| In less scrupulous scenarios or with bad intentioned actors, these timestamp loops can | ||
| occur throughout the room timeline. | ||
|
|
There was a problem hiding this comment.
Another case why the causal parameter is useful: Events can occur at the same exact time and it's not possible to get the next one with /timestamp_to_event atm
There was a problem hiding this comment.
If the purpose is to allow Matrix Public Archive to go back through events in the room, why not use /messages and the from/to/start/end fields for pagination?
MSC3999: Add causal
?event_id=$abcquery parameter to/timestamp_to_eventto signal that we want to keep progressing from this event regardless of what timestamp shenanigans are going on.Rendered
Server implementations:
Other related references:
/timestamp_to_event(jump to date) was introduced, MSC3030: Jump to date API endpoint #3030