You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-07-31 15:24:23 +03:00
Don't use event.sender in CallMembership (#3793)
* Don't use event.sender in CallMembership I fell into another js-sdk trap: this is "only guaranteed to be set for events that appear in a timeline" and not state events. It does not say why. We only ever used it to get the sender user ID anyway, so just use getSender(). * Fix test
This commit is contained in:
@ -29,9 +29,7 @@ const membershipTemplate: CallMembershipData = {
|
|||||||
function makeMockEvent(originTs = 0): MatrixEvent {
|
function makeMockEvent(originTs = 0): MatrixEvent {
|
||||||
return {
|
return {
|
||||||
getTs: jest.fn().mockReturnValue(originTs),
|
getTs: jest.fn().mockReturnValue(originTs),
|
||||||
sender: {
|
getSender: jest.fn().mockReturnValue("@alice:example.org"),
|
||||||
userId: "@alice:example.org",
|
|
||||||
},
|
|
||||||
} as unknown as MatrixEvent;
|
} as unknown as MatrixEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { MatrixEvent, RoomMember } from "../matrix";
|
import { MatrixEvent } from "../matrix";
|
||||||
import { deepCompare } from "../utils";
|
import { deepCompare } from "../utils";
|
||||||
import { Focus } from "./focus";
|
import { Focus } from "./focus";
|
||||||
|
|
||||||
@ -42,11 +42,11 @@ export class CallMembership {
|
|||||||
if (typeof data.device_id !== "string") throw new Error("Malformed membership event: device_id must be string");
|
if (typeof data.device_id !== "string") throw new Error("Malformed membership event: device_id must be string");
|
||||||
if (typeof data.call_id !== "string") throw new Error("Malformed membership event: call_id must be string");
|
if (typeof data.call_id !== "string") throw new Error("Malformed membership event: call_id must be string");
|
||||||
if (typeof data.scope !== "string") throw new Error("Malformed membership event: scope must be string");
|
if (typeof data.scope !== "string") throw new Error("Malformed membership event: scope must be string");
|
||||||
if (!parentEvent.sender) throw new Error("Invalid parent event: sender is null");
|
if (!parentEvent.getSender()) throw new Error("Invalid parent event: sender is null");
|
||||||
}
|
}
|
||||||
|
|
||||||
public get member(): RoomMember {
|
public get sender(): string | undefined {
|
||||||
return this.parentEvent.sender!;
|
return this.parentEvent.getSender();
|
||||||
}
|
}
|
||||||
|
|
||||||
public get callId(): string {
|
public get callId(): string {
|
||||||
|
@ -120,7 +120,7 @@ export class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, M
|
|||||||
callMemberships.sort((a, b) => a.createdTs() - b.createdTs());
|
callMemberships.sort((a, b) => a.createdTs() - b.createdTs());
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"Call memberships, in order: ",
|
"Call memberships, in order: ",
|
||||||
callMemberships.map((m) => [m.createdTs(), m.member.userId]),
|
callMemberships.map((m) => [m.createdTs(), m.sender]),
|
||||||
);
|
);
|
||||||
|
|
||||||
return callMemberships;
|
return callMemberships;
|
||||||
|
Reference in New Issue
Block a user