* Switch to importing TypedEventEmitter from main js-sdk export
* Switch to importing js-sdk/matrix in cypress
* Remove duplicated imports
* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess
* Add lint rule
* Switch to importing models/Room from main js-sdk export
* Switch to importing models/room-state & models/room-member from main js-sdk export
* Fix cypress-axe import
* Fix more imports
* Fix cypress-axe import
* Fix bad merge
* Switch to importing TypedEventEmitter from main js-sdk export
* Switch to importing js-sdk/matrix in cypress
* Remove duplicated imports
* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess
* Add lint rule
* Switch to importing models/Room from main js-sdk export
* Fix cypress-axe import
* Fix more imports
* Fix cypress-axe import
* Fix duplicated lint rule
* Support adding space-restricted joins on rooms not members of those spaces
* add react dependencies
* Add snapshot test
* Fix snapshot stability
* Update snapshot
* Increase coverage
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch to importing TypedEventEmitter from main js-sdk export
* Switch to importing js-sdk/matrix in cypress
* Remove duplicated imports
* Fix lint:js-fix to run prettier last otherwise ESLint --fix may cause a mess
* Add lint rule
* Fix cypress-axe import
* Fix cypress-axe import
* Remove oobData from RoomHeader
It is never used as the RoomHeader is not shown unless a Room model exists
* Make room model mandatory on the RoomHeader
* Create useRoomName hook
Mark RoomName component as deprecated
* Pass out-of-band data to relevant RoomHeader component
* Mark LegacyRoomHeader as deprecated
* Fix incorrect search&replace in _RoomHeader.pcss
* lintfix
* Mark room as optional in room topic hook
* Fix i18n
* Discard use of useCallback
* Change export of useRoomName
* fix ts issue
* lints
* Add room topic to room header
* lintfix
* lintfix & clamp to one line
* Revert optimisations to DecoratedRoomAvatar
* Add test for opening the room summary
* Make transition honour prefer-reduced-motion
* Integrate @vector-im/compound-web
* Use compound type styles
* Use latest version of @vector-im/compound-web
* Change component name
* Fallback when room is undefined
* fix snapshot
* Create useRoomName hook
Mark RoomName component as deprecated
* Pass out-of-band data to relevant RoomHeader component
* Mark LegacyRoomHeader as deprecated
* Fix incorrect search&replace in _RoomHeader.pcss
* lintfix
* Mark room as optional in room topic hook
* Fix i18n
* Discard use of useCallback
* Change export of useRoomName
* fix ts issue
* lints
* Add room topic to room header
* lintfix
* lintfix & clamp to one line
* Revert optimisations to DecoratedRoomAvatar
* Add test for opening the room summary
* Make transition honour prefer-reduced-motion
* Fallback when room is undefined
* fix snapshot
* Create useRoomName hook
Mark RoomName component as deprecated
* Pass out-of-band data to relevant RoomHeader component
* Mark LegacyRoomHeader as deprecated
* Fix incorrect search&replace in _RoomHeader.pcss
* lintfix
* Fix i18n
* Discard use of useCallback
* Change export of useRoomName
* fix ts issue
* lints
`MatrixClient.crypto` is going away, so let's switch over to `getCrypto()`.
There doesn't seem to be anything else relying on the `crypto` stub in
`mockClientMethodsCrypto()`, so let's get rid of that.
* Remove display of Key backup signatures
This is *fiddly* to support in Element-R, and we don't really think it's
offering any value.
* update snapshot
* clean up i18n
* Prevent re-filtering user directory results in spotlight
As they were already filtered by the server and may be fuzzier than any filtering we can do locally,
e.g. matching against email addresses or other fields not available to the client
* deduplicate work
* Improve coverage
* Do not filter users post search
Signed-off-by: Maximilian Malek <maximilian.malek@uni-graz.at>
* Iterate
* Iterate
---------
Signed-off-by: Maximilian Malek <maximilian.malek@uni-graz.at>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* enable feature_intentional_mentions with v1.7
* org.matrix.msc3952.mentions -> m.mentions
* update push rules test util
* only support stable version 1.7
* use stable values for msc3952 push rules
* use stable intentional mentions rule sin test models
* unstable feature in settings controller
* force to allow calls without video and audio in embedded mode
* Check device access permission and introduce a only screen share call mode
* Fix strict typ check issue
* Fix i18n check issue
* Add unit tests for device selection
* Fix mocked media device query
* Integrate compound design tokens
The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here
* Delete unused or incorrect - sass variables
* Typography pass
* Deprecate _font-weights.pcss and use Compound instead
* lint fix
* Fix snapshot
* Fix typography pass feedback
* Remove unwanted e2e test
cypress tests should test functionality not visual output. And we should not test visual output by inspecting CSS properties
* lintfix
* Migration script for baseFontSize
* Updates after design review
* Update font scaling panel to use min/max size
* Fix custom font
* Fix font slider e2e test
* Update custom font
* Update new baseFontSizeV2
* Disambiguate heading props
* Fix appearance test
* change max font size
* fix e2ee test
* fix tests
* test baseFontSize migration code
* typescript strict
* Migrate baseFontSize account setting
* Change assertion for font size
* Fix font size controller test
* Use new `CryptoEvent.VerificationRequestReceived` event
https://github.com/matrix-org/matrix-js-sdk/pull/3514 deprecates
`CryptoEvent.VerificationRequest` in favour of
`CryptoEvent.VerificationRequestReceived`. Use the new event.
* Factor out `getDeviceCryptoInfo` function
I seem to be writing this logic several times, so let's factor it out.
* Factor out `getUserDeviceIds` function
Another utility function
* VerificationRequestToast: `getStoredDevice` -> `getDeviceCryptoInfo`
* SlashCommands: `getStoredDevice` -> `getDeviceCryptoInfo`
* MemberTile: `getStoredDevicesForUser` -> `getUserDeviceIds`
* Remove redundant mock of `getStoredDevicesForUser`
* force disable encryption on room creation
* test allowChangingEncryption
* move into utils/room directory
* tests
* unit test CreateRoomDialog
* remove debug
* wait for constructor promises to settle
* test case for force_disable
* comment
* set forced value after resolving checkUserIsAllowedToChangeEncryption
* tidy and comments
* use label text in test
* disable encryption switch in room settings when force disabled
* force disable encryption on room creation
* test allowChangingEncryption
* move into utils/room directory
* tests
* unit test CreateRoomDialog
* remove debug
* wait for constructor promises to settle
* test case for force_disable
* comment
* set forced value after resolving checkUserIsAllowedToChangeEncryption
* tidy and comments
* use label text in test
* add failing test
* WIP - pause work until we can implement with new patch release of RTE
* focus tests purely on the body output
* remove unused import
* fix logic error
* update types
* extract message content to variable
* use the new messageContent property
* sort out mention types to make them a map
* update getMentionAttributes to use AllowedMentionAttributes
* add plain text handling
* change type and handling for attributes when creating a mention in plain text
* tidy, add comment
* revert TS config change
* fix broken types in test
* update tests
* bump rte
* fix import and ts errors
* fix broken tests
* Rename classes of appTileBodyClass
Include mx_AppTileBody_fadeInSpinner in mx_AppTileBody, the class name applied by default
* Apply a common CSS declaration to mx_AppTileBody
* Strictify style rule specificity to avoid visual regressions - mx_AppTileBody--*
* Run prettier
* Change --normal to --large
* Edit and add comments
When you add, edit, or remove style rules from mx_appTileBody without causing a visual regression, it is imperative to keep in mind which selector should be worked on. The comments should help developers who are not familiar with the style codebase to avoid a regression.
* Rename classes of appTileBodyClass
Include mx_AppTileBody_fadeInSpinner in mx_AppTileBody, the class name applied by default
* Apply a common CSS declaration to mx_AppTileBody
* Strictify style rule specificity to avoid visual regressions - mx_AppTileBody--*
* Run prettier
* Change --normal to --large
* Edit and add comments
When you add, edit, or remove style rules from mx_appTileBody without causing a visual regression, it is imperative to keep in mind which selector should be worked on. The comments should help developers who are not familiar with the style codebase to avoid a regression.
* Update a Jest snapshot
* Update a Jest snapshot
* Move Room context threadId our of RoomView state
* Allow maintaining a different right panel width for thread panels
* Fix types
* Fix types
* Add tests
* Increase coverage
* Increase coverage
* Add comments
* Update src/components/structures/MainSplit.tsx
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Update references to `VerificationRequestEvent`
* Update references to `Phase`
* update references to legacy `PHASE_*` constants
* Replace `request.canAccept` with `canAcceptVerificationRequest`
* Replace `VerificationRequest` with the interface throughout
* Minor strict type fixes
* Add a couple of tests
* Add a Jest snapshot of AppPermission
* Move the test inside 'for a pinned widget' category
* Make only spinner message bold
* Set font size specified with "mx_AppPermission_smallText" by default
- Add "mx_AppPermission_largeText" for elements whose size has not been specified with mx_AppPermission_smallText
- Create _AppWarning.pcss for AppWarning
* Make AppPermission panel scrollable, keeping the content at the center
* Run prettier
* Use Heading component
* Use Icon component
* Fix the test
* Add a snapshot to track AppTile in AppsDrawer
* Conform to the naming policy - AppsContainer resizer
* Nest 'mx_AppsContainer_resizer_container_handle' to enforce the style
- mx_AppsContainer_resizer
- mx_AppsContainer_resizer_container
- mx_AppsContainer_resizer_container_handle
* Rename "mx_AppsContainer_resizer" to "mx_AppsDrawer_resizer"
PersistentVResizer is defined by mx_AppsDrawer (see const "classes")
* get rough funcitonality working
* try to tidy up types
* fix merge error
* fix signature change error
* type wrangling
* use onBeforeInput listener
* add onBeforeInput handler, add logic to onPaste
* fix type error
* bring plain text listeners in line with useInputEventProcessor
* extract common function to util file, move tests
* tidy comment
* tidy comments
* fix typo
* add util tests
* add text paste test
* add comments to rough first solution
* allow eventRelation prop to pass to both composers
* use eventRelation in image paste
* add image pasting to rich text mode of rich text editor
* extract error handling to function
* type the error handler
* add tests
* make behaviour mimic SendMessage
* add sad path tests
* refactor to use catch throughout
* update comments
* tidy up tests
* add special case and change function signature
* add comment
* bump rte to 2.2.2
* Use new `VerificationRequest.getQRCodeBytes()`
* Use new `VerificationRequest.otherDeviceId`
* Remove references to `VerificationRequest.channel`
* Replace references to `VerificationRequest.{requesting,receiving}UserId`
Normally these are guarded by `request.initiatedByMe` so we can trivially
replace it with `request.otherUserId` or `client.getUserId()`. In one place we
actually need to apply some logic.
* increase test coverage
* Even more test coverage
* Even more test coverage
* Use `getShowSasCallbacks()` and `getShowQrCodeCallbacks()`
... instead of type-casting
* Update method names
These methods got renamed in the js-sdk PR
* Fix strict typing errors
* Inline `VerificationRequest.{invalid,ready,started,done,cancelled}`
These methods are all just shortcuts for checks on `phase`, so let's get rid of
them
* update test
* Add some more tests
* even more coverage
* fix tests
* add aria-label to default homeserver checkbox
* test ServerPickerDialog
* remove debug
* strict fixes
* dont validate unselected server field on ServerPickerDialog
* i18n
* account password section
* account email and phone numbers
* update cypress selectors
* use settingsection for General section
* use semantic headings for profile settings
* fix show advanced spacing
* udpate snapshot
* use semantic headings in mjolnir settings
* remove debug
* unit test UI changes for mjolnir settings
* account password section
* account email and phone numbers
* update cypress selectors
* use settingsection for General section
* use semantic headings for profile settings
* fix show advanced spacing
* udpate snapshot
* Basic test for IncomingSasDialog
* Basic test for VerificationPanel
* Replace references to IGeneratedSas and ISasEvent
* Some secret references to the callbacks types
* Update references to `QrCodeEvent`, `SasEvent` and `VerificationEvent`
* Update tests to demonstrate broken behaviour
* Fixes and comments
* Remove exception swallowing
This seems like it causes more problems than it solves.
* Use aria descriptions instead of labels for TextWithTooltip
to prevent clobbering the reading of the content
* Update snapshot
* Fix snapshots
* Iterate
* Update snapshots
* delint