Commit Graph

1035 Commits (59364ec177984a689e44937909e1485c5ad95ef4)

Author SHA1 Message Date
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
Aaron Raimist ba0f15bbb5 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:13:26 +00:00
Aaron Raimist 2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Michael Telatynski 3f4b5df574
Fix html exporting and improve output size (#7312) 2021-12-09 08:51:05 +00:00
Aaron Raimist 7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Michael Telatynski f410d52bc1
Finish sending pending messages before leaving room (#7276) 2021-12-06 09:25:53 +00:00
Dariusz Niemczyk 961fec9081
Refactor matrix-linkify module (#7279)
Refactor the module to make it easier for upgrade and proper separation of code contexts
2021-12-03 14:00:56 +00:00
Michael Telatynski 5ba2d16ee1
Don't show edit button for hidden edit events (#7226) 2021-12-01 10:52:15 +00:00
Michael Telatynski 8fe582b094
Tweaks to informational architecture 1.1 (#7052)
* Move user avatar to Space panel

* Add room list header for 'Home' or 'Space Name' to room list
Add existing Space context menus to room list header

* Re-add pending room join spinner

* Iterate RoomListHeader plus context menu

* Iterate space context menu

* Iterate room list + interactions

* Move DND to new iA model

* Replace composer custom status management with usermenu one

* Cull Quick Actions

* Iterate minimized room list state

* delint

* Merge the RoomListNumResults into the RoomListHeader

* Make the search shortcut prompt semi-bold

* Iterate RoomListHeader based on design review

* Iterate UserMenu based on feedback

* Add name to expanded spacepanel usermenu button

* i18n

* Make room sub list aux button components more generic

* Change left panel explore button to only refer to room directory

* Iterate RoomListHeader

* Fix custom user status input field width in Chrome

* Bring back Notification settings button

* delint

* i18n

* post-merge fix

* iterate pr

* Remove unused state

* update copy

* Apply suggestions from PR review

* delint

* Update invite iconography

* Iterate Space context menu to match Figma

* Fix chevron alignment

* Fix edge case for RoomListHeader on metaspaces

* Wire up general rageshake-driven feedback mechanism

* Add IA1.1 info toast

* add missing alt attribute

* delint

* delint

* tweak ia toast priority

* e2e test account for new toast

* autofocus feedback field and remove old subheading

* tweak copy

* Iterate space panel colours to match Figma

* Iterate PR

* delint

* Fix feedback submission with object setting values

* iterate based on review

* Tweak colours and update splash image

* Tweaks based on review

* Remove room list prompt, made redundant by the big fat `+`

* Fix edge cases around User Menu positioning and dnd

* Add missing import, bad merge?

* Update aria label in e2e test

* Fix room list space rooms context menu explore button behaviour

* Tweak copy

* Revert order of options in the UserMenu

* Tweak copy

* i18n
2021-11-30 18:08:46 +00:00
Travis Ralston 3c06e7f7a0
Add option to change the size of images/videos in the timeline (#7017)
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
Co-authored-by: Timo K <toger5@hotmail.de>
2021-11-17 15:19:30 +00:00
Aaron R 6d79b95876
Add root folder to zip file created by export chat feature (#7097)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-11-15 14:37:16 -07:00
Michael Telatynski 5ad3261cb2
Implement more meta-spaces (#7077) 2021-11-11 13:07:41 +00:00
Andy Balaam 431b69ee49
Display started polls in timeline (without votes) (behind labs setting) (#7088)
* Display started polls in timeline (without votes)

* Update i18n info

* Keep original background colour of poll options, even on hover

* Show full avatar above a poll message
2021-11-10 15:44:57 +00:00
Aaron Raimist 2112089146
Move comments back to correct location
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-28 19:41:45 -05:00
Aaron Raimist f738ad51bd
Autofix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-27 21:53:12 -05:00
Aaron Raimist f3867ad0a9 Merge branch 'develop' into sort-imports 2021-10-27 21:50:56 -05:00
Michael Telatynski 27e16362b6
Make join button on space hierarchy action in the background (#7041) 2021-10-27 15:24:31 +01:00
Michael Telatynski 39e61c4fa3
Fix cannot read length of undefined for room upgrades (#7037) 2021-10-26 10:21:27 +01:00
Aaron Raimist bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Germain e20ac7bf1e
Implement deep-linking for threads (matrix.to) (#7003) 2021-10-22 09:30:36 +01:00
Germain 77e6e1c0ab
Merge pull request #6960 from matrix-org/gsouquet/rename-replythread 2021-10-18 17:11:31 +01:00
Dariusz Niemczyk 2c66403b3c Replace console.info with logger.info
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk 5290afcc4c Replace console.warn with logger.warn
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk 5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk 9c594a8a96 Replace console.logs to logger.log
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Germain Souquet 5a7c0d87b6 Rename ReplyThread to ReplyChain to avoid confusion with m.thread 2021-10-15 17:42:44 +01:00
Michael Telatynski 4118d13846
Merge pull request #6829 from matrix-org/t3chguy/fix/18969 2021-10-14 09:59:34 +01:00
Michael Telatynski 111ae75874 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18969
 Conflicts:
	src/components/views/right_panel/UserInfo.tsx
2021-10-08 13:00:20 +01:00
Michael Telatynski 2483f1dc90 Add progress bar to restricted room upgrade dialog 2021-10-08 12:20:43 +01:00
Michael Telatynski 1d5a1c7a82
Merge pull request #6887 from matrix-org/t3chguy/fix/19216 2021-10-06 09:29:25 +01:00
Dariusz Niemczyk 1331e960fa
Add ability to properly edit messages in Threads. (#6877)
* Fix infinite rerender loop when editing message

* Refactor "edit_event" to Action.EditEvent

* Make up-arrow edit working in Threads

* Properly handle timeline events edit state

* Properly traverse messages to be edited

* Add MatrixClientContextHOC

* Refactor RoomContext to use AppRenderingContext

* Typescriptify test

Co-authored-by: Germain <germains@element.io>
2021-10-01 15:35:54 +02:00
Jaiwanth 5568d533c0 Handle newer voice message format 2021-10-01 14:52:37 +05:30
Travis Ralston fe0a68b71e
Merge pull request #6869 from SimonBrandner/task/src-ts
Convert `/src` to TS
2021-09-30 12:48:23 -06:00
Michael Telatynski 8ac77c498f Add progress bar to Community to Space migration tool
and invite-one-by-one to workaround Synapse ratelimits
2021-09-30 13:43:59 +01:00
Jaiwanth e0267258a4 Initialize css string 2021-09-30 16:24:31 +05:30
Jaiwanth d264f5f98e Change js-sdk import style 2021-09-29 20:55:09 +05:30
Jaiwanth 6ccb7e9145 Space after brand 2021-09-29 19:37:31 +05:30
Jaiwanth 208b914cb0 Merge branch 'develop' into export-conversations 2021-09-29 19:32:05 +05:30
Šimon Brandner e30d4e6746
Convert boundThreepid to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-27 14:34:54 +02:00
Michael Telatynski 6d0af83df4 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/18969
 Conflicts:
	src/components/views/dialogs/LeaveSpaceDialog.tsx
	src/i18n/strings/en_EN.json
2021-09-27 11:19:49 +01:00
Šimon Brandner 1ed4a9eb4f
Fix JSDoc type
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-27 10:19:53 +02:00
Šimon Brandner ee344efb3d
Convert MegolmExportEncryption to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-26 15:20:42 +02:00
Šimon Brandner aa10cf45a5
Convert KeyVerificationStateObserver to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-26 15:05:51 +02:00
Šimon Brandner 0c6bf950f6
Convert HostingLink to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-26 15:03:50 +02:00
Šimon Brandner 755bfb4562
Convert DirectoryUtils to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-26 15:02:07 +02:00
Jaiwanth d1e3d35d40 Change export bundle filename format, light theme for all exports and import jszip after export cta 2021-09-22 22:17:23 +05:30
Jaiwanth 94e4fb71c1 Merge branch 'develop' into export-conversations 2021-09-22 18:07:01 +05:30
Dariusz Niemczyk 2d1d42b90e
Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
Michael Telatynski 1858c63c4a Allow options to cascade kicks/bans throughout spaces 2021-09-17 15:34:49 +01:00
Michael Telatynski 8c08293654 Fix reactions aria-label not being a string and thus being read as [Object object] 2021-09-17 11:36:22 +01:00
Michael Telatynski 17e0a4b3d7 iterate PR based on feedback 2021-09-08 17:14:51 +01:00
Michael Telatynski 83912daced Improve the upgrade for restricted user experience 2021-09-08 13:16:31 +01:00