* 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>
* 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
* 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
* Re-add margin to HistoryTile, which is based on EventTileBubble
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Readd margin to the other tiles based on EventTileBubble
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Default margin is not required for mx_MJitsiWidgetEvent as it appears inside EventTile
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Cancel left value for cryptoEvent on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply margin to EventTileBubble on each layout
Use a variable to ensure alignment of EventTileBubble on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Improve style rules
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply the same block margin to every layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set min-width to prevent a flex blowout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use a native spacing property
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set max-width: 100% to display name inside the image reply
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Refer mx_MessageActionBar on pinned messages card
Normalize mx_MessageActionBar style rules
- Allow the varaible (--MessageActionBar-size-button) to be used
- Remove redundant declarations
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use variables for normalization
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set class name
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Readd the comment
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use Heading size='h4'
- Use size='h4' instead of 'h2' as 15px has been specified as the font-size of the header
- Use logical values following _Heading.scss
- Remove line-height declaration in favor of the default value
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_MessageActionBar_maskButton::after in mx_MessageActionBar_maskButton
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_MessageActionBar_maskButton:hover::after in mx_MessageActionBar_maskButton
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Ensure buttons on message action bar used only with mx_MessageActionBar_maskButton as expected
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* yarn run lint:style --fix
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_Indicator in mx_MessageActionBar_threadButton
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* yarn run lint:style --fix
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_MessageActionBar_downloadButton.mx_MessageActionBar_downloadSpinnerButton in mx_MessageActionBar_downloadButton
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* yarn run lint:style --fix
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move declarations related to position from _MImageBody.scss to _EventTile.scss
These declarations should not be defined as default values as position depends on other factors such as layout, etc.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move min-height and min-width declarations from _MImageBody.scss to _EventTile.scss
Since min-height and min-width have been specified for bubble layout, the declarations have been expected to be applied to the other layouts.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply 'justify-content: center' to bubble layout only
'justify-content: center' was added for the bubble layout with 1436f23. It should not be applied to the other layouts.
In order to prevent an issue related to cascading from happening, 'justify-content: flex-start' is explicitly specified.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* yarn run lint:style --fix
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix position of the message action bar on data-self=false bubble
- Fix position of the bar on GenericEventListSummary as well
- Override default value `right: 8px` of MessageActionBar
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use variables for MessageActionBar
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set the right property to [data-self=true]
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove space for "React" and "Reply" buttons inside MessageActionBar on the left side bubble inside ThreadView
This commit removes space reserved for those buttons on deleted or "Unable to decrypt" message bubble inside ThreadView.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Show simple file name and size on images/videos
Fixes https://github.com/vector-im/element-web/issues/18197
* i18n
* Fix bad merge
* Add hover state tracking
* Only show on timeline-like objects
* Match new design requirements
* Remove video support (deemed not needed)
* Colouring and sizing from design
* Include file name in lightbox
* Revert changes to videos since we don't need them
* i18n
* Iterate PR
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Fix avatar's position on the chat panel with a maximized widget in IRC layout
Fix timestamp's position on Message Edits history modal window
Also:
- Align DisambiguatedProfile with reactions row and thread summary with a variable
- Add width property as default
- Use the global variable on _IRCLayout.scss
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Revert "Revert "Use styled mxids in member list (#6328)" (#8107)"
This reverts commit 709e6e78d2.
* Fix disambiguated profile for bubbles
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
Fix https://github.com/vector-im/element-web/issues/20801
Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/7339
Relevant styles were first added in https://github.com/matrix-org/matrix-react-sdk/pull/4858
(context behind why the original styles were added)
---
## Cause
Battling CSS specificity between the default and compact styles, https://specificity.keegan.st/
Known good (On `app.element.io` (expected)):
```css
// 0 3 0
.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_AccessibleButton {
padding-top: 12px;
padding-bottom: 12px;
}
// Compact styles override our default rules because they come
// after the other styles (source order) and have the same specificity
// 0 3 0
.mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
padding: 8px 16px 8px 11px;
}
```
Bad (On `develop` (broken)):
```css
// Default rules always override because they have higher specificity.
// The `:not()` selector doesn't add any extra specificity but the selectors inside the `:not(...)` do.
// 0 4 0
.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_AccessibleButton:not(.mx_AccessibleButton_hasKind) {
padding-top: 12px;
padding-bottom: 12px;
}
// 0 3 0
.mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
padding: 8px 16px 8px 11px;
}
```
Adds maplibre as a dependency, and behind a labs flag, lets users send and receive [MSC3488](https://github.com/matrix-org/matrix-doc/blob/matthew/location/proposals/3488-location.md) style location shares - with backwards compatibility with old school `m.location` `msgtype` location shares too.
For this to work, you have to define a valid maptile server and API in your config.json's `map_style_url`.
* Display started polls in timeline (without votes)
* Update i18n info
* Keep original background colour of poll options, even on hover
* Show full avatar above a poll message