* 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
* 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
* 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
* 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>
* Update our cancel icon
The cancel icon we're using in the app has drifted out of sync with the ones used in our designs. We also had two identical-looking icons, so this consolidates them into one.
I've simultaneously updated our chevron icons, since in the case of the 'jump to unread' timeline button, it became clear that the weight of the new close icon did not match the thinner chevron.
* Don't squish bottom/top-aligned tooltips near the edge of the screen
* Close the timeline panel when returning to the fullscreen timeline view
* Add layout switching capabilities to ElementCall
* Bring the room header in line with the group call designs
* Bring the PiP header in line with the group call designs
* Fix lints
* Clarify tooltip CSS calculations
* Test PipView
* Expand RoomHeader test coverage
* Test PipView more
* Spike AXE A11Y testing in Cypress
* Fix NewRoomIntro breaking html/aria list rules
* Fix HeaderButtons breaking aria role semantics rules
* missing type
* Switch left panel from aside to nav and include space panel
* Give the page a main heading of the room name when viewing a room
* Use header landmark on RoomHeader
* Improve aria attributes on composer when autocomplete is closed
* Fix aria-owns on RoomHeader
* Give Spinner an aria role
* Give server picker help button an aria label
* Improve auth aria attributes and semantics
* Improve heading semantics in use case selection screen
* Fix autocomplete attribute to be valid
* Fix heading semantics on login page
* Improve Cypress axe testing
* Add axe tests
* Stop synapse after the timeline tests
* Await spinners to fade before percy snapshotting timeline tests
* Improve naming of plugin
* Update snapshots
* Fix accidental heading change
* Fix double synapse stoppage
* Fix Cypress timeline avatar assertions to be DPI agnostic
* Fix aria attributes on date separators
* delint
* Update snapshots
* Revert style change
* Skip redundant call
* live location without map POC
* styles
* force map tiles to show no map for test build
* check latestlocationstate exists
* just use loading style map fallback when cant display map
* style map error for tile view
* set pointer cursor when map error is clickable
* test mbeaconbody with map display error, lint
* lint more good
* remove changes for first attempt tile
* make maperror test id more accurate
* fussy import ordering
* PR tweaks
* add role=presentation to backdrop panle image
* replace img icons with svg components in InviteDialog
* replace img icon with svg component
* img icons to svg icons in MImageBody
* remove log
* img icon to svg in SecurityRoomSettingsTab
* use shared error message for media message tiles
* remove nbsp
* dont snapshot test entire rtl render response
* use aria-describedby for uploadconfirm preview
* use aria-labelledby instead
* redact beacon locations on redaction
* redact beacon locations on beacon info redaction
* fussy import ordering
* use real fake redaction in beaconbody test
* Remove all mentions of Piwik
* Kill off all consumer of the old Piwik Analytics module
* Simplify ModalManager interface
* i18n
* Attempt to fix old e2e tests
* Remove unused component
* Iterate PR
* Use updates stable relations from js-sdk
* Relations is now accessible on the Room instead
* Reuse more existing code and ditch confusing `isThreadRelation`
* Fix last usage of removed `isThreadRelation`
* Update tests to match removal of isThreadRelation
* Tweak method naming to closer match spec
* Fix missing method name change
* test most basic paths in messageactionbar
Signed-off-by: Kerry Archibald <kerrya@element.io>
* tidy
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use rtl for MessageActionBar test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* make beacon_info events semi actionable
Signed-off-by: Kerry Archibald <kerrya@element.io>
* remove log
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test thread exception for beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* eat click events in beacon status to stop jumping from reply tile
Signed-off-by: Kerry Archibald <kerrya@element.io>
* set max width on beaconbody for render in thread panel
* Don't linkify code blocks
Signed-off-by: Robin Townsend <robin@robin.town>
* Put the linkify ignoreTags option in the right place
Signed-off-by: Robin Townsend <robin@robin.town>
* Add code to list of ignored linkification tags as well
Signed-off-by: Robin Townsend <robin@robin.town>
* Test that code blocks skip linkification
Signed-off-by: Robin Townsend <robin@robin.town>
* Move test to the right spot
Signed-off-by: Robin Townsend <robin@robin.town>
* Use a snapshot instead for test
Signed-off-by: Robin Townsend <robin@robin.town>
* open a dialog with map centered around first beacon
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add room member markers
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fix unmount issue in smart marker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* dont throw on no more live locations
Signed-off-by: Kerry Archibald <kerrya@element.io>
* cursor on beacon maps
Signed-off-by: Kerry Archibald <kerrya@element.io>
* fussy import ordering
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test dialog opening from beacon body
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test beaconmarker
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test BeaconViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io>
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use unstable prefix for wk tile_Server
Signed-off-by: Kerry Archibald <kerrya@element.io>
* unstable prefix for new m.tile_server use in test
Signed-off-by: Kerry Archibald <kerrya@element.io>
* Don't pillify code blocks
Signed-off-by: Robin Townsend <robin@robin.town>
* Test that pills do not appear in code blocks
Signed-off-by: Robin Townsend <robin@robin.town>
* Use snapshot instead for test
Signed-off-by: Robin Townsend <robin@robin.town>
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Dariusz Niemczyk <dariuszn@element.io>
Co-authored-by: Timo K <toger5@hotmail.de>
With this pr all href use matrix matrix.to links. As a consequence right-click copy link will always return get you a sharable matrix.to link.
* Move all polls processing to events-sdk
This makes polls support the full range of extensible events (both parsing and generation).
* Appease the linter
* Fix & update tests
* Update events-sdk for polls bugfix
* Update events-sdk for typechecking
* Add missing type cast
* Update per review
* add disabler elative dates setting
Signed-off-by: Kerry Archibald <kerrya@element.io>
* test existing DateSeparator
Signed-off-by: Kerry Archibald <kerrya@element.io>
* use full date format when TimelineDisableRelativeDates is truthy
Signed-off-by: Kerry Archibald <kerrya@element.io>
* add comment
Signed-off-by: Kerry Archibald <kerrya@element.io>
* flip timelineDisableRelativeDates -> timelineEnableRelativeDates to fit convention
Signed-off-by: Kerry Archibald <kerrya@element.io>
* mock date constructor in test
Signed-off-by: Kerry Archibald <kerrya@element.io>