* Make useEventEmitterState more efficient
By not invoking the initializing function on every render
* Make useWidgets more efficient
By not calling WidgetStore on every render
* Add new group call experience Labs flag
* Add viewingCall field to RoomViewStore state
Currently has no effect, but in the future this will signal to RoomView to show the call or call lobby.
* Add element_call.use_exclusively config flag
As documented in element-web, this will tell the app to use Element Call exclusively for calls, disabling Jitsi and legacy 1:1 calls.
* Make placeCall return a promise
So that the UI can know when placeCall completes
* Update start call buttons to new group call designs
Since RoomView doesn't do anything with viewingCall yet, these buttons won't have any effect when starting native group calls, but the logic is at least all there and ready to be hooked up.
* Allow calls to be detected if the new group call experience is enabled
* Test the RoomHeader changes
* Iterate code
* refactor: convert RoomViewStore from flux Store to standard EventEmitter
Parts of a series of experimental changes to improve the design of stores.
* Use a gen5 store for RoomViewStore for now due to lock handling
* Revert "Use a gen5 store for RoomViewStore for now due to lock handling"
This reverts commit 1076af071d997d87b8ae0b0dcddfd1ae428665af.
* Add untilEmission and tweak untilDispatch; use it in RoomViewStore
* Add more RVS tests; remove custom room ID listener code and use EventEmitter
* Better comments
* Null guard `dis` as tests mock out `defaultDispatcher`
* Additional tests
* 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 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
* 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
* Show chat panel when opening a video room with unread messages
* Remove unnecessary calls to private methods in tests
* Make room ID mandatory when toggling the right panel
* Restore the isViewingRoom check
* Test RightPanelStore
* Make the constructor private again
* Add even more tests
* Fix onReady
* Remove all mentions of Piwik
* Kill off all consumer of the old Piwik Analytics module
* Simplify ModalManager interface
* i18n
* Attempt to fix old e2e tests
* Remove unused component
* Iterate PR
* 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>
* Fix button width and align 絵文字 (emoji) on the user panel
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* mx_UserInfo_container:not(.mx_UserInfo_separator)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Move the spinner to the center
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Add indent to 'Unable to load session list' paragraph
Because the indent style has been specified with ':not(h3)', wrapping
with something is required for the indent.
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Align the spinner to the center
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* Remove margin of paragraph inside div on verification panel
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
* fix-admin-tools-phrase-inconsistency
* correctly specify space room action
* run i18n
* Apply suggestions from code review
Revert the applied formatting.
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* fix inconsistency for RoomKickButton
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
The spec was recently amended to document that invites actually fall
back to a default of 0, rather than 50 (since this is what Synapse was
doing all along): https://github.com/matrix-org/matrix-spec/pull/1021
* fix-admin-tools-phrase-inconsistency
* correctly specify space room action
* run i18n
* Apply suggestions from code review
Revert the applied formatting.
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix: Remove jittery timeline scrolling after jumping to an event
* Fix: Remove onUserScroll handler and merge it with onScroll
* Fix: Reset scrollIntoView state earlier
Co-authored-by: Janne Mareike Koschinski <jannemk@element.io>
* Remove radio component
* "Voice room" → "video room"
* Remove interactivity from video room tiles
* Update connection state when joining via widget
* Simplify room header buttons for video rooms
* Split out video room creation into a separate menu option
* Simplify room options for video rooms
* Update video room tile layout
* Tell the Jitsi widget whether it's a video channel
* Update tests
* "Voice" → "video" in more places
* Fix tests
* Re-add frame to immersive Jitsi widgets
* Comment ack
* Make updateDevices more readable
* Type FacePile
* Remove deprecated feature_communities_v2_prototypes
* Update _components
* i18n
* delint
* Cut out a bit more dead code
* Carve into legacy components
* Carve into mostly the room list code
* Carve into instances of "groupId"
* Carve out more of what comes up with "groups"
* Carve out some settings
* ignore related groups state
* Remove instances of spacesEnabled
* Fix some obvious issues
* Remove now-unused css
* Fix variable naming for legacy components
* Update i18n
* Misc cleanup from manual review
* Update snapshot for changed flag
* Appease linters
* rethemedex
* Remove now-unused AddressPickerDialog
* Make ConfirmUserActionDialog's member a required prop
* Remove useless override from RightPanelStore
* Remove extraneous CSS
* Update i18n
* Demo: "Communities are now Spaces" landing page
* Restore linkify for group IDs
* Demo: Dialog on click for communities->spaces notice
* i18n for demos
* i18n post-merge
* Update copy
* Appease the linter
* Post-merge cleanup
* Re-add spaces_learn_more_url to the new SdkConfig place
* Round 1 of post-merge fixes
* i18n
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Allow keeping state events when removing recent messages
The remove recent messages dialog redacts most state events since they
can be abuse vectors as well, however some users that see the option
actually want to use it to only remove messages. This adds a checkbox
option to do so.
Signed-off-by: Robin Townsend <robin@robin.town>
* Don't redact encryption events when removing recent messages
Signed-off-by: Robin Townsend <robin@robin.town>
* Show UserMenu spinner while removing recent messages
This also generalizes the UserMenu spinner to work with other types of
actions in the future.
Signed-off-by: Robin Townsend <robin@robin.town>
* Clarify remove recent messages warning
Clarify that they are removed for everyone in the conversation, not just
yourself.
Signed-off-by: Robin Townsend <robin@robin.town>
* Adjust copy and preserve state events by default
* Redact messages in reverse chronological order
Signed-off-by: Robin Townsend <robin@robin.town>
* Document and support the established naming convention for config opts
This change:
* Rename `ConfigOptions` to `IConfigOptions` to match code convention/style, plus move it to a dedicated file
* Update comments and surrounding documentation
* Define every single documented option (from element-web's config.md)
* Enable a linter to enforce the convention
* Invent a translation layer for a different change to use
* No attempt to fix build errors from doing this (at this stage)
* Add demo of lint rule in action
* Fix all obvious instances of SdkConfig case conflicts
* Fix tests to use SdkConfig directly
* Add docs to make unset() calling safer
* Appease the linter
* Update documentation to match snake_case_config
* Fix more instances of square brackets off SdkConfig