fix: upgrade matrix-js-sdk 38.2.0 -> 41.5.0 with API compat fixes
CI / Build & Quality Checks (push) Failing after 5m28s

- sessionMembershipsForRoom() removed in v41 (was synchronous, static)
- Replacement: read session.memberships directly (always up-to-date, sync)
  - useCall.ts: useCallMembers reads session.memberships
  - useCallEmbed.ts: createCallEmbed reads rtcSession.memberships
  - CallEmbedProvider.tsx: inline check on session.memberships
- Remove unused MatrixRTCSession import from CallEmbedProvider
- clearLoginData: also unregisters service workers and clears SW caches
This commit is contained in:
Lotus Bot
2026-05-22 00:19:11 -04:00
parent de1bbb3a2d
commit cde759aa35
6 changed files with 49 additions and 57 deletions
+1 -2
View File
@@ -111,8 +111,7 @@ function IncomingCall({ dm, info, onIgnore, onAnswer, onReject }: IncomingCallPr
useCallMembersChange(
session,
useCallback(() => {
const members = MatrixRTCSession.sessionMembershipsForRoom(room, session.sessionDescription);
if (members.length === 0) {
if (session.memberships.length === 0) {
onIgnore();
}
}, [room, session, onIgnore]),
+2 -2
View File
@@ -35,12 +35,12 @@ export const useCallSession = (room: Room): MatrixRTCSession => {
export const useCallMembers = (room: Room, session: MatrixRTCSession): CallMembership[] => {
const [memberships, setMemberships] = useState<CallMembership[]>(
MatrixRTCSession.sessionMembershipsForRoom(room, session.sessionDescription),
session.memberships,
);
useEffect(() => {
const updateMemberships = () => {
setMemberships(MatrixRTCSession.sessionMembershipsForRoom(room, session.sessionDescription));
setMemberships([...session.memberships]);
};
updateMemberships();
+1 -2
View File
@@ -49,8 +49,7 @@ export const createCallEmbed = (
forceAudioOff = false,
): CallEmbed => {
const rtcSession = mx.matrixRTC.getRoomSession(room);
const ongoing =
MatrixRTCSession.sessionMembershipsForRoom(room, rtcSession.sessionDescription).length > 0;
const ongoing = rtcSession.memberships.length > 0;
const intent = CallEmbed.getIntent(dm, ongoing, pref?.video);
const initialAudio = forceAudioOff ? false : (pref?.microphone ?? true);