* 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
* render a poll body that errors for poll end events
* add fetching logic to pollend tile
* extract poll testing utilities
* test mpollend
* strict fix
* more strict fix
* strict fix for forwardref
* add filter component
* update poll test utils
* add unstyled filter tab group
* filtertabgroup snapshot
* lint
* update test util setupRoomWithPollEvents to allow testing multiple polls in one room
* style filter tabs
* test error message for past polls
* sort polls list by latest
* extract poll option display components
* strict fixes
* 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
* render a poll body that errors for poll end events
* add fetching logic to pollend tile
* extract poll testing utilities
* test mpollend
* strict fix
* more strict fix
* strict fix for forwardref
* update poll test utils
* implicit anys
* tidy and add jsdoc
* 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
* Add option to show full identifier as tooltip on sender profiles
* Show full user id as tooltip on threads list entries
* Fix broken threads list timestamp layout
Previously, thread list timestamps would overflow
into the unread messages bubble on the right.
This is fixed by resetting the width of the
timestamp and ensuring both the timestamp and the
display name can shrink if necessary.
Both now also use ellipses if necessary.
* Use js-sdk imports for poll event types instead of events-sdk
* Attempt to appease some tsc --strict errors
* Manually create poll response in cypress test
* Remove extensible events v1 experimental rendering
With the changes to extensible events in v2 largely being contained to a room version, we don't need to have this code or the labs flag anymore. If the labs flag becomes useful in the future, it will be re-added.
* Run prettier
* Improve decryption error UI by consolidating error messages and providing instructions when possible
* Fix TS strict errors
* Rename .scss to .pcss
* Avoid accessing clipboard, Cypress doesn't like it
* Display DecryptionFailureBar alongside other AuxPanel bars
* Add comments
* Add small margin off-screen for visible decryption failures
* Fix some more TS strict errors
* Add unit tests for DecryptionFailureBar
* Add button to resend key requests manually
* Remove references to matrix-js-sdk crypto internals
* Add hysteresis to visible decryption failures
* Add comment
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Add comment
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Don't create empty div if we're not showing resend requests button
* cancel updateSessions on unmount
* Update unit tests
* Fix lint and implicit any
* Simplify visible event bounds checking
* Adjust cypress test descriptions
* Add percy snapshots
* Update src/components/structures/TimelinePanel.tsx
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Add comments on TimelinePanel IState
* comment
* Add names to percy snapshots
* Show Resend Key Requests button when there are sessions that haven't already been requested via this bar
* We no longer request keys from senders
* update i18n
* update expected text in cypress test
* don't download keys ourselves, update device info in response to updates from client
* fix ts strict errors
* visibledecryptionfailures undefined handling
* Fix implicitAny errors
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Show day counts in call durations
Previously call durations over a day long would be truncated, for example displaying as '2h 0m 0s' instead of '1d 2h 0m 0s'.
* Fix strict mode errors
* Fix strings
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Give reply tile an avatar
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Improve `in reply to`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Drop `In reply to` for `Expand thread`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Fix avatar alignment
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Fix default avatar alignment
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Simplifie code
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Simplifie some more code
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Make replies lighter
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Give replies a hover effect
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Revert changes to sender profile in replies
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Improve padding
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Increase line height of replies
to keep descenders from being cut off, and generally give them more room
to breathe.
Signed-off-by: Robin Townsend <robin@robin.town>
* Replace reply hover effect with a color change
Signed-off-by: Robin Townsend <robin@robin.town>
* Replace expand thread hover effect with an opacity change
Signed-off-by: Robin Townsend <robin@robin.town>
* Simplify image and sticker reply designs
Signed-off-by: Robin Townsend <robin@robin.town>
* Revise file and deleted message padding to match new reply layout
Signed-off-by: Robin Townsend <robin@robin.town>
* Remove unneeded CSS
Since the download button for files got moved out of the timeline and
into the message action bar, hiding it manually is no longer necessary.
Signed-off-by: Robin Townsend <robin@robin.town>
* Hide edited indicator from replies
There are a few reasons for this: it adds visual noise to what is meant
to be a brief preview, it can sometimes add an extra line to the reply
preview, and clicking on it inside a reply was broken due to the
stacking of event listeners.
Signed-off-by: Robin Townsend <robin@robin.town>
* Fix i18n
Signed-off-by: Robin Townsend <robin@robin.town>
* "Expand thread" -> "Expand replies"
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Add a missing import
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Remove unused import
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Remove unused import
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Use `this.state`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Fix sender profile confusion
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
* Implement suggested changes
* Make "In reply to" the same color as reply previews
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
Signed-off-by: Robin Townsend <robin@robin.town>
Co-authored-by: Robin Townsend <robin@robin.town>
* Use native js-sdk group call support
Now that the js-sdk supports group calls natively, our group call implementation can be simplified a bit. Switching to the js-sdk implementation also brings the react-sdk up to date with recent MSC3401 changes, and adds support for joining calls from multiple devices. (So, the previous logic which sent to-device messages to prevent multi-device sessions is no longer necessary.)
* Fix strings
* Fix strict type errors
* Fix getRelationsForEvent tsc strictness
* Use shared type for GetRelationsForEvent
* Fix lint
* Add alternative type
* getRelationsForEvent is not required
* Relations are optional
* Reactions are optional
* We expect relations in these tests
* Add more protection if the eventID is not defined
* Allow null too
* Better test typing
* User ID is not necessary unless something is selected
* It's okay to [].includes(null)
* Null is as good as undefined here
* Null or undefined is good here
* We have some expectations for the tests
* The room and user can be undefined too
* Protec
* Reactions are optional
* Try match signatures
* Null or undefined
* More null or undefined
* Protec
* Fix typo (wrong variable)
* Remove optional params
See https://github.com/matrix-org/matrix-react-sdk/pull/9558#discussion_r1017515913
* Fix up last maaaaybe relevant lint
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>