UNPKG

matrix-react-sdk

Version:
52 lines (49 loc) 7.01 kB
"use strict"; 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=