Commit graph

17549 commits

Author SHA1 Message Date
Robin
9d0230b6ab
Show the room name in the room header during calls (#9942) 2023-01-20 08:45:39 -05:00
Robin
da30b3069c
Tweak call lobby buttons to more closely match designs (#9943) 2023-01-20 08:45:27 -05:00
alunturner
9dbc5f3773
Add quotes to rich text editor (#9932)
* bump rich text editor to 0.20.0
* add new svg for the button
* show the button
* make the composer display look like the timeline display
2023-01-20 10:55:46 +00:00
Kegan Dougal
769fd4a786 TS errors 2023-01-20 10:32:53 +00:00
Florian Duros
075df4d1b3
Call Action.ClearAndFocusSendMessageComposer before sending a message 2023-01-20 10:42:25 +01:00
kegsay
fcde4b7880
Merge branch 'develop' into kegan/lists-as-keys 2023-01-19 16:52:06 +00:00
alunturner
a63da74f06
Add code blocks to rich text editor (#9921)
* Applies small changes to code block display in timeline
* Makes the composer code block look like the timeline display, but without line numbers
* Adds a button to allow code blocks to be implemented
* Adds tests for the new button
2023-01-19 15:49:21 +00:00
alunturner
8a2e386531
Add disabled button state to rich text editor (#9930)
* add disabled css state
* conditionally apply disabled css state
* hides disabled tooltips
2023-01-19 09:24:29 +00:00
Florian Duros
b47588fc5c
Fix {enter} press in RTE (#9927)
Fix enter combination in RTE
2023-01-19 09:17:18 +00:00
Michael Weimann
eb43f3449e
Fix the problem that the password reset email has to be confirmed twice (#9926) 2023-01-19 09:03:48 +01:00
Kegan Dougal
21f0825703 refactor: sliding sync: convert to lists-as-keys rather than indexes
Sister PR to https://github.com/matrix-org/matrix-js-sdk/pull/3076
2023-01-18 17:19:12 +00:00
Janne Mareike Koschinski
4d2b27a96d
Fix broken threads list timestamp layout (#9922)
* Add option to show full identifier as tooltip on sender profiles
* Show full user id as tooltip on threads list entries
* Fix broken threads list timestamp layout

Previously, thread list timestamps would overflow
into the unread messages bubble on the right.

This is fixed by resetting the width of the
timestamp and ensuring both the timestamp and the
display name can shrink if necessary.
Both now also use ellipses if necessary.
2023-01-18 15:56:43 +01:00
Florian Duros
dacbf76227
Disable multiple messages when {enter} is pressed multiple times (#9929) 2023-01-18 13:20:49 +00:00
Michael Weimann
70d3d03c15
Fix logout devices on password reset (#9925) 2023-01-18 08:25:03 +01:00
Michael Telatynski
2eef3c47e6
Clear isLogin theme override when user is no longer viewing login screens (#9911) 2023-01-16 09:49:41 +00:00
Kerry
33e8a62dae
convert MPollBody tests into rtl (#9906)
* convert MPollBody tests into rtl

* strict fixes

* more strict

* more semantic assertions

* update types for extensible events changes
2023-01-16 01:25:33 +00:00
Kerry
0758b8cdfe
Device manager - tweak settings display (#9905)
* compound devices icon

* update icon for new session manager tab

* condense privacy > analytics / sessions sections slightly
2023-01-15 21:31:07 +00:00
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
Michael Telatynski
030b7e90bf
Enable @typescript-eslint/explicit-function-return-type in /src (#9788)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
2023-01-12 13:25:14 +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
Michael Telatynski
f58d62d339
Fix accessing room prop which is optional (#9523)
Co-authored-by: Michael Weimann <michaelw@matrix.org>
2023-01-11 18:21:11 +00:00
Florian Duros
837115ece3
Fix unexpected composer growing (#9889)
* Stop the enter event propagation when a message is sent to avoid the composer to grow.
* Update @matrix-org/matrix-wysiwyg to 0.16.0
2023-01-11 17:56:01 +00:00
Andy Balaam
1daa34b51c
Merge pull request #9879 from matrix-org/gsouquet/threads-forceenablelabsflag
Switch threads on for everyone
2023-01-11 15:12:27 +00:00
Janne Mareike Koschinski
eeac6df122
Make threads use new UTD UI (#9876)
* Make threads use new UTD UI
2023-01-11 14:03:06 +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
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
b642df98e9 Revert "Revert "Remove extensible events v1 experimental rendering (#9881)""
This reverts commit b4f2db22df.
2023-01-10 13:51:56 -07:00
Travis Ralston
b4f2db22df Revert "Remove extensible events v1 experimental rendering (#9881)"
This reverts commit 67396020e8.
2023-01-10 13:31:48 -07:00
Travis Ralston
67396020e8
Remove extensible events v1 experimental rendering (#9881)
* Remove extensible events v1 experimental rendering

With the changes to extensible events in v2 largely being contained to a room version, we don't need to have this code or the labs flag anymore. If the labs flag becomes useful in the future, it will be re-added.

* Run prettier
2023-01-10 09:21:03 -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
Florian Duros
d103860a94
Change RTE mode icons (#9861)
Change RTE mode icons
2023-01-10 14:34:17 +00: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
ef080f1709 Merge branch 'develop' into johannes/polls-dialog-scaling 2023-01-06 17:28:27 +01:00
Johannes Marbach
fc6b83c786 Make create poll dialog scale better
Fixes: vector-im/element-web#21855
2023-01-06 17:26:10 +01:00
Andy Balaam
b0e15a48a4
Merge branch 'develop' into johannes/poll-start-sent-receipt 2023-01-06 11:10:37 +00:00
Johannes Marbach
88a983ab67 Run prettier 2023-01-06 10:37:42 +01:00
Johannes Marbach
c05e52ab82 Enable sent receipt for poll start events 2023-01-06 10:18:05 +01:00
Germain
d0aca6e5eb
Change clear notifications to have more readable copy (#9867) 2023-01-06 08:12:00 +00: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
Travis Ralston
6d6adc8c02
Use identity server v2 api instead of v1 (#9818)
See js-sdk change.
2023-01-03 00:59:07 -07:00
Marco Bartelt
1b06b72b67
static-user-onboarding-steps (#9799) 2023-01-02 14:34:34 +00:00
Germain
1e8b59ea40
Migrate Enzyme to RTL (#9842) 2022-12-29 15:35:19 +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
Michael Weimann
c257e137aa
Allow call and broadcast PiP at the same time (#9829) 2022-12-28 13:43:44 +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
Michael Weimann
a2777d3a03
Add labs setting to force small broadcast chunks (#9806) 2022-12-23 13:45:26 +00:00
Michael Weimann
a1bc4b8e6b
Fix sign-in instead link (#9820) 2022-12-23 12:36:09 +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
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
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
Robin
8660293424
Make call tiles look less broken in the right panel (#9808) 2022-12-21 18:59:02 +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
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
Richard van der Hoff
fa01a6211e verified can be null 2022-12-20 11:19:47 +00:00
Richard van der Hoff
c34a2bfb8c Call onHeightChanged from componentDidUpdate
... to ensure that we don't call it if there was no change to the verification
status.
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
Richard van der Hoff
46e47a821e Clean up signature of verifyEvent
It doesn't need to be `async`, and it doesn't need us to pass in the event
every time.
2022-12-17 23:52:55 +00:00
Michael Telatynski
f1e8e7f140
Enable @typescript-eslint/explicit-member-accessibility on /src (#9785)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier
2022-12-16 12:29:59 +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
Janne Mareike Koschinski
5d5e169d37
Fix issue where thread panel did not update correctly (#9746) 2022-12-13 15:47:56 +01:00
Kerry
9c5b1f3540
Remove async call to get virtual room from room load (#9743)
* remove async call to get virtual room from room load

* dont init timeline twice when overlay and focused event both change

* strict error

* prettier
2022-12-13 19:55:17 +13:00
Michael Weimann
526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Florian Duros
dec72c7683
Use icon component instead of mask-image for formatting buttons (#9732)
Use icon component instead of mask-image for formatting buttons
2022-12-09 17:01:03 +01:00
Richard van der Hoff
c3aabafc12
Simplify checks for cross-signing setup (#9721)
When the user logs in, we need to know if we should prompt them to verify from
an existing device, which means figuring out if the user has set up
cross-signing keys.

Currently we do this by explicitly downloading the user's keys and then trying
to fetch the cross-signing key. This is trickier to implement with the
rust-sdk, so instead let's use the newly-added `userHasCrossSigningKeys` in the
js-sdk.
2022-12-09 14:14:06 +00: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
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
Florian Duros
be3a66b0e6
Fix edition 2022-12-05 16:17:25 +01:00
Michael Telatynski
8576601b7c
Fix replies to emotes not showing as inline (#9707) 2022-12-05 12:50:51 +00:00
Michael Telatynski
5f76528832
Improve MImageBody error handling (#9663)
* Improve MImageBody error handling

* Fix strict errors

* We can assert this as isAnimated would be false if no content.info.mimetype
2022-12-05 12:50:19 +00:00
Robin
0358e038a9
Update copy of 'Change layout' button to match Element Call (#9703) 2022-12-02 17:59:14 +00:00
Michael Telatynski
5d409560c7
Remove prop-types (#9672)
* Remove prop-types

* Remove unused dep rrweb-snapshot

* Revert "Remove unused dep rrweb-snapshot"

This reverts commit d0d076535f4190a6095fe7684124f50c2d3f137d.
2022-12-02 16:07:13 +00:00
Florian Duros
5db885e337
Support multiple lines 2022-12-02 17:01:18 +01:00
Florian Duros
7fcc65a3fe
Use Event for emoji 2022-12-02 16:05:14 +01:00
Florian Duros
75be1f9954
Add emoji handling for rich text mode 2022-12-02 15:22:05 +01:00
renovate[bot]
c8877727a5
Update dependency html-entities to v2 (#9697)
* Update dependency html-entities to v2

* Update dependency html-entities to v2

* Update imports

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-02 11:10:54 +00:00
renovate[bot]
8996bf0a7f
Update dependency filesize to v10 (#9695)
* Update dependency filesize to v10

* Update dependency filesize to v10

* Fix imports

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-01 23:55:24 +00:00
Michael Telatynski
ccfb455847
Fix power selector being wrongly disabled for admins themselves (#9681) 2022-12-01 09:49:46 +00:00
Kerry
5583d07f25
add alpha as second sorting condition for device list (#9665) 2022-12-01 16:21:39 +13:00
Šimon Brandner
b0dfb2262e
Separate labs and betas more clearly (#8969)
* Separate labs and betas more clearly

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

* Fix tests

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

* Capitalize `L` in `Labs`

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

* Use `labsSections` instead of `SdkConfig.get("show_labs_settings")`

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

* Link to `betas.md` instead of `labs.md`

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

* Change labs label back to `Labs`

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

* Improve labs section copy

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

* Improve labs flags copy

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

* i18n

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

* Fix cypress tests

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

* Reduce diff

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

* Remove empty line

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

* Fix comment

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

* Remove margin-bottom for the last child

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

* Improve code based on review

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

* Fix ts

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

* Improve ts

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

* Fix ts

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

* Improve code

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

* Improve TS

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

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-11-30 21:20:26 +00:00
ElementRobot
5cbb748843
Upgrade dependencies (#9249)
* [create-pull-request] automated change

* Delint

* Hold @types/react* back

* Pin axe-core until we fix a11y issues

Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-30 15:18:10 +00:00
Michael Telatynski
d258402186
Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00:00
Richard van der Hoff
baaa9f5dd2
Show user an error if we fail to create a DM for verification (#9624)
Related: https://github.com/vector-im/element-web/issues/23819

This is still pretty poor, but at least we don't get stuck with a
'verifying...' spinner that is a total failure.
2022-11-30 11:16:52 +00:00
Michael Weimann
459df4583e
Fix start voice broadcast recording while listening (#9630) 2022-11-30 11:16:22 +01:00
Robin
69e03860a0
Show day counts in call durations (#9641)
* Show day counts in call durations

Previously call durations over a day long would be truncated, for example displaying as '2h 0m 0s' instead of '1d 2h 0m 0s'.

* Fix strict mode errors

* Fix strings

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-11-29 14:21:51 -07:00
Michael Telatynski
d341c56b1f
Fix issues around up arrow event edit shortcut (#9645) 2022-11-29 14:55:48 +00:00
Travis Ralston
09282d9f36
Minor code quality updates for ScrollPanel (#9639)
* Minor code quality updates for ScrollPanel

and removal of unused function `scrollRelative` in MessagePanel (discovered when changing the scrollRelative types in ScrollPanel).

Changes:
* Clean up logging a bit, make it clearer
* Remove dead code
* Add extra types for tsc --strict compliance (not complete)
* Fix IDE warnings around spelling and missing awaits/promise return values
* Modernize usage of logging

* Fix more tsc --strict errors while we're here

* It's a good thing we have a linter

* Fix even more strict errors
2022-11-29 07:43:14 -07: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
David Baker
55d3522fcd
Fix screensharing in 1:1 calls (#9612)
Co-authored-by: Robin Townsend <robin@robin.town>
2022-11-29 08:46:50 +00:00
Šimon Brandner
6b3098d8fe
Further improve replies (#6396)
* Give reply tile an avatar

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

* Improve `in reply to`

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

* Drop `In reply to` for `Expand thread`

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

* Fix avatar alignment

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

* Fix default avatar alignment

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

* Simplifie code

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

* Simplifie some more code

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

* Make replies lighter

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

* Give replies a hover effect

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

* Revert changes to sender profile in replies

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

* Improve padding

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

* Increase line height of replies

to keep descenders from being cut off, and generally give them more room
to breathe.

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

* Replace reply hover effect with a color change

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

* Replace expand thread hover effect with an opacity change

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

* Simplify image and sticker reply designs

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

* Revise file and deleted message padding to match new reply layout

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

* Remove unneeded CSS

Since the download button for files got moved out of the timeline and
into the message action bar, hiding it manually is no longer necessary.

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

* Hide edited indicator from replies

There are a few reasons for this: it adds visual noise to what is meant
to be a brief preview, it can sometimes add an extra line to the reply
preview, and clicking on it inside a reply was broken due to the
stacking of event listeners.

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

* Fix i18n

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

* "Expand thread" -> "Expand replies"

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

* Add a missing import

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

* Remove unused import

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

* Remove unused import

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

* Use `this.state`

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

* Fix sender profile confusion

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

* Implement suggested changes

* Make "In reply to" the same color as reply previews

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
Signed-off-by: Robin Townsend <robin@robin.town>
Co-authored-by: Robin Townsend <robin@robin.town>
2022-11-29 08:49:43 +01: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
Germain
ded031aca6
Add helper for thread root id in view source (#9632) 2022-11-28 15:53:40 +00:00
Michael Weimann
e71a757f90
Fix seekbar in voice broadcast recording pip (#9634) 2022-11-28 16:29:43 +01: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
Michael Weimann
b302275289
Add input device selection during voice broadcast (#9620) 2022-11-28 14:16:44 +00: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
Michael Weimann
5c60211d76
Fix login screen style (#9611) 2022-11-25 08:49:11 +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
Germain
40cbee60db
Consolidate public room search experience (#9605) 2022-11-22 15:05:09 +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
Michael Weimann
d699f5607b
Add voice broadcast seek 30s forward/backward buttons (#9592) 2022-11-21 08:47:09 +01: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
owi92
d705c864ba
Limit formatting bar offset to top of composer (#9365)
* Limit formatting bar offset to top of composer

When highlighting larger sections in the composer, the formatting bar
would scroll up and cover a previous post. This commit makes sure
the bar's offset will be limited to the top of the composer.

It should also make the code slightly more maintainable by getting the bar height
from the DOMrect and basing the offset on that height instead of hardcoding it.

Resolves: #12359
2022-11-18 14:28:11 +01: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
Kerry
c3de8cbe6b
update device manager verified device learn more copy (#9589) 2022-11-18 11:00:36 +13:00
Germain
c10339ad68
Make clear notifications work with threads (#9575) 2022-11-15 10:27:13 +00:00
Michael Telatynski
e66027cd0c
Deduplicate string compare utility (#9579) 2022-11-15 10:20:36 +00:00