chore(deps): bump matrix-js-sdk 38.4.0 → 39.4.0 adapting MatrixRTCSession.slotDescription rename

This commit is contained in:
v.lagerev 2026-05-09 11:33:55 +03:00
parent 69a5101a49
commit 78498afec5
5 changed files with 25 additions and 21 deletions

18
package-lock.json generated
View file

@ -52,7 +52,7 @@
"jotai": "2.6.0",
"linkify-react": "4.3.2",
"linkifyjs": "4.3.2",
"matrix-js-sdk": "38.4.0",
"matrix-js-sdk": "39.4.0",
"matrix-widget-api": "1.17.0",
"millify": "6.1.0",
"pdfjs-dist": "4.2.67",
@ -10647,9 +10647,9 @@
"license": "Apache-2.0"
},
"node_modules/matrix-js-sdk": {
"version": "38.4.0",
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-38.4.0.tgz",
"integrity": "sha512-Xs9/6pE1eL/F5bP11jrtsZXiPlCda+mW5UC21DifvpjHWvAZsz4rq24rXd4s5/oPrIZKJqP8Fnfcic870ben2w==",
"version": "39.4.0",
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-39.4.0.tgz",
"integrity": "sha512-0RZLcwbMxMTU+ORPhpFUnX8nDbKwLtdW20T6VesSxEwjKL5j2TM/mIt4u3h0HJiMh63PpAb2QUcNr0R82YfTOA==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.12.5",
@ -10660,10 +10660,10 @@
"jwt-decode": "^4.0.0",
"loglevel": "^1.9.2",
"matrix-events-sdk": "0.0.1",
"matrix-widget-api": "^1.10.0",
"matrix-widget-api": "^1.14.0",
"oidc-client-ts": "^3.0.1",
"p-retry": "7",
"sdp-transform": "^2.14.1",
"sdp-transform": "^3.0.0",
"unhomoglyph": "^1.0.6",
"uuid": "13"
},
@ -12389,9 +12389,9 @@
}
},
"node_modules/sdp-transform": {
"version": "2.15.0",
"resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.15.0.tgz",
"integrity": "sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-3.0.0.tgz",
"integrity": "sha512-gfYVRGxjHkGF2NPeUWHw5u6T/KGFtS5/drPms73gaSuMaVHKCY3lpLnGDfswVQO0kddeePoti09AwhYP4zA8dQ==",
"license": "MIT",
"bin": {
"sdp-verify": "checker.js"

View file

@ -84,7 +84,7 @@
"jotai": "2.6.0",
"linkify-react": "4.3.2",
"linkifyjs": "4.3.2",
"matrix-js-sdk": "38.4.0",
"matrix-js-sdk": "39.4.0",
"matrix-widget-api": "1.17.0",
"millify": "6.1.0",
"pdfjs-dist": "4.2.67",

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)
MatrixRTCSession.sessionMembershipsForRoom(room, session.slotDescription)
);
useEffect(() => {
const updateMemberships = () => {
setMemberships(MatrixRTCSession.sessionMembershipsForRoom(room, session.sessionDescription));
setMemberships(MatrixRTCSession.sessionMembershipsForRoom(room, session.slotDescription));
};
updateMemberships();

View file

@ -47,7 +47,7 @@ export const createCallEmbed = (
): CallEmbed => {
const rtcSession = mx.matrixRTC.getRoomSession(room);
const ongoing =
MatrixRTCSession.sessionMembershipsForRoom(room, rtcSession.sessionDescription).length > 0;
MatrixRTCSession.sessionMembershipsForRoom(room, rtcSession.slotDescription).length > 0;
const intent = CallEmbed.getIntent(dm, ongoing, voiceOnly);
const widget = CallEmbed.getWidget(mx, room, intent, themeKind);

View file

@ -43,8 +43,12 @@ import {
} from '../utils/rtcNotification';
import { callForegroundService } from '../plugins/call/callForegroundService';
// Returns "" for room-scoped calls (MSC4143/MSC3401v2 — empty call_id means
// "the only call in this room"). Returns undefined when no membership is known.
// Returns "" for room-scoped calls (MSC4143/MSC3401v2 — empty call_id / slot id
// means "the only call in this room"). Returns undefined when no membership is
// known. matrix-js-sdk 39+ exposes the room-scoped id as
// `slotDescription.id` (parsed from `slot_id = '{application}#{id}'` for
// `m.rtc.member` or computed from legacy `call_id` for `m.call.member`); the
// runtime `CallMembership.callId` getter was removed.
const findCallIdSync = (
mx: MatrixClient,
room: Room,
@ -52,9 +56,9 @@ const findCallIdSync = (
membershipEventId: string
): string | undefined => {
const session = mx.matrixRTC.getRoomSession(room);
const senderMembership = session.memberships.find((m) => m.sender === sender);
if (senderMembership && typeof senderMembership.callId === 'string') {
return senderMembership.callId;
const senderMembership = session.memberships.find((m) => m.userId === sender);
if (senderMembership) {
return senderMembership.slotDescription.id;
}
const stateEvents = room.currentState.getStateEvents(EventType.GroupCallMemberPrefix);
@ -217,7 +221,7 @@ export const useIncomingRtcNotifications = (): void => {
const subscribeMemberships = (room: Room): (() => void) => {
const session = mx.matrixRTC.getRoomSession(room);
const handler = (_old: CallMembership[], next: CallMembership[]) => {
if (next.some((m) => m.sender === mx.getUserId())) {
if (next.some((m) => m.userId === mx.getUserId())) {
removeByRoom(room.roomId);
}
};
@ -299,7 +303,7 @@ export const useIncomingRtcNotifications = (): void => {
// Already participating in the room session → suppress duplicate toast.
const session = mx.matrixRTC.getRoomSession(room);
if (session.memberships.some((m) => m.sender === mx.getUserId())) {
if (session.memberships.some((m) => m.userId === mx.getUserId())) {
removeFromRegistry();
return;
}
@ -326,7 +330,7 @@ export const useIncomingRtcNotifications = (): void => {
// yield for seconds (5s MembershipsChanged wait, then fetchRoomEvent) —
// a membership join or a matching decline can land meanwhile and must be
// observed before we commit the ADD.
if (session.memberships.some((m) => m.sender === mx.getUserId())) {
if (session.memberships.some((m) => m.userId === mx.getUserId())) {
removeFromRegistry();
return;
}