diff --git a/src/client.js b/src/client.js index 2e2411a8e..45a3cfded 100644 --- a/src/client.js +++ b/src/client.js @@ -1730,11 +1730,11 @@ MatrixClient.prototype._sendCompleteEvent = function(roomId, eventObject, txnId, })); const room = this.getRoom(roomId); - const targetId = localEvent.getTargetId(); + const targetId = localEvent.getRelatedId(); if (targetId && targetId.startsWith("~")) { const target = room.getPendingEvents().find(e => e.getId() === targetId); target.once("Event.localEventIdReplaced", () => { - localEvent.updateTargetId(target.getId()); + localEvent.updateRelatedId(target.getId()); }); } const type = localEvent.getType(); diff --git a/src/models/event.js b/src/models/event.js index d0f67a3a3..61198c8f6 100644 --- a/src/models/event.js +++ b/src/models/event.js @@ -881,8 +881,12 @@ utils.extend(module.exports.MatrixEvent.prototype, { return this._replacingEvent; }, - - getTargetId() { + /** + * For relations and redactions, returns the event_id this event is referring to. + * + * @return {string?} + */ + getRelatedId() { const relation = this.getRelation(); if (relation) { return relation.event_id; @@ -891,7 +895,15 @@ utils.extend(module.exports.MatrixEvent.prototype, { } }, - updateTargetId(eventId) { + /** + * Update the related id with a new one. + * + * Used to replace a local id with remote one before sending + * an event with a related id. + * + * @param {string} eventId the new event id + */ + updateRelatedId(eventId) { const relation = this.getRelation(); if (relation) { relation.event_id = eventId; diff --git a/src/scheduler.js b/src/scheduler.js index 64e29d52a..cda8c21ec 100644 --- a/src/scheduler.js +++ b/src/scheduler.js @@ -177,7 +177,7 @@ MatrixScheduler.RETRY_BACKOFF_RATELIMIT = function(event, attempts, err) { * @see module:scheduler~queueAlgorithm */ MatrixScheduler.QUEUE_MESSAGES = function(event) { - if (event.getType() === "m.room.message" || !!event.getTargetId()) { + if (event.getType() === "m.room.message" || !!event.getRelatedId()) { // put these events in the 'message' queue. return "message"; }