* Use sender if sticker picker widget does not have creatorUserId
* Add creatorUserId when creating sticker picker widgets
* Add e2e test for stickerpicker widget missing creatorUserId
* Fix stickerpicker widget event data in e2e tests
* Fix userId in stickerpicker e2e tests
* Fix linter errors
Implements the intentional mentions feature of MSC3952 (behind
a labs flag).
If enabled, this will send an org.matrix.msc3952.mentions property
on events that will contain the user IDs and/or whether the room is
being mentioned. These mentions also gets propagated via some
custom behaviour for replies and edits.
Error before:
```
Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>.
at div
at AccessibleButton (webpack-internal:///470:43:7)
at span
at p
at li
at NewRoomIntro (webpack-internal:///2063:77:71)
at ol
at div
at div
at AutoHideScrollbar (webpack-internal:///1020:37:5)
at ScrollPanel (webpack-internal:///1106:69:5)
at ErrorBoundary (webpack-internal:///2070:47:5)
at MessagePanel (webpack-internal:///2060:169:5)
at TimelinePanel (webpack-internal:///2095:113:5)
at div
at div
at div
at MainSplit (webpack-internal:///2019:31:5)
at ErrorBoundary (webpack-internal:///2070:47:5)
at main
at RoomView (webpack-internal:///2018:330:5)
at div
at div
at div
at LoggedInView (webpack-internal:///1907:130:5)
at ErrorBoundary (webpack-internal:///2070:47:5)
at MatrixChat (webpack-internal:///1900:234:5)
```
* Apply `strictNullChecks` to `src/components/views/room_settings/*`
* Restore tsconfig.json
* Conform more code to `strictNullChecks`
* Iterate
* Update matrix-widget-api
* Conform more code to `strictNullChecks`
When previewing a room, we normally do not have a Room object. Currently, when the RoomPreviewBar is instantiated without a room, it doesn't raise the PreviewRoomNotLoggedIn and JoinFromRoomPreview module lifecycle events, meaning that modules are unable to intercept previews of non-peekable rooms.
To fix this, make sure that we pass the room ID into RoomPreviewBar irrespective of whether we have a Room object, and use it to raise the module lifecycle events.
Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
* Switch to linkify-react instead of our faulty implementation
Fixes a series of soft crashes where errors include "The node to be removed is not a child of this node."
* Improve types
* Fix types
* Update snapshots
* Add test
* Fix test
* wip
* remove dupe
* use poll model relations in all cases
* update mpollbody tests to use poll instance
* update poll fetching login in pinned messages card
* add pinned polls to room polls state
* add spinner while relations are still loading
* handle no poll in end poll dialog
* strict errors
* strict fix
* more strict fix
* Applies small changes to code block display in timeline
* Makes the composer code block look like the timeline display, but without line numbers
* Adds a button to allow code blocks to be implemented
* Adds tests for the new button