Commit Graph

415 Commits

Author SHA1 Message Date
Timo
a041a7bf7e
Bump js-sdk (local echo fix) (#2723) 2024-11-06 16:35:29 +01:00
Hugh Nimmo-Smith
7fd344385d
Add rxjs/recommend eslint rules (#2724)
We will probably want to tweak these as we get more used to them.
2024-11-06 14:33:06 +00:00
Milton Moura
1897210a60
Hand raise feature (#2542)
* Initial support for Hand Raise feature

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Refactored to use reaction and redaction events

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Replacing button svg with raised hand emoji

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* SpotlightTile should not duplicate the raised hand

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Update src/room/useRaisedHands.tsx

Element Call recently changed to AGPL-3.0

* Use relations to load existing reactions when joining the call

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Links to sha commit of matrix-js-sdk that exposes the call membership event id and refactors some async code

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Removing RaiseHand.svg

* Check for reaction & redaction capabilities in widget mode

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Fix failing GridTile test

Signed-off-by: Milton Moura <miltonmoura@gmail.com>

* Center align hand raise.

* Add support for displaying the duration of a raised hand.

* Add a sound for when a hand is raised.

* Refactor raised hand indicator and add tests.

* lint

* Refactor into own files.

* Redact the right thing.

* Tidy up useEffect

* Lint tests

* Remove extra layer

* Add better sound. (woosh)

* Add a small mode for spotlight

* Fix timestamp calculation on relaod.

* Fix call border resizing video

* lint

* Fix and update tests

* Allow timer to be configurable.

* Add preferences tab for choosing to enable timer.

* Drop border from raised hand icon

* Handle cases when a new member event happens.

* Prevent infinite loop

* Major refactor to support various state problems.

* Tidy up and finish test rewrites

* Add some explanation comments.

* Even more comments.

* Use proper duration formatter

* Remove rerender

* Fix redactions not working because they pick up events in transit.

* More tidying

* Use deferred value

* linting

* Add tests for cases where we got a reaction from someone else.

* Be even less brittle.

* Transpose border to GridTile.

* lint

---------

Signed-off-by: Milton Moura <miltonmoura@gmail.com>
Co-authored-by: fkwp <fkwp@users.noreply.github.com>
Co-authored-by: Half-Shot <will@half-shot.uk>
Co-authored-by: Will Hunt <github@half-shot.uk>
2024-11-04 09:54:13 +00:00
renovate[bot]
9fa7bf976f
Update dependency eslint-plugin-unicorn to v56 2024-10-30 14:27:38 +00:00
renovate[bot]
823ffd96b3
Update all non-major dependencies 2024-10-30 13:52:21 +00:00
Hugh Nimmo-Smith
d8bbd93294
Bump js-sdk for MatrixRTC fixes (#2688)
Full diff https://github.com/matrix-org/matrix-js-sdk/compare/v34.7.0...0a29063bc9e61ee70ca43820d4bb91f6a27f1237

Relevant PRs included:

- Do not rotate MatrixRTC media encryption key when a new member joins a session #4472
- Refactor/simplify Promises in MatrixRTCSession #4466
- Prepare delayed call leave events more reliably #4447
- Fix DelayedEventInfo type #4446
- Fix MatrixRTC sender key wrapping #4441
2024-10-25 17:23:34 +01:00
renovate[bot]
89702da488
Update dependency eslint-plugin-react-hooks to v5 2024-10-11 15:35:19 +00:00
Hugh Nimmo-Smith
8a84c6c45e
Use non-deprecated method of re-processing MatrixRTCSession keys (#2646)
* Handle case of encryption key for an index to be undefined

As per https://github.com/matrix-org/matrix-js-sdk/pull/4423 the key can be undefined and so we should handle this rather than waiting for SubtleCrypto.importKey() to fail.

* Use release version of matrix-js-sdk

Diff is baa6d13506...v34.7.0

* Use RTCSession. reemitEncryptionKeys()

* Add some test coverage whilst we are here

* Add some test coverage whilst we are here

* Lint
2024-10-11 11:34:45 -04:00
Hugh Nimmo-Smith
8272c54177
Set LiveKit keyring size to 256 (#2660) 2024-10-10 10:34:38 +01:00
Robin
877be03328
Merge pull request #2635 from element-hq/renovate/global-jsdom-25.x
Update dependency global-jsdom to v25
2024-09-27 16:05:03 -04:00
Robin
a74d170586 Hold back PostHog updates for now
https://github.com/PostHog/posthog-js/issues/1437
2024-09-27 16:02:12 -04:00
Hugh Nimmo-Smith
e8288d07a4 Bump js-sdk 2024-09-27 17:20:45 +01:00
Timo
d7b06760ad
Test useTheme hook (#2625)
* Test useTheme hook
2024-09-24 22:15:16 +02:00
Robin
156f1e3a10 Merge branch 'livekit' into test-call-vm 2024-09-18 22:37:15 -04:00
Hugh Nimmo-Smith
bd866945fd
Bump js-sdk (#2638) 2024-09-18 13:18:28 +01:00
renovate[bot]
e4578dfb4f
Update dependency global-jsdom to v25 2024-09-17 18:55:12 +00:00
Robin
d9333d6829 Test RoomHeaderInfo 2024-09-06 18:41:47 -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
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
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
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
Johannes Marbach
088d4d93a0 Re-add types package 2024-09-02 09:10:42 +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
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
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
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
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
renovate[bot]
0e3113edcd
Update dependency jsdom to v25 (#2580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-26 14:44:15 +02:00
Robin
b5f6343a5e Remove ResizeObserver polyfill
All major browsers support it out of the box, nowadays.
2024-08-23 15:07:40 -04:00
Hugh Nimmo-Smith
eddc590235 Use rust crypto
Taken from d25cf28d00
2024-08-19 10:27:46 +01:00
Hugh Nimmo-Smith
69b762b9ed
Bump js-sdk for sender key reliability improvements (#2567)
Diff from current version: 9176d3a671...467908703b
2024-08-15 11:49:19 +02:00
Andrew Ferrazzutti
f0f9b929a1
Update js-sdk to use non-legacy calls if found (#2540) 2024-08-07 13:00:19 -04:00
renovate[bot]
b4973bbc6b
Update dependency postcss-preset-env to v10 2024-08-04 00:40:54 +00:00
renovate[bot]
86e3c346a4
Update dependency @vector-im/compound-web to v6 2024-08-02 19:23:22 +00:00
Andrew Ferrazzutti
1f10245adc
Bump matrix-widget-api (#2529) 2024-08-02 08:37:55 -04:00
Timo
f9323d8b2c
Add future related widget capabilities (#2505)
* add future related widget capabilities

* Update js sdk
2024-08-01 11:41:47 -04:00
renovate[bot]
80ddb7495d
Update dependency eslint-plugin-unicorn to v55 (#2503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 10:35:26 +02:00
Robin
9cbd146e24
Merge pull request #2491 from element-hq/renovate/matrix-widget-api
Update dependency matrix-widget-api to v1.7.0
2024-07-24 11:14:46 -04:00
Robin
17adfc5777 Upgrade matrix-js-sdk 2024-07-24 10:17:47 -04:00
renovate[bot]
b34e7d00e9
Update LiveKit components 2024-07-24 12:57:28 +00:00
Robin
507b1fc52d Merge branch 'livekit' into new-call-layouts 2024-07-18 11:38:35 -04:00
renovate[bot]
be4b70c1e1
Update dependency react-i18next to v15 2024-07-17 16:51:55 +00:00
Robin
af0bd795b5 Replace react-rxjs with observable-hooks
react-rxjs is the library we've been using to connect our React components to view models and consume observables. However, after spending some time with react-rxjs, I feel that it's a very heavy-handed solution. It requires us to sprinkle <Subscribe /> and <RemoveSubscribe /> components all throughout the code, and makes React go through an extra render cycle whenever we mount a component that binds to a view model. What I really want is a lightweight React hook that just gets the current value out of a plain observable, without any extra setup. Luckily the observable-hooks library with its useObservableEagerState hook seems to do just that—and it's more actively maintained, too!
2024-07-12 15:46:33 -04:00
renovate[bot]
79b3fdb645
Update dependency vitest to v2 2024-07-08 13:01:11 +00:00
renovate[bot]
0f877cd021
Update dependency tinyqueue to v3 (#2468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-08 09:12:26 +02:00
Robin
41083c0f9e Refactor settings to use observables
Also removing some unused settings along the way.
2024-07-03 15:29:32 -04:00
renovate[bot]
18740fc686
Update all non-major dependencies 2024-06-24 13:04:28 +00:00