Skip to content

Commit 4be010a

Browse files
committed
frontend: check if persistence is already granted before requesting
1 parent 619d2c5 commit 4be010a

File tree

1 file changed

+15
-22
lines changed

1 file changed

+15
-22
lines changed

frontend/src/index.tsx

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,19 @@ export function App() {
8383

8484
const [modalConfig, setModalConfig] = useState({ show: false, rememberChoice: false });
8585

86-
console.log(window.navigator.userAgent);
86+
const requestPersistence = async () => {
87+
try {
88+
const granted = await navigator.storage.persist();
89+
if (!granted) {
90+
console.warn("Storage persistence not granted. You may be logged out from time to time.");
91+
}
92+
} catch (e) {
93+
console.warn("Failed to request storage persistence", e);
94+
} finally {
95+
setModalConfig({...modalConfig, show: false });
96+
}
97+
};
98+
8799
if (window.navigator.userAgent.indexOf("Firefox") !== -1 && localStorage.getItem("persistedChoice") !== "true") {
88100
useEffect(() => {
89101
(async () => {
@@ -101,32 +113,13 @@ export function App() {
101113
} else {
102114
useEffect(() => {
103115
(async () => {
104-
try {
105-
const granted = await navigator.storage.persist();
106-
console.log(`Storage persistence granted: ${granted}`);
107-
if (!granted) {
108-
console.warn("Storage persistence not granted. You may be logged out from time to time.");
109-
}
110-
} catch (e) {
111-
console.warn("Failed to request storage persistence", e);
116+
if (!await navigator.storage.persisted()) {
117+
await requestPersistence();
112118
}
113119
})();
114120
}, []);
115121
}
116122

117-
const requestPersistence = async () => {
118-
try {
119-
const granted = await navigator.storage.persist();
120-
if (!granted) {
121-
console.warn("Storage persistence not granted. You may be logged out from time to time.");
122-
}
123-
} catch (e) {
124-
console.warn("Failed to request storage persistence", e);
125-
} finally {
126-
setModalConfig({...modalConfig, show: false });
127-
}
128-
};
129-
130123
useEffect(() => {
131124
if (!connected.value) {
132125
document.title = t("app_name");

0 commit comments

Comments
 (0)