Pārlūkot izejas kodu

fix(xmpp): Update previd value when trying to resume connection.

release-8443
Jaya Allamsetty 5 gadus atpakaļ
vecāks
revīzija
ef7f59caaa
1 mainītis faili ar 8 papildinājumiem un 2 dzēšanām
  1. 8
    2
      modules/xmpp/ResumeTask.js

+ 8
- 2
modules/xmpp/ResumeTask.js Parādīt failu

@@ -125,9 +125,15 @@ export default class ResumeTask {
125 125
 
126 126
         const url = new URL(this._stropheConn.service);
127 127
         let { search } = url;
128
+        const pattern = /(previd=)([\w-]+)/;
129
+        const oldToken = search.match(pattern);
128 130
 
129
-        // adds previd param only if missing
130
-        if (search.indexOf('previd=') === -1) {
131
+        // Replace previd if the previd value has changed.
132
+        if (oldToken && oldToken.indexOf(resumeToken) === -1) {
133
+            search = search.replace(pattern, `$1${resumeToken}`);
134
+
135
+        // Append previd if it doesn't exist.
136
+        } else if (!oldToken) {
131 137
             search += search.indexOf('?') === -1 ? `?previd=${resumeToken}` : `&previd=${resumeToken}`;
132 138
         }
133 139
 

Notiek ielāde…
Atcelt
Saglabāt