fix: Make update banner refresh button robust

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-01-06 20:03:39 +00:00
parent fc4eb077f0
commit cf789b1518

View File

@@ -274,8 +274,14 @@ function App() {
Client version mismatch, please refresh:{' '} Client version mismatch, please refresh:{' '}
<button onClick={() => { <button onClick={() => {
waitingWorker.postMessage({ type: 'SKIP_WAITING' }); waitingWorker.postMessage({ type: 'SKIP_WAITING' });
navigator.serviceWorker.addEventListener('controllerchange', () => { const reload = () => window.location.reload();
window.location.reload(); navigator.serviceWorker.addEventListener('controllerchange', reload, { once: true });
// Fallback for when the controller has already changed (ie. in another tab)
navigator.serviceWorker.getRegistration().then(reg => {
if (!reg || !reg.waiting) {
reload();
}
}); });
}}> }}>
Refresh Refresh