Commit graph

337 commits

Author SHA1 Message Date
Florian Duros
63986f8c42
Remove feature_dehydration (#138)
* Remove feature_dehydration

* Remove remaining old dehydration

* Update test
2024-10-14 16:10:41 +00:00
R Midhun Suresh
91e84f7951
Upgrade to latest compound-web package (#84)
* Upgrade to latest compound-web package

* Use a custom render function for jest tests

This way we don't need to manually wrap our components with
<TooltipProvider>

* Pin wrap-ansi to fix broken yarn install

* Add playwright helper to find tooltip from element

and use it in the failing test

* Exclude floating-ui divs/spans from axe testing

This is rendered outside .MatrixChat by compound and contains all the
tooltips.

* Wrap outermost components with TooltipProvider

* Remove onChange and use onSelect for toggle

* Fix jest tests and update snapshots

* Use vector-im/matrix-wysiwig

---------

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-14 16:11:58 +00:00
Richard van der Hoff
771d4a8417
Fix flaky crypto playwright tests (#143)
* Playwright: wait for sync to arrive after joining rooms

Fix a couple of flaky tests which were not waiting for the /sync to complete
after joining a room.

* Playwright: add a comment about a broken helper

* playwright: fix more flakiness in the shields test

This bit can take a while as well.

* Update playwright/pages/client.ts

Co-authored-by: R Midhun Suresh <hi@midhun.dev>

* Add a timeout to `awaitRoomMembership`

---------

Co-authored-by: R Midhun Suresh <hi@midhun.dev>
2024-10-11 11:48:46 +00:00
Michael Telatynski
df4a223eb6
Deduplicate media & voip icons using Compound Design Tokens (#129)
* Deduplicate media & voip icons using Compound Design Tokens

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

* Update tests

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-08 12:00:37 +00:00
Michael Telatynski
26b0e83ac4
Replace composer icons with Compound variants (#123)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-04 12:42:23 +00:00
Michael Telatynski
0a9b4aecd3
Tweak default right panel size to be 320px except for maximised widgets at 420px (#110)
* Add extra buttons to room summary card

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

* Remove right panel tabs in favour of X button on each panel

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

* Update room summary card header to align close button correctly

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

* Fix typo in pinned messages heading

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

* Update snapshots

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

* Update tests

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

* Iterate

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

* Update snapshots

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

* Update screenshot

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

* Improve coverage

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

* Tweak default right panel size to be 320px except for video rooms/maximised widgets at 420px

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

* Iterate

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

* Update tests

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

* Update snapshots

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

* Track panel resizing in analytics

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

* Fix import cycle

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

* Update screenshots

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

* Improve coverage

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

* Fix tests

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

* Update snapshot

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

* Update test/components/structures/MainSplit-test.tsx

Co-authored-by: David Baker <dbkr@users.noreply.github.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2024-10-04 09:41:00 +00:00
Florian Duros
70418f8f3d
Add a pinned message badge under a pinned message (#118)
* Add pinned message badge for Modern Layout

* Add Bubble layout support

* Add thread support

* Add irc support

* Rename event tile badges

* Don't render footer when there is no reactions

* Add a test for `PinnedMessageBadge.tsx`

* Add a test in EventTile-test.tsx

* Add e2e test
2024-10-04 07:11:37 +00:00
Michael Telatynski
2dbaf00e71
Ditch right panel tabs and re-add close button (#99)
* Add extra buttons to room summary card

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

* Remove right panel tabs in favour of X button on each panel

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

* Update room summary card header to align close button correctly

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

* Fix typo in pinned messages heading

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

* Update snapshots

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

* Update tests

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

* Iterate

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

* Update snapshots

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

* Update screenshot

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

* Improve coverage

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

* i18n

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

* Fix base card title colours

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

* Update snapshots

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-03 08:59:41 +00:00
David Baker
67cb8b7590
Force verification even for refreshed clients (#44)
* Force verification even for refreshed cients

Set a flag on login to remember that the device needs to be verified
so that we don't forget if the user refreshes the page, but still allow
user with an existing unverified session to stay logged in.

* Hopefully make matrixchat tests pass?

Much, much tweaking to make the matrixchat tests pass again. Should
hopefully make them a bit more solid in general with judicious use of
waitFor rather than flushPromises(). Also lots of fun to stop the state
bleeding between tests.

* Manual yarn.lock manipulation

to hopefully resolve infinite package sadness

* Make final test pass(?)

Mock out the createClient method to return the same client, because
we've mocked the peg to always return that client, so if we let the
code make another one having still overridden the peg, everything becomes
cursed.

Also mock out the autodiscovery stuff rather than relying on fetch-mock.

* another waitFor

* death to flushPromises

* Put the logged in dispatch back

Actually it breaks all sorts of other things too, having fixed all the
MatrixChat tests (although this is useful anyway).

* Try displaying the screen in onClientStarted instead

* Put post login screen back in logged in

but move ready transition to avoid flash of main UI

* Rejig more in the hope it does the right thing

* Make hook work before push rules are fetched

* Add test for unskippable verification

* Add test for use case selection

* Fix test

* Add playwright test for unskippable verification

* Remove console log

* Add log message to log line

* Add tsdoc

* Use useTypedEventEmitter

* Remove commented code

* Use catch instead of empty then on unawaited promises

or in one case just await it because the caller was async anyway

* Add new mock
2024-10-03 08:55:06 +00:00
Michael Telatynski
2a183c76c9
Ensure no race condition between page load and waitForRequest set up (#109)
Fixes https://github.com/element-hq/element-web/issues/27572

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-02 10:21:44 +00:00
Michael Telatynski
33c900e307
Remove right panel toggling behaviour on room header buttons (#100)
* Remove right panel toggling behaviour on room header buttons

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

* Remove stale test

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

* Fix tests

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-30 16:36:24 +00:00
Richard van der Hoff
f28f1d998f
Improve error display for messages sent from insecure devices (#93)
* Add labs option to exclude unverified devices

Add a labs option which will, when set, switch into the "invisible crypto"
mode of refusing to send keys to, or decrypt messages from, devices that have
not been signed by their owner.

* DecryptionFailureBody: better error messages

Improve the error messages shown for messages from insecure devices.

* playwright: factor out `createSecondBotDevice` utility

* Playwright test for messages from insecure devices

* fixup! DecryptionFailureBody: better error messages

Use compound colour tokens, and add a background colour.

* fixup! DecryptionFailureBody: better error messages

Use compound spacing tokens
2024-09-30 12:39:25 +00:00
Michael Telatynski
8962e8cdd3
Improve contrast for timestamps, date separators & spotlight trigger (#91)
* Improve contrast for timestamps and room list search trigger

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

* Update screenshot

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

* Change timeline separator colour to primary for improved contrast

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

* Update screenshots

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-27 14:22:15 +00:00
Michael Telatynski
34d1875534
Open room settings on room header avatar click (#88)
* Open room settings on room header avatar click

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

* Fix nested interactive elements aria fail

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

* Update things for a11y and update snapshots

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

* Fix tests

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

* Iterate tests

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-26 10:14:53 +00:00
Richard van der Hoff
1e7631386e
Playwright: factor out some common code (#49)
* playwright: factor out `bootstrapCrossSigningForClient` method

Pull this out so it can be used elsewhere. Also expose the `resetKeys` param,
which might be useful in future.

* playwright: bot.ts: use `bootstrapCrossSigningForClient`

... instead of reinventing it.

* Only setup cross signing if `startClient` is set
2024-09-19 07:13:04 +00:00
Richard van der Hoff
1058af6add
Playwright test for E2E messages from deleted devices (#47)
* Factor out `createSecondBotDevice` utility

* Add playwright test for messages from deleted devices

Thanks to MSC4147, we now have information on the devices that sent messages,
even when the device has since been deleted. Test that out.
2024-09-17 17:50:02 +00:00
ElementRobot
c24661f660
[create-pull-request] automated change (#45)
Co-authored-by: dbkr <986903+dbkr@users.noreply.github.com>
2024-09-17 06:20:35 +00:00
Hubert Chathi
b5058286e0
update test to work with newer Rust crypto (#32) 2024-09-13 11:29:25 +00:00
ElementRobot
5740bdbd38
[create-pull-request] automated change (#39)
Co-authored-by: dbkr <986903+dbkr@users.noreply.github.com>
2024-09-13 06:20:25 +00:00
Will Hunt
eae9d9e248
Add timezone to user profile (#20)
* [create-pull-request] automated change (#12966)

Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>

* Add timezone to right panel profile.

* Add setting to publish timezone

* Add string for timezone publish

* Automatically update timezone when setting changes.

* Refactor to using a hook

And automatically refresh the timezone every minute.

* Check for feature support for extended profiles.

* lint

* Add timezone

* Remove unintentional changes

* Use browser default timezone.

* lint

* tweaks

* Set timezone publish at the device level to prevent all devices writing to the timezone field.

* Update hook to use external client.

* Add test for user timezone.

* Update snapshot for preferences tab.

* Hide timezone info if not provided.

* Stablize test

* Fix date test types.

* prettier

* Add timezone tests

* Add test for invalid timezone.

* Update screenshot

* Remove check for profile.

---------

Co-authored-by: ElementRobot <releases@riot.im>
Co-authored-by: github-merge-queue <github-merge-queue@users.noreply.github.com>
2024-09-12 13:18:25 +00:00
ElementRobot
85b4f17a56
[create-pull-request] automated change (#33)
Co-authored-by: dbkr <986903+dbkr@users.noreply.github.com>
2024-09-12 06:21:24 +00:00
Florian Duros
75918f5b18
Reduce pinned message banner size (#28) 2024-09-11 15:44:16 +00:00
Florian Duros
03004a55fd
Change settings to true by default (#25) 2024-09-11 11:16:52 +00:00
ElementRobot
ccb1a61f56
[create-pull-request] automated change (#24)
Co-authored-by: dbkr <986903+dbkr@users.noreply.github.com>
2024-09-11 06:21:47 +00:00
Florian Duros
51495e7d07
Remove pinned message list screenshot which are flacky (#17) 2024-09-10 08:51:57 +00:00
ElementRobot
24fe2f239a
[create-pull-request] automated change (#18)
Co-authored-by: dbkr <986903+dbkr@users.noreply.github.com>
2024-09-10 06:21:20 +00:00
David Langley
491f0cd08a
Change license (#13)
* Copyright headers 1

* Licence headers 2

* Copyright Headers 3

* Copyright Headers 4

* Copyright Headers 5

* Copyright Headers 6

* Copyright headers 7

* Add copyright headers for html and config file

* Replace license files and update package.json

* Update with CLA

* lint
2024-09-09 13:57:16 +00:00
dbkr
92b3eb5427 [create-pull-request] automated change 2024-09-07 06:05:10 +00:00
dbkr
eb14223e21 [create-pull-request] automated change 2024-09-06 09:38:36 +00:00
ElementRobot
5ff3fd67c4
[create-pull-request] automated change (#12949)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-09-03 06:22:31 +00:00
Florian Duros
f033b64b53
Display the indicator even with one message in pinned message banner (#12946)
* Display the indicator even with one message

* Update e2e tests
2024-09-02 15:51:04 +00:00
Florian Duros
41686bba58
Always display last pinned message on the banner (#12945)
* Fix when an event is pinned and the banner displays the correct event.

Fix when an event is pinned and the banner displays the good event.

* Update e2e tests
2024-09-02 15:50:39 +00:00
Timshel
ae15bbe6e0
Allow user to set timezone (#12775)
* Allow user to set timezone

* Update test snapshots

---------

Co-authored-by: Florian Duros <florianduros@element.io>
2024-09-02 09:07:07 +00:00
ElementRobot
acc7342758
[create-pull-request] automated change (#12942)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-09-02 06:22:27 +00:00
ElementRobot
3d41f5be03
[create-pull-request] automated change (#12938)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-31 06:20:43 +00:00
Florian Duros
2a450c095c
Add allowImportingTsExtensions to tsconfig (#12939) 2024-08-30 13:54:14 +00:00
Florian Duros
d16ab09866
Display pinned messages on a banner at the top of a room (#12917)
* Move pinned message hooks to a dedicated file

* Add a banner at the top of a room to display the pinned messages

* Put the pinning banner behind labs pinning labs flag

* Add redacted event support

* Handle UTD in pinning message banner

* Add tests for redaction

* Make all the banner clickable

* Add tests for PinnedMessageBanner.tsx

* Add e2e tests for the pinned message banner

* Review changes
2024-08-29 14:26:10 +00:00
ElementRobot
8b2ded8a0e
[create-pull-request] automated change (#12935)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-29 06:22:58 +00:00
Florian Duros
c6922c912e
Fix reply message truncation on 2 lines (#12929)
* Fix reply message truncation on 2 lines

* Add e2e tests for reply
2024-08-28 09:45:07 +00:00
R Midhun Suresh
43941efbdb
Install deja-vu font in docker image (#12932)
* Install deja-vu font

* Add comment
2024-08-28 06:47:56 +00:00
ElementRobot
71c31bbed8
[create-pull-request] automated change (#12926)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-28 06:22:32 +00:00
Florian Duros
30f84cd5a9
Update playwright image (#12930) 2024-08-27 12:09:57 +00:00
David Langley
70665d3ce3
RTE drafts (#12674)
* Add drafts to the RTE and tests

* test drafts in threads

* lint

* Add unit test.

* Fix test failure

* Remove unused import

* Clean up wysiwyg drafts and add test.

* Fix typo

* Add timeout to allow for wasm loading.

---------

Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2024-08-22 12:54:01 +00:00
Florian Duros
3d80eff65b
Add Pin/Unpin action in quick access of the message action bar (#12897)
* Add Pin/Unpin action in quick access of the message action bar

* Add tests for `MessageActionBar`

* Add tests for `PinningUtils`

* Fix `MessageContextMenu-test`

* Add e2e test to pin/unpin from message action bar
2024-08-21 08:50:00 +00:00
ElementRobot
4064db1d02
[create-pull-request] automated change (#12907)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-21 06:21:54 +00:00
ElementRobot
fe8c0739f8
[create-pull-request] automated change (#12901)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-20 06:21:56 +00:00
ElementRobot
3f386a6cac
[create-pull-request] automated change (#12898)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-17 06:20:09 +00:00
Florian Duros
6f3dc30693
Message Pinning: rework the message pinning list in the right panel (#12825)
* Fix pinning event loading after restart

* Update deps

* Replace pinned event list

* Add a dialog to confirm to unpin all messages

* Use `EmptyState` when there is no pinned messages

* Rework `PinnedEventTile` tests

* Add comments and refactor `PinnedMessageCard`

* Rework `PinnedMessageCard` tests

* Add tests for `UnpinAllDialog`

* Add e2e tests for pinned messages

* Replace 3px custom gap by 4px gap

* Use string interpolation for `Pin` action.

* Update playright sceenshot for empty state
2024-08-16 12:16:06 +00:00
ElementRobot
63615671a4
[create-pull-request] automated change (#12891)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-15 06:22:46 +00:00
ElementRobot
de898d1b62
[create-pull-request] automated change (#12887)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2024-08-14 06:22:24 +00:00