MSC3998: Add timestamp massaging to /join and /knock#3998
MSC3998: Add timestamp massaging to /join and /knock#3998MadLittleMods wants to merge 3 commits intomainfrom
/join and /knock#3998Conversation
/join and /knock timestamp massaging/join and /knock timestamp massaging
/join and /knock timestamp massaging/join and /knock timestamp massaging
/join and /knock timestamp massaging/join and /knock
| @@ -0,0 +1,98 @@ | |||
| # MSC3998: Add timestamp massaging to `/join` and `/knock` | |||
There was a problem hiding this comment.
cc @ara4n as the original ?ts proposer from the old version of MSC2716
cc @tulir as an interested party in timestamp massaging (author of MSC3316 and one of the main consumers of the ?ts API)
| @@ -0,0 +1,98 @@ | |||
| # MSC3998: Add timestamp massaging to `/join` and `/knock` | |||
There was a problem hiding this comment.
It's not entirely clear to me why /createRoom is isolated from these endpoints at the moment. To ease discussion, it might make sense to merge the MSCs into a single place to catch what other endpoints might need this behaviour then break it up (if needed) prior to FCP.
There was a problem hiding this comment.
They need timestamp massaging for different reasons and alternatives vary. I think it makes more sense to split them up but it does make sense to keep the bigger picture in mind.
| In real-life scenarios, practically, this hasn't mattered much for content because the | ||
| DAG is ordered topologically and not by timestamp but is a semantic inconsistency that | ||
| is becoming more important with API's like `/timestamp_to_event` which find events by | ||
| their `origin_server_ts`. And makes things tricky for the Matrix Public Archive to | ||
| navigate history by date seamlessly assuming good intentions. |
There was a problem hiding this comment.
Add this context to the MSC: It also mattered to us in real life with historical Gitter rooms where we imported history and ran into these messy client issues:
MSC3998: Add timestamp massaging to
/join?ts=123and/knock?ts=123Rendered
Server implementations:
Other related references:
tsto allow appservices set theorigin_server_tsfor state events synapse#11866/createRoom/createRoomtimestamp massaging proposed in this MSC and mentions the/joinproblem: Add timestamp massaging to/createRoomsynapse#15346