Commit Graph

6249 Commits

Author SHA1 Message Date
Michael Telatynski
da7aa4055e Conform more of the code base to strict null checking (#10147)
* Conform more of the code base to strict null checking

* More strict fixes

* More strict work

* Fix missing optional type

* Iterate
2023-02-13 17:01:43 +00:00
Michael Telatynski
61a63e47f4 Comply with noImplicitAny (#9940)
* Stash noImplicitAny work

* Stash

* Fix imports

* Iterate

* Fix tests

* Delint

* Fix tests
2023-02-13 11:39:16 +00:00
Suguru Hirahara
ac7f69216e Remove duplicate translated string (#10139) 2023-02-13 11:31:22 +00:00
Suguru Hirahara
986b7cbb61 Remove ineffective white space characters from VerifyEmailModal.tsx (#10141)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-02-13 11:11:22 +01:00
Michael Weimann
671fdc8665 Migrate RoomView to support MSC3946 (#10088) 2023-02-10 08:40:38 +01:00
Andy Balaam
da2471ffbd Fix a crash when removing persistent widgets (updated) (#10099)
* Fix a crash when removing persistent widgets

When a persistent widget is removed, multiple calls to updateShowWidgetInPip happen in succession as each of the widget stores emit updates. But by depending on this.state.persistentWidgetId at the time of the call rather than passing an update function to setState, this had the effect that the removal of the widget could be reverted in the component's state, and so it could end up passing the ID of a removed widget to WidgetPip.

* Re-public updateShowWidgetInPip so we don't change the interface

---------

Co-authored-by: Robin Townsend <robin@robin.town>
2023-02-07 11:14:19 +00:00
Florian Duros
4c7945552c Merge branch 'develop' into unread-title-indicator 2023-02-07 11:37:34 +01:00
Michael Weimann
39fe72e53a Fix broadcast pip seekbar (#10072) 2023-02-06 13:15:20 +01:00
Tim Tills
73c2f42177 Indicate unread rooms in document.title
Signed-off-by: Tim Tills <tnt7864@rit.edu>
2023-02-05 21:31:16 -05:00
Michael Telatynski
9743852380 Improve typescript null checking in places (#10073 (#10073
* Improve typescript null checking in places

* Iterate

* Fix Timer.ts
2023-02-03 15:27:47 +00:00
Michael Telatynski
2bde31dcff Switch to linkify-react for element Linkification as it handles React subtrees without exploding (#10060
* Switch to linkify-react instead of our faulty implementation

Fixes a series of soft crashes where errors include "The node to be removed is not a child of this node."

* Improve types

* Fix types

* Update snapshots

* Add test

* Fix test
2023-02-03 08:59:21 +00:00
Johannes Marbach
3766b39361 Merge branch 'develop' into johannes/latest-room-in-space 2023-02-01 19:54:40 +01:00
Michael Weimann
7feb5b1f6b Add PiP move threshold (#10040) 2023-02-01 13:55:10 +01:00
Germain
8161da1054 Remove threads beta feedback button (#10038) 2023-02-01 09:50:15 +00:00
Clark Fischer
4c1e4f5127 Fix "[object Promise]" appearing in HTML exports (#9975)
Fixes https://github.com/vector-im/element-web/issues/24272
2023-01-30 14:31:32 +00:00
AHMAD KADRI
c7b01af49e Should open new 1:1 chat room after leaving the old one (#9880)
* should open new 1:1 chat room after leaving the old one

Signed-off-by: Ahmad Kadri <ahmad.kadri@nordeck.net>

* change the copyright

* update the test

Signed-off-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>

---------

Signed-off-by: Ahmad Kadri <ahmad.kadri@nordeck.net>
Signed-off-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>
Co-authored-by: Oliver Sand <oliver.sand@nordeck.net>
Co-authored-by: Dominik Henneke <dominik.henneke@nordeck.net>
2023-01-30 09:54:05 +00:00
Johannes Marbach
7788d50b02 Add tests 2023-01-27 20:20:01 +01:00
Johannes Marbach
0d0d7a3e2c Try to appease the linter 2023-01-27 15:25:10 +01:00
Johannes Marbach
c557162592 Try to appease the linter 2023-01-27 15:14:20 +01:00
Johannes Marbach
e0e149be3d Ensure room is actually in space hierarchy when resolving its latest version
Relates to: vector-im/element-web#24329
2023-01-27 14:59:15 +01:00
Hugh Nimmo-Smith
d698193196 Implementation of MSC3824 to make the client OIDC-aware (#8681) 2023-01-27 11:06:10 +00:00
Michael Weimann
29c193210f Stop broadcasts on logout (#9978)
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2023-01-24 10:58:37 +00:00
Janne Mareike Koschinski
a0a419a3b8 Allow thread panel to be closed after being opened from notification (#9937)
* Allow thread panel to be closed after being opened from notification
* Add test to ensure the behavior is correct
2023-01-23 14:35:44 +01: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
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
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
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
Germain
7ca1b385d9 Force enable threads labs flag 2023-01-09 12:38:19 +00: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
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
Michael Weimann
5912c7a637 Replace broadcast instance with SDKContext (#9824) 2022-12-27 08:39:26 +01:00
Michael Weimann
a1bc4b8e6b Fix sign-in instead link (#9820) 2022-12-23 12:36:09 +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
Germain
bef8e077f6 Unify notifications panel event design (#9754) 2022-12-21 10:25:50 +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
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
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
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
Michael Weimann
89439d4f10 Further password reset flow enhancements (#9662) 2022-12-06 10:01:25 +01: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
d258402186 Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00: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