This repository was archived by the owner on Sep 11, 2024. It is now read-only.
Avoid cyclic dependencies by moving watchers out of constructor #6287
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Fixes element-hq/element-web#17836
There is a cyclic dependency only when spaces are enabled between
SpaceStoreSpaceWatcherRoomListStoreThis regression was introduced by #6283 which only happened to change the loading order of components by chance in
src/component-index.js.A proper fix might be to have layer boundaries and ensure that things are only referenced in a certain direction to avoid this kind of issue. Or to maybe have a
.start()method that would initialise things outside of the construction phaseIn this case it takes a bit of a hybrid approach and delays the watchers setup to when the application notifies it is ready