AuthorBot commited on
Commit
ba2f394
·
1 Parent(s): 0c80c73

Fix: session persistence on refresh - don't clear tokens on network/server errors

Browse files
Files changed (1) hide show
  1. static/auth-client.js +15 -11
static/auth-client.js CHANGED
@@ -126,23 +126,27 @@
126
  return this.ensureValidAccessToken()
127
  .then(function (ok) {
128
  if (!ok) {
 
129
  self.clearSession();
130
  return false;
131
  }
132
  return loadProfile();
133
  })
134
- .catch(function () {
135
- return self.refreshAccessToken().then(function (refreshed) {
136
- if (!refreshed) {
137
- self.clearSession();
138
- return false;
139
- }
140
- return loadProfile();
141
- });
142
  })
143
- .catch(function () {
144
- self.clearSession();
145
- return false;
 
 
 
 
 
 
 
 
 
146
  });
147
  };
148
 
 
126
  return this.ensureValidAccessToken()
127
  .then(function (ok) {
128
  if (!ok) {
129
+ // Token refresh failed explicitly — clear session
130
  self.clearSession();
131
  return false;
132
  }
133
  return loadProfile();
134
  })
135
+ .then(function (result) {
136
+ return result;
 
 
 
 
 
 
137
  })
138
+ .catch(function (err) {
139
+ // Network error / server down — DON'T clear session.
140
+ // Keep tokens so user can retry after server comes back.
141
+ var msg = (err && err.message) || '';
142
+ if (msg.indexOf('Session expired') !== -1 || msg.indexOf('401') !== -1) {
143
+ // Explicit auth failure — clear session
144
+ self.clearSession();
145
+ return false;
146
+ }
147
+ // Transient error (502, network, timeout) — keep session, show dashboard anyway
148
+ console.warn('restoreSession: transient error, keeping session:', msg);
149
+ return true;
150
  });
151
  };
152