Commit graph

4886 commits

Author SHA1 Message Date
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
Robin
33657947d3
Inject sender into pinned messages (#7904)
* Inject sender into pinned messages

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

* Remove unused prop

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-28 14:47:14 +00:00
Michael Telatynski
75e41b4c1c
Basic threads analytics into Posthog MVP (#7871) 2022-02-28 14:11:14 +00:00
Robin
76ca0362e1
Fix composer format buttons on WebKit (#7898) 2022-02-25 13:20:06 +00:00
Michael Telatynski
5167b30ee6
Fix upload button & shortcut not working for narrow composer mode (#7894) 2022-02-24 17:37:02 +00:00
Kerry
6e143c313e
eslint to 8.9.0 (#7889)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 15:54:06 +01:00
Michael Telatynski
c257bc3f7a
Prefer RoomStateEvent.Update where possible as it fires far less (#7878) 2022-02-24 14:39:25 +00:00