fix(pwa): make web updates deterministic (#1093)

* fix(pwa): make web updates deterministic

* fix(pwa): address review feedback
This commit is contained in:
Tommaso Casaburi
2026-03-17 16:20:13 +08:00
committed by GitHub
parent b2946e8b2e
commit f812fe1d18
11 changed files with 235 additions and 27 deletions
+25
View File
@@ -0,0 +1,25 @@
import { create } from 'zustand';
import { refreshServiceWorkerRegistration } from '../lib/app-update';
interface AppUpdateState {
needRefresh: boolean;
setNeedRefresh: (needRefresh: boolean) => void;
applyAppUpdate: () => Promise<void>;
}
const reloadCurrentPage = () => {
window.location.reload();
};
const useAppUpdateStore = create<AppUpdateState>((set) => ({
needRefresh: false,
setNeedRefresh: (needRefresh) => set({ needRefresh }),
applyAppUpdate: async () => {
await refreshServiceWorkerRegistration().catch((error) => {
console.error('Failed to refresh service worker registration', error);
});
reloadCurrentPage();
},
}));
export default useAppUpdateStore;