Commit Graph

2093 Commits

Author SHA1 Message Date
Half-Shot
a262c4b59f Merge remote-tracking branch 'origin/livekit' into hs/emoji-reactions 2024-11-07 09:10:42 +00:00
Half-Shot
b1d90f8262 Update rock sounds 2024-11-07 09:02:13 +00:00
Half-Shot
6294fbb8e1 Preload reaction sounds to prevent delays. 2024-11-07 09:01:58 +00:00
Hugh Nimmo-Smith
bfffddfa92 Fix minature => miniature spelling (#2727) 2024-11-06 15:54:58 +00:00
Hugh Nimmo-Smith
f611554c31 Don't hide video on encryption status error (#2726) 2024-11-06 15:31:31 +00: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
Hugh Nimmo-Smith
c45f724279 Show encryption key status from LiveKit (#2700)
* Refactor to make encryption system available in view models

* WIP show encryption errors from LiveKit

* Missing CSS

* Show encryption status based on LK and RTC

* Lint

* Lint

* Fix tests

* Update wording

* Refactor

* Lint
2024-11-06 11:12:46 +00:00
Will Hunt
bc0ab92394 Add feature to release hand raised when the tile indicator is clicked. (#2721)
* Refactor to add support for lowering hand on indicator click.

* Cleanup and lint.

* fix icon being a little off
2024-11-06 11:00:19 +00:00
Robin
110914a4d6 Replace some custom React hooks with observable-hooks (#2710)
The observable-hooks package provides hooks that do exactly the same thing as these custom React hooks I had written a while back. (even the names are the same, wow)

Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
2024-11-06 09:43:27 +00:00
Robin
d3f069e763 Keep tiles in a stable order (#2670)
* Keep tiles in a stable order

This introduces a new layer of abstraction on top of MediaViewModel: TileViewModel, which gives us a place to store data relating to tiles rather than their media, and also generally makes it easier to reason about tiles as they move about the call layout. I have created a class called TileStore to keep track of these tiles.

This allows us to swap out the media shown on a tile as the spotlight speaker changes, and avoid moving tiles around unless they really need to jump between the visible/invisible regions of the layout.

* Don't throttle spotlight updates

Since we now assume that the spotlight and grid will be in sync (i.e. an active speaker in one will behave as an active speaker in the other), we don't want the spotlight to ever lag behind due to throttling. If this causes usability issues we should maybe look into making LiveKit's 'speaking' indicators less erratic first.

* Make layout shifts due to a change in speaker less surprising

Although we try now to avoid layout shifts due to the spotlight speaker changing wherever possible, a spotlight speaker coming from off screen can still trigger one. Let's shift the layout a bit more gracefully in this case.

* Improve the tile ordering tests

* Maximize the spotlight tile in portrait layout

* Tell tiles whether they're actually visible in a more timely manner

* Fix test

* Fix speaking indicators logic

* Improve readability of marbles

* Fix test case

---------

Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
2024-11-06 09:36:48 +00:00
Half-Shot
b4a126d466 final lint? 2024-11-05 19:10:12 +00:00
Half-Shot
9c6ab58bc4 prettier 2024-11-05 19:03:24 +00:00
Half-Shot
69b18a95a0 lint 2024-11-05 19:02:22 +00:00
Half-Shot
d3cecccdab Add tests for ReactionAudioRenderer 2024-11-05 19:01:57 +00:00
Half-Shot
b1246f90bf lint 2024-11-05 18:34:08 +00:00
Half-Shot
c9b6c7fc2f type tidyups 2024-11-05 18:34:04 +00:00
Half-Shot
507663df87 Add keyboard shortcuts for reaction sending. 2024-11-05 18:33:56 +00:00
Half-Shot
9ff8197987 Add tests for ReactionToggleButton 2024-11-05 17:00:58 +00:00
Half-Shot
2eb62d8e6f Factor out reactions test structure to utils file. 2024-11-05 15:53:22 +00:00
Half-Shot
0e2296430c better reaction description 2024-11-05 15:29:56 +00:00
Half-Shot
05b56c7057 Add type def for custom reaction type. 2024-11-05 15:24:16 +00:00
Half-Shot
d5122f670a Add licence file. 2024-11-05 15:20:47 +00:00
Half-Shot
8863b7cb6a Add rock emoji 2024-11-05 15:20:43 +00:00
Half-Shot
f556e613b3 Document time in css. 2024-11-05 14:41:44 +00:00
Half-Shot
4db7b4fbf5 Const the active time. 2024-11-05 14:40:29 +00:00
Half-Shot
56c40720e8 Fix case where you could send larger strings as emoji 2024-11-05 14:34:51 +00:00
Half-Shot
714ed35e8d Add deer. 2024-11-05 11:32:19 +00:00
Half-Shot
c9e375ff6c Update compound hand raised icon. 2024-11-05 11:32:13 +00:00
fkwp
88a8277694 Merge pull request #2716 from element-hq/fkwp/enable_feature_use_device_session_member_events
default to flat structre of m.call.member evenst (one event per sessi…
2024-11-05 10:51:38 +01:00
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
Will Hunt
8b4bd16647 Add new icon 2024-11-04 15:41:44 +00:00
Will Hunt
4e6ffd64c2 Remove old raised hand component 2024-11-04 15:41:40 +00:00
fkwp
e95106a431 fix linting 2024-11-04 15:13:32 +01:00
fkwp
16129d8154 fix test to reflect new m.call.member format 2024-11-04 14:35:12 +01:00
fkwp
895c52ed06 default to flat structre of m.call.member evenst (one event per session rather than an array) 2024-11-04 14:24:13 +01:00
Will Hunt
ece04fdd68 Fix some tests. 2024-11-04 12:48:35 +00:00
Will Hunt
c64c4e61d7 lint 2024-11-04 12:43:59 +00:00
Will Hunt
d251af4e6d Make event listener more resillient. 2024-11-04 12:12:37 +00:00
Will Hunt
844379aa7d Make vertical divider more visually distinct. 2024-11-04 12:10:04 +00:00
Will Hunt
41c5a8053e Add settings for disabling animations / sounds. 2024-11-04 11:37:45 +00:00
Will Hunt
c9fe0bd932 lint 2024-11-04 11:15:50 +00:00
Will Hunt
3e69e2529c Merge remote-tracking branch 'origin/livekit' into hs/emoji-reactions 2024-11-04 11:14:36 +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
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