From 90cea0cb80630ef565751269eac8e2ab2c164d27 Mon Sep 17 00:00:00 2001
From: Diogo Vargas <dxvargas@tuta.io>
Date: Wed, 5 Feb 2025 12:22:52 +0100
Subject: [PATCH] Issue #3504372: Improve errors in private messages when the
 user logouts out in another page.

---
 js/private_message_inbox_block.js        |  8 ++++++++
 js/private_message_notification_block.js |  4 ++++
 js/private_message_thread.js             | 12 ++++++++++++
 3 files changed, 24 insertions(+)

diff --git a/js/private_message_inbox_block.js b/js/private_message_inbox_block.js
index 8962ec07..5c358b56 100644
--- a/js/private_message_inbox_block.js
+++ b/js/private_message_inbox_block.js
@@ -84,6 +84,10 @@
       Drupal.ajax({
         url: drupalSettings.privateMessageInboxBlock.loadNewUrl,
         submit: { ids },
+        error: (err) => {
+          window.location.reload();
+          console.error(err);
+        },
       })
         .execute()
         .always(() => {
@@ -154,6 +158,10 @@
           timestamp: oldestTimestamp,
           count: drupalSettings.privateMessageInboxBlock.threadCount,
         },
+        error: (err) => {
+          window.location.reload();
+          console.error(err);
+        },
       })
         .execute()
         .always(() => {
diff --git a/js/private_message_notification_block.js b/js/private_message_notification_block.js
index 2a0ce56e..d945cd1c 100644
--- a/js/private_message_notification_block.js
+++ b/js/private_message_notification_block.js
@@ -23,6 +23,10 @@
       Drupal.ajax({
         url: drupalSettings.privateMessageNotificationBlock
           .newMessageCountCallback,
+        error: (err) => {
+          window.location.reload();
+          console.error(err);
+        },
       }).execute();
     },
 
diff --git a/js/private_message_thread.js b/js/private_message_thread.js
index 8c9ee6ad..e9bc9fa2 100644
--- a/js/private_message_thread.js
+++ b/js/private_message_thread.js
@@ -127,6 +127,10 @@
       Drupal.ajax({
         url: drupalSettings.privateMessageThread.newMessageCheckUrl,
         submit: { threadid: this.getThreadId(), messageid: newestId },
+        error: (err) => {
+          window.location.reload();
+          console.error(err);
+        },
       })
         .execute()
         .always(() => {
@@ -199,6 +203,10 @@
         url: drupalSettings.privateMessageThread.loadThreadUrl,
         httpMethod: 'GET',
         submit: { id: threadId },
+        error: (err) => {
+          window.location.reload();
+          console.error(err);
+        },
       })
         .execute()
         .always(() => {
@@ -310,6 +318,10 @@
         url: drupalSettings.privateMessageThread.previousMessageCheckUrl,
         httpMethod: 'GET',
         submit: { threadid: this.getThreadId(), messageid: oldestId },
+        error: (err) => {
+          window.location.reload();
+          console.error(err);
+        },
       })
         .execute()
         .always(() => {
-- 
GitLab