From f6228e45007c3329f9b5e95d5e2202dcd8fd90b6 Mon Sep 17 00:00:00 2001 From: Reckless_Satoshi Date: Tue, 1 Nov 2022 13:29:08 -0700 Subject: [PATCH] Attempt to fix Android cookies --- frontend/src/components/SettingsForm/index.tsx | 5 ++++- frontend/src/models/Robot.model.ts | 7 ++++--- frontend/src/models/Settings.default.basic.ts | 2 +- frontend/src/models/Settings.default.pro.ts | 2 +- frontend/src/models/Settings.model.ts | 4 ++-- frontend/src/services/System/SystemNativeClient/index.ts | 5 +++-- frontend/src/services/System/SystemWebClient/index.ts | 2 +- 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/SettingsForm/index.tsx b/frontend/src/components/SettingsForm/index.tsx index 9f211e24d..4417529e5 100644 --- a/frontend/src/components/SettingsForm/index.tsx +++ b/frontend/src/components/SettingsForm/index.tsx @@ -129,7 +129,10 @@ const SettingsForm = ({ onChange={(e) => { const fontSize = e.target.value; setSettings({ ...settings, fontSize }); - systemClient.setCookie(`settings_fontsize_${settings.frontend}`, fontSize); + systemClient.setCookie( + `settings_fontsize_${settings.frontend}`, + fontSize.toString(), + ); }} valueLabelDisplay='off' marks={fontSizes.map(({ label, value }) => ({ diff --git a/frontend/src/models/Robot.model.ts b/frontend/src/models/Robot.model.ts index b1df80080..88087462e 100644 --- a/frontend/src/models/Robot.model.ts +++ b/frontend/src/models/Robot.model.ts @@ -20,14 +20,15 @@ export interface Robot { copiedToken: boolean; } +const tokenCookie = systemClient.getCookie('robot_token'); const pubKeyCookie = systemClient.getCookie('pub_key'); const privKeyCookie = systemClient.getCookie('enc_priv_key'); export const defaultRobot: Robot = { nickname: null, - token: systemClient.getCookie('robot_token') ?? null, - pubKey: pubKeyCookie ? pubKeyCookie.split('\\').join('\n') : null, - encPrivKey: privKeyCookie ? privKeyCookie.split('\\').join('\n') : null, + token: tokenCookie != '' ? tokenCookie : null, + pubKey: pubKeyCookie != '' ? pubKeyCookie.split('\\').join('\n') : null, + encPrivKey: privKeyCookie != '' ? privKeyCookie.split('\\').join('\n') : null, bitsEntropy: null, shannonEntropy: null, stealthInvoices: true, diff --git a/frontend/src/models/Settings.default.basic.ts b/frontend/src/models/Settings.default.basic.ts index 7355db3b4..eef6fbde7 100644 --- a/frontend/src/models/Settings.default.basic.ts +++ b/frontend/src/models/Settings.default.basic.ts @@ -2,7 +2,7 @@ import { systemClient } from '../services/System'; import { baseSettings, Settings } from './Settings.model'; const fontSizeCookie = systemClient.getCookie('settings_fontsize_basic'); -const fontSize = fontSizeCookie !== '' ? Number(fontSizeCookie) : 14; +const fontSize = fontSizeCookie != '' ? Number(fontSizeCookie) : 14; export const defaultSettings: Settings = { ...baseSettings, diff --git a/frontend/src/models/Settings.default.pro.ts b/frontend/src/models/Settings.default.pro.ts index bad6841cd..3a463af6f 100644 --- a/frontend/src/models/Settings.default.pro.ts +++ b/frontend/src/models/Settings.default.pro.ts @@ -2,7 +2,7 @@ import { systemClient } from '../services/System'; import { baseSettings, Settings } from './Settings.model'; const fontSizeCookie = systemClient.getCookie('settings_fontsize_pro'); -const fontSize = fontSizeCookie !== '' ? Number(fontSizeCookie) : 12; +const fontSize = fontSizeCookie != '' ? Number(fontSizeCookie) : 12; export const defaultSettings: Settings = { ...baseSettings, diff --git a/frontend/src/models/Settings.model.ts b/frontend/src/models/Settings.model.ts index f503e2b6e..f747e7c90 100644 --- a/frontend/src/models/Settings.model.ts +++ b/frontend/src/models/Settings.model.ts @@ -34,7 +34,7 @@ export interface Settings { const modeCookie: 'light' | 'dark' | '' = systemClient.getCookie('settings_mode'); const mode: 'light' | 'dark' = - modeCookie !== '' + modeCookie != '' ? modeCookie : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' @@ -42,7 +42,7 @@ const mode: 'light' | 'dark' = const languageCookie = systemClient.getCookie('settings_language'); const language: Language = - languageCookie !== '' + languageCookie != '' ? languageCookie : i18n.resolvedLanguage == null ? 'en' diff --git a/frontend/src/services/System/SystemNativeClient/index.ts b/frontend/src/services/System/SystemNativeClient/index.ts index 15a149a70..c27770dc8 100644 --- a/frontend/src/services/System/SystemNativeClient/index.ts +++ b/frontend/src/services/System/SystemNativeClient/index.ts @@ -22,8 +22,9 @@ class SystemNativeClient implements SystemClient { }); }; - public getCookie: (key: string) => string | undefined = (key) => { - return window.NativeRobosats?.cookies[key]; + public getCookie: (key: string) => string = (key) => { + const cookie = window.NativeRobosats?.cookies[key]; + return cookie === null || cookie === undefined ? '' : cookie; }; public setCookie: (key: string, value: string) => void = (key, value) => { diff --git a/frontend/src/services/System/SystemWebClient/index.ts b/frontend/src/services/System/SystemWebClient/index.ts index 2720f724f..3aab1a3c7 100644 --- a/frontend/src/services/System/SystemWebClient/index.ts +++ b/frontend/src/services/System/SystemWebClient/index.ts @@ -27,7 +27,7 @@ class SystemWebClient implements SystemClient { } }; - public getCookie: (key: string) => string | undefined = (key) => { + public getCookie: (key: string) => string = (key) => { let cookieValue = null; if (document.cookie && document.cookie !== '') { const cookies = document.cookie.split(';');