From 007b7dd2428a42cf84c9701e8db282f63637df28 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 25 Nov 2022 09:22:10 +0000 Subject: [PATCH] Fix 3pid invite acceptance not working due to mxid being sent in body (#2907) --- spec/integ/matrix-client-methods.spec.ts | 4 +++- src/client.ts | 7 +++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/spec/integ/matrix-client-methods.spec.ts b/spec/integ/matrix-client-methods.spec.ts index 8e7211937..5508ceaf0 100644 --- a/spec/integ/matrix-client-methods.spec.ts +++ b/spec/integ/matrix-client-methods.spec.ts @@ -173,7 +173,9 @@ describe("MatrixClient", function() { signatures: {}, }; - httpBackend!.when("POST", inviteSignUrl).respond(200, signature); + httpBackend!.when("POST", inviteSignUrl).check(request => { + expect(request.queryParams?.mxid).toEqual(client!.getUserId()); + }).respond(200, signature); httpBackend!.when("POST", "/join/" + encodeURIComponent(roomId)).check(request => { expect(request.data.third_party_signed).toEqual(signature); }).respond(200, { room_id: roomId }); diff --git a/src/client.ts b/src/client.ts index c38160c53..732c07316 100644 --- a/src/client.ts +++ b/src/client.ts @@ -3629,10 +3629,9 @@ export class MatrixClient extends TypedEventEmitter = Promise.resolve(); if (opts.inviteSignUrl) { - signPromise = this.http.requestOtherUrl( - Method.Post, - new URL(opts.inviteSignUrl), { mxid: this.credentials.userId }, - ); + const url = new URL(opts.inviteSignUrl); + url.searchParams.set("mxid", this.credentials.userId!); + signPromise = this.http.requestOtherUrl(Method.Post, url); } const queryString: Record = {};