### Tasks
- [x] Tests for getVisibleRooms https://github.com/matrix-org/matrix-js-sdk/pull/3038
- [x] Factor out a function to find a room predecessor https://github.com/matrix-org/matrix-js-sdk/pull/3039
- [x] Tests for getRoomUpgradeHistory https://github.com/matrix-org/matrix-js-sdk/pull/3088
- [x] Fix the bug in getRoomUpgradeHistory (tests are cool) https://github.com/matrix-org/matrix-js-sdk/pull/3089
- [x] Refactor to use the new function for finding predecessors https://github.com/matrix-org/matrix-js-sdk/pull/3090
- [x] Adapt getVisibleRooms and getRoomUpgradeHistory to allow using predecessor events when enabled https://github.com/matrix-org/matrix-js-sdk/pull/3042
- [x] Add to the API the ability to get the tombstone event ID as well as the room predecessor ID (rename it findPredecessor) https://github.com/matrix-org/matrix-js-sdk/pull/3095
### Tasks
- [x] vector-im/element-web#24322
- [x] ⭐ vector-im/element-web#24323
- [x] vector-im/element-web#24324
- [x] ⭐ vector-im/element-web#24325
- [x] vector-im/element-web#24326
- [x] vector-im/element-web#24327
- [x] vector-im/element-web#24328
### Tasks
- [x] https://github.com/vector-im/element-web/issues/24417
- [ ] https://github.com/vector-im/element-web/issues/24453
- [x] https://github.com/vector-im/element-web/issues/24611
- [x] https://github.com/vector-im/element-web/issues/24480
Implement MSC3946 in matrix-js-sdk:
Implement MSC3946 in matrix-react-
Other
De-scoped for now:
<img src="files.gitter.im/...">, replace external images with alt text instead of completely stripping them out #4044Internal references
myhours: https://app.myhours.com/#/projects/1994529/overview