Support authentication flows for login/register

This commit is contained in:
N Pex 2023-04-04 14:30:50 +00:00
parent d86ee3b1e3
commit 0d3781f3aa
11 changed files with 481 additions and 139 deletions

View file

@ -268,7 +268,7 @@ class Util {
resolve(true);
})
.catch(err => {
console.log("Image send error: ", err);
console.log("Send error: ", err);
if (err && err.name == "UnknownDeviceError") {
console.log("Unknown devices. Mark as known before retrying.");
var setAsKnownPromises = [];
@ -290,7 +290,18 @@ class Util {
Promise.all(setAsKnownPromises)
.then(() => {
// All devices now marked as "known", try to resend
matrixClient.resendEvent(err.event, matrixClient.getRoom(err.event.getRoomId()))
let event = err.event;
if (!event) {
// Seems event is no longer send in the UnknownDevices error...
const room = matrixClient.getRoom(roomId);
if (room) {
event = room.getLiveTimeline().getEvents().find(e => {
// Find the exact match (= object equality)
return e.error === err
});
}
}
matrixClient.resendEvent(event, matrixClient.getRoom(event.getRoomId()))
.then((result) => {
console.log("Message sent: ", result);
resolve(true);