From 085ff7bf758537f076e44e6df3c4f09a1c218631 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Thu, 7 Sep 2023 04:08:46 -0600 Subject: [PATCH] Ignore messages older than running script, add debug logging of event ID --- main.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/main.js b/main.js index 8af3c46..cbf9974 100644 --- a/main.js +++ b/main.js @@ -32,6 +32,9 @@ logger.level = settings.loglevel; logger.info("Log initialized."); var initialsynccomplete = false; +// Save script start time for ignoring older messages +var boottimestamp = Date.now(); + // https://github.com/matrix-org/matrix-js-sdk/issues/2415#issuecomment-1188812401 matrixcs.request(request); @@ -499,13 +502,18 @@ client.on("Room.timeline", function (event, room) { } if (event.getTs() < (Date.now() - 1000 * 60 * 60 * 8)) { // Ignore old events (8 hrs), they're probably duplicates or something. - logger.info("Ignoring stale Matrix room event"); + logger.warning("Ignoring stale Matrix room event [" + event.getId() + "]: older than 8 hours"); + return; + } + if (event.getTs() < boottimestamp) { + logger.warning("Ignoring stale Matrix room event [" + event.getId() + "]: event predates start of this program"); return; } if (event.getContent() == null || typeof event.getContent().body == "undefined" || event.getContent().body == null) { // Apparently this can happen? return; } + logger.debug("Got room message (event ID " + event.getId() + ")"); if (event.getContent().body.toLowerCase().startsWith("!sms")) { // capture command to start room for new number