Commit Graph

16431 Commits (1145719d057f9fd9a62f20f004a5c9abf7530b05)

Author SHA1 Message Date
Šimon Brandner bb03298e6d
Add a warning to the console to discourage attacks and encourage contributing (#7673) 2022-02-01 17:24:17 +00:00
Eric Eastwood 9b0da552e7
Fix vertical spacing in `compact` `<ContextMenu>` (#7684)
Fix https://github.com/vector-im/element-web/issues/20801

Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/7339

Relevant styles were first added in https://github.com/matrix-org/matrix-react-sdk/pull/4858
(context behind why the original styles were added)

---

## Cause

Battling CSS specificity between the default and compact styles, https://specificity.keegan.st/

Known good (On `app.element.io` (expected)):
```css
// 0 3 0
.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_AccessibleButton {
    padding-top: 12px;
    padding-bottom: 12px;
}

// Compact styles override our default rules because they come
// after the other styles (source order) and have the same specificity
// 0 3 0
.mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
    padding: 8px 16px 8px 11px;
}
```

Bad (On `develop` (broken)):
```css
// Default rules always override because they have higher specificity.
// The `:not()` selector doesn't add any extra specificity but the selectors inside the `:not(...)` do.
// 0 4 0
.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_AccessibleButton:not(.mx_AccessibleButton_hasKind) {
    padding-top: 12px;
    padding-bottom: 12px;
}

// 0 3 0
.mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
    padding: 8px 16px 8px 11px;
}
```
2022-02-01 11:23:21 -06:00
Michael Telatynski 8dd0722e04
Update eventName=Screen to $screen to match PostHog's special behaviour (#7667) 2022-02-01 15:49:49 +00:00
David Baker 5b999300b2
Fix the sticker picker (#7692)
* Fix the sticker picker

Don't stop user widgets on room change: they're not room-specific.

Fixes https://github.com/vector-im/element-web/issues/20797

* Use 'userWidget' prop rather than roomId being defined
2022-02-01 15:34:22 +00:00
Michael Telatynski 98c5f50f36
Fix publishing address wrongly demanding the alias be available (#7690) 2022-02-01 15:06:26 +00:00
Michael Telatynski bf8c04ff55
Prevent MemberAvatar soft-crashing when rendered with null member prop (#7691) 2022-02-01 15:06:16 +00:00
Germain 5973d725e0
Add new threads to the panel as they are discovered (#7688) 2022-02-01 15:01:00 +00:00
Michael Telatynski afe6021c9a
Ensure UserInfo can be rendered without a room (#7687)
Co-authored-by: David Baker <dave@matrix.org>
2022-02-01 10:17:55 +00:00
Germain 0e36f91d76
Use updated createThread method (#7670) 2022-02-01 08:58:45 +00:00
Šimon Brandner a55482b0ff
Don't show replaced calls in the timeline (#7452)
* Don't show replaced calls in the timeline

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

* Revert changes to CallEvent

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

* Add option to force hide event

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

* Hide replaced calls

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-01-31 16:09:34 +00:00
Michael Telatynski 991257cbc3
Fix accessibility and consistency of MessageComposerButtons (#7679) 2022-01-31 16:05:05 +00:00
Šimon Brandner a17d585a12
Work towards unifying `KeyboardShortcuts` and `KeyBindingsDefaults` #2 (#7674) 2022-01-31 15:55:45 +00:00
Faye Duxovni 655f473612
Fix 'undefined' labels on rageshakes (#7680) 2022-01-31 10:15:46 -05:00
RiotRobot a25fea9f96 Merge branch 'master' into develop 2022-01-31 14:57:13 +00:00
Kerry 085ecc7f5f
Chat export parameter customisation (#7647)
* use export settings and hide fields

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

* fix exporter tests

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

* test ExportDialog with settings

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

* tidy debugs, rename setting to Parameters

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

* use reasonable 100gb limit

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

* use normal setting instead of UIFeature

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

* use a customisation

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

* move validateNumberInRange to utils

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

* use nullish coalesce

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

* use 8gb size limit for customisation

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

* update comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-31 12:54:14 +01:00
Šimon Brandner ad87ee0a0f
Don't show shield next to deleted messages (#7671) 2022-01-31 11:21:13 +00:00
Andy Balaam b5a56698d6
Refactor MessageComposerButtons (#7668) 2022-01-31 09:19:26 +00:00
David Baker 7c20eb9b74
Put call on hold when transfer dialog is opened (#7669)
And take it off hold if the dialog is cancelled.

Also changes the onFinished signature of invitedialog which claimed
to return an array of strings but never did, so now it just returns
a boolean.
2022-01-28 17:05:57 +00:00
Travis Ralston b04d2de313
Fix left panel widgets causing app-wide crash (#7659) 2022-01-28 08:52:46 -07:00
Travis Ralston cb2c835c09
Fix left panel widgets causing app-wide crash (#7660) 2022-01-28 08:52:28 -07:00
Andy Balaam 2229437424
Refactor renderButtons() into MessageComposerButtons component (#7664) 2022-01-28 15:44:03 +00:00
Andy Balaam 0c10385dd2
Remove unused code from Stickerpicker (#7663)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-28 12:22:45 +00:00
Andy Balaam 344b506184
Rename properties related to Stickers (#7662)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-28 10:58:58 +00:00
Michael Telatynski cbc671b19f
Share e2ee keys when using /invite SlashCommand (#7655) 2022-01-28 10:02:37 +00:00
Andy Balaam 15276ea3b4
Render no buttons if we have a voice recording (#7658) 2022-01-28 09:39:10 +00:00
Eric Eastwood 7fa27f5834
Add jump to date functionality to date headers in timeline v2 (#7339)
Fix https://github.com/vector-im/element-web/issues/7677

Utilizes MSC3030: https://github.com/matrix-org/matrix-doc/pull/3030

https://user-images.githubusercontent.com/558581/150060664-79627573-f4fd-497c-b726-dc3485854bd0.png
2022-01-27 16:32:12 -06:00
J. Ryan Stinnett efa1667d7e
Remove Unpin option from maximised widget context menu (#7657) 2022-01-27 17:08:09 +00:00
Michael Telatynski 51446378e3
Tweak spotlight roving behaviour to reset when changing query (#7656) 2022-01-27 16:40:22 +00:00
Michael Telatynski b77d31bb4f
Fix new call event grouper implementation for encrypted rooms (#7654) 2022-01-27 16:40:06 +00:00
Michael Telatynski 074fec359b
Fix issue with tile error boundaries collapsing in bubbles layout (#7653) 2022-01-27 13:34:26 +00:00
Šimon Brandner 57a5647079
Work towards unifying `KeyboardShortcuts` and `KeyBindingsDefaults` #1 (#7651) 2022-01-27 11:37:53 +00:00
Michael Telatynski f2249b3e37
Fix CallEventGrouper map building to not occur during a Render phase (#7638) 2022-01-27 11:08:28 +00:00
Andy Balaam ae490841c6
Look up tile server info in homeserver's .well-known area (#7623) 2022-01-27 09:51:06 +00:00
Michael Telatynski 3ff4c6808f
Fix space panel edge gradient not applying on load (#7644) 2022-01-27 09:36:58 +00:00
Kerry 3eca71bc84
Unit test ExportDialog (#7619)
* add test ids to dialog buttons

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

* unit test ExportDialog

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

* remove extra snapshot

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

* fix bad snapshots

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

* remove wrappers from snapshot

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-27 09:55:08 +01:00
Michael Telatynski 50f8c61fa8
Fix search results view for layouts other than Group/Modern (#7648) 2022-01-26 20:15:44 +00:00
Faye Duxovni 31e6b942f2
Redirect UISI autorageshakes to separate repo and add more labels for filtering (#7598)
This adds a new key `uisi_autorageshake_app` to config.json, holding an optional custom app name for UISI autorageshakes so that the rageshake server can file them separately from user-submitted rageshakes.
2022-01-26 14:30:45 -05:00
Michael Telatynski 2f209c4346
Add grouper for hidden events (#7649) 2022-01-26 19:10:16 +00:00
Germain 00e868f371
Use null guarded thread getter in EventTile (#7646)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-26 17:51:15 +00:00
Germain Souquet 5a183c590e Use null guarded thread getter in EventTile 2022-01-26 17:15:36 +00:00
UwUnyaa debf4caade
Add a keyboard shortcut to toggle hidden event visibility when labs are enabled. (#7584)
Notes: The keyboard shortcut is control (or cmd) shift h.
Signed-off-by: Katarzyna Stachura <uwunyaa@outlook.com>
2022-01-26 16:50:47 +00:00
Michael Telatynski 79d9a0c0f7
Fix soft-crash when hanging up Jitsi via PIP (#7645) 2022-01-26 15:28:04 +00:00
Germain 038f67e844
Improved threads stability (#7639)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-26 14:11:09 +00:00
Michael Telatynski 8e4ced6454
Correctly handle Room.timeline events which have a nullable `Room` (#7635) 2022-01-26 13:24:14 +00:00
Michael Telatynski d239697384
Fix React unique key errors (#7640) 2022-01-26 13:01:29 +00:00
Michael Telatynski b7099f84c3
Translate keyboard shortcut alternate key names (#7633) 2022-01-26 10:15:06 +00:00
Michael Telatynski 88cd2f8af7
Fix unfocused paste handling and focus return for file uploads (#7625) 2022-01-26 09:04:19 +00:00
Michael Telatynski 04f8228741
Tweak room list header menu for when space is active (#7577)
* Remove start chat entry from space-variant room list header + menu

* Add options to the RoomListHeader plus menu

* Tweak behaviour of room list header + menu space variant explore action
2022-01-25 20:21:38 +00:00
J. Ryan Stinnett fad65f9582
Add body link fallback handler for in-app navigation (#7627) 2022-01-25 14:31:00 +00:00
Michael Telatynski ede94e7506
Fix weirdnesses with the spotlight dialog (#7624) 2022-01-25 13:55:38 +00:00
Michael Telatynski fb49ccce35
Show bubble tile timestamps for bubble layout inside the bubble (#7622) 2022-01-25 13:10:17 +00:00
Michael Telatynski 8ddd677c35
De-labs Metaspaces (#7613) 2022-01-25 12:33:17 +00:00
Germain ecd5be8a8f
Update lastReply to filter out local event ID from thread fallback (#7620) 2022-01-25 10:51:17 +00:00
Michael Telatynski 1d02e61655
Improve taken username warning in registration for when request fails (#7621) 2022-01-25 10:45:41 +00:00
Michael Telatynski 68024c156a
De-labs Message Bubbles layout (#7612) 2022-01-25 10:12:05 +00:00
Kerry 502b805164
Add customisation point for mxid display (#7595)
* add wrapping component for hiding UI

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

* add Setting

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

* apply setting to profile settings, user menu, invite dialog, userinfo

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

* hide mxids in user autocomplete

* remove mxids from title in memeber list and timeline

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

* hide mxid in ConfirmUserActionDialog

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

* use name in power level event message when displayMxids is falsy

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

* add customisation point for mxid display

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

* use userid customisation

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

* use customisation in sender profile

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

* hide profile settings mxid if falsy

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

* rename and move to components

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

* remove change to UIFeature.ts

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

* improvements from pr

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

* lint fix

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-25 10:40:02 +01:00
Kerry b481fc069e
Wrapping component to show/hide UI based on UIFeature setting (#7585)
* add wrapping component for hiding UI

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

* rename and move to components

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

* prefix interface and add missing copyright

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

* remove roomId prop

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-25 10:25:41 +01:00
Charlie Calendre 6ac3a92513
Avoid double dialog after clicking to remove a public room (#7604)
Fixes https://github.com/vector-im/element-web/issues/20681
2022-01-24 13:20:53 -07:00
Michael Telatynski 777af0cf10
Bubble layout fixes to media events (#7615) 2022-01-24 19:01:20 +00:00
Michael Telatynski 4540cf5b77
Tweak copy for the Sidebar tab in User Settings (#7578) 2022-01-24 16:58:36 +00:00
Michael Telatynski d75c1bc0d6
Fall back to legacy analytics for guest users (#7616) 2022-01-24 15:58:31 +00:00
Timo 9d9b77d5e1
Make widgets not reload (persistent) between center and top container (#7575) 2022-01-24 15:24:30 +00:00
Kerry 26e1570dd6
a11y - fix iframes without title (#7614)
* iframe title in AppTile

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

* iframe title in hostSignupDialog

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

* iframe title in MFileBody

* iframe titles in modal widget and int man

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

* enable jsx-a11y/iframe-has-title rule

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-24 14:07:54 +00:00
Michael Telatynski d60b234b75
Don't render a bubble around emotes in bubble layout (#7573) 2022-01-24 13:51:57 +00:00
Robin 6806c2cdca
Enlarge emoji in composer (#7602) 2022-01-24 12:53:05 +00:00
Šimon Brandner b5d11336f7
Add ability to switch between voice & video in calls (#7155) 2022-01-24 12:48:35 +00:00
Andy Balaam b02c6c7953
Re-renable Share option for location messages (#7596) 2022-01-24 12:28:17 +00:00
Charlie Calendre 8ca18ccdec
Fix translation of "powerText" (#7603) 2022-01-24 12:01:17 +00:00
Robin cb152a575d
Unhide display names when switching back to modern layout (#7601) 2022-01-24 11:49:26 +00:00
Šimon Brandner a2f1e856be
Make room ID copyable (#7600) 2022-01-24 11:47:59 +00:00
Šimon Brandner 5f18e4888c
Improve the look of the keyboard settings tab (#7562)
* First cut of new keyboard shortcuts

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

* Remove unused code

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

* i18n

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

* Amend shortcuts

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

* Improve CATEGORIES struct

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

* Add tests for registerShortcut()

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

* Simplifie code tiny bit

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

* Translate ALTERNATE_KEY_NAME

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

* Fix `key` usage

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

* Export components for tests

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

* Write snapshot tests

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-01-24 11:33:27 +00:00
Šimon Brandner 55ec1bdc85
Fix space member list not opening (#7609) 2022-01-24 09:03:56 +00:00
Ingrid cf0141467e
Tooltip on send button in forward dialog is redundant (#7594) 2022-01-21 12:00:43 +00:00
Andy Balaam 09a1bc66a8
Disable location sharing button on Desktop (#7590) 2022-01-21 10:36:00 +00:00
Germain 8f7fa07152
Fix thread panel message deleted preview (#7587) 2022-01-21 10:12:05 +00:00
Germain 35ebca2966
Fix thread filtering and ordering (#7586) 2022-01-21 10:03:08 +00:00
Oliver Sand 2e6f616e91
Allow downloads from widgets (#7502)
Notes: Allow downloads from widgets.

We are working on a widget that allows the user to download a file (a ICS calendar entry). Right now the sandbox of the widget iframe doesn't allow downloading. Instead, the following error is displayed in the console (for Google Chrome):

```
Download is disallowed. The frame initiating or instantiating the download is sandboxed, but the flag ‘allow-downloads’ is not set. See https://www.chromestatus.com/feature/5706745674465280 for more details.
```

Therefore this PR adds `allow-downloads` to the sandbox capabilities.

Steps to reproduce:
1. Create a simple widget with an `index.html` file like, e.g.
   ```
     <a href="index.html" download>Download</a>
   ```
2. Host the widget somewhere, add it to the room and open the widget
3. Click on the download button
  * Without the fix: Nothing happens, there is a warning in the console (see above)
  * With the fix: The file is downloaded

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
2022-01-20 16:52:06 -07:00
Travis Ralston 6712a5b1c5
Parse matrix-schemed URIs (#7453)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Dariusz Niemczyk <dariuszn@element.io>
Co-authored-by: Timo K <toger5@hotmail.de>

With this pr all href use matrix matrix.to links. As a consequence right-click copy link will always return get you a sharable matrix.to link.
2022-01-20 18:18:47 +01:00
Robin f59ea6d7ad
Show a tile at beginning of visible history (#5887) 2022-01-20 09:51:31 +00:00
Andy Balaam c4fc20018d
Enable the polls feature (#7581) 2022-01-20 09:40:47 +00:00
Faye Duxovni 582a1b093f
Track decryption failures for visible events only, with a shorter grace period (#7579) 2022-01-19 14:31:43 -05:00
Germain ec6bb88068
Fix reply chain fallback for first event in a thread (#7580) 2022-01-19 13:37:19 +00:00
Germain 8427bf46ef
Fix broken thread list timestamp display (#7549) 2022-01-19 10:41:39 +00:00
Germain 336217f668
Add view in room to action bar in thread list (#7519) 2022-01-19 10:39:33 +00:00
Andy Balaam 2743a75a21
Display general marker on non-self location shares (#7574) 2022-01-19 09:33:49 +00:00
Germain 41b9e4aa4f
Implement reply chain fallback for threads backwards compatibility (#7565) 2022-01-19 09:06:48 +00:00
Eric Eastwood a00d359422
Fix left positioned tooltips being wrong and offset by fixed value (#7551)
Previously, the `left` positioning seemed to only work with icons which are all about the same size so the arbitrary offset worked. Now we actually position off to the left of the element and we have equal `margin-left` and `margin-right` to determine the offset.

Spawned from https://github.com/matrix-org/matrix-react-sdk/pull/7339#discussion_r767154349
2022-01-18 21:08:11 -06:00
Michael Telatynski aac5964121
Fix wrong icon being used for appearance tab in space preferences dialog (#7570) 2022-01-18 17:56:49 -07:00
Eric Eastwood c0681333bf
Fix /jumptodate using wrong MSC feature flag (#7563)
As reported by @turt2live, https://matrix.to/#/!EMAlzkQQlZGEVTkDnD:matrix.org/$gnoVWQnIkYYL1i1cL8A4qRKJCFpNtq0Oj5khpzOq1mQ?via=half-shot.uk&via=matrix.org&via=element.io

Also fixes camelCase typo
2022-01-18 09:51:25 -06:00
Michael Telatynski d5412e52ed
Replace home icon with new one (#7571) 2022-01-18 15:29:01 +00:00
Andy Balaam 47cbef2af2
Ensure maps show up in replies and threads, by creating unique IDs (#7568) 2022-01-18 13:33:53 +00:00
Andy Balaam e1cdbe1e54
Use IncompatibleController to disable showLocation via labs flag (#7566) 2022-01-18 11:28:23 +00:00
Michael Telatynski f217c6fd61
Update bubble layout styling for stickers (#7560) 2022-01-18 10:37:44 +00:00
Michael Telatynski 4b5ca1d7a9
Fix timeline jumping issues related to bubble layout (#7529) 2022-01-18 09:31:21 +00:00
Travis Ralston 65987e6b72
Move all polls processing to events-sdk & prep for stable polls (#7517)
* Move all polls processing to events-sdk

This makes polls support the full range of extensible events (both parsing and generation).

* Appease the linter

* Fix & update tests

* Update events-sdk for polls bugfix

* Update events-sdk for typechecking

* Add missing type cast

* Update per review
2022-01-17 10:06:30 -07:00
David Teller 6b870ba1a9
MSC3531 - Implementing message hiding pending moderation (#7518)
Signed-off-by: David Teller <davidt@element.io>
2022-01-17 16:04:37 +01:00
Kerry 42adedc468
Wait for initial profile load before displaying widget (#7556)
* wait for initial profile load before displaying jitsi

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

* update comment

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

* amke fn return boolean

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

* listen for profile update once

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

* remove unneccessary check

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-17 13:47:07 +00:00
Šimon Brandner 1f298250b9
Make the `Keyboard Shortcuts` dialog into a settings tab (#7198) 2022-01-17 11:53:10 +00:00
Andy Balaam 18c82d57ae
Add setting for enabling location sharing (#7547) 2022-01-14 15:57:39 +00:00
Andy Balaam ae2cb63a0d
Enable/disable location share button when setting is changed (#7545) 2022-01-14 15:04:09 +00:00