Commit Graph

1996 Commits

Author SHA1 Message Date
Robin 98c199d1cf Merge pull request #2690 from robintown/spotlight-speaking
Show speaking indicators in spotlight during screen sharing
2024-11-04 12:36:58 -05:00
Robin b903e11cfc Fix lint error 2024-11-04 10:56:29 -05: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
Hugh Nimmo-Smith f2ed07c258 Refactor to make encryption system available in view models (#2702) 2024-11-04 09:11:44 +00:00
Robin 19c4696a0d Merge pull request #2692 from robintown/hide-profile
Hide the 'profile' menu option in widget mode
2024-11-02 18:37:45 -04:00
Robin 7b0bdd320a Don't mirror rear-facing cameras in the lobby 2024-11-01 17:26:45 -04:00
Robin c9cf7aa7db Merge pull request #2709 from robintown/app-prompt-config
Add a config option to disable the app prompt
2024-11-01 17:05:09 -04:00
Robin 7ad70064a3 Add a config option to disable the app prompt 2024-11-01 16:57:48 -04:00
Robin 8c0280954c Add a button to switch the camera on mobile 2024-11-01 16:00:34 -04:00
Robin 42be187182 Explain why speaking indicators are hidden 2024-11-01 11:25:55 -04:00
Robin 0784a30ef0 Update the strings on the join as guest screen
Hugh pointed out that the button labeled "Join call now" on this screen is misleading, because it does not join you to the call but rather send you to the lobby. Meanwhile, the designs call for this screen to use the words "Join as guest" and "Continue", so let's go with that.
2024-10-28 15:59:53 -04:00
Robin d2aa6d561f Hide the 'profile' menu option in widget mode
The profile settings tab is non-functional in widget mode so we need to hide its other points of entry.
2024-10-28 15:15:02 -04:00
Robin 0ec56014c3 Remove duplicate media devices from the list
Somehow on my system Firefox always manages to create multiple entries for my webcam. This was an easy enough thing to fix.
2024-10-28 15:02:01 -04:00
Robin 3a706ea3e0 Show speaking indicators in spotlight during screen sharing 2024-10-28 14:45:06 -04:00
Robin 551c3f4104 Add config options for starting with audio and video enabled 2024-10-27 21:47:13 -04:00
Robin 339a98d1e1 Don't cause the local tile to disappear when joining
Before you're connected to the SFU the local participant object will have the empty string as its ID. This changes to your actual ID once you've connected. Apparently I tried to fix this by forcing the local ID to always be the string 'local' but then I just forgot to use it correctly :)
2024-10-24 17:20:56 -04:00
Robin d901045e55 Address review comments 2024-10-22 17:23:40 -04:00
Robin 0c6e53cda4 Make the volume slider less silly
Previously, dragging it all the way to the left would *not* mute the participant but rather bottom out at 10% volume, and people have found this unintuitive. Let's make it less silly by giving the slider a range of 0% to 100%, and making the mute toggle button have the same effect as dragging the slider to zero. When unmuting, it will reset to the last non-zero "committed" volume, similar to how the volume sliders in desktop environments work.
2024-10-18 17:51:37 -04: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 https://github.com/matrix-org/matrix-js-sdk/compare/baa6d135065637c9769c61325c69709d3618f5f1...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
Timo d7b06760ad Test useTheme hook (#2625)
* Test useTheme hook
2024-09-24 22:15:16 +02:00
Hugh Nimmo-Smith ed35d6b377 Posthog improvements (#2630) 2024-09-23 14:35:41 +01:00
Hugh Nimmo-Smith d14b43487a Intercept matrix_sdk logging via console and include in rageshake (#2623)
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2024-09-23 14:35:10 +01:00
Robin 8b3c94b120 Make the links on the log in page visually consistent
Timo was totally right in his previous review of my typography component work that these didn't have the right styling. I just didn't notice!
2024-09-19 12:09:14 -04:00
Robin 4aab6cfe4e Leave an open question about whether to move test utils 2024-09-18 23:10:30 -04:00
Robin 25193f467a Factor out repeated event emitter mocks 2024-09-18 23:05:31 -04:00
Robin 156f1e3a10 Merge branch 'livekit' into test-call-vm 2024-09-18 22:37:15 -04:00
Half-Shot c19645c710 consts 2024-09-18 10:10:29 +01:00
Half-Shot 7e5a8b8feb Retry a join on invite if the response was M_FORBIDDEN 2024-09-18 10:08:03 +01:00
Johannes Marbach d2fb1e566f Merge branch 'livekit' into johannes/remove-call 2024-09-13 12:47:18 +02:00
Robin 016ba676dd Test CallViewModel
This adds tests for a couple of the less trivial bits of code in CallViewModel. Testing them helped me uncover why focus switches still weren't being smooth! (It was because I was using RxJS's sample operator when I really wanted withLatestFrom.)
2024-09-12 15:53:13 -04:00
Robin 3ded8bec47 Add more comments 2024-09-12 12:59:02 -04:00
Johannes Marbach 8e21453887 Use i18next hook 2024-09-12 09:35:23 +02:00
Johannes Marbach b1b226d79b Disable link and button while leaving 2024-09-12 09:35:17 +02:00
Robin e5e6233efb Replace typography components with Compound components 2024-09-11 13:44:43 -04:00
Hugh Nimmo-Smith a5aeb6f324 Give user feedback if the rageshake submission failed (#2621) 2024-09-11 14:53:50 +01:00
Robin 3df12be95c Merge pull request #2620 from robintown/missing-members
Diagnose the missing room members situation
2024-09-11 09:33:42 -04:00
Hugh Nimmo-Smith 7e5b70d439 Rageshake logging improvements (#2622) 2024-09-11 14:02:59 +01:00
Robin ca135d471e React more actively to changes in room membership 2024-09-11 01:27:24 -04:00
Robin 1b5b9342fe Warn about duplicate rooms 2024-09-11 01:27:02 -04:00
Robin d12a01b1c4 Test StarRating 2024-09-10 18:21:19 -04:00
Robin e8278b4ed2 Merge branch 'livekit' into test-components 2024-09-10 18:05:22 -04:00
Robin d6985e0053 Test SpotlightTile more thoroughly
Catching two accessibility issues along the way: we were putting the wrong accessible labels on the 'expand' button, and even the off-screen pages of the spotlight tile were being exposed to accessibility technologies rather than hidden.
2024-09-10 17:42:18 -04:00
Robin 8872b879d8 Explain why I've added aria-describedby={undefined} 2024-09-10 16:24:58 -04:00
Johannes Marbach 09af614fb8 Switch to close icon 2024-09-10 16:21:56 +02:00
Johannes Marbach 9766cb2ca2 Add button to remove call from recents
Fixes: #2243
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-09-10 13:33:12 +02:00
Timo c3edd3e25e Enable lint rules for Promise handling to discourage misuse of them. (#2607)
* Enable lint rules for Promise handling to discourage misuse of them.
Squashed all of Hugh's commits into one.

---------

Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
2024-09-10 09:49:35 +02:00
Hugh Nimmo-Smith c30c8ac7d6 Include the hostname of where EC is running in rageshakes (#2616) 2024-09-09 11:14:46 +01:00
Robin 982bd6d06b Test SpotlightTile 2024-09-06 18:41:47 -04:00
Robin ba36cfa239 Test GridTile 2024-09-06 18:41:47 -04:00