matrix-react-sdk
Version:
SDK for matrix.org using React
52 lines (49 loc) • 7.01 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _matrix = require("matrix-js-sdk/src/matrix");
var _logger = require("matrix-js-sdk/src/logger");
var _dispatcher = _interopRequireDefault(require("./dispatcher/dispatcher"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
class Resend {
static resendUnsentEvents(room) {
return Promise.all(room.getPendingEvents().filter(function (ev) {
return ev.status === _matrix.EventStatus.NOT_SENT;
}).map(function (event) {
return Resend.resend(room.client, event);
}));
}
static cancelUnsentEvents(room) {
room.getPendingEvents().filter(function (ev) {
return ev.status === _matrix.EventStatus.NOT_SENT;
}).forEach(function (event) {
Resend.removeFromQueue(room.client, event);
});
}
static resend(client, event) {
const room = client.getRoom(event.getRoomId());
return client.resendEvent(event, room).then(function (res) {
_dispatcher.default.dispatch({
action: "message_sent",
event: event
});
}, function (err) {
// XXX: temporary logging to try to diagnose
// https://github.com/vector-im/element-web/issues/3148
_logger.logger.log("Resend got send failure: " + err.name + "(" + err + ")");
});
}
static removeFromQueue(client, event) {
client.cancelPendingEvent(event);
}
}
exports.default = Resend;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWF0cml4IiwicmVxdWlyZSIsIl9sb2dnZXIiLCJfZGlzcGF0Y2hlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJSZXNlbmQiLCJyZXNlbmRVbnNlbnRFdmVudHMiLCJyb29tIiwiUHJvbWlzZSIsImFsbCIsImdldFBlbmRpbmdFdmVudHMiLCJmaWx0ZXIiLCJldiIsInN0YXR1cyIsIkV2ZW50U3RhdHVzIiwiTk9UX1NFTlQiLCJtYXAiLCJldmVudCIsInJlc2VuZCIsImNsaWVudCIsImNhbmNlbFVuc2VudEV2ZW50cyIsImZvckVhY2giLCJyZW1vdmVGcm9tUXVldWUiLCJnZXRSb29tIiwiZ2V0Um9vbUlkIiwicmVzZW5kRXZlbnQiLCJ0aGVuIiwicmVzIiwiZGlzIiwiZGlzcGF0Y2giLCJhY3Rpb24iLCJlcnIiLCJsb2dnZXIiLCJsb2ciLCJuYW1lIiwiY2FuY2VsUGVuZGluZ0V2ZW50IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvUmVzZW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE1LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgTWF0cml4RXZlbnQsIEV2ZW50U3RhdHVzLCBSb29tLCBNYXRyaXhDbGllbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbG9nZ2VyXCI7XG5cbmltcG9ydCBkaXMgZnJvbSBcIi4vZGlzcGF0Y2hlci9kaXNwYXRjaGVyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc2VuZCB7XG4gICAgcHVibGljIHN0YXRpYyByZXNlbmRVbnNlbnRFdmVudHMocm9vbTogUm9vbSk6IFByb21pc2U8dm9pZFtdPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHJvb21cbiAgICAgICAgICAgICAgICAuZ2V0UGVuZGluZ0V2ZW50cygpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoZXY6IE1hdHJpeEV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldi5zdGF0dXMgPT09IEV2ZW50U3RhdHVzLk5PVF9TRU5UO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoZXZlbnQ6IE1hdHJpeEV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBSZXNlbmQucmVzZW5kKHJvb20uY2xpZW50LCBldmVudCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjYW5jZWxVbnNlbnRFdmVudHMocm9vbTogUm9vbSk6IHZvaWQge1xuICAgICAgICByb29tLmdldFBlbmRpbmdFdmVudHMoKVxuICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoZXY6IE1hdHJpeEV2ZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV2LnN0YXR1cyA9PT0gRXZlbnRTdGF0dXMuTk9UX1NFTlQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50OiBNYXRyaXhFdmVudCkge1xuICAgICAgICAgICAgICAgIFJlc2VuZC5yZW1vdmVGcm9tUXVldWUocm9vbS5jbGllbnQsIGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVzZW5kKGNsaWVudDogTWF0cml4Q2xpZW50LCBldmVudDogTWF0cml4RXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgcm9vbSA9IGNsaWVudC5nZXRSb29tKGV2ZW50LmdldFJvb21JZCgpKSE7XG4gICAgICAgIHJldHVybiBjbGllbnQucmVzZW5kRXZlbnQoZXZlbnQsIHJvb20pLnRoZW4oXG4gICAgICAgICAgICBmdW5jdGlvbiAocmVzKSB7XG4gICAgICAgICAgICAgICAgZGlzLmRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBcIm1lc3NhZ2Vfc2VudFwiLFxuICAgICAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZnVuY3Rpb24gKGVycjogRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAvLyBYWFg6IHRlbXBvcmFyeSBsb2dnaW5nIHRvIHRyeSB0byBkaWFnbm9zZVxuICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzMxNDhcbiAgICAgICAgICAgICAgICBsb2dnZXIubG9nKFwiUmVzZW5kIGdvdCBzZW5kIGZhaWx1cmU6IFwiICsgZXJyLm5hbWUgKyBcIihcIiArIGVyciArIFwiKVwiKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZW1vdmVGcm9tUXVldWUoY2xpZW50OiBNYXRyaXhDbGllbnQsIGV2ZW50OiBNYXRyaXhFdmVudCk6IHZvaWQge1xuICAgICAgICBjbGllbnQuY2FuY2VsUGVuZGluZ0V2ZW50KGV2ZW50KTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFRQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxXQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFPZSxNQUFNSSxNQUFNLENBQUM7RUFDeEIsT0FBY0Msa0JBQWtCQSxDQUFDQyxJQUFVLEVBQW1CO0lBQzFELE9BQU9DLE9BQU8sQ0FBQ0MsR0FBRyxDQUNkRixJQUFJLENBQ0NHLGdCQUFnQixDQUFDLENBQUMsQ0FDbEJDLE1BQU0sQ0FBQyxVQUFVQyxFQUFlLEVBQUU7TUFDL0IsT0FBT0EsRUFBRSxDQUFDQyxNQUFNLEtBQUtDLG1CQUFXLENBQUNDLFFBQVE7SUFDN0MsQ0FBQyxDQUFDLENBQ0RDLEdBQUcsQ0FBQyxVQUFVQyxLQUFrQixFQUFFO01BQy9CLE9BQU9aLE1BQU0sQ0FBQ2EsTUFBTSxDQUFDWCxJQUFJLENBQUNZLE1BQU0sRUFBRUYsS0FBSyxDQUFDO0lBQzVDLENBQUMsQ0FDVCxDQUFDO0VBQ0w7RUFFQSxPQUFjRyxrQkFBa0JBLENBQUNiLElBQVUsRUFBUTtJQUMvQ0EsSUFBSSxDQUFDRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQ2xCQyxNQUFNLENBQUMsVUFBVUMsRUFBZSxFQUFFO01BQy9CLE9BQU9BLEVBQUUsQ0FBQ0MsTUFBTSxLQUFLQyxtQkFBVyxDQUFDQyxRQUFRO0lBQzdDLENBQUMsQ0FBQyxDQUNETSxPQUFPLENBQUMsVUFBVUosS0FBa0IsRUFBRTtNQUNuQ1osTUFBTSxDQUFDaUIsZUFBZSxDQUFDZixJQUFJLENBQUNZLE1BQU0sRUFBRUYsS0FBSyxDQUFDO0lBQzlDLENBQUMsQ0FBQztFQUNWO0VBRUEsT0FBY0MsTUFBTUEsQ0FBQ0MsTUFBb0IsRUFBRUYsS0FBa0IsRUFBaUI7SUFDMUUsTUFBTVYsSUFBSSxHQUFHWSxNQUFNLENBQUNJLE9BQU8sQ0FBQ04sS0FBSyxDQUFDTyxTQUFTLENBQUMsQ0FBQyxDQUFFO0lBQy9DLE9BQU9MLE1BQU0sQ0FBQ00sV0FBVyxDQUFDUixLQUFLLEVBQUVWLElBQUksQ0FBQyxDQUFDbUIsSUFBSSxDQUN2QyxVQUFVQyxHQUFHLEVBQUU7TUFDWEMsbUJBQUcsQ0FBQ0MsUUFBUSxDQUFDO1FBQ1RDLE1BQU0sRUFBRSxjQUFjO1FBQ3RCYixLQUFLLEVBQUVBO01BQ1gsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxFQUNELFVBQVVjLEdBQVUsRUFBRTtNQUNsQjtNQUNBO01BQ0FDLGNBQU0sQ0FBQ0MsR0FBRyxDQUFDLDJCQUEyQixHQUFHRixHQUFHLENBQUNHLElBQUksR0FBRyxHQUFHLEdBQUdILEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDeEUsQ0FDSixDQUFDO0VBQ0w7RUFFQSxPQUFjVCxlQUFlQSxDQUFDSCxNQUFvQixFQUFFRixLQUFrQixFQUFRO0lBQzFFRSxNQUFNLENBQUNnQixrQkFBa0IsQ0FBQ2xCLEtBQUssQ0FBQztFQUNwQztBQUNKO0FBQUNtQixPQUFBLENBQUFDLE9BQUEsR0FBQWhDLE1BQUEiLCJpZ25vcmVMaXN0IjpbXX0=