* 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
* 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>
* 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
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
* 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
* 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>
* Remove obsolete opacity value for E2E icons
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* The opacity declaration is not required after all
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move mx_EventTile_searchHighlight out of mx_EventTile:not([data-layout=bubble]) to enable it on bubble layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use a logical property
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move mx_EventTile out of mx_EventTile:not([data-layout=bubble]) in mx_ThreadView
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use a logical property
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove a redundant declaration
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply zero inline start padding to group layout only
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Reorder style blocks; irc/group before bubble
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move styles for mx_EventTile_avatar of info event lines on ThreadView out of :not() pseudo class
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move styles in mx_GenericEventListSummary on ThreadView out of :not() pseudo class
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Shorthand for inline margin
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>
* 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>
* Move ':hover.mx_EventTile_verified .mx_EventTile_line' etc out of mx_EventTile:not([data-layout=bubble])
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use variables
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge mx_EventTile_line on hover
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply inline start padding effect on hovering info tile text line to modern/group layout only
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Stop using :not() pseudo class for mx_GenericEventListSummary
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use a CSS variable for mx_GenericEventListSummary on _EventTile.scss - icon-width
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use a CSS variable for mx_GenericEventListSummary on _EventTile.scss - right-padding
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move declarations for EventTile_line of GenericEventListSummary for IRC layout from _IRCLayout.scss to _EventTile.scss
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move mx_EventTile_line out of mx_GenericEventListSummary:not([data-layout=bubble])
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move common style rules up
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set zero inline start padding to mx_EventTile_line of info tile of mx_GenericEventListSummary_unstyledList on IRC layout
There should not be spacing between avatars and info tile line on IRC Layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply the rule to group/modern layout only
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply the inline start padding to modern/group layout only
Overriding $left-gutter is not necessary for IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Merge the style block for mx_EventTile_info .mx_EventTile_line
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove padding from info event tile line from mx_GenericEventListSummary on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add spacing between avatar and a single info event tile line on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Stop using :not() pseudo class for mx_GenericEventListSummary on TimelineCard
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Fix padding of line with redacted body text
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>