Commit Graph

986 Commits

Author SHA1 Message Date
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
David Baker 1a6134e441 Fix another freeze on room switch (#7900)
* Fix another freeze on room switch

This switches permalinks to use the batch state update event and
removes the incremental updates, as commented. We now spend, on my
profiling, about 450ms in setOutOfBandMembers itself and another
120ms in permalinks.

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

* Just bind to the currentstate state updates
2022-02-25 19:48:35 +00:00
Michael Telatynski c257bc3f7a Prefer RoomStateEvent.Update where possible as it fires far less (#7878) 2022-02-24 14:39:25 +00:00
David Baker 81cda7c749 Fix freeze on room switch (#7884)
* Fix freeze on room switch

updateServerCandidates was called on every room member event and
not throttled.

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

* Move import

* Disable throttling in tests

* Types

Co-authored-by: Travis Ralston <travisr@matrix.org>

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-02-23 19:16:12 +00:00
Michael Telatynski 7fa01ffb06 Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Robin bb79c6086a Don't pillify code blocks (#7861)
* Don't pillify code blocks

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

* Test that pills do not appear in code blocks

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

* Use snapshot instead for test

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-22 06:46:34 -05:00
Michael Telatynski 8fccef86d8 Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +00:00
Kerry 5b8d440406 type Actions (#7862)
* type ViewHomPage action

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

* type spacestore actions

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

* lint

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

* add action types

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

* use new action types in stores

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

* remove debug change

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

* stricter keyboard shortcut types

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

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Šimon Brandner fe7f1688dd Move editEvent() to EventUtils (#7836) 2022-02-18 15:01:32 +00:00
Michael Telatynski 658590e5bc More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Andy Balaam 7387f3c80a Allow editing polls (#7806) 2022-02-17 09:13:05 +00:00
Travis Ralston aba61fa390 Revert "Support refresh tokens (#7802)"
This reverts commit 839593412c.
2022-02-16 12:32:38 -07:00
Travis Ralston 839593412c Support refresh tokens (#7802)
MSC: https://github.com/matrix-org/matrix-doc/pull/2918
Fixes https://github.com/vector-im/element-web/issues/18698
Fixes https://github.com/vector-im/element-web/issues/20648
**Requires https://github.com/matrix-org/matrix-js-sdk/pull/2178**

**Note**: There's a lot of logging in this PR. That is intentional to ensure that if/when something goes wrong we can chase the exact code path. It does not log any tokens - just where the code is going. Overall, it should be fairly low volume spam (and can be relaxed at a later date).

----

This approach uses indexeddb (through a mutex library) to manage which tab actually triggers the refresh, preventing issues where multiple tabs try to update the token. If multiple tabs update the token then the server might consider the account hacked and hard logout all the tokens.

If for some reason the timer code gets it wrong, or the user has been offline for too long and the token can't be refreshed, they should be sent to a soft logout screen by the server. This will retain the user's encryption state - they simply need to reauthenticate to get an active access token again.

This additionally contains a change to fix soft logout not working, per the issue links above.

Of interest may be the IPC approach which was ultimately declined in favour of this change instead: https://github.com/matrix-org/matrix-react-sdk/pull/7803
2022-02-15 20:16:49 +00:00
Michael Telatynski 0cf15d27dc Fix edge cases around event list summaries with hidden events and redactions (#7797) 2022-02-14 23:58:29 +00:00
Michael Telatynski 0d6ef76605 Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
Michael Telatynski f6565bfbc8 Send how many favorited rooms a user has to Posthog (#7772) 2022-02-10 10:02:34 +00:00
Michael Telatynski 2b72a2cc2f Fix view source and devtools showing hljs warnings (#7759) 2022-02-09 09:09:06 +00:00
Michael Telatynski 760d269671 Fix relative link handling in Element Desktop (#7708) 2022-02-03 08:55:49 +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
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
Michael Telatynski cbc671b19f Share e2ee keys when using /invite SlashCommand (#7655) 2022-01-28 10:02:37 +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
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 00912c0b50 Load light theme prior to HTML export to ensure it is present (#7643) 2022-01-26 16:04:25 +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 d60b234b75 Don't render a bubble around emotes in bubble layout (#7573) 2022-01-24 13:51:57 +00: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
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
Michael Telatynski 8c20bcfe56 Prevent mutations of js-sdk owned objects as it breaks accountData (#7504) 2022-01-10 17:09:35 +00:00
Germain 3c70aa15d1 Fix permalink to unknown event crash (#7501) 2022-01-10 16:44:24 +00:00
J. Ryan Stinnett 6199c337ea Fix spacing errors (#7484) 2022-01-10 12:57:20 +00:00
Michael Telatynski 8b88b48edc Remove bubble from around location events (#7459) 2022-01-10 12:53:11 +00:00
Michael Telatynski f7d19a5746 null-guard dataset mxTheme to prevent html exports from exploding (#7493) 2022-01-10 11:34:56 +00:00
Michael Telatynski f94bad7f0a Fix being wrongly sent to Home space when creating/joining/leaving rooms (#7418) 2021-12-23 12:01:14 +00:00
Germain fdc6082c83 Make threads events indexed by the index manager (#7442) 2021-12-23 10:12:27 +00:00
RiotRobot d870c16cd1 Merge branch 'master' into develop 2021-12-20 14:22:07 +00:00
Michael Telatynski d10ac7cfdb Fix exporting from nightly where the data-mx-theme is Light not light (#7416) 2021-12-20 11:36:47 +00:00
Michael Telatynski 39c4b78371 Space preferences for whether or not you see DMs in a Space (#7250) 2021-12-17 09:26:32 +00:00
Michael Telatynski 11aa6c7435 Don't show a message bubble around polls (#7374)
* Don't show a message bubble around polls

* Update res/css/views/rooms/_EventBubbleTile.scss
2021-12-15 19:47:57 +00:00
Michael Telatynski 3229b06b01 Add internationalisation to progress strings in room export dialog (#7385) 2021-12-15 16:21:51 +00:00
Andy Balaam 43839adec0 Use constants from js-sdk in polls code (#7381) 2021-12-15 14:26:26 +00:00
Michael Telatynski 7033f8696a Improve typing (#7349) 2021-12-14 15:34:54 +00:00
Michael Telatynski fcc4939075 Fix naming of set-theory utils to match convention (#7343) 2021-12-13 10:57:51 +00:00
Dominik Henneke 908e938996 Keep all previously approved widget capabilities when requesting new capabilities (#7340) 2021-12-13 10:34:04 +00:00
Travis Ralston e4b96cff1f Merge remote-tracking branch 'aaronraimist/sort-imports' into develop 2021-12-09 16:03:59 -07:00
Andy Balaam 68ac578577 Support reactions, replies and forwards of polls (#7318) 2021-12-09 12:54:31 +00:00
Aaron Raimist 42003ac229 Move comment
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:59:24 +00:00