Commit Graph

4671 Commits

Author SHA1 Message Date
fkwp
9add3e52c4 Update file headers copyright and change licence to AGPL-3.0-only 2024-09-06 10:22:13 +02:00
fkwp
7f03116b65 Update LICENCE file 2024-09-06 10:21:49 +02:00
Robin
cc813fd3cb
Merge pull request #2610 from robintown/update-js-sdk
Update matrix-js-sdk
2024-09-03 16:28:21 -04:00
Robin
4157ad071a
Merge pull request #2608 from robintown/fix-rageshakes
Fix rageshakes
2024-09-03 16:23:30 -04:00
Robin
bc157c6dc4 Update matrix-js-sdk
There's no particular change that we need to pull in, but I like to keep my linked copy of matrix-js-sdk up to date—a TypeScript config change is required by recent versions, so I'd like to update this now.
2024-09-03 16:18:34 -04:00
Robin
57e1434fec
Merge pull request #2609 from robintown/coverage-barrier
Make the test coverage target non-blocking
2024-09-03 16:14:00 -04:00
ElementRobot
bfbc5980b7
Merge pull request #2439 from element-hq/actions/localazy-download
Localazy Download
2024-09-03 15:10:42 -05:00
Robin
27394f9710 Make the test coverage target non-blocking
Sadly Codecov doesn't give us a way to relax the coverage requirements for changes that touch very few lines of code, which has been an invaluable feature of SonarCloud. I suggest we make the check non-blocking.
2024-09-03 16:07:43 -04:00
Robin
0d007f49ec Fix rageshakes
We were relying on deprecated APIs that are not supported when using Rust crypto. Since this entire file was copied and pasted from matrix-react-sdk originally, I just copied and pasted some of its more recent code in.
2024-09-03 16:00:17 -04:00
Robin
8e72ad597b
Merge pull request #2473 from robintown/resize-observer
Remove ResizeObserver polyfill
2024-09-03 15:37:54 -04:00
Robin
c8a2ef6a1d Merge branch 'livekit' into resize-observer 2024-09-03 15:35:10 -04:00
renovate[bot]
c2cc0937c1
Update typescript-eslint monorepo to v8 (major) (#2523)
* Update typescript-eslint monorepo to v8

* es lint fixes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Timo <toger5@hotmail.de>
2024-09-03 17:14:27 +02:00
Robin
1784cb284c
Merge pull request #2598 from robintown/test-media-vm
Test MediaViewModel
2024-09-03 10:40:02 -04:00
Robin
55038065c7
Remove a test debug log (#2597) 2024-09-03 11:04:59 +02:00
fkwp
49ebb1cf4c
Merge pull request #2601 from element-hq/renovate/matrix-widget-api
Update dependency matrix-widget-api to v1.9.0
2024-09-03 09:08:03 +02:00
fkwp
b973e7446d
Merge pull request #2606 from element-hq/renovate/livekit-client
Update dependency livekit-client to v2.5.1
2024-09-03 09:07:35 +02:00
renovate[bot]
5ebbb7b711
Update dependency livekit-client to v2.5.1 2024-09-02 20:29:29 +00:00
Timo
922fe5bafd
Fix (registration flow): logout old before creating new client as required by initClient. (#2604) 2024-09-02 21:42:50 +02:00
fkwp
5f8081bebb
Merge pull request #2602 from Johennes/johannes/qr
Display QR code when sharing invite link
2024-09-02 18:56:42 +02:00
Johannes Marbach
12237c469f
Update src/QrCode.module.css
Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>
2024-09-02 17:52:01 +02:00
renovate[bot]
7ee3fbd832
Update all non-major dependencies (#2600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-02 17:48:56 +02:00
Timo
040288790c
Fix (rust crypto): Adjust login procedures to account for rust crypto behaviour. (#2603)
* Fix for missing client store (caused by: #2587)

* Fix interactive login with authenticated guest user.
Fix clearing storage before logging in a new account.
2024-09-02 17:48:15 +02:00
Johannes Marbach
cba5eb5c07 Run prettier 2024-09-02 16:30:37 +02:00
Johannes Marbach
6ae0c0988d Add simplistic rendering test 2024-09-02 16:28:53 +02:00
Johannes Marbach
088d4d93a0 Re-add types package 2024-09-02 09:10:42 +02:00
fkwp
ead5f63a02
Merge pull request #2599 from element-hq/renovate/github-actions
Update actions/upload-artifact action to v4.4.0
2024-09-02 09:07:57 +02:00
Johannes Marbach
8655b41c05 Run prettier 2024-09-02 08:44:33 +02:00
Johannes Marbach
5b09a5ebd8 Merge branch 'livekit' into johannes/qr 2024-09-02 08:40:15 +02:00
Johannes Marbach
354382d498 Display QR code when sharing invite link
Fixes: #2495
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-09-02 08:25:10 +02:00
renovate[bot]
353987ca12
Update dependency matrix-widget-api to v1.9.0 2024-09-02 01:59:12 +00:00
renovate[bot]
fa6b8b3f0b
Update actions/upload-artifact action to v4.4.0 2024-09-01 00:30:19 +00:00
Robin
9d5145a7a6 Test MediaViewModel
This was the result of me playing around with RxJS marble testing to understand how to get things done with its TestScheduler. I discovered that it lacks a clear way to fire arbitrary actions during the test, so I built a small helper function called schedule which does this for us.
2024-08-30 19:09:42 -04:00
Timo
3e57a7692c
Add back keyboard toast tests (#2582)
* Fix global-jsdom initialization

* add back toast tests

* fix keyboard input events.

* add jsdom types
2024-08-30 15:40:09 +02:00
Robin
e9fc5dadd9
Merge pull request #2594 from robintown/upgrade-compound
Upgrade Compound Web
2024-08-30 09:38:17 -04:00
Andrew Ferrazzutti
86bacd2b47
Depend on a tagged js-sdk release (#2593)
which is possible since:
- matrix-org/matrix-js-sdk@ee94e9335
- element-hq/element-call@b79a405e
2024-08-30 09:37:15 -04:00
Robin
cb28fa715a Upgrade Compound Web 2024-08-30 09:35:34 -04:00
Timo
172af1dce3
Add missing productName string (#2596) 2024-08-30 15:29:14 +02:00
Timo
270540f125
Update README.md (#2589) 2024-08-30 15:07:15 +02:00
Andrew Ferrazzutti
0974488c4e
Make one more js-sdk import consistent (#2595)
Update an import that was missed in b79a405e
2024-08-30 08:57:15 -04:00
Timo
a2dd538237
Fix for missing client store (caused by: #2587) (#2591) 2024-08-30 11:28:00 +02:00
Richard van der Hoff
b79a405ed6
Make js-sdk imports consistent (#2590)
We need to be consistent about whether we import matrix-js-sdk from `src` or
`lib`, otherwise we get two copies of matrix-js-sdk, and everything explodes.
2024-08-29 12:37:52 -04:00
Timo
159ae603aa
Remove shadow for layout switcher. (#2588) 2024-08-29 17:59:28 +02:00
Timo
559fc4851c
Fix rust crypto: dont use legacy crypto store anymore. (#2587)
The logic for the legacy store was intercepting with the rustCrypto that handles all the cases itself.
2024-08-29 16:59:47 +02:00
Robin
0db51d9dfd
Replace remaining React ARIA components with Compound components (#2576)
* Fix issues detected by Knip

Including cleaning up some unused code and dependencies, using a React hook that we unintentionally stopped using, and also adding some previously undeclared dependencies.

* Replace remaining React ARIA components with Compound components

* fix button position

* disable scrollbars to resolve overlapping button

---------

Co-authored-by: Timo <toger5@hotmail.de>
2024-08-28 14:44:39 +02:00
Robin
7bca541cb6
Perform dead code analysis with Knip (#2575)
* Install Knip

* Clarify an import that was confusing Knip

* Fix issues detected by Knip

Including cleaning up some unused code and dependencies, using a React hook that we unintentionally stopped using, and also adding some previously undeclared dependencies.

* Run dead code analysis in lint script and CI

---------

Co-authored-by: Timo <toger5@hotmail.de>
2024-08-28 02:06:57 +02:00
fkwp
51ae4c0a88
Merge pull request #2585 from element-hq/fkwp/fix_codecov
set codecov token from secrets
2024-08-27 21:26:19 +02:00
fkwp
6521c8055c set codecov token from secrets 2024-08-27 21:22:16 +02:00
Johannes Marbach
7e3e17a3e8
Link "Create an account" button to registration page (#2583)
Fixes: #2328

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-08-27 15:55:38 +02:00
Robin
5eaabcf74d
Clean up our tests in preparation for the testing sprint (#2466)
* Fix coverage reporting

Codecov hasn't been working recently because Vitest doesn't report coverage by default.

* Suppress some noisy log lines

Closes https://github.com/element-hq/element-call/issues/686

* Store test files alongside source files

This way we benefit from not having to maintain the same directory structure twice, and our linters etc. will actually lint test files by default.

* Stop using Vitest globals

Vitest provides globals primarily to make the transition from Jest more smooth. But importing its functions explicitly is considered a better pattern, and we have so few tests right now that it's trivial to migrate them all.

* Remove Storybook directory

We no longer use Storybook.

* Configure Codecov

Add a coverage gate for all new changes and disable its comments.

* upgrade vitest

---------

Co-authored-by: Timo <toger5@hotmail.de>
2024-08-27 15:45:39 +02:00
Robin
3a754479dc
Add simple global controls to put the call in picture-in-picture mode (#2573)
* Stop sharing state observables when the view model is destroyed

By default, observables running with shareReplay will continue running forever even if there are no subscribers. We need to stop them when the view model is destroyed to avoid memory leaks and other unintuitive behavior.

* Hydrate the call view model in a less hacky way

This ensures that only a single view model is created per call, unlike the previous solution which would create extra view models in strict mode which it was unable to dispose of. The other way was invalid because React gives us no way to reliably dispose of a resource created in the render phase. This is essentially a memory leak fix.

* Add simple global controls to put the call in picture-in-picture mode

Our web and mobile apps (will) all support putting calls into a picture-in-picture mode. However, it'd be nice to have a way of doing this that's more explicit than a breakpoint, because PiP views could in theory get fairly large. Specifically, on mobile, we want a way to do this that can tell you whether the call is ongoing, and that works even without the widget API (because we support SPA calls in the Element X apps…)

To this end, I've created a simple global "controls" API on the window. Right now it only has methods for controlling the picture-in-picture state, but in theory we can expand it to also control mute states, which is current possible via the widget API only.

* Fix footer appearing in large PiP views

* Add a method for whether you can enter picture-in-picture mode

* Have the controls emit booleans directly
2024-08-27 13:47:20 +02:00