* cleanup: Remove deprecated rtc room key transport
* fix: rtc statistics are managed by transport directly
* mark as readonly
* cleanup do not use deprecated `room`
* doc: Add missing param doc
* fixup: add back test wrongly removed
* Skip unwritten tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Tidy jest fake timers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unnecessary sessionStorage mock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve types
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve async assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve error assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Improve object assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove assertion testing unclear mock
This test failed when ran individually, same as after the clearAllMocks call
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Avoid awaiting non-thenables
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Pass nop function when stubbing out console, vitest won't accept it any other way
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unnecessary mock which causes tests to fail after updating fetch-mock & fix typo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix mistaken assertions not testing all values in array
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix hidden non-running tests in room.spec.ts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update fetch-mock-jest to @fetch-mock/jest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make knip happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Make knip happier 2.0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Switch from Jest to Vitest
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix CI
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Remove unnecessary fake timers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Update vite
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Revert irrelevant changes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix coverage spec paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix slow test reporter
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix bad merge conflict resolution
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Fix babel config
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* deprecate membershipID -> memberId & memberId -> stateKey in membership
manager
The membership manager used the memberId label for the stateKey. But
only the StickymembershipManager really has a configurable memberId.
* participantId -> callMembershipIdentityParts
The participantId is a termonology from livekit. We do not want it in
here! We want the js-sdk to be mostly transport agnostic. We do the
transition from the identity parts to the acutal livekit identity in
Element call (`sha256(userId+deviceId+memberId)`)
* update tests
* Expose `kind` to decide if we use the hashed or non hashed livekit
participants.
* expose delayId from the matrixRTCSession for delayed event delegation.
* rename if to mapKey
* backandId computation as part of the js-sdk
* review valere
* valr + timo keysWithoutMatchingRTCMembership
* fix legacy encryption manager
* fix doc issue
* fix doc
* fix imports
* Encryption Manager needs own rtcBackendIdentity to use
The encryption manager needs to signal our own key fast, cannot wait for remote echo of rtc membership. So it needs to be able to compute the rtcBackendIdentity
* fix test
* Remove double `useHashedRtcBackendIdentity` assignment. rename
variables.
* little improvements This stops the usage from the matrix event outside
the CallMemerbship constructor.
* fix logger import
* Add back deprecated API for compat
* Make change to CallMembership constructor backward compatible
* more backward compatible
---------
Co-authored-by: Valere <bill.carson@valrsoft.com>
* RTCEncryptionManager: Joiner key rotation grace period
* Test to clarify useKeyDelay and keyRotationGracePeriodMs interference
* make test more configurable
* rename delayRolloutTimeMillis to useKeyDelay same as config option
* rename skipRotationGracePeriod to keyRotationGracePeriodMs
* clarify that oldMemberships is not used by RTCEncryptionManager
* improve doc
* cleanup test
* more comment in test
* comment additions
* cleanup runOnlyPendingTimers
---------
Co-authored-by: Timo <toger5@hotmail.de>
* Make it easier to mock call memberships for specific user IDs
* Allow sending notification events when starting a call
* rename notify -> notification
* replace `joining` concept with `ownMembership`
* introduce new `m.rtc.notification` event alongside `m.call.notify`
* send new notification event alongside the deprecated one
* Test for new notification event type
* update relation string to match msc
* review
* fix doc errors
* fix tests + format
* remove anything decline related
---------
Co-authored-by: Timo <toger5@hotmail.de>