famedly / matrix-dart-sdk

Matrix SDK written in pure Dart.
GNU Affero General Public License v3.0
62 stars 32 forks source link

fix state handling after invite #1726

Closed nico-famedly closed 8 months ago

nico-famedly commented 8 months ago

This fixes a few issues I found while investigating a bug when doing an automated test with several clients creating and joining rooms. It mostly affects how we transition to a joined room after being in the invite state and in particular what members we consider joined in such cases.

This is split up into several commits to explain the issues in detail (and to make git-blame more useful for these changes in the future) and the last commit adds a testcase illustrating the issue, that failed before applying these changes.

The one change I am unsure about is the one about the Event timestamp. It might cause a few unexpected issues and the other commits are sufficient to fix this issue as well. However I do think it is still better to change that logic as well.