Commit Graph

4892 Commits

Author SHA1 Message Date
Travis Ralston
997d6d40bf Step 1: Remove all usage of @replaceableComponent 2022-03-28 14:02:31 -06:00
Robin
8baf06c3ff Show voice room participants when not connected (#8136)
* Add utility for getting connected voice participants

* Allow voice room members to send connected device state

* Update connected devices when connecting/disconnecting voice

* Show voice room participants in room tile when not connected

* Update voice room tests

* Add null types and guards
2022-03-28 14:12:09 +01:00
Robin
1e060fed84 Don't form continuations from thread roots (#8166)
* Don't form continuations from thread roots

* Only apply the continuation break in the main timeline
2022-03-26 18:06:25 -04:00
Michael Telatynski
f86cc74afc Fix issues with edited events not affecting threads (#8125) 2022-03-24 12:24:18 +00:00
Germain
d922ee2cb9 Thread list ordering by last reply (#8112) 2022-03-23 14:43:33 +00:00
Travis Ralston
ad130acd30 Remove unused component: SimpleRoomHeader (#8122) 2022-03-23 07:32:13 -06:00
Michael Telatynski
d9276426fa When showing thread, always auto-focus its composer (#8115) 2022-03-23 10:54:40 +00:00
Travis Ralston
d640ac374f Revert "Remove unused component: SimpleRoomHeader"
This reverts commit eb50b4930f.
2022-03-23 00:10:00 -06:00
Travis Ralston
eb50b4930f Remove unused component: SimpleRoomHeader 2022-03-23 00:09:36 -06:00
Travis Ralston
fce36ec826 Delete groups (legacy communities system) (#8027)
* 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>
2022-03-22 23:07:37 +00:00
Šimon Brandner
bff1ef31d6 Use styled mxids in member list v2 (#8110)
* 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>
2022-03-22 16:14:55 -06:00
Robin
cfabcdda35 Voice rooms prototype (#8084)
* Add voice room labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add more widget actions for interacting with Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic Jitsi creation utility

Signed-off-by: Robin Townsend <robin@robin.town>

* Add utilities for managing voice channels

Signed-off-by: Robin Townsend <robin@robin.town>

* Enable creation of voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Force a maximized view of voice channel widgets

Signed-off-by: Robin Townsend <robin@robin.town>

* Add voice channel store

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic FacePile

Signed-off-by: Robin Townsend <robin@robin.town>

* Implement room tile changes for voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Add interactive radio component to the left panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Test voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Update name of call room type

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify that voice rooms are under development

Signed-off-by: Robin Townsend <robin@robin.town>

* Use readonly

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks to the end of handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Add comment about avatar URLs coming from Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't use unicode ellipses

for translation reasons?

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests, again

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unnecessary export

Signed-off-by: Robin Townsend <robin@robin.town>

* Ack Jitsi events when we wait for them

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:11 -06:00
Kerry
b04d31b5be Live location sharing: live share warning in room (#8100)
* add duration dropdown to live location picker

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy comments

Signed-off-by: Kerry Archibald <kerrya@element.io>

* setup component

Signed-off-by: Kerry Archibald <kerrya@element.io>

* replace references to beaconInfoId with beacon.identifier

Signed-off-by: Kerry Archibald <kerrya@element.io>

* icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* component for styled live beacon icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* emit liveness change whenever livebeaconIds changes

Signed-off-by: Kerry Archibald <kerrya@element.io>

* Handle multiple live beacons in room share warning, test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* un xdescribe beaconstore tests

Signed-off-by: Kerry Archibald <kerrya@element.io>

* missed copyrights

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-22 13:57:12 +00:00
Travis Ralston
709e6e78d2 Revert "Use styled mxids in member list (#6328)" (#8107)
This reverts commit 5d28e0533d.
2022-03-21 19:58:38 -06:00
Šimon Brandner
5d28e0533d Use styled mxids in member list (#6328)
* Add DisambiguatedProfile

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Give DisambiguatedProfile some nice options

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Delint

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use DisambiguatedProfile in member tile

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Basic handling of text overflow

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use name instead of rawDisplayName

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* This seems to make more sense

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Reodred

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* rethemedex

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Appease the linter

* Re-apply UserIdentifier patch

Co-authored-by: Matthew Hodgson <matthew@matrix.org>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-03-22 01:08:43 +00:00
Michael Telatynski
dd53b226eb Allow sending files as replies as per MSC3676 (#8020) 2022-03-21 12:03:59 +00:00
Robin
83f2bf4261 Improve remove recent messages dialog (#6114)
* 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>
2022-03-18 20:08:32 +00:00
Travis Ralston
d8a939df5d Use & enforce snake_case naming convention on config.json settings (#8062)
* 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
2022-03-18 10:12:36 -06:00
Kerry
da097d42ef fix ts issues in SendMessageComposer-test (#8077)
* fix ts issues in SendMessageComposer-test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove empty file

Signed-off-by: Kerry Archibald <kerrya@element.io>

* better event type for m.room.message

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-18 10:07:33 +00:00
Alexander Stephan
26e6f8deca Improve formatting features in the editor (#7104)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-16 09:46:07 +00:00
Germain
2acc8fd18b Implement is_falling_back in accordance to MSC3440 (#8055) 2022-03-15 13:52:37 +00:00
Robin
744eeb53fe Don't assume that widget IDs are unique (#8052)
* Don't assume that widget IDs are unique

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't remove live tiles that don't exist

Signed-off-by: Robin Townsend <robin@robin.town>

* Add unit test for AppTile's live tile tracking

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-15 12:15:26 +00:00
David Baker
23d5ba9c89 Support MSC3026 busy presence (#8043)
* Support MSC3026 busy presence

* Use UnstableValue

* Add the import
2022-03-14 10:22:12 +00:00
Michael Telatynski
14807de552 Show displayname in non-narrow thread summeries (#8036)
* Show displayname in non-narrow thread summeries

* Iterate PR

* Iterate PR to use line-height based approach

* Fix hover/focus chevron on thread summary relying on font character
2022-03-11 19:24:18 +00:00
Michael Telatynski
5262d5c315 Fix clicking on copy link to thread wrongly opening thread (#8038) 2022-03-11 17:13:23 +00:00
Germain
21d3cb08a9 Switch to using stable values for threads (#8019) 2022-03-11 09:04:22 +00:00
Robin
3608fdb2ae Paginate responses to pinned polls (#8025)
* Paginate responses to pinned polls

Signed-off-by: Robin Townsend <robin@robin.town>

* Test that pinned polls display paginated responses

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-10 18:14:34 +00:00
chagai95
a4b2e0c0d8 Don't show empty 3 dots in Message Composer when there aren't any more buttons (#8023) 2022-03-10 17:19:48 +00:00
Michael Telatynski
5902ddaf06 Fix issues with ThreadSummary in msc-enabled mode (#8018) 2022-03-10 13:34:24 +00:00
Robin
225581de6a Don't escape pasted text (#8014)
Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-10 08:30:43 -05:00
Michael Telatynski
48cd83b9d5 Fix issues with thread summaries being wrong or stale (#8015) 2022-03-10 10:29:28 +00:00
Robin
7b71a9fb65 Fix room list scroll jumps (#7991)
Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-09 13:18:17 -05:00
Michael Telatynski
288e47fd81 Update m.render_in to is_falling_back (+ unstable field) (#7979) 2022-03-09 16:15:53 +00:00
Michael Telatynski
782ce016d1 Wrap EventTile rather than its children in an error boundary (#7945) 2022-03-09 11:22:36 +00:00
Andy Balaam
a792097d02 Keyboard shortcut to open the sticker picker (#7985) 2022-03-08 15:05:36 +00:00
Travis Ralston
b981a96b29 Add unexposed account setting for hiding poll creation (#7972)
* Add unexposed account setting for hiding poll creation

This is to match the sticker picker setting we already have, but not exposed in the user settings until we decide if we actually want it to be there.

This is primarily intended to be used in environments that disable it at the config level, though given there's multiple people in the wild who have asked for this, it seems reasonable to expose it as a hidden setting instead. Note that as of writing it's not clear if any of those requests made it as far as an issue tracker.

Typically for the usecase presented we'd add a new UIFeature flag, however this *feels* wrong for the case at hand.

* Move visibility check way higher

* Fix i18n post-merge
2022-03-04 18:04:30 +00:00
Michael Telatynski
0e60ad98c1 Hide composer and call buttons when the room is tombstoned (#7975) 2022-03-04 15:53:22 +00:00
Robin
3099a75a5d Allow pinning polls (#7922)
* Allow pinning polls

Signed-off-by: Robin Townsend <robin@robin.town>

* Show responses to pinned polls

Signed-off-by: Robin Townsend <robin@robin.town>

* Use enums more

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-04 09:26:13 -05:00
Kerry
d98a73b003 Revert "replace all require(.svg) with esm import" (#7969)
* Revert "replace all require(svgs) with esm import (#7948)"

This reverts commit 61cd463a3b.

* add .default to svg icon inline requires

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add shameful eslint ignore

Signed-off-by: Kerry Archibald <kerrya@element.io>

* format eslintrc

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add missed MFileBody change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* one more broken svg

Signed-off-by: Kerry Archibald <kerrya@element.io>

* and ignore it

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-03 17:51:38 +00:00
Germain
c42ef0de2a Remove e2e padlock on threads list (#7970) 2022-03-03 16:28:42 +00:00
Travis Ralston
f882466329 Add a few more UIComponent flags, and ensure they are used in existing code (#7937)
* UIComponent flag: Explore rooms

To disable the room directory access on the Home space. Can be controlled with the existing ComponentVisibilityCustomisation

* Make "plus menu" respect component visibility

* UIComponent flag: Add integrations

To disable the widgets section of the room info card and addwidget slashcommand. Can be controlled with the existing ComponentVisibilityCustomisation

* Make sure invite users component applies to space rooms too

* Appease the linter
2022-03-02 10:37:18 -07:00
Kerry
61cd463a3b replace all require(svgs) with esm import (#7948)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-02 17:14:33 +01:00
Michael Telatynski
3c858a723b Fix sending locations into threads and fix i18n (#7943) 2022-03-02 14:27:16 +00:00
Michael Telatynski
0f4125dfd5 Consider polls as message events for rendering redactions (#7944) 2022-03-02 14:27:02 +00:00
Germain
d50dae5208 Decrypt thread last reply on EventTile mount and update (#7930)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-02 09:02:14 +00:00
Germain
cc389120c7 Render thread summary for events discovered on scrollback (#7925) 2022-03-02 09:02:06 +00:00
Michael Telatynski
f25e6813bb Mandate use of js-sdk/src/matrix import over js-sdk/src (#7933) 2022-03-01 20:42:05 +00:00
Michael Telatynski
16e67e7716 Wrap all EventTiles with a TileErrorBoundary and guard parsePermalink (#7916)
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-03-01 08:41:48 +00:00
Šimon Brandner
df591ee835 Make everything use the KeyBindingManager (#7907) 2022-02-28 16:05:52 +00:00
Michael Telatynski
5f8441216c Disable creating polls within threads (#7914) 2022-02-28 15:34:30 +00:00