* StickerPicker: update when accountdata is updated
This was incorrectly listening for in-room account data; in fact `m.widgets` is
global account data.
Fixes some flaky cypress tests.
* another ref
* split SettingsSection out of SettingsTab, replace usage
* correct copyright
* use semantic headings in GeneralRoomSettingsTab
* use SettingsTab and SettingsSubsection in room settings
* fix VoipRoomSettingsTab
* use SettingsSection components in space settings
* settingssubsection text component
* use semantic headings in HelpUserSetttings tab
* use ExternalLink components for external links
* test
* strict
* lint
* semantic heading in labs settings
* semantic headings in keyboard settings tab
* semantic heading in preferencesusersettingstab
* tidying
* use new settings components in eventindexpanel
* findByTestId
* prettier
* semantic headings and style refresh for crypto settings
* e2e panel
* semantic headings and cleanup in Sidebar user settings
* semantic heading in voice user settings
* sonarcloud bug and test
* split SettingsSection out of SettingsTab, replace usage
* correct copyright
* use semantic headings in GeneralRoomSettingsTab
* use SettingsTab and SettingsSubsection in room settings
* fix VoipRoomSettingsTab
* use SettingsSection components in space settings
* settingssubsection text component
* use semantic headings in HelpUserSetttings tab
* use ExternalLink components for external links
* test
* strict
* lint
* semantic heading in labs settings
* semantic headings in keyboard settings tab
* semantic heading in preferencesusersettingstab
* tidying
* use new settings components in eventindexpanel
* findByTestId
* prettier
* semantic headings and style refresh for crypto settings
* e2e panel
* test cross signing panel
* strict
* more strict
* tweak
* test eventindexpanel
* strict fixes
* Fix class names - from m_ to mx_
* Move mx_RoomView_auxPanel from _RoomView.pcss to _AuxPanel.pcss
The class name 'mx_RoomView_auxPanel' belongs to AuxPanel, not RoomView
* Correct naming
* Strictify: mx_RoomView_auxPanel *
* Nest mx_AuxPanel_stateViews_span
* Sort
* Run prettier
* Use custom properties
* Revert "Use custom properties"
This reverts commit fe720d05f4572e74e71887203d43c491f0723a92.
* Hide MessageActionBar on message edit history dialog if neither redact nor view source button is rendered inside it
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Revert "Hide MessageActionBar on message edit history dialog if neither redact nor view source button is rendered inside it"
This reverts commit 247e7d2c8f3a5e2979c93f6a8c31d47d540cc186.
* Iterate - Hide MessageActionBar on message edit history dialog if neither redact nor view source button is rendered inside it
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Feedback
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix roving tab index getting confused after dragging space order
* Fix roving tab index for drag reordering
* delint
* Add test
* Make types happier
* Remove snapshot
* allow testids in settings sections
* use semantic headings in LabsUserSettingsTab
* put back margin var
* use SettingsTab wrapper
* use semantic headings for deactivate acc section
* use semantic heading in manage integratios
* i18n
* explicit cast to boolean
* Update src/components/views/settings/shared/SettingsSubsection.tsx
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* test manage integration settings
* test deactivate account section display
* remove debug
* fix cypress test
---------
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* settingssubsection text component
* use semantic headings in HelpUserSetttings tab
* test
* strict
* lint
* semantic heading in labs settings
* semantic headings in keyboard settings tab
* semantic heading in preferencesusersettingstab
* tidying
* findByTestId
* prettier
* allow testids in settings sections
* use semantic headings in LabsUserSettingsTab
* use semantic headings in usersettingspreferences
* rethemendex
* put back margin var
* allow testids in settings sections
* use semantic headings in LabsUserSettingsTab
* use semantic headings in usersettingspreferences
* rethemendex
* put back margin var
* Replace: %s/mx_RightPanel_headerButton/mx_RoomHeader_button/g
* Conform the selectors to our naming policy: with flag (--)
- %s/mx_RoomHeader_button_highlight/mx_RoomHeader_button--highlight/g
- %s/mx_RoomHeader_button_unread/mx_RoomHeader_button--unread/g
* Update a Jest snapshot
* Move the declarations and Sass variables
- Move Sass variables to the place where they are used
* insert mentions as links styled as pills
* post merge fix and update test
* update comments, move typeguard out
* create a text node instead of setting innerText
* update test
* update test
* fix broken cypress test, remove .only
* make it able to deal with inserting in middle of blank lines
* update comment
* fix strict null error
* use typeguard
* avoid implicit truth check
* add hook tests
* add comment
* Update test/components/views/rooms/wysiwyg_composer/hooks/usePlainTextListeners-test.tsx
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
---------
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* Separate mx_AppWarning and mx_AppPermission
* Remove mx_AppPermission_row for a type selector
* Nest: mx_AppPermission
* Run prettier
* Create a CSS file for AppPermission
* allow testids in settings sections
* use semantic headings in LabsUserSettingsTab
* put back margin var
* explicit cast to boolean
* Update src/components/views/settings/shared/SettingsSubsection.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>
* Send correct receipts when viewing a room
* Fix strict type issues
* Handle promises
* Handle more primises
* Add generic array type
* Replace existende check with type predicate
* Fix wrong variable check
* Improve comment about initial read marker
* Use read_markers API for fully read receipts
* Log public receipt fallback
* Rename variables in new code to be aligned to the spec
* Add end-2-end test for read markers and receipts
* Optimize mx_RoomView_myReadMarker
- Replace the compound selector with a type selector
- Nest the type selector in "mx_RoomView_myReadMarker_container"
* Conform the style rules to the naming policy
Including "container" in a class name is redundant as our naming policy tells that a string followed by an underscore (_) represents a container if it contains an element.
* Run prettier
* Replace `mx_RoomView_myReadMarker hr` with `mx_RoomView_myReadMarker`
- Remove a unit
- Hide hr's parent (mx_RoomView_myReadMarker) on Percy snapshots
* Change the class name from `mx_RoomView_myReadMarker` to `mx_MessagePanel_myReadMarker`
The read marker is specified on MessagePanel.tsx, and should be named so to avoid confusion.
- Create _MessagePanel.pcss for the style rules of MessagePanel
* Update permalinks.spec.ts
* Fix the state shown for call in rooms
We split out a separate state for 'missed' separate to 'ended' which
caused confusion as the state got set to this when it shouldn't have,
so calls that wouldn't have been shown as missed were.
Remove the csutom call state and just have the missed state as a
variant of the ended state. Re-order the if clauses so they hit the
right ones. Also don't pass the callState variable into renderContent()
which is a class method and so has access to the same info anyway.
* Fix test
* i18n (reorder only)
* Fix test
* Fix types
* Add test for legacy call event tile
* Update @types/jest to 29.2.6
This adds the correct types for the contexts field on mock objects, which I'll need shortly
* Enable pagination for overlay timelines
* Nesting: `mx_GeneralUserSettingsTab_changePassword`
* Nesting: `mx_Spinner`
* Conform the style rules to the naming policy
For elements inside "mx_GeneralUserSettingsTab_accountSection" and "mx_GeneralUserSettingsTab_discovery"
* Conform `mx_GeneralUserSettingsTab_discovery_existing*` to the naming policy
* Add regression test for emoji picker order mangling after clearing filter
* Fix regression in emoji picker order mangling after clearing filter
* Iterate
* Update src/components/views/emojipicker/EmojiPicker.tsx
* fix matrix search link
* fix matrix search link
Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
* fix: allow full link search
Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
* fix: allow full link search on new search feature
Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
* improve transformSearchTerm function
Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
* improve transformSearchTerm function
Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
* add review changes
* Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
added review correction
changed the transformSearchTerm function to use parsePermaLink
removed extra spaces
* add angle brackets to copyright email title
* removed extra space
Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
* Update src/utils/SearchInput.ts
Co-authored-by: Travis Ralston <travpc@gmail.com>
* fixed spolight dialog search for room and user links
* added tests for transformSearchTerm
* removed transformSearchTerm from room search bar
* replaces two test cases to one that should return the primaryEntityId if the search term was a permalink
* corrected ts issues
* changed type of transformSearchTerm to string
* changed return value from empty string to the original search term if the primaryEntityId of the parsedLink is null
* changed return value from empty string to the original search term if the primaryEntityId of the parsedLink is null
* refactored transformSearchTerm and added a new test case
* rewrote transformSearchTerm doc
* changed mocked return values of test case - should return the original search term if the search term is a permalink and the primaryEntityId is null
* lint corrections
---------
Signed-off-by: Boluwatife Omosowon <boluomosowon@gmail.com>
Co-authored-by: Boluwatife Omosowon <boluwatifeomosowon@Jesus-Loves-You.local>
Co-authored-by: Travis Ralston <travpc@gmail.com>
* Nesting: mx_AppLoading
* Conform class and animation name to the naming policy
* Nesting for maintainability, preventing the rule from becoming an orphan
* Rename the class: mx_AppLoading to mx_AppTile_loading
* Remove a mixin - mx_Tooltip_dark
The mixin has been used on `_AppsDrawer.pcss` only.
* Rename mx_Tooltip_dark based on the naming policy
'mx_Tooltip_dark' has been used on `AppPermission.tsx` only.
* Remove `_HeaderButtons.pcss`
Now that mx_HeaderButtons class is no longer necessary as ARIA "tabpanel" role has been removed from it, it is possible to remove both the class and the style rule for it.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Tests: add `room-header.spec.ts` and edit the existing tests
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Edit snapshot widths settings
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix typo
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Edit a comment
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Optimize a test to check default buttons
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Check highlighted buttons
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Loop
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* change interface to discriminated union
* fix ts errors
* use definite assertion operator
* use | undefined, instead of assertion operator
* correct the button press arguments for dial button
* update props to have `Props` suffix
* add comment
* remove unnecessary default
* remove unnecessary comment
* make classname match filename
* setup test file
* export consts for testing
* add initial test
* add another DialPad test
* fix imports
* Nesting: `mx_ResizeHandle`
* Nesting: `> div`
* Run prettier
* Use a custom property
* Remove a redundant declaration: `cursor: row-resize`
The resizer is either vertical or horizontal, and since `cursor: row-resize` is applied by default, it does not need to be repeated here.
* Conform the class names to the naming policy
* Revert "Use a custom property"
This reverts commit 6116939eec7d9e4220b89a638623e5876e143adf.
* Add `invite-dialog.spec.ts`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply the latest status
The ARIA role of the buttons in 'mx_HeaderButtons' was recently changed from 'tab' to 'button'
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* split SettingsSection out of SettingsTab, replace usage
* correct copyright
* use semantic headings in GeneralRoomSettingsTab
* use SettingsTab and SettingsSubsection in room settings
* fix VoipRoomSettingsTab
* use SettingsSection components in space settings
* settingssubsection text component
* use semantic headings in HelpUserSetttings tab
* use ExternalLink components for external links
* test
* strict
* lint
* Rename: `mx_ExistingPhoneNumber_*` to `mx_PhoneNumber--existing_*`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Rename: `mx_ExistingEmailAddress_*` to `mx_EmailAddress--existing_*`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge styles for maitainability: `mx_GeneralUserSettingsTab_discovery_existing_*`
`mx_EmailAddress--existing_*` and `mx_PhoneNumber--existing_*` adopt the same declarations, so maintaining them with common selectors should improve the maintainability.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com
* Rename: `mx_EmailAddress--existing_*` and `mx_PhoneNumber--existing_*` to `mx_GeneralUserSettingsTab_discovery_existing_*`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove empty selectors
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove a duplicate selector: `.mx_GeneralUserSettingsTab_discovery--existing`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Rename the button
The button with the class name 'mx_GeneralUserSettingsTab_discovery_existing_button' is used for various types of action, so 'confirm' seems to be a bit misleading.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include: `mx_GeneralUserSettingsTab_discovery_existing_*`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Run prettier
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* lint
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Review
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com
* split SettingsSection out of SettingsTab, replace usage
* correct copyright
* use semantic headings in GeneralRoomSettingsTab
* use SettingsTab and SettingsSubsection in room settings
* fix VoipRoomSettingsTab
* use SettingsSection components in space settings
* split SettingsSection out of SettingsTab, replace usage
* correct copyright
* use semantic headings in GeneralRoomSettingsTab
* use SettingsTab and SettingsSubsection in room settings
* fix VoipRoomSettingsTab
There was a race condition somewhere which would cause a soft crash
of the whole app because WidgetPip here gets the currently active
widget given a widget ID and room, but this can race and be null.
Co-authored-by: Janne Mareike Koschinski <janne@kuschku.de>
* add the handlers for when autocomplete is open plus rough / handling
* hack in using the wysiwyg autocomplete
* switch to using onSelect for the behaviour
* expand comment
* add a handle command function to replace text
* add event firing step
* fix TS errors for RefObject
* extract common functionality to new util
* use util for plain text mode
* use util for rich text mode
* remove unused imports
* make util able to handle either type of keyboard event
* fix TS error for mxClient
* lift all new code into main component prior to extracting to custom hook
* shift logic into custom hook
* rename ref to editorRef for clarity
* remove comment
* try to add cypress test for behaviour
* remove unused imports
* fix various lint/TS errors for CI
* update cypress test
* add test for pressing escape to close autocomplete
* expand cypress tests
* add typing while autocomplete open test
* refactor to single piece of state and update comments
* update comment
* extract functions for testing
* add first tests
* improve tests
* remove console log
* call useSuggestion hook from different location
* update useSuggestion hook tests
* improve cypress tests
* remove unused import
* fix selector in cypress test
* add another set of util tests
* remove .only
* remove .only
* remove import
* improve cypress tests
* remove .only
* add comment
* improve comments
* tidy up tests
* consolidate all cypress tests to one
* add early return
* fix typo, add documentation
* add early return, tidy up comments
* change function expression to function declaration
* add documentation
* fix broken test
* add check to cypress tests
* update types
* update comment
* update comments
* shift ref declaration inside the hook
* remove unused import
* update cypress test and add comments
* update usePlainTextListener comments
* apply suggested changes to useSuggestion
* update tests
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* hack to fix console noise from unfaked timers and clearAllModals
* remove old debug logging in AsyncWrapper
* pass room to room settings tabs
* add errorboundary for roomsettingsdialog
* apply strictnullchecks to tabs/room
* dedupe code to set toom in roomsettingdialog
* add unit tests
* test SecurityRoomSettingsTab
* remove snapshot
* strict fixes
* more tests
* 2% more test coverage
* remove roomName from RoomSettingsDialogs state
* Fix all rooms search generating permalinks to wrong room id
* Iterate
* Add comment
* Iterate
* Add coverage
* Iterate
* Add comment
* Restore src/utils/permalinks/Permalinks.ts
* Update src/components/structures/RoomSearchView.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>
* Use `getUserDeviceInfo` instead of `downloadKeys` and `getStoredDevicesForUser`
* Use new `getUserDeviceInfo` api in `UserInfo.tsx` and `UserInfo-test.tsx`
* Fix missing fields
* Use `getUserDeviceInfo` instead of `downloadKeys`
* Move `ManualDeviceKeyVerificationDialog.tsx` from class to functional component and add tests
* Fix strict errors
* Update snapshot
* Add snapshot test to `UserInfo-test.tsx`
* Add test for <BasicUserInfo />
* Remove useless TODO comment
* Add test for ambiguous device
* Rework `<BasicUserInfo />` test
* RovingTabIndex handle looping around start/end
* Make TabbedView expose aria tabpanel/tablist/tab roles
* Fix right panel being wrongly specified as aria tabs
Not all right panels map to the top right header buttons so we cannot describe it as a tabpanel relation
* tsc strict
* Update snapshots
* Fix ARIA AXE violation
* Update tests
* Properly translate errors in `ChangePassword.tsx`
So they show up translated to the user but not in our logs.
Part of https://github.com/vector-im/element-web/issues/9597 and also fixes it
since it's the last piece mentioned (there could be other cases we log translated strings)
Fix https://github.com/vector-im/element-web/issues/9597
* Make more useful
* Update i18n strings
* No need to checkPassword since field validation already covers this
See https://github.com/matrix-org/matrix-react-sdk/pull/10615#discussion_r1167363765
Both of the error cases are covered by the logic in `verifyFieldsBeforeSubmit()` just above
and there is no way `checkPassword` would ever throw one of these errors since they are
already valid by the time it reaches here.
* Update i18n strings
* Revert "No need to checkPassword since field validation already covers this"
This reverts commit 7786dd151028e6fbf04d1a38a9c2cd47a3fbfc4b.
* Update i18n strings
* Add todo context to note that we can remove this logic in the future
* Ensure is an error
* Remove else
See https://github.com/matrix-org/matrix-react-sdk/pull/10615#discussion_r1173477053
The class has been introduced by 2cc6bcec29be908ac45bf181272e2542aadd73f9 ("Much theming & visual of transfer window dial pad"), and removed by c829cb948031f83d1422867ff54af9ebc2047ba9 ("Use flexbox to layout buttons") from _InviteDialog.scss on the same PR. The class has not used anywhere else since then.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>