* 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
* add icons
* set device type icon
* device type icon tets
* update snapshots for device type icon changes
* desktop icon viewbox
* i18n
* 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
* add device selection that does nothing
* multi select and sign out of sessions
* test multiple selection
* fix type after rebase
* select all sessions
* 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
* add sign out of current device section in device details
* lint
* add sign out cta for other sessions
* test other device sign out
* add pending sign out loader
* tidy
* fix strict error
* use gap instead of nbsp
* use more specific assertions in tests, tweak formatting
* tweak 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
* add expandable device details to session list
* test device expansion in filtered list
* test expanded device id management from sessionmanager tab
* i18n
* update snapshot
* update snapshots
* use css instead of br
* add device filtering
* improve dropdown styling
* test device filtering
* update type imports
* fix types
* security card margin
* more specific type for onFilterOptionChange
* split current device section into component
* add dropdown button for currentsession device details
* test currentdevicesection
* remove unnecc beforeEach
* update type imports
* i18n and lint
* add security card and style
* deprecate warning and verified svgs that use hard coded color
* style icons, test
* i18n
* stylelint
* redo lost lint fixes
* fix svg ref
* actually fix svg
* fix stupid copy pasting
* use rgba for e2e light variations
* add security card and style
* deprecate warning and verified svgs that use hard coded color
* style icons, test
* i18n
* stylelint
* fix svg ref
* actually fix svg
* fix stupid copy pasting
* use rgba for e2e light variations
* use device security card in current session section
* lint
* update snapshot test after dev merge
* add session manager tab to user settings
* fussy import ordering
* i18n
* basic sorted list outline
* rename to filtered device list
* exclude current device session from other sessions list
* test other sessions section
* Fix space panel subspace indentation going missing
* Add cypress test around subspaces in space panel
* Add cypress test around subspaces in space panel
* Fix bad selector
* Fix aria axe violation heading-order
* Fix test
* Remove it.only
* Make percy snapshots for user onboarding more reliable
* Increase stability of lazy loading test
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* redesign device tile info
* test DeviceTile except for broken date mocking
* mock dates the nice way, test lastactivity in device tile
* tweak spacing style
* update comment style in rethemendex
* i18n
* 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>
* extract preventDefaultWrapper into utils
* add click handling to beacon list item
* add click handling to dialog sidebar
* focus in on beacons when clicked in list
* stylelint
* fussy import ordering
* test beacon focusing in beaocnviewdialog
* 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.
* 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>
* Include mx_BaseAvatar
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include style blocks of mx_MatrixChat_useCompactLayout
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>
* Set top padding to avatars on group layout only
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove a redundant declaration for bubble layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set the same margin value to mx_GenericEventListSummary_avatars on every layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove margin-top from mx_GenericEventListSummary_toggle on IRC layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove block margin from mx_GenericEventListSummary_toggle on both IRC layout and modern layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set spacing to mx_GenericEventListSummary instead of its child elements
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply the margin to every layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move general rules up
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply block margin to mx_GenericEventListSummary_toggle of every layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply top margin to modern layout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Include mx_MatrixChat_useCompactLayout
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Set top margin to mx_GenericEventListSummary insted of toggle
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Use a spacing variable
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove a redundant declaration
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add a comment
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Apply display flex as a default value
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>