25 Commits

Author SHA1 Message Date
coopops cba0d41020 fix(desktop): устранить белый экран на первом холодном заходе (PWA boot race)
Гонка на первом заходе в проде: ленивый чанк маршрута падал на import()
из-за конкуренции за сеть с фоновым precache только что установленного SW,
а перехватить ошибку было некому → пустой router-view до ручной перезагрузки.

- FIX-1: router.onError ловит провал загрузки чанка и делает авто-reload на
  целевой путь (с защитой от reload-цикла через sessionStorage).
- FIX-2: регистрацию Service Worker откладываем до window 'load', чтобы
  precache-шторм не конкурировал с первой отрисовкой и догрузкой чанков.
- Диагностика: таймстемп-логи [BOOTRACE] по всей boot-цепочке (initApp,
  router beforeEach/afterEach/onError, App.onMounted/isLoaded, SW register,
  safety-timeout) для грепа порядка инициализации на проде.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 16:48:51 +00:00
coopops 3ba3a867ad feat(pwa): надёжное оповещение об обновлении через version-watch
Typecheck / desktop (pull_request) Successful in 15m5s
Typecheck / controller (pull_request) Successful in 13m12s
Заменяет ненадёжный триггер от lifecycle service worker'а (не срабатывал
на iOS standalone PWA, при первой установке и когда бинарь SW не менялся)
на сравнение версий: запечённая в бандл package-версия (process.env.APP_VERSION)
сверяется с self-report SSR-ноды (/version). При расхождении — существующий тост.

- quasar.config: APP_VERSION из package.json в build.env; middleware 'version'
- src-ssr/middlewares/version.ts: self-report /version (JSON, no-store)
- entities/AppVersion: стор useUpdateWatch (реестр компонентов, сейчас shell),
  опрос /version раз в 5 мин + при возврате на вкладку; SPA-safe (нет ноды -> no-op)
- init-app: старт version-watch рядом с systemMonitoring
- register-service-worker: убран SW-триггер; applyUpdate устойчив (waiting -> SKIP_WAITING, иначе reload)
- LeftDrawerMenu: версия приложения в футере рейла

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 06:46:04 +00:00
coopops 7105c053fb feat(pwa): надёжное пользовательское обновление вместо авто-reload
Новый SW больше не активируется в фоне сам (skipWaiting/clientsClaim=false) —
ждёт в waiting, убирая гонку «подвисание между релизами» (старая страница +
новый SW). updated() шлёт window-событие 'sw:update-available'; boot 'pwa-update'
ловит его и показывает канон-тост UpdateAlert в левом нижнем углу (timeout 0,
кнопки «Обновить»/«Позже»). По «Обновить» → window.applyUpdate() → SKIP_WAITING
→ controllerchange → reload. Детерминированно, без фонового свопа версий.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 09:21:17 +00:00
Alex Ant 82d4bb34b7 upgrade to vite 8 2026-03-23 20:34:35 +05:00
Alex Ant 1a9f927c4c service-worker update fix & voting console.error log 2026-02-22 19:33:41 +05:00
Alex Ant 234beba06a sentry env 2025-12-28 14:24:55 +05:00
Alex Ant 5d70f5fd97 env refactoring rollback 2025-12-28 12:15:29 +05:00
Alex Ant b663c7f9d4 env config refactoring 2025-12-28 11:24:26 +05:00
Alex Ant d5778f165b remove notifications on update 2025-11-28 12:16:54 +05:00
Alex Ant 5f6b416f26 installer fix, parser init fix, service worker fix 2025-11-16 14:06:43 +05:00
Alex Ant 772a163693 parser fix 2025-11-01 18:04:11 +05:00
Alex Ant ade4f0a1d4 ssr bug fix 2025-11-01 17:14:23 +05:00
Alex Ant c12f42fcac some selectors, queries, features and entities 2025-09-11 19:10:37 +05:00
Alex Ant 26216a6a8c списание и отмена списания в истории 2025-07-29 10:01:28 +05:00
Alex Ant a92c5d6ce0 pwa configuration fix and novu subscribers fix 2025-07-14 13:38:34 +05:00
Alex Ant de1cd7c737 pwa push notifications 2 2025-07-10 16:45:07 +05:00
Alex Ant 67dd27b9a1 pwa rollback 2025-07-06 23:11:29 +05:00
Alex Ant 02758d96c7 PWA service worker update 2025-07-06 21:44:36 +05:00
Alex Ant 90d8c51402 фикс гоночного бага при входе, демонстрация входящих оповещений всплывками 2025-07-05 16:45:51 +05:00
Alex Ant dd65673c1e pwa+ssr configuration 2025-07-05 12:54:30 +05:00
Alex Ant 4e246c35c8 try it 2025-07-04 22:44:43 +05:00
Alex Ant 6a89981c77 try add env to PWA 2025-07-04 19:59:55 +05:00
Alex Ant 214aba8f01 pwa 2025-07-04 16:07:38 +05:00
Alex Ant 99a9d15871 pwa implementation 2025-07-04 13:47:42 +05:00
Alex Ant bed9010918 some steps 2025-07-03 17:58:45 +05:00