Commit graph

47911 commits

Author SHA1 Message Date
Richard van der Hoff
0a01320fca
Element-R: pass pickleKey in as raw key for indexeddb encryption (#12543)
* Element-R: pass pickleKey in as raw key for indexeddb encryption

Currently, we pass the `pickleKey` to the rust library for use as a passphrase
for encrypting its crypto store. The Rust libary then passes that passphrase
through 200000 rounds of PBKDF2 to generate an encryption key, which is
(deliberately) slow.

However, the pickleKey is actually 32 bytes of random data (base64-encoded). By
passing the raw key into the rust library, we can therefore save the PBKDF
operation.

Backwards-compatibility with existing sessions is maintained, because if the
rust library discovers that the store was previously encrypted with a key based
on a PBKDF, it will re-base64 and PBKDF the key we provide, thus reconstructing
the right key.

* Update src/Lifecycle.ts

Co-authored-by: Florian Duros <florianduros@element.io>

* Lifecycle-test: clean up test setup

Rely less on the unit under test for setting up the test preconditions -- not
least because we don't really want to fire up matrix clients and the like
during test setup.

* Factor out "encryptPickleKey" method

For a start it makes it easier to grok what's going on, but also I went to use
this in a test

* Improve tests for `Lifecycle.restoreFromLocalStorage`

---------

Co-authored-by: Florian Duros <florianduros@element.io>
2024-06-05 08:52:28 +00:00
ElementRobot
5004456d82
[create-pull-request] automated change (#12577)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2024-06-05 06:28:32 +00:00
Michael Telatynski
9680a36b14
Update end-to-end-tests.yaml 2024-06-04 17:06:03 +01:00
renovate[bot]
7cd822fa08
Update definitelyTyped (#12551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 14:03:38 +00:00
RiotRobot
48a291d5b0 Reset matrix-js-sdk back to develop branch 2024-06-04 13:28:20 +00:00
RiotRobot
c68c33a884 Resetting package fields for development 2024-06-04 13:28:13 +00:00
RiotRobot
c3a7c24608 Merge branch 'master' into develop 2024-06-04 13:28:12 +00:00
RiotRobot
3ec0fe166f v3.100.0 2024-06-04 13:27:08 +00:00
RiotRobot
f894ae6b68 Upgrade dependency to matrix-js-sdk@33.0.0 2024-06-04 13:20:23 +00:00
ElementRobot
ab6a94aa8f
[create-pull-request] automated change (#12574)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2024-06-04 06:27:48 +00:00
Michael Telatynski
f2d9f13f1b
Update end-to-end-tests.yaml 2024-06-03 21:56:33 +01:00
Michael Telatynski
30850709ef
Build the playwright html report in the main workflow (#12570)
* Build the playwright html report in the main workflow

so we can get the report for MQ

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* fix

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-06-03 10:03:26 +00:00
ElementRobot
c3769addd3
[create-pull-request] automated change (#12573)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2024-06-01 06:27:15 +00:00
ElementRobot
fa7486e415
[create-pull-request] automated change (#12572)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-31 09:28:18 +00:00
Michael Telatynski
dff05f4ca8
Update CODEOWNERS 2024-05-31 10:07:23 +01:00
ElementRobot
3912401db5
[create-pull-request] automated change (#12557)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2024-05-31 06:23:11 +00:00
renovate[bot]
18edb2e811
Update all non-major dependencies (#12560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 15:47:57 +00:00
Michael Telatynski
aec15a6ac1
Pin playwright synapse docker image to 2 days ago (#12571)
* Pin playwright synapse docker image to 2 days ago

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Automatically update Synapse docker image using GHA PRs

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-05-30 10:34:34 +00:00
RiotRobot
7f49a3009e v3.100.0-rc.1 2024-05-29 13:06:23 +00:00
RiotRobot
2e1c1d15fc Upgrade dependency to matrix-js-sdk@33.0.0-rc.0 2024-05-29 12:56:19 +00:00
RiotRobot
ca16462265 Merge remote-tracking branch 'origin/develop' into staging 2024-05-29 12:50:06 +00:00
Florian Duros
679b170bc5
Close the release announcement when a dialog is opened (#12559)
* Fire `ModalManagerEvent.Closed` when a dialog is closed

* Listen to modal events in the RA

* Fix first RA test
2024-05-29 07:22:50 +00:00
Florian Duros
17ab522942
Tooltip: close field tooltip when ESC is pressed (#12553)
* Close field tooltip when ESC is pressed

* Use `Key.ESCAPE`
2024-05-28 12:55:47 +00:00
David Baker
e8bb2419c9
Fix tabbedview breakpoint width (#12556)
Which should be 1024 according to the designs, not 768
2024-05-28 10:59:31 +00:00
Michael Telatynski
148a360598
Avoid using deprecated exports, fields, and duplicate code (#12555) 2024-05-28 08:41:20 +01:00
ElementRobot
1973197eb6
[create-pull-request] automated change (#12554)
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2024-05-24 06:24:23 +00:00
Richard van der Hoff
bc48fe4b8f
Add seedrandom dep to resolutions (#12552)
* Move seedrandom dep to `resolutions`

... to shut renovate up

* Reinstate `seedrandom` as dev dependency

If we just declare it in `resolutions`, it doesn't get installed at all,
because it is only a devDependency of `bloom-filters`.
2024-05-23 20:40:30 +00:00
David Baker
88e8e2df03
Merge pull request #12549 from matrix-org/florianduros/tooltip/legacy-tooltip
Tooltip: Use tooltip compound instead of react-sdk tooltip
2024-05-23 09:53:05 +01:00
Florian Duros
d9f718e589
Add more test for ReactionsRowButton.tsx 2024-05-22 16:24:09 +02:00
Florian Duros
8f07672da1
Add more tests for ReadReceiptGroup.tsx 2024-05-22 15:56:12 +02:00
Florian Duros
b6132db68f
Merge branch 'develop' into florianduros/tooltip/legacy-tooltip 2024-05-22 15:12:34 +02:00
Florian Duros
04741ae6a6
Add tests for ReadReceiptGroup.tsx 2024-05-22 15:07:57 +02:00
Florian Duros
1190de9028
Migrate TooltipTarget usage to compound Tooltip (#12542)
* Use new tooltip in `RoomTopic.tsx`

* Use new tooltip in `MLocationBody.tsx`

* Fix room topic

* Update location snapshot

* Use new tooltip in `AppPermission.tsx`

* Remove `TooltipTarget`

* Add tests for `RoomTopic`
2024-05-22 12:15:07 +00:00
RiotRobot
0c28d37f4e Upgrade dependency to matrix-js-sdk@32.4.0 2024-05-22 12:05:45 +00:00
Florian Duros
a6907a033e
Use compound tooltip in ReactionRowButton 2024-05-22 11:27:01 +02:00
Florian Duros
67c7514dcd
Delete useTooltip.tsx 2024-05-22 09:42:54 +02:00
Florian Duros
25fa1238ec
Use tooltip compound in ReadReceiptPerson component 2024-05-22 09:29:54 +02:00
Florian Duros
dbe00e5889
Use tooltip compound in ReadReceiptGroup component 2024-05-21 18:17:31 +02:00
Florian Duros
7d3b3d7f95
Use tooltip compound in MessageComposer.tsx 2024-05-21 17:42:01 +02:00
Florian Duros
a5e4daa0d1
Deprecate Tooltip.tsx 2024-05-21 17:37:04 +02:00
Valere
a29cabe45a
Report verification and recovery state to posthog (#12516)
* Report verification and recovery state to posthog

* Fix CryptoApi import

* Fix js-sdk import

* Review: Use DeviceVerificationStatus instead of CrossSigningStatus

* Review: Clean condition to check secrets in 4S

* review: Fix redundent !!
2024-05-21 14:37:00 +00:00
Ed Geraghty
f712b809e2
Remove code smell assertion identified by Sonar (#12547)
* This assertion is unnecessary since the receiver accepts the original type of the expression

* Implement `client.getDomain()` null check

* Update comment since `AutoDiscovery.findClientConfig` may still throw
2024-05-21 13:49:12 +00:00
RiotRobot
4f3dcb6bc9 Upgrade dependency to matrix-js-sdk@32.3.0 2024-05-21 12:27:24 +00:00
David Baker
3342aa5ff8
Refactor some logic into common AvatarSetting component (#12544)
* Refactor some logic into common AvatarSetting component

We duplicated some of the logic of setting avatars between profiles &
rooms. This pulls some of that logic into the AvatarSetting component
and hopefully make things a little simpler.

* Unsed import

* Convert JS based hover to CSS

* Remove unnecessary container

* Test avatar-as-file path

* Test file upload

* Unused imports

* Add test for RoomProfileSettings

* Test removing room avatar

* Move upload control CSS too

* Remove commented code

Co-authored-by: Florian Duros <florianduros@element.io>

* Prettier

* Coments & move style to inline as per PR suggestion

* Better test names

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

* Fix test

Upload input doesn't have that class anymore

---------

Co-authored-by: Florian Duros <florianduros@element.io>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2024-05-21 10:37:02 +00:00
Florian Duros
f6e919021a
Fix E2E icon display in room header (#12545)
* Fix E2E icon display

* Add e2e test
2024-05-20 16:08:50 +00:00
Hubert Chathi
1bb70c5b3b
Only report undecryptable events once (#12501)
* persist previously-reported event IDs as a bloom filter

* Pin to older `@types/seedrandom`

... to work around https://github.com/Callidon/bloom-filters/issues/72

* Inline `DecryptionFailureTracker.addDecryptionFailure`

* Remove redundant TRACK_INTERVAL

There really doesn't seem to be much point to this batching up of decryption
failure reports. We still call the analytics callback the same number of times.

* Rename `trackedEvents` to `reportedEvents`

* Fix incorrect documentation on `visibleEvents`

This *does* overlap with `failures`.

* Combine `addFailure` and `reportFailure`

* Calculate client properties before starting reporting

* Clear localstorage after each test

... otherwise they interfere

* Remove redundant comment

* Ensure that reports are cleared on a logout/login cycle

* make private const private and const

---------

Co-authored-by: Richard van der Hoff <richard@matrix.org>
2024-05-20 14:53:50 +00:00
Richard van der Hoff
3e103941d6
Cleanup work on DecryptionFailureTracker (#12546)
* Inline `DecryptionFailureTracker.addDecryptionFailure`

* Remove redundant TRACK_INTERVAL

There really doesn't seem to be much point to this batching up of decryption
failure reports. We still call the analytics callback the same number of times.

* Rename `trackedEvents` to `reportedEvents`

* Fix incorrect documentation on `visibleEvents`

This *does* overlap with `failures`.

* Combine `addFailure` and `reportFailure`

* Calculate client properties before starting reporting
2024-05-17 16:19:31 +00:00
Florian Duros
75562b1d1b
Tooltip: migrate remaining tooltips from AccessibleTooltipButton to AccessibleButton (#12522)
* Use `AccessibleButton` in `RovingAccessibleTooltipButton`

* Update snapshots

* Update @vector-im/compound-web

* Update composer

* Update formating buttons

* Update snapshots

* Update `ContextMenuTooltipButton.tsx`

* Fix placement

* Update tests

* Remove placement

* Update space panel snapshot

* Remove default placement

* Update snapshots

* Update snapshots

* Use kbd

* Update ``@vector-im/compound-web`

* Migrate remaining files

* Remove `AccessibleTooltipButton.tsx`

* Add test to `InteractiveAuthEntryComponents`

* Add test to `InteractiveAuthEntryComponents`

* Back to old RoomList-test.tsx

* Improve `InteractiveAuthEntryComponent` tests

* Review changes
2024-05-17 14:11:07 +00:00
Florian Duros
8f3c8b3515
Use RovingAccessibleButton instead of RovingAccessibleTooltipButton (#12539) 2024-05-17 10:29:30 +00:00
Florian Duros
2d0319ec1b
Improve tooltip placement for space settings (#12541) 2024-05-17 10:21:51 +00:00