Skip to content

Commit e918945

Browse files
add backup communication method
1 parent fdc4386 commit e918945

2 files changed

Lines changed: 39 additions & 23 deletions

File tree

src/lib/account.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -132,28 +132,28 @@ export async function fetchFirebaseToken(userId: string, accessToken: string) {
132132
},
133133
});
134134
if (response?.status === 404) {
135-
errorMessages.add(get(t)('no_tokens_available_error'));
136-
reportErrorEvent('no_tokens_available_error');
135+
// errorMessages.add(get(t)('no_tokens_available_error'));
136+
// reportErrorEvent('no_tokens_available_error');
137137
return false;
138138
} else if (!response || response.status !== 200 || !response.data) {
139-
errorMessages.add(get(t)('token_fetch_error'));
140-
reportErrorEvent('token_fetch_error', 'Response status: ' + response?.status);
139+
// errorMessages.add(get(t)('token_fetch_error'));
140+
// reportErrorEvent('token_fetch_error', 'Response status: ' + response?.status);
141141
return false;
142142
}
143143

144144
// Encrypt the token
145145
const encryptedToken = await encryptToken(response.data, accessToken);
146146
if (!encryptedToken) {
147-
errorMessages.add(get(t)('token_encryption_error'));
148-
reportErrorEvent('token_encryption_error');
147+
// errorMessages.add(get(t)('token_encryption_error'));
148+
// reportErrorEvent('token_encryption_error');
149149
return false;
150150
}
151151

152152
firebaseToken.set(response.data);
153153
await encryptedFirebaseToken.set(encryptedToken);
154154
} catch (e) {
155-
errorMessages.add(get(t)('token_fetch_error'));
156-
reportErrorEvent('token_fetch_error', (e as Error).message);
155+
// errorMessages.add(get(t)('token_fetch_error'));
156+
// reportErrorEvent('token_fetch_error', (e as Error).message);
157157
return false;
158158
}
159159
return true;

src/lib/gira-api/api.ts

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Preferences } from '@capacitor/preferences';
44
import type { M, Q } from '$lib/gira-api/api-types';
55
import type { Mutation, Query } from '$lib/gira-api/api-types';
66
import { encryptedFirebaseToken, token } from '$lib/account';
7-
import { GIRA_API_URL } from '$lib/constants';
7+
import { GIRA_API_URL, GIRA_WS_URL } from '$lib/constants';
88
import { httpRequestWithRetry } from '$lib/utils';
99

1010
export const knownErrors: Record<string, { message?: string, retry: boolean }> = {
@@ -25,31 +25,47 @@ export const knownErrors: Record<string, { message?: string, retry: boolean }> =
2525
};
2626

2727
async function mutate<T extends(keyof Mutation)[]>(body:any): Promise<M<T>> {
28+
const firebaseToken = get(encryptedFirebaseToken);
29+
const baseUrl = firebaseToken ? GIRA_API_URL : GIRA_WS_URL.replace('wss', 'https');
30+
31+
const headers: Record<string, string> = {
32+
'User-Agent': 'Gira/3.4.3 (Android 34)',
33+
'content-type': 'application/json',
34+
'authorization': `Bearer ${get(token)?.accessToken}`,
35+
};
36+
37+
if (firebaseToken) {
38+
headers['x-firebase-token'] = firebaseToken;
39+
}
40+
2841
const options = {
29-
url: GIRA_API_URL + '/graphql',
42+
url: baseUrl + '/graphql',
3043
method: 'post',
31-
headers: {
32-
'User-Agent': 'Gira/3.4.3 (Android 34)',
33-
'content-type': 'application/json',
34-
'authorization': `Bearer ${get(token)?.accessToken}`,
35-
'x-firebase-token': `${get(encryptedFirebaseToken)}`,
36-
},
44+
headers,
3745
data: body,
3846
};
3947
const res = await httpRequestWithRetry(options, true);
4048
return res?.data.data as Promise<M<T>>;
4149
}
4250

4351
async function query<T extends(keyof Query)[]>(body:any): Promise<Q<T>> {
52+
const firebaseToken = get(encryptedFirebaseToken);
53+
const baseUrl = firebaseToken ? GIRA_API_URL : GIRA_WS_URL.replace('wss', 'https');
54+
55+
const headers: Record<string, string> = {
56+
'User-Agent': 'Gira/3.4.3 (Android 34)',
57+
'content-type': 'application/json',
58+
'authorization': `Bearer ${get(token)?.accessToken}`,
59+
};
60+
61+
if (firebaseToken) {
62+
headers['x-firebase-token'] = firebaseToken;
63+
}
64+
4465
const options = {
45-
url: GIRA_API_URL + '/graphql',
66+
url: baseUrl + '/graphql',
4667
method: 'post',
47-
headers: {
48-
'User-Agent': 'Gira/3.4.3 (Android 34)',
49-
'content-type': 'application/json',
50-
'authorization': `Bearer ${get(token)?.accessToken}`,
51-
'x-firebase-token': `${get(encryptedFirebaseToken)}`,
52-
},
68+
headers,
5369
data: body,
5470
};
5571
const res = await httpRequestWithRetry(options, true);

0 commit comments

Comments
 (0)