* 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.
* 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
* 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>
* Set zero min-width to prevent input area blowout
* Set min-width values to mx_SearchBar_input and mx_SearchBar_button
* Prevent the input area and cancel button from being overlapped by BaseCard
* Use custom properties: --size-button-search
* Take Percy snapshot of mx_SearchBar
* Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Edit a comment
* Feedback
* Edit a comment
* Update cypress/e2e/timeline/timeline.spec.ts
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>
This fixes a visual regression introduced in 73007d6dd6: AppTiles with the class mx_AppTile_mini don't get an mx_AppsDrawer as their parent, so the --AppTile_mini-height variable needs a broader scope.
* 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
* Nesting
* Run prettier
* Common style rules for `mx_AppTileBody` and `mx_AppTileBody_mini`
* Common style rules for iframe
* Use a custom property for height
* Replace with a custom property - $MiniAppTileHeight
* Replace with a custom property - $MinWidth
* Group common declarations
* Sorting
* Use CSS custom property: --timeline-image-border-radius
Remove the same variable from _MImageBody.pcss
* Rename the property
The property is neither limited to a timeline nor image, but applied to M.*?Body components as well, such as MLocationBody and MVideoBody.
* Remove obsolete style blocks from _MemberInfo.pcss
Deprecated by 2b432b0d82
* Remove obsolete style blocks from _MemberInfo.pcss
Deprecated by fce36ec826
* 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.
* 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.
* Remove an obsolete variable - `$MessageTimestamp_width_hover`
Added by 9b54aba4c0
Deprecated 5343be7814
* Replace a variable with a custom property - $MessageTimestamp_width
* Merge with an existing property in :root
rename
* Manage the variable on _MessageTimestamp.pcss
* 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
* Manage rules related to EventTile on `_EventTile.pcss`
The style rules with the selector "mx_EventTile" should be managed on _EventTile.pcss.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `--EventTile_irc_line_info-margin-inline-start`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `mx_EventTile_msgOption`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `mx_MessageTimestamp`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `mx_EventTileBubble`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `mx_ReplyChain`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `mx_ReplyTile .mx_EventTileBubble`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `&.mx_EventTile_isEditing > .mx_EventTile_line`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - `&.mx_EventTile_info`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Convert the variable with a custom property
To fix the syntax error "Undefined variable $irc-line-height" because of cascading order.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge - '.mx_EventTile_emote'
The class is both specified by the const 'classes' (for classNames of mx_EventTile) and const 'lineClasses' (for mx_EventTile_line), but it is irrelevant here because the style rule does not expect mx_EventTile_avatar to be a direct descendant. In other words, both ".mx_EventTile.mx_EventTile_emote" and ".mx_EventTile .mx_EventTile_emote" are accepted.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Replace a Sass variable with a CSS custom property - $container-gap-width
* Replace a Sass variable with a CSS custom property - $container-border-width
* 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
* Move declarations out of `mx_EventTile:not([data-layout=bubble])`
merging style rules on _EventBubbleTile.scss
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove an obsolete `!important` flag from `&.mx_EventTile_continuation`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove `clear: unset` declaration from EventTile on bubble layout
While mx_EventTile:not([data-layout="bubble"]) suggests that "clear: both" would not be applied to the bubble layout, the value "both" has been in fact luckily applied thanks to "mx_RoomView_MessageList li" on _RoomView.pcss, imported later than _EventTile.pcss.
Since "clear: both" is declared for mx_EventTile, this declaration is no longer needed here.
Though the value of that declaration of mx_EventTile on the timeline (including ThreadView) seems to have been overridden by "mx_RoomView_MessageList li" for all layouts, it should not be removed yet until E2E tests which check visual regressions are implemented, in order to minimize the risk of a regression outside of the timeline.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove `:not()` pseudo class from `_FilePanel.pcss`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove `!important` flag from `_MessageEditHistoryDialog.pcss`
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove a comment about overriding
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Run prettier
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Add missing aria-expanded attributes
* Improve autoComplete for phone numbers & email addresses
* Fix room summary card heading order
* Fix missing label on timeline search field
* Use appropriate semantic elements for dropdown listbox
* Use semantic list elements in keyboard settings tab
* Use semantic list elements in spotlight
* Fix types and i18n
* Improve types
* Update tests
* Add snapshot test
* Remove obsolete mx_RoomHeader_textButton and mx_RoomHeader_cancelButton
These declarations have been obsolete since GroupView.js was deleted by fce36ec826.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove obsolete mx_RoomHeader_spinner
As of 79d3cca6 it was used as follows:
````
if (this.props.saving) {
const Spinner = sdk.getComponent("elements.Spinner");
spinner = <div className="mx_RoomHeader_spinner"><Spinner /></div>;
}
````
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove obsolete mx_RoomHeader_info
This was deprecated by 18fedb23ec
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove an obsolete class name: `mx_EmailAddresses_new`
The class name was added by aa7afe819f for an initial implementation and became obsolete thanks to 1090b7d912.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove obsolete declarations: `mx_ExistingPhoneNumber_delete`
The declarations have been obsolete since 11f2b4320d.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove obsolete declarations: `mx_ExistingEmailAddress_delete`
The declarations have also been deprecated by 11f2b4320d.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use AccessibleButton for "Accept" on AuthPage
- Use AccessibleButton
- Remove mx_InteractiveAuthEntryComponents_termsSubmit:disabled as disabled state is handled by AccessibleButton
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Empty commit
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix spacing of headings of integration manager on General settings tab
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* lint
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Check the column gap
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Iterate
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Scroll to 'mx_SetIntegrationManager' and take a snapshot of the dialog
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Revert "Scroll to 'mx_SetIntegrationManager' and take a snapshot of the dialog"
This reverts commit 9151d6a34de109c0dffa95046397c13f4b61f5a4.
* Specify actual width of mx_SetIntegrationManager
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove an obsolete style block related to highlighting from _IRCLayout.pcss
Initially it has been added with this commit 67249e1e9c for the implementation of IRC layout, but the border declarations for highlighting were removed with this commit 3a2aa9d96c to replace the 'border-left' declaration with the 'box-shadow' declaration.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use grid layout instead
- BEM naming style
- Increase block gap from 4px to 8px
- Use flexbox inside 'header' grid-area to let the buttons wrapped
- Use variables
- Remove 4px gap when one of the buttons is not rendered
- Change 'body' to 'message'
- Set 'align-self: start' to the icon and spinner
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Unset height of spinner
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Break lines at newline characters with white-space: pre-line
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Edit tests to check decryption failure bars on narrow timeline
- checkTimelineNarrow() looks for buttons by default
- Test indicator as well
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove a line
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Edit the test to have it check mx_EventTile_last only inside mx_RoomView_body
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix double underscores
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix double underscores - pcss
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Iterate - buttons at the bottom
- Set common spacing to buttons with variables
- Remove line breaks, yarn run i18n
- Set data-testid for headlines and buttons in case the tested strings would be displayed elsewhere simultaneously
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Check waiting headline as well
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Increase spacing between the message and the buttons
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* lint
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Increase block gap between wrapped buttons for clickability
Apply 8px between wrapped buttons
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Revert bottom margin of buttons which are not expected to be wrapped
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Check visibility instead of existence
This commit removes data-testid from headlines and data-testid-button and checks whether the elements are really visible, not overflowing the viewport.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove redundant gap between 'mx_DecryptionFailureBar_start' and the bottom edge
This commit adds '.mx_DecryptionFailureBar--withEnd' class name to have it applied to the bar only if it has button(s). This way the bar is rendered with a flexbox and the row-gap declaration is respected only if there is a 'mx_DecryptionFailureBar--withEnd' element. The element currently includes the button(s) only.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* lint - prettier
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Have Percy take a snapshot of the bar loading spinner before checkTimelineNarrow()
The loading spinner is likely to disappear while checking the bar on the narrow timeline.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
Co-authored-by: Kerry <kerrya@element.io>
* Fix flaky Percy tests of ReplyChain
- Add media query for percy on _ReplyChain.pcss to apply the same color to vertical strokes (border-left)of ReplyChain
- Use CSS variables for visibility
- Manage those variables on _common.pcss for maintainability
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Check receptSent as well for consistency
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add a comment
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Specify zero spacing and remove list-style
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* bumps the RTE dependency to introduce user/room mention handling
* adds autocomplete behaviour to allow users to insert user and room mentions as links
* sets up tests for the autocomplete behaviour
* Set expected line height to an expanded GELS line on IRC layout, add a test
* Add a test for compact modern/group layout
* Create a new test category on timeline.spec.ts
* Rename the class name as 'spacer'
* Add a test for GELS' spacer on bubble layout
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
Co-authored-by: Germain <germain@souquet.com>
* add poll history tab to room settings
* test poll history in room settings
* remove posthog tracking for poll his
* use consistent label for polls history
* basic sync setup
* formatting
* get loudest value for synced rules
* more types
* test synced rules in notifications settings
* type fixes
* noimplicitany fixes
* remove debug
* tidying
* extract updatePushRuleActions fn to utils
* extract update synced rules
* just synchronise in one place?
* monitor account data changes AND trigger changes sync in notifications form
* lint
* setup LoggedInView test with enough mocks
* test rule syncing in LoggedInView
* strict fixes
* more comments
* one more comment
* add error variant for caption component
* tests for new error message
* tweak styles
* noImplicitAny
* revert out of date prettier changes to unrelated files
* limit inline message to radios only, tests
* strict fix
* Prevent long name blowout from Replytile on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add a test to check long strings do not overflow
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Sort declarations based on .mx_IRCLayout .mx_EventTile .mx_DisambiguatedProfile
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Reduce height of toggle on expanded view source event
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add a test to check size and position of toggle on expanded view source event
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
---------
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
This PR adds the flex declaration to mx_RoomHeader_button to prevent the buttons from being compressed due to a long room name, copying the whole declarations from mx_RightPanel_headerButton for reference.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* load more pages of polls
* load more and no results messages
* style no results message
* remove debug
* strict fixes
* comments
* i18n pluralisations
* pluralisation the right way
* Modified css for copy button and the copyable text accross the app specially to solve the overlapping problem in the access token div
* Modified css for copy button and the copyable text accross the app specially to solve the overlapping problem in the access token div and replaced the scroll with auto
* use timeline pagination
* fetch last 30 days of poll history
* add comments, tidy
* more comments
* finish comment
* wait for responses to resolve before displaying in list
* dont use state for list
* return unsubscribe
* strict fixes
* unnecessary event type in filter
* add catch
* 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 from pollbody
* add ended poll list item component
* use named export for polllistitem
* test POllListItemEnded
* comments
* strict fixes
* extract poll option display components
* strict fixes
* strict
* 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
* add settings while under development
* very basic tests for roomsummarycard
* empty poll history dialog and option in room summary
* pollS history in settings
* render an ugly list of polls in current timeline
* readonly poll history list items
* fix scroll window
* use short year code in date format, tidy
* no results message + tests
* strict fix
* mock intldatetimeformat for stable date formatting
* extract date format fn into date-utils
* 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
* Revert "Apply more general fix for base avatar regressions (#10045)"
This reverts commit 371a3c0d36.
* Revert "Fix layout and visual regressions around default avatars (#10031)"
This reverts commit 0d1fce37b2.
* Revert "Member avatars without canvas (#9990)"
This reverts commit a8aa4de4b4.
* Update snapshots
* add settings while under development
* very basic tests for roomsummarycard
* empty poll history dialog and option in room summary
* pollS history in settings
* use more user-centric selectors in roomsummarycard test
* Strict typechecking fixes for Base/Member/Avatar
Update the core avatar files to pass `--strict --noImplicitAny` typechecks.
Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
* Add tests for Base/Member/Avatar
More thoroughly test the core avatar files. Not necessarily the most thorough,
but an improvement.
Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
* Extract TextAvatar from BaseAvatar
Extracted the fallback/textual avatar into its own component.
Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
* Use standard HTML for non-image avatars
Firefox users with `resistFingerprinting` enabled were seeing random noise
for rooms and users without avatars. There's no real reason to use data
URLs to present flat colors.
This converts non-image avatars to inline blocks with background colors.
See https://github.com/vector-im/element-web/issues/23936
Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
* Have pills use solid backgrounds rather than colored images
Similar to room and member avatars, pills now use colored pseudo-elements
rather than background images.
Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
---------
Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
* 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
* 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.
* adds buttons to toggle bulleted and numbered lists on and off
* adds icons for those buttons
* css changes to timeline display
* adds tests for the new buttons, refactors existing tests
* Remove unnecessary PipContainer component
* Redesign the picture-in-picture window
* Add a hover effect to the controls
* Clarify that WidgetPip has call-specific behavior
* 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>
* 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>
Because the persisted widget element takes an extra layout tick to be moved into place, you would briefly see the background color of the call view flash into view when joining a call. Giving the widget tile a background fixes this.
* Support for login + E2EE set up with QR
* Whitespace
* Padding
* Refactor of fetch
* Whitespace
* CSS whitespace
* Add link to MSC3906
* Handle incorrect typing in MatrixClientPeg.get()
* Use unstable class name
* fix: use unstable class name
* Use default fetch client instead
* Update to revised function name
* Refactor device manager panel and make it work with new sessions manager
* Lint fix
* Add missing interstitials and update wording
* Linting
* i18n
* Lint
* Use sensible sdk config name for fallback server
* Improve error handling for QR code generation
* Refactor feature availability logic
* Hide device manager panel if no options available
* Put sign in with QR behind lab setting
* Reduce scope of PR to just showing code on existing device
* i18n updates
* Handle null features
* Testing for LoginWithQRSection
* Refactor to handle UIA
* Imports
* Reduce diff complexity
* Remove unnecessary change
* Remove unused styles
* Support UIA
* Tidy up
* i18n
* Remove additional unused parts of flow
* Add extra instruction when showing QR code
* Add getVersions to server mocks
* Use proper colours for theme support
* Test cases
* Lint
* Remove obsolete snapshot
* Don't override error if already set
* Remove unused var
* Update src/components/views/settings/devices/LoginWithQRSection.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Update src/components/views/auth/LoginWithQR.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Update src/components/views/auth/LoginWithQR.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Update src/components/views/auth/LoginWithQR.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Update src/components/views/auth/LoginWithQR.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Update src/components/views/auth/LoginWithQR.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Update res/css/views/auth/_LoginWithQR.pcss
Co-authored-by: Kerry <kerrya@element.io>
* Use spacing variables
* Remove debug
* Style + docs
* preventDefault
* Names of tests
* Fixes for js-sdk refactor
* Update snapshots to match test names
* Refactor labs config to make deployment simpler
* i18n
* Unused imports
* Typo
* Stateless component
* Whitespace
* Use context not MatrixClientPeg
* Add missing context
* Type updates to match js-sdk
* Wrap click handlers in useCallback
* Update src/components/views/settings/DevicesPanel.tsx
Co-authored-by: Travis Ralston <travisr@matrix.org>
* Wait for DOM update instead of timeout
* Add missing snapshot update from last commit
* Remove void keyword in favour of then() clauses
* test main paths in LoginWithQR
Co-authored-by: Travis Ralston <travisr@matrix.org>
Co-authored-by: Kerry <kerrya@element.io>
* Better accommodate long room names in call toasts
* Use a font weight variable
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* add destructive option and close on interaction options
* add kebab context menu wrapper
* use kebab context menu in current device section
* use named export
* lint
* sessionman tests
* 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
* record device client inforamtion events on app start
* matrix-client-information -> matrix_client_information
* fix types
* remove another unused export
* add docs link
* display device client information in device details
* update snapshots
* integration-ish test client information in metadata
* tests
* fix tests
* export helper
* DeviceClientInformation type
* Device manager - select all devices (#9330)
* add device selection that does nothing
* multi select and sign out of sessions
* test multiple selection
* fix type after rebase
* select all sessions
* rename type
* use ExtendedDevice type everywhere
* rename clientName to appName for less collision with UA parser
* fix bad find and replace
* rename ExtendedDeviceInfo to ExtendedDeviceAppInfo
* rename DeviceType comp to DeviceTypeIcon
* update tests for new required property deviceType
* add stubbed user agent parsing
* Create m.room calls in video rooms, and m.prompt calls otherwise
* Terminate a call when the last person leaves
* Hook up the room header button to a unified CallView component
* Write more tests
It gives an empty room topic a height of 1px and does not seem to accomplish much else.
Signed-off-by: Arne Wilken arnepokemon@yahoo.de
Signed-off-by: Arne Wilken arnepokemon@yahoo.de
* Add an element_call_url config option
* Add a labs flag for Element Call video rooms
* Add Element Call as another video rooms backend
* Consolidate event power level defaults
* Remember to clean up participantsExpirationTimer
* Fix a code smell
* Test the clean method
* Fix some strict mode errors
* Test that clean still works when there are no state events
* Test auto-approval of Element Call widget capabilities
* Deduplicate some code to placate SonarCloud
* Fix more strict mode errors
* Test that calls disconnect when leaving the room
* Test the get methods of JitsiCall and ElementCall more
* Test Call.ts even more
* Test creation of Element video rooms
* Test that createRoom works for non-video-rooms
* Test Call's get method rather than the methods of derived classes
* Ensure that the clean method is able to preserve devices
* Remove duplicate clean method
* Fix lints
* Fix some strict mode errors in RoomPreviewCard
* Test RoomPreviewCard changes
* Quick and dirty hotfix for the community testing session
* Revert "Quick and dirty hotfix for the community testing session"
This reverts commit 37056514fbc040aaf1bff2539da770a1c8ba72a2.
* Fix the event schema for org.matrix.msc3401.call.member devices
* Remove org.matrix.call_duplicate_session from Element Call capabilities
It's no longer used by Element Call when running as a widget.
* Replace element_call_url with a map
* Make PiPs work for virtual widgets
* Auto-approve room timeline capability
Because Element Call uses this now
* Create a reusable isVideoRoom util
* Add Voice Broadcast labs setting and composer button
* Implement strict typing
* Extend MessageComposer-test
* Extend tests
* Revert some strict type fixex
* Convert FEATURES to enum; change case
* Use fake timers in MessageComposer-test
* trigger verification of other devices
* add sign out of current device section in device details
* fix classname
* lint
* strict type fix
* fix test
* improve mocked VerifReq
* remove the grey gradient on images in the timeline
given we now show timestamps with a nice lozenge overlay,
so the gradient is unnecessary and just screws up the image.
fixes https://github.com/vector-im/element-web/issues/21651
* put a lozenge on the timestamp rather than evil gradient
* Improve accessibility and testability of Tooltip
Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.
* Make the ReadyWatchingStore constructor safer
The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.
* Rename 1:1 call components to 'LegacyCall'
to reflect the fact that they're slated for removal, and to not clash
with the new Call code.
* Refactor VideoChannelStore into Call and CallStore
Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.
* Remove WidgetReady, ClientReady, and ForceHangupCall hacks
These are no longer used by the new Jitsi call implementation, and can
be removed.
* yarn i18n
* Delete call map entries instead of inserting nulls
* Allow multiple active calls and consolidate call listeners
* Fix a race condition when creating a video room
* Un-hardcode the media device fallback labels
* Apply misc code review fixes
* yarn i18n
* Disconnect from calls more politely on logout
* Fix some strict mode errors
* Fix another updateRoom race condition
* split current device section into component
* add dropdown button for currentsession device details
* test currentdevicesection
* remove unnecc beforeEach
* update type imports
* i18n and lint
* Make percy snapshots for user onboarding more reliable
* Increase stability of lazy loading test
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* 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
* Apply inline start margin to info event tile line to align the right edge with normal event tile lines
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Rename the variable
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add a test to check inline start margin
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Rerun CI
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Improve tests a little bit
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move &.mx_EventTile_isEditing and &.mx_EventTile_selected out of mx_EventTile:not([data-layout=bubble])
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use common variables for selected lines and hovered lines
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge style blocks for mx_EventTile_line
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Specify positon of RR on IRC layout on _EventTile.scss
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Manage a declaration for position of RR on modern/group layout on _EventTile.scss, instead of applying it as a default one
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use logical properties
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_ReadReceiptGroup in mx_EventTile_msgOption to prevent a regression
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Manage style blocks of mx_ReadReceiptGroup for every layout on one file
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use logical properties
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_ReadReceiptGroup in mx_EventTile_msgOption for bubble layout same as the other layouts
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_ReadReceiptGroup in mx_EventTile_msgOption on TimelineCard
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move mx_EventTile_info .mx_EventTile_line from mx_EventTile:not([data-layout=bubble]) to mx_EventTile[data-layout=group]
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move style rules for avatar and E2E icon of mx_EventTile_info .mx_EventTile_line from mx_EventTile:not([data-layout=bubble]) to mx_EventTile[data-layout=group]
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use variables
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move mx_EventTile_info out of mx_EventTile:not([data-layout=bubble]) for both IRC and modern layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply the style rule for mx_MessageTimestamp on info event tile line to group layout only
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply zero padding-top to modern/group layout only (IRC layout has zero padding by default)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply avatar position settings to modern/group layout only
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Maintain the style block for avatar on info event tile in IRC layout on _EventTile.scss
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove obsolete style block
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove inline padding setting from mx_EventTile_line
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use a correct variable
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix misalignment of avatars and textual events on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Align avatars and hidden events on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Extract room general context menu from roomtile
* Create hook to access and change a room’s notification state
* Extract room notification context menu from roomtile
* Add room context menus to rooms in spotlight
* Make arrow movement apply to the whole dialog, not just the input box
https://github.com/matrix-org/matrix-react-sdk/pull/8747 made it more evident that the host signup dialog was relying on some quirks in how PersistedElement sizes and positions things that it probably shouldn't have been relying on. As far as I can tell, this dialog doesn't *need* to be a PersistedElement at all since it's mounted manually as part of LoggedInView, and so it doesn't look like there's any way for it to unexpectedly disappear on the user.
According to Travis this is supposed to be a bespoke widget in a proper dialog, but this is intended as a more short-term fix.