mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-05 10:26:35 +00:00
feat: added cache clear and refresh with session limit
This commit is contained in:
@@ -25,6 +25,34 @@ import "./translation";
|
|||||||
// Create a new router instance
|
// Create a new router instance
|
||||||
NProgress.configure({ showSpinner: false });
|
NProgress.configure({ showSpinner: false });
|
||||||
|
|
||||||
|
window.addEventListener("vite:preloadError", async (event) => {
|
||||||
|
event.preventDefault();
|
||||||
|
// Get current count from session storage or initialize to 0
|
||||||
|
const reloadCount = parseInt(sessionStorage.getItem("vitePreloadErrorCount") || "0", 10);
|
||||||
|
|
||||||
|
// Check if we've already tried 3 times
|
||||||
|
if (reloadCount >= 3) {
|
||||||
|
console.warn("Vite preload has failed multiple times. Stopping automatic reload.");
|
||||||
|
// Optionally show a user-facing message here
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if ("caches" in window) {
|
||||||
|
const keys = await caches.keys();
|
||||||
|
await Promise.all(keys.map((key) => caches.delete(key)));
|
||||||
|
}
|
||||||
|
} catch (cleanupError) {
|
||||||
|
console.error(cleanupError);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// Increment and save the counter
|
||||||
|
sessionStorage.setItem("vitePreloadErrorCount", (reloadCount + 1).toString());
|
||||||
|
|
||||||
|
console.log(`Reloading page (attempt ${reloadCount + 1} of 3)...`);
|
||||||
|
window.location.reload(); // for example, refresh the page
|
||||||
|
});
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
routeTree,
|
routeTree,
|
||||||
context: { serverConfig: null, queryClient },
|
context: { serverConfig: null, queryClient },
|
||||||
|
|||||||
Reference in New Issue
Block a user