Commit Graph
2106 Commits
Author SHA1 Message Date
Half-Shot c15117abba lowercase soundMap 2024-12-09 09:26:09 +00:00
Half-Shot 431744ecab cache improvements 2024-12-09 09:25:45 +00:00
Half-Shot d812830599 Only load reaction sound effects if enabled. 2024-12-09 09:22:53 +00:00
Half-Shot d1195520eb Update volume slider description. 2024-12-09 09:22:22 +00:00
Half-Shot 4a0a34c1ef value change should always be set 2024-12-09 09:05:18 +00:00
Hugh Nimmo-Smith 596a574254 Fix types for MockRTCSession 2024-12-06 17:10:25 +00:00
Hugh Nimmo-Smith 9da1c83847 Lint 2024-12-06 16:56:59 +00:00
Half-Shot 4a0926fe9d Change the way we as unknown the mock RTC session. 2024-12-06 16:52:18 +00:00
Half-Shot 13558db1e2 fix a few things 2024-12-06 16:43:39 +00:00
Half-Shot cd939d7827 Merge remote-tracking branch 'origin/livekit' into hs/reduce-join-sound-noises 2024-12-06 16:41:46 +00:00
43c81a2758 Make video tiles be based on MatrixRTC member not LiveKit participants (#2701)
* make tiles based on rtc member

* display missing lk participant + fix tile multiplier

* add show_non_member_participants config option

* per member tiles

* merge fixes

* linter

* linter and tests

* tests

* adapt tests (wip)

* Remove unused keys

* Fix optionality of nonMemberItemCount

* video is optional

* Mock RTC members

* Lint

* Merge fixes

* Fix user id

* Add explicit types for public fields

* isRTCParticipantAvailable => isLiveKitParticipantAvailable

* isLiveKitParticipantAvailable

* Readonly

* More keys removal

* Make local field based on view model class not observable

* Wording

* Fix RTC members in tes

* Tests again

* Lint

* Disable showing non-member tiles by default

* Duplicate screen sharing tiles like we used to

* Lint

* Revert function reordering

* Remove throttleTime from bad merge

* Cleanup

* Tidy config of show non-member settings

* tidy up handling of local rtc member in tests

* tidy up test init

* Fix mocks

* Cleanup

* Apply local override where participant not yet known

* Handle no visible media id

* Assertions for one-on-one view

* Remove isLiveKitParticipantAvailable and show via encryption status

* Handle no local media (yet)

* Remove unused effect for setting

* Tidy settings

* Avoid case of one-to-one layout with missing local or remote

* Iterate

* Remove option to show non-member tiles to simplify code review

* Remove unused code

* Remove more remnants of show-non-member-tiles

* iterate

* back

* Fix unit test

* Refactor

* Expose TestScheduler as global

* Fix incorrect type assertion

* Simplify speaking observer

* Fix

* Whitespace

* Make it clear that we are mocking MatrixRTC memberships

* Test case for only showing tiles for MatrixRTC session members

* Simplify diff

* Simplify diff

These changes are in https://github.com/element-hq/element-call/pull/2809

* .

* Whitespaces

* Use asObservable when exposing subject

* Show "waiting for media..." when no participant

* Additional test case

* Don't show "waiting for media..." in case of local participant

* Make the loading state more subtle
 - instead of a label we show a animated gradient

* Use correct key for matrix rtc foci in code comment. (#2838)

* Update src/tile/SpotlightTile.tsx

Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>

* Update src/state/CallViewModel.ts

Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>

* Make the purpose of BaseMediaViewModel.local explicit

* Use named object instead of unnamed array for spotlightAndPip

* Refactor spotlightAndPip into spotlight and pip

* Use if statement instead of ternary for readability in spotlight and pip logic

* Review feedback

* Fix tests for CallEventAudioRenderer

* Lint

* Revert "Make the loading state more subtle"

This reverts commit 765f7b4f31.

* Update src/state/CallViewModel.ts

Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>

* Fix spelling

* Remove a non-null assertion that failed at runtime

---------

Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
2024-12-06 11:28:37 +00:00
Hugh Nimmo-Smith 21b62dbd89 Use a consistent background colour for video tiles and avatars (#2868) 2024-12-05 13:26:31 +00:00
Half-Shot 1f331807d1 lint 2024-12-05 11:32:43 +00:00
Half-Shot 0adacd0d50 Use testing library click 2024-12-05 11:29:15 +00:00
Half-Shot 923b548f98 fix lint 2024-12-05 11:24:42 +00:00
Half-Shot cc7ed79a90 Remove another debug line. 2024-12-05 11:07:44 +00:00
Half-Shot 983afc6967 remove console line 2024-12-05 11:05:31 +00:00
Half-Shot 0139499e0d Fix reaction sound 2024-12-05 11:04:49 +00:00
Half-Shot d8857283bb fixup tests / comments 2024-12-05 10:15:48 +00:00
Hugh Nimmo-Smith 27620b9148 Rename en-GB language to en (#2866)
Fixes https://github.com/element-hq/element-call/issues/2865

If we want to have GB and US specific terms later on we can then add then in as `en-GB` and `en-US`.
2024-12-04 14:51:29 +00:00
Half-Shot a5c3d5c29d Start to build out tests 2024-12-03 17:00:42 +00:00
Half-Shot 4d5a543330 only play one sound per reaction type 2024-12-03 14:47:01 +00:00
Half-Shot 2a45be88e9 Simplify reaction sounds 2024-12-03 14:46:06 +00:00
Half-Shot 0c331a05ad Integrate raise hand sound into call event renderer. 2024-12-03 14:40:43 +00:00
Half-Shot 719e6e7977 Port reactionaudiorenderer to useAudioContext 2024-12-03 14:36:40 +00:00
Half-Shot fc0bc1a3d7 Port to useAudioContext 2024-12-03 14:04:54 +00:00
Half-Shot 3d89b1033d Reduce update frequency for volume 2024-12-03 13:16:43 +00:00
Half-Shot c3cf755fc4 Remove unused audio format. 2024-12-03 12:07:12 +00:00
Half-Shot b8597b5f94 Refactor to use AudioContext 2024-12-03 12:03:47 +00:00
Will Hunt cc260811e2 Add a lower limit to duplicate tiles. (#2854)
* Add a limit to duplicate tiles.

* missed a change
2024-12-02 17:15:33 +00:00
Hugh Nimmo-Smith a37c3bfb48 Show hostname in developer settings (#2857)
Also refactored developer settings labels into own locale section
2024-12-02 15:43:19 +00:00
Will Hunt ea6f2952af Add sound effect for call joined / left (#2794)
* Add renderer for call joined / left

* lint

* Add new sounds

* Updates sounds in renderer

* lint

* move import

* pad sounds with silence

* lint

* tidy

* Drop autoplay since we now subscribe correctly.

* Comitting test files I am going to be going to lunch so will tidy up in a little while.

* finish up tests

* Add support for multiple channels per sound.

* lint
2024-12-02 15:16:58 +00:00
renovate[bot]andTimo e142493380 Update all non-major dependencies (#2852)
* Update all non-major dependencies

* prettier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Timo <toger5@hotmail.de>
2024-12-02 12:10:20 +01:00
Timo 84b2dc8680 Use light background
- the icons and the font is dark so the bg should not be darkened. But making it lighter is making it easier to read.
2024-11-29 17:48:18 +01:00
Timo 65e962bf1b Fix wrong hand raise margins in pip tile. (#2840) 2024-11-28 17:24:24 +00:00
Timo 28da8c48da Mute state improvements including muting if skipLobby=true in SPA (Based on #2834) (#2846) 2024-11-28 18:05:12 +01:00
Hugh Nimmo-Smith cf174261c9 Some simple initial tests for MediaView (#2813)
* Some simple tests for MediaView

* Use jest-dom assertions

* Add tests for videoMuted

* Add test case for placeholder video track

* Revert yarn.lock changes

* More revert

* Deduplicate test case logic and improve names

* Use role and label
2024-11-25 20:22:02 +00:00
Hugh Nimmo-Smith fc8da6ef58 Use hot marbles for speaker tests (#2815)
* Refactor the speaker detection logic into observeSpeaker and add tests

@robintown the tests pass, but some of the values were off by 1ms from what I was expecting. Please can you sanity check them?

* Extra test cases and clean up

* Make distinctUntilChanged part of the observable itself

* More suggestions from code review

* Use hot marbles for speaker tests

This was originally part of https://github.com/element-hq/element-call/pull/2810

* Only feed speaking mocks to observables that ask for IsSpeakingChanged
2024-11-23 08:59:33 +00:00
Hugh Nimmo-Smith 4e1b4fae19 Refactor the speaker detection logic into observeSpeaker and add tests (#2814)
* Refactor the speaker detection logic into observeSpeaker and add tests

@robintown the tests pass, but some of the values were off by 1ms from what I was expecting. Please can you sanity check them?

* Extra test cases and clean up

* Make distinctUntilChanged part of the observable itself

* More suggestions from code review
2024-11-23 08:59:15 +00:00
Hugh Nimmo-Smith 5c18868aa4 The preload URL param shouldn't be used in SPA mode, so ignore it if not in widget (#2832)
* Refactor URL parameters into table

This is for readability and ahead of some possible changes

* Whitespace

* Lint

* The preload URL param shouldn't be used in SPA mode, so ignore it
2024-11-23 08:55:03 +00:00
Robin 51e4a3b14b Don't trigger keyboard shortcuts if modifiers are held
None of these keyboard shortcuts expect modifier keys, so they should in fact expect the absence of modifiers.
2024-11-22 13:17:05 -05:00
Robin 0718774cef Clarify how preferred devices work 2024-11-21 11:32:15 -05:00
Robin a2b452c1d8 Don't override the camera without pressing "switch camera" 2024-11-21 11:24:45 -05:00
Robin 465a784345 Merge branch 'livekit' into device-fall-back 2024-11-21 11:04:36 -05:00
Robin 8de96878c0 Merge pull request #2803 from robintown/device-radio
Replace device dropdowns with radio buttons
2024-11-21 10:47:44 -05:00
Hugh Nimmo-Smith b7b9771577 Use hot test input marbles instead of cold (#2810)
* Use hot test input marbles instead of cold

These will be needed for https://github.com/element-hq/element-call/pull/2701

* Revert for "spotlight speakers swap places" test
2024-11-21 11:03:16 +00:00
Hugh Nimmo-Smith 3885eefa4c Disambiguate between types of "member" (#2807)
We have Matrix room members and MatrixRTC session memberships. Livekit also has rooms.

So, this attempts to make it more obvious as to what type you are referring to.
2024-11-21 11:02:05 +00:00
Hugh Nimmo-Smith 9176e06195 Some tsdoc and explicit typing (#2809)
* Some tsdoc and explicit typing

Pulled out of https://github.com/element-hq/element-call/pull/2701

* Extra typing
2024-11-21 11:01:43 +00:00
Robin 3ab9bb72e2 Revert "Init client with a memory store (for MSC4222) (#2764)"
This reverts commit 83fa9661cf. We won't need this hack once we're no longer using a matrix-js-sdk branch with MSC4222 support.
2024-11-20 10:22:42 -05:00
Robin 38085baab8 Replace device dropdowns with radio buttons
This is closer to what the designs actually want device settings to look like, and it avoids the visual glitch in which the dropdown would render underneath the slider.
2024-11-20 09:44:32 -05:00