Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add e2e tests that use fully timestamp massaged rooms #169

Open
4 tasks
MadLittleMods opened this issue Apr 13, 2023 · 0 comments
Open
4 tasks

Add e2e tests that use fully timestamp massaged rooms #169

MadLittleMods opened this issue Apr 13, 2023 · 0 comments
Labels
A-testing Testing, end-to-end (e2e), integration, unit tests T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Comments

@MadLittleMods
Copy link
Contributor

MadLittleMods commented Apr 13, 2023

Currently, we can only timestamp massage the events sent in the room after creation using /send?ts=123 and /state?ts=123 but this leaves the primordial room creation and federated join/membership events still at current time which throws things off sometimes.

I've created a few MSC's to track getting us to fully timestamp massaged rooms that appear to be created back in time:

  • MSC3997: Add timestamp massaging to /createRoom?ts=123
  • MSC3998: Add timestamp massaging to /join?ts=123 and /knock?ts=123

Also tracked in Synapse by matrix-org/synapse#15346

But it's also good to test the scenario with our current flawed setup. This is basically what the Gitter historical rooms look like where the room creation happened at time A and the events look like they were sent before time A.

Todo

  • Create/wait for unstable versions in Synapse to use
  • Add test variations for fully timestamp massaged rooms
  • Keep test variation around for partial timestamp massaged rooms as we have now (useful to make sure Gitter-like historical rooms work)
  • Add more tests for timestamp loop situations in the timeline
@MadLittleMods MadLittleMods added T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks. A-testing Testing, end-to-end (e2e), integration, unit tests labels Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testing Testing, end-to-end (e2e), integration, unit tests T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Projects
None yet
Development

No branches or pull requests

1 participant