Commit Graph

4717 Commits

Author SHA1 Message Date
Hugh Nimmo-Smith
d8d4e8942c Readonly 2024-11-06 16:07:02 +00:00
Hugh Nimmo-Smith
2c3d733714 isLiveKitParticipantAvailable 2024-11-06 15:57:39 +00:00
Hugh Nimmo-Smith
5213636d23 Merge branch 'livekit' into toger5/tiles_based_on_rtc_member 2024-11-06 14:34:50 +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
a1083f3284 isRTCParticipantAvailable => isLiveKitParticipantAvailable 2024-11-06 14:29:09 +00:00
Hugh Nimmo-Smith
b0e0e0ed6b Add explicit types for public fields 2024-11-06 14:13:00 +00:00
Hugh Nimmo-Smith
bcbdb596a3 Fix user id 2024-11-06 14:12:32 +00:00
Hugh Nimmo-Smith
73107e4139 Merge fixes 2024-11-06 14:02:14 +00:00
Hugh Nimmo-Smith
c829f2f599 Lint 2024-11-06 14:02:09 +00:00
Hugh Nimmo-Smith
733b685e96 Merge branch 'livekit' into toger5/tiles_based_on_rtc_member 2024-11-06 13:42:45 +00:00
Hugh Nimmo-Smith
fecd789d02 Mock RTC members 2024-11-06 11:22:29 +00:00
Hugh Nimmo-Smith
0d1b54e071 video is optional 2024-11-06 11:15:28 +00:00
Hugh Nimmo-Smith
e7dbddb651 Fix optionality of nonMemberItemCount 2024-11-06 11:15:18 +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
ElementRobot
22cca2874a
Merge pull request #2722 from element-hq/actions/localazy-download
Localazy Download
2024-11-05 22:58:33 +00:00
fkwp
a9b15c1ec2 Translations updates 2024-11-05 22:51:22 +00:00
Hugh Nimmo-Smith
bb0febf16c Remove unused keys 2024-11-05 18:32:03 +00:00
Timo
e64204d897 adapt tests (wip) 2024-11-05 17:15:50 +01:00
Timo
b5208ffeae tests 2024-11-05 12:55:48 +01: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
renovate[bot]
b7d7180335
Update all non-major dependencies (#2713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 10:42:02 +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
Timo
14919cae13 linter and tests 2024-11-04 16:36:13 +01:00
Timo
1ab4d50bab linter 2024-11-04 16:29:19 +01:00
Timo
2a5dc60066 merge fixes 2024-11-04 15:38:17 +01: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
Timo
e1e202d7c8 per member tiles 2024-11-04 12:33:15 +01:00
Timo
34e9e8aec3 add show_non_member_participants config option 2024-11-04 12:30:38 +01:00
Timo
3f233a6555 display missing lk participant + fix tile multiplier 2024-11-04 12:29:40 +01:00
Timo
5f8809ce03 make tiles based on rtc member 2024-11-04 12:29:12 +01: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
b3441ed4a0
Merge pull request #2711 from robintown/lobby-unmirror
Don't mirror rear-facing cameras in the lobby
2024-11-02 18:26:31 -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
8f8e2b42e1
Merge pull request #2694 from robintown/switch-camera
Add a button to switch the camera on mobile
2024-11-01 17:04:36 -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
90681b16e0
Merge pull request #2705 from element-hq/renovate/github-actions
Update GitHub Actions
2024-10-31 21:37:37 -04:00
renovate[bot]
05b06ce3e2
Update GitHub Actions 2024-11-01 01:16:40 +00:00
fkwp
39a451e764
Merge pull request #2704 from element-hq/renovate/livekit-client
Update dependency livekit-client to v2.6.0
2024-10-31 23:23:03 +01:00
renovate[bot]
592ed1f0cf
Update dependency livekit-client to v2.6.0 2024-10-31 22:19:15 +00:00