Преглед изворни кода

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

dev1
Jaya Allamsetty пре 4 година
родитељ
комит
ef7f59caaa
1 измењених фајлова са 8 додато и 2 уклоњено
  1. 8
    2
      modules/xmpp/ResumeTask.js

+ 8
- 2
modules/xmpp/ResumeTask.js Прегледај датотеку

@@ -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
 

Loading…
Откажи
Сачувај