Commit graph

972 commits

Author SHA1 Message Date
Clark Fischer
2417482667
Fix error when viewing source of redacted events (#9914)
* Fix viewing source of redacted events

Clicking 'View Source' in the context menu of a redacted event causes an error,
and the user gets no visible result.

This fixes <ViewSource /> to indicate that the source is unavailable when a
message has been redacted. The original source remains available.

<SyntaxHighlight /> requires a non-null string for its `content` prop, and, in
the case of redacted events, <ViewSource /> was passing `undefined`. This is
ultimately because redacting an event causes `MatrixEvent.clearEvent` to be
`undefined`, which <ViewSource /> wasn't checking.

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

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

* Use correct highlight.js call

Previous call signature was deprecated.

See https://github.com/highlightjs/highlight.js/issues/2277

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>

Signed-off-by: Clark Fischer <clark.fischer@gmail.com>
2023-01-15 16:22:59 +00:00
Travis Ralston
badb2c4b27
Use js-sdk imports for poll event types instead of events-sdk (#9904)
* Use js-sdk imports for poll event types instead of events-sdk

* Attempt to appease some tsc --strict errors

* Manually create poll response in cypress test
2023-01-13 10:02:33 -07:00
alunturner
6052db1e8a
Add list functionality to rich text editor (#9871)
* adds buttons to toggle bulleted and numbered lists on and off
* adds icons for those buttons
* css changes to timeline display
* adds tests for the new buttons, refactors existing tests
2023-01-13 15:44:35 +00:00
Janne Mareike Koschinski
7a36ba0fde
Fix issue where thread dropdown would not show up correctly (#9872)
* Fix issue where thread dropdown would not correctly
* Write additional test for both issues

- Thread dropdown should be shown if there is any thread, even if not participated
- Thread list correctly updates after every change of the dropdown immediately
2023-01-12 11:54:03 +01:00
Germain
d4f247d1fe Merge branch 'develop' into gsouquet/threads-forceenablelabsflag 2023-01-11 11:51:57 +00:00
Patrick Cloke
da2640b7ba
Display rooms & threads as unread (bold) if threads have unread messages. (#9763)
Co-authored-by: Germain <germain@souquet.com>
Co-authored-by: Germain <germains@element.io>
Fixes https://github.com/vector-im/element-web/issues/23907
2023-01-11 11:49:03 +00:00
Germain
df03112a3b
Fix mock client missing user functions (#9887) 2023-01-11 11:33:06 +00:00
alunturner
880a86c8b1
Convert enzyme to rtl: UserInfo (#9846)
* converts tests from Enzyme to Rtl
* increases test coverage
2023-01-11 10:46:35 +00:00
Florian Duros
a691e634b0
Add edit and remove actions to link in RTE (#9864)
Add edit and remove actions to link in RTE
2023-01-11 10:10:55 +00:00
Travis Ralston
19ba620de2 Revert "Revert "Factor out MessageEvent.from() usage (#9882)""
This reverts commit 99e38ca88e.
2023-01-10 13:43:15 -07:00
Travis Ralston
edc44922c2 Revert "Revert "Remove unused/disabled room list drag&drop tests (#9883)""
This reverts commit 0453283bed.
2023-01-10 13:43:10 -07:00
Travis Ralston
0453283bed Revert "Remove unused/disabled room list drag&drop tests (#9883)"
This reverts commit 34f0229d75.
2023-01-10 13:32:11 -07:00
Travis Ralston
99e38ca88e Revert "Factor out MessageEvent.from() usage (#9882)"
This reverts commit c09ca7b4ee.
2023-01-10 13:32:07 -07:00
Travis Ralston
c09ca7b4ee
Factor out MessageEvent.from() usage (#9882)
* Factor out `MessageEvent.from()` usage

The class/function is disappearing from the events-sdk, at least in this form.

* Manually create contents for events used by cypress

The utility function is out of range of the calling code at runtime, for some reason.

* Run prettier

* Maybe this will fix the build
2023-01-10 09:20:10 -07:00
Travis Ralston
34f0229d75
Remove unused/disabled room list drag&drop tests (#9883)
It's been years since we've had drag and drop - just delete the test.
2023-01-10 09:20:02 -07:00
Johannes Marbach
c94a4abe3d
Merge pull request #9873 from matrix-org/johannes/polls-dialog-scaling
Make create poll dialog scale better (PSG-929)
2023-01-10 16:07:49 +01:00
Michael Weimann
4627456837
Prevent starting a voice message while recording a broadcast (#9844) 2023-01-10 15:51:20 +01:00
Johannes Marbach
5dfde12c1c
Merge branch 'develop' into johannes/polls-dialog-scaling 2023-01-10 12:14:50 +01:00
Kerry
b1c32995c6
Device manager - prune client information events after remote sign out (#9874)
* prune client infromation events from old devices

* test client data pruning

* remove debug

* strict

* Update src/components/views/settings/devices/useOwnDevices.ts

Co-authored-by: Michael Weimann <michaelw@matrix.org>

* improvements from review

Co-authored-by: Michael Weimann <michaelw@matrix.org>
2023-01-10 07:01:50 +01:00
Germain
7ca1b385d9 Force enable threads labs flag 2023-01-09 12:38:19 +00:00
Johannes Marbach
214fa13d7d Update snapshots 2023-01-06 17:44:36 +01:00
Michael Weimann
ab9152044c
Use the same avatar colour when creating 1:1 DM rooms (#9850) 2023-01-05 17:05:21 +01:00
grimhilt
ecfd1736e5
combine search results when the query is present in multiple successive messages (#9855)
* merge successives messages

* add tests

* fix styles

* update test to match the expected parameters

* fix types errors

* fix tsc types errors

Co-authored-by: grimhilt <grimhilt@users.noreply.github.com>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2023-01-05 11:37:58 +00:00
Michael Weimann
488a08a25e
Allow reactions for broadcasts (#9856) 2023-01-05 08:40:09 +01:00
alunturner
432ce3ca31
Improve switching between rich and plain editing modes (#9776)
* allows switching between modes that retains formatting
* updates rich text composer dependency to 0.13.0 (@matrix-org/matrix-wysiwyg)
* improves handling of enter keypresses when ctrlEnterTosend setting is true in plain text editor
* changes the message event content when using the new editor
* adds tests for the changes to the plain text editor
2023-01-04 12:57:09 +00:00
alunturner
3bcea5fb0b
Convert enzyme to rtl: BeaconMarker (#9840) 2023-01-04 10:00:13 +00:00
Robin
cb1af0d3de
Redesign the picture-in-picture window (#9800)
* Remove unnecessary PipContainer component

* Redesign the picture-in-picture window

* Add a hover effect to the controls

* Clarify that WidgetPip has call-specific behavior
2023-01-04 04:44:38 +00:00
Florian Duros
6b155620e4
Fix emoji in RTE editing (#9827)
Fix emoji in RTE editing
2023-01-03 15:35:14 +00:00
Marco Bartelt
1b06b72b67
static-user-onboarding-steps (#9799) 2023-01-02 14:34:34 +00:00
Michael Weimann
0f7a2ce6df
Confirm listen to a broadcast while recording (#9831) 2023-01-02 12:21:33 +00:00
Michael Weimann
3ce064731b
Migrate AppTile-Test to RTL (#9838) 2022-12-30 10:33:10 +00:00
alunturner
b034ada6fd
Convert enzyme to rtl: BasicMessageComposer (#9839) 2022-12-29 20:52:51 +00:00
Germain
adab82edae
Migrate TextualBody to RTL (#9845) 2022-12-29 16:21:00 +00:00
Germain
1e8b59ea40
Migrate Enzyme to RTL (#9842) 2022-12-29 15:35:19 +00:00
alunturner
6d2d13fdee
Enzyme to rtl: QuickThemeSwitcher (#9843) 2022-12-29 12:44:18 +00:00
alunturner
49fefb0c32
Convert enzyme to rtl: RightPanel (#9837) 2022-12-29 08:40:42 +00:00
Kerry
c0ba1b8a1c
Device manager - contextual menus (#9832)
* add session count to current session contextual signout

* add contextual menu to other sessions section

* typo

* i18n

* strict
2022-12-29 02:08:57 +00:00
alunturner
2e097a00c7
Convert enzyme to rtl: BeaconStatus (#9836)
* rewrite in rtl
* update snapshots
2022-12-28 16:24:46 +00:00
Michael Weimann
c257e137aa
Allow call and broadcast PiP at the same time (#9829) 2022-12-28 13:43:44 +00:00
Germain
d2763c329d
Migrate AccessibleButton-test to RTL (#9833) 2022-12-28 10:40:34 +00:00
Michael Weimann
5912c7a637
Replace broadcast instance with SDKContext (#9824) 2022-12-27 08:39:26 +01:00
Michael Weimann
32140855fb
When deleting a voice broadcast, also delete related events (#9737) 2022-12-23 15:44:01 +00:00
Florian Duros
fe0273b1a6
Add link creation to rich text editor (#9775)
Add link creation to RTE
2022-12-23 11:34:15 +00:00
Florian Duros
88c3864682
Replace some enzyme tests by @testing-library/react (#9822)
* Replace MessageComposerButtons-test.tsx enzyme by @testing-library/react

* Replace HtmlUtils-test.tsx enzyme by @testing-library/react
2022-12-23 10:46:14 +00:00
Michael Weimann
b07bd4d102
Show initial broadcast position in seekbar (#9796) 2022-12-22 14:30:42 +00:00
Germain
e9224f6fce
Add mark as read option in room setting (#9798) 2022-12-22 13:18:38 +00:00
Michael Weimann
b81582d045
Improve live voice broadcast detection by testing if the started event has been redacted (#9780) 2022-12-22 10:37:07 +00:00
Kerry
fbc3228143
Device manager - current device design and copy tweaks (#9801)
* indent device details

* udpate copy for current device security warning

* lint

* test coverage for copy

* strict
2022-12-22 01:58:29 +00:00
Kerry
9a8545bf34
Fix: Editing a poll will silently change it to a closed poll (#9809)
* add failing test case

* dont reset poll disclosure on editing
2022-12-21 21:29:11 +00:00
Germain
dd88fbbc3b
Fix checkForPreJoinUISI for thread roots (#9803)
* Fix blank timeline when thread root is UTD

* add test for pre join uisi checks and thread roots

* ts strict fix

* Update to timeline panel test

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Fixes to TimelinePanel-test

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-12-21 16:03:58 +00:00
Michael Weimann
1614674ca9
Snap in PiP widget when content changed (#9797) 2022-12-21 13:06:26 +00:00
Florian Duros
7db2ee749f
Fix rte flaky test (#9811) 2022-12-21 11:22:17 +00:00
Germain
bef8e077f6
Unify notifications panel event design (#9754) 2022-12-21 10:25:50 +00:00
Florian Duros
d6e447b934
Load RTE component only when needed (#9804)
Use react lazy to load rte component
2022-12-20 14:59:18 +00:00
Richard van der Hoff
ad7c002f4d Merge remote-tracking branch 'origin/develop' into rav/edited_events 2022-12-20 11:20:03 +00:00
Richard van der Hoff
dc29317445 Improve display of edited events 2022-12-20 11:19:47 +00:00
Kerry
0485b74acb
Device manager - design tweaks (#9768)
* hover style on dropdown

* hover states

* device details spacing

* device details h3 -> h4

* missing fullstops

* update snapshots for new copy

* device details expand icon bigger

* hide current session security card when details expanded

* filter dropdown padding and hover state

* update cypress selector for device detail heading
2022-12-20 01:17:05 +00:00
renovate[bot]
af3715821b
Update dependency maplibre-gl to v2 (#9699)
* Update dependency maplibre-gl to v2

* update types and mocks for maplibre 2.0

* prettier + strict fix

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kerry Archibald <kerrya@element.io>
2022-12-18 23:17:15 +00:00
Faye Duxovni
4724506320
Improve decryption error UI by consolidating error messages and providing instructions when possible (#9544)
* Improve decryption error UI by consolidating error messages and providing instructions when possible

* Fix TS strict errors

* Rename .scss to .pcss

* Avoid accessing clipboard, Cypress doesn't like it

* Display DecryptionFailureBar alongside other AuxPanel bars

* Add comments

* Add small margin off-screen for visible decryption failures

* Fix some more TS strict errors

* Add unit tests for DecryptionFailureBar

* Add button to resend key requests manually

* Remove references to matrix-js-sdk crypto internals

* Add hysteresis to visible decryption failures

* Add comment

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Add comment

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Don't create empty div if we're not showing resend requests button

* cancel updateSessions on unmount

* Update unit tests

* Fix lint and implicit any

* Simplify visible event bounds checking

* Adjust cypress test descriptions

* Add percy snapshots

* Update src/components/structures/TimelinePanel.tsx

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Add comments on TimelinePanel IState

* comment

* Add names to percy snapshots

* Show Resend Key Requests button when there are sessions that haven't already been requested via this bar

* We no longer request keys from senders

* update i18n

* update expected text in cypress test

* don't download keys ourselves, update device info in response to updates from client

* fix ts strict errors

* visibledecryptionfailures undefined handling

* Fix implicitAny errors

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-15 17:24:33 +00:00
Michael Weimann
ab560bba40
Implement small broadcast PiP (#9755) 2022-12-15 11:43:01 +00:00
Germain
2d2755d145
🧵 Enable threads by default (#9736)
* Delabs threads

* remove threads reload when labs is toggled

* Fix ts strict

* fix rebase mistake

* remove .only

* fix pr comments

* re-introduce backwards compat

* Fix export test

* Fix SearchREsultTile test

* strict ts
2022-12-13 15:09:15 +00:00
Michael Weimann
526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Florian Duros
73986faa7d
Add inline code to rich text editor (#9720)
Add inline code to rich text editor
2022-12-09 14:06:15 +01:00
Florian Duros
65f9843576
Add emoji handling for plain text mode (#9727)
Add emoji handling for plain text mode
2022-12-09 11:38:14 +01:00
Kerry
888e69f39a
Device manage - handle sessions that don't support encryption (#9717)
* add handling for unverifiable sessions

* test

* update types for filtervariation

* strict fixes

* avoid setting up cross signing in device man tests
2022-12-08 21:52:00 +00:00
Kerry
6150b86421
Overlay virtual room call events into main timeline (#9626)
* super WIP POC for merging virtual room events into main timeline

* remove some debugs

* c

* add some todos

* remove hardcoded fake virtual user

* insert overlay events into main timeline without resorting main tl events

* remove more debugs

* add extra tick to roomview tests

* RoomView test case for virtual room

* test case for merged timeline

* make overlay event filter generic

* remove TODOs from LegacyCallEventGrouper

* tidy comments

* remove some newlines

* test timelinepanel room timeline event handling

* use newState.roomId

* fix strict errors in RoomView

* fix strict errors in TimelinePanel

* add type

* pr tweaks

* strict errors

* more strict fix

* strict error whackamole

* update ROomView tests to use rtl
2022-12-08 21:37:25 +00:00
Marco Bartelt
95ac957fa4
add-privileged-users-in-room (#9596) 2022-12-08 12:40:31 +01:00
Andy Balaam
0f17728aa1
Merge branch 'develop' into feat/emoji-picker-rich-text-mode 2022-12-08 09:39:30 +00:00
Florian Duros
7943f83858
Change formatting buttons behavior (#9715)
Change formatting buttons behaviour
2022-12-07 12:13:35 +01:00
Florian Duros
bc001c2b88
Fix types 2022-12-06 16:45:25 +01:00
Florian Duros
1bd560d350
Merge remote-tracking branch 'origin/develop' into feat/emoji-picker-rich-text-mode 2022-12-06 16:38:46 +01:00
Florian Duros
27139ca68e
Add test for emoji 2022-12-06 16:38:25 +01:00
Germain
3a501003e2
Add setting to hide bold notifications (#9705) 2022-12-06 09:59:17 +00:00
Michael Weimann
474f464e48
Voice broadcast indicator in room list (#9709) 2022-12-06 10:56:29 +01:00
Michael Weimann
89439d4f10
Further password reset flow enhancements (#9662) 2022-12-06 10:01:25 +01:00
Florian Duros
54e12d265b
Merge remote-tracking branch 'origin/develop' into feat/emoji-picker-rich-text-mode 2022-12-05 17:40:46 +01:00
Florian Duros
f5efa85882
Fix types and console.log 2022-12-05 17:40:33 +01:00
Michael Telatynski
ccfb455847
Fix power selector being wrongly disabled for admins themselves (#9681) 2022-12-01 09:49:46 +00:00
Michael Telatynski
d258402186
Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00:00
Michael Weimann
459df4583e
Fix start voice broadcast recording while listening (#9630) 2022-11-30 11:16:22 +01:00
Michael Telatynski
8bd60d09dc
Fix search not being cleared when clicking on a result (#9635)
* Fix test naming

* Fix search not being cleared when clicking on a result

* Update RoomView.tsx

* Update RoomView.tsx
2022-11-29 10:36:59 +00:00
Robin
2c612d5aa1
Use native js-sdk group call support (#9625)
* Use native js-sdk group call support

Now that the js-sdk supports group calls natively, our group call implementation can be simplified a bit. Switching to the js-sdk implementation also brings the react-sdk up to date with recent MSC3401 changes, and adds support for joining calls from multiple devices. (So, the previous logic which sent to-device messages to prevent multi-device sessions is no longer necessary.)

* Fix strings

* Fix strict type errors
2022-11-28 16:37:32 -05:00
Florian Duros
033c26ab53
Fix edit a reply in rich text editor (#9615)
Fix edit a reply in rich text editor
2022-11-28 16:01:49 +01:00
Janne Mareike Koschinski
55d9dbf00d
Fix thread list jumping back down while scrolling (#9606)
* Fix timeline jumping after every thread update

* Add tests to prevent this from occuring again
2022-11-25 13:22:06 +01:00
Florian Duros
7c63d52500
Add placeholder for rich text editor (#9613)
* Add placeholder for rich text editor
2022-11-24 10:31:56 +00:00
Michael Telatynski
8b8d24c24c
Fix regression with TimelinePanel props updates not taking effect (#9608)
* Fix regression with TimelinePanel props updates not taking effect

* Add test
2022-11-24 09:51:21 +00:00
Michael Weimann
a8e15ebe60
Add voice broadcast playback pip (#9603) 2022-11-24 09:08:41 +01:00
Michael Weimann
569a364933
Add filter console test util (#9607) 2022-11-23 09:01:42 +01:00
Germain
40cbee60db
Consolidate public room search experience (#9605) 2022-11-22 15:05:09 +00:00
Germain
7b5e73207f
Fix SpaceTreeLevel enzyme test (#9602) 2022-11-22 09:53:33 +00:00
Michael Weimann
e5ce6d7800
New password reset flow (#9581) 2022-11-22 07:58:37 +01:00
Michael Weimann
3f74ac37e8
Refactor PipView + fix strict errors (#9604) 2022-11-22 07:57:38 +01:00
Eric Eastwood
2393510a7f
Fix getRelationsForEvent under TypeScript strict mode (#9558)
* Fix getRelationsForEvent tsc strictness

* Use shared type for GetRelationsForEvent

* Fix lint

* Add alternative type

* getRelationsForEvent is not required

* Relations are optional

* Reactions are optional

* We expect relations in these tests

* Add more protection if the eventID is not defined

* Allow null too

* Better test typing

* User ID is not necessary unless something is selected

* It's okay to [].includes(null)

* Null is as good as undefined here

* Null or undefined is good here

* We have some expectations for the tests

* The room and user can be undefined too

* Protec

* Reactions are optional

* Try match signatures

* Null or undefined

* More null or undefined

* Protec

* Fix typo (wrong variable)

* Remove optional params

See https://github.com/matrix-org/matrix-react-sdk/pull/9558#discussion_r1017515913

* Fix up last maaaaybe relevant lint

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-21 20:54:24 -07:00
Michael Telatynski
8c0d202df4
Enable tsc alwaysStrict, strictBindCallApply, noImplicitThis (#9600)
* Enable tsc alwaysStrict

* Enable tsc strictBindCallApply

* Enable tsc noImplicitThis

* Add d.ts

* Improve types

* Add ?

* Increase coverage

* Improve coverage
2022-11-21 11:24:59 +00:00
Kerry
caac059479
Device manager - add tooltip to device details toggle (#9594)
* add hide/show tooltip to dm details toggle

* use named export, update tests
2022-11-21 08:24:56 +13:00
kegsay
acdcda78f0
sliding sync: add lazy-loading member support (#9530)
* sliding sync: add lazy-loading member support

Also swap to `$ME` constants when referring to our own member event.

* Hook into existing LL logic when showing the MemberList

* Linting

* Use consts in js sdk not react sdk

* Add jest tests

* linting

* Store the room in the test

* Fix up getRoom impl

* Add MemberListStore

* Use the right context in MemberList tests

* Fix RightPanel-test

* Always return members even if we lazy load

* Add MemberListStore tests

* Additional tests
2022-11-18 19:05:00 +00:00
Michael Telatynski
d626f71fdd
Extract Search handling from RoomView into its own Component (#9574)
* Extract Search handling from RoomView into its own Component

* Iterate

* Fix types

* Add tests

* Increase coverage

* Simplify test

* Improve coverage
2022-11-18 16:40:22 +00:00
Michael Telatynski
590b845f3f
Remove all usages of UNSAFE_* React methods (#9583) 2022-11-18 09:22:43 +00:00
Germain
38dbe8ed33
Migrate some tests to React Testing Library (#9584) 2022-11-18 09:16:11 +00:00
Michael Weimann
ef548a4843
Add live voice broadcast indicator to user menu (#9590) 2022-11-18 08:36:20 +01:00