fix token refresh, log error when failing to send a message

pull/693/head
Ryan Tharp 6 years ago
parent 1c02489c2f
commit c9c1567e80

@ -194,6 +194,24 @@ class LokiAppDotNetServerAPI {
this.setProfileName(profileName);
}
}
if (tokenRes.err) {
log.error(`token err`, tokenRes);
// didn't already try && this specific error
if (
!forceRefresh &&
tokenRes.response &&
tokenRes.response.meta &&
tokenRes.response.meta.code === 401
) {
// this token is not good
this.token = ''; // remove from object
await Signal.Data.savePublicServerToken({
serverUrl: this.baseServerUrl,
token: '',
});
token = this.getOrRefreshServerToken(true);
}
}
return token;
}
@ -287,18 +305,15 @@ class LokiAppDotNetServerAPI {
url.search = new URLSearchParams(params);
}
let result;
const token = await this.getOrRefreshServerToken();
if (!token) {
log.error('NO TOKEN');
return {
err: 'noToken',
};
}
try {
const fetchOptions = {};
const headers = {
Authorization: `Bearer ${this.token}`,
};
const headers = {};
if (forceFreshToken) {
await this.getOrRefreshServerToken(true);
}
if (this.token) {
headers.Authorization = `Bearer ${this.token}`;
}
if (method) {
fetchOptions.method = method;
}
@ -1538,6 +1553,16 @@ class LokiPublicChannelAPI {
window.mixpanel.track('Public Message Sent');
return res.response.data.id;
}
if (res.err) {
log.error(`POST ${this.baseChannelUrl}/messages failed`);
if (res.response && res.response.meta && res.response.meta.code === 401) {
log.error(`Got invalid token for ${this.serverAPI.token}`);
}
log.error(res.err);
log.error(res.response);
} else {
log.warn(res.response);
}
// there's no retry on desktop
// this is supposed to be after retries
window.mixpanel.track('Failed to Send Public Message');

Loading…
Cancel
Save