fix: version 2.2.3 -- auto-reload al tomar control el service worker nuevo
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,12 @@
|
|||||||
# Changelog - project.linkedcorp.net
|
# Changelog - project.linkedcorp.net
|
||||||
|
|
||||||
|
## [2.2.3] - 2026-09-22
|
||||||
|
### Fixed
|
||||||
|
- Al actualizar (ya sea con el botón nuevo o por deploy manual), la pestaña abierta seguía
|
||||||
|
mostrando JS/CSS viejo hasta hacer F5 a mano, aunque el servidor ya tuviera la versión nueva
|
||||||
|
— el service worker tomaba control solo pero no refrescaba la página. Ahora se refresca sola
|
||||||
|
en cuanto el service worker nuevo toma control.
|
||||||
|
|
||||||
## [2.2.2] - 2026-09-22
|
## [2.2.2] - 2026-09-22
|
||||||
### Fixed
|
### Fixed
|
||||||
- El botón "Actualizar" fallaba en el build del frontend: heredaba `NODE_ENV=production` del
|
- El botón "Actualizar" fallaba en el build del frontend: heredaba `NODE_ENV=production` del
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "project-linkedcorp-backend",
|
"name": "project-linkedcorp-backend",
|
||||||
"version": "2.2.2",
|
"version": "2.2.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "src/server.js",
|
"main": "src/server.js",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "project-linkedcorp-frontend",
|
"name": "project-linkedcorp-frontend",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.2.2",
|
"version": "2.2.3",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -11,6 +11,19 @@ installGlobalErrorReporter();
|
|||||||
// nada al usuario (no hay riesgo de mostrar una version vieja de la UI por mucho tiempo).
|
// nada al usuario (no hay riesgo de mostrar una version vieja de la UI por mucho tiempo).
|
||||||
registerSW({ immediate: true });
|
registerSW({ immediate: true });
|
||||||
|
|
||||||
|
// skipWaiting+clientsClaim (activados por autoUpdate) hacen que el service worker nuevo tome
|
||||||
|
// control solo, pero eso NO refresca la pagina ya abierta -- el usuario seguia viendo JS/CSS
|
||||||
|
// viejo hasta un F5 manual. Con esto, en cuanto el nuevo SW toma control, se refresca sola una
|
||||||
|
// vez (la bandera evita un loop si el evento dispara mas de una vez).
|
||||||
|
if ('serviceWorker' in navigator) {
|
||||||
|
let reloaded = false;
|
||||||
|
navigator.serviceWorker.addEventListener('controllerchange', () => {
|
||||||
|
if (reloaded) return;
|
||||||
|
reloaded = true;
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
ReactDOM.createRoot(document.getElementById('root')).render(
|
ReactDOM.createRoot(document.getElementById('root')).render(
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
<App />
|
<App />
|
||||||
|
|||||||
Reference in New Issue
Block a user