QA release: backend 1.1.22, frontend 1.1.68

Images:
  revesoft/conference-backend:1.1.22   sha256:c056b7a726332a9f3dd...
  revesoft/conference-frontend:1.1.68  sha256:4c182e14cc0e201582c07767a1840297e00fd043f6a78acaa1fa3ff97e2ad57a

NOTE: the frontend 1.1.68 tag was RE-PUSHED on 2026-08-31 and now
resolves to a different digest than the earlier 1.1.68
(was sha256:5881f495b872dd7...). Pull by tag to get the new bits.

Backend 1.1.22 - meeting-warning fixes.

Frontend 1.1.68 - web loading time:
- main.dart.js / flutter_bootstrap.js stamped with ?v=<build hash> and
  served immutable for 30 days. They were previously sent
  no-cache, no-store, so the ~2.6 MB gzipped bundle was re-downloaded on
  every single page view (~7 s on the prod link). Nothing masked it:
  Flutter's service worker is now a tombstone that unregisters itself.
- Shell, service workers, yt_player.html and asset manifests revalidate
  (no-cache), so a repeat load is a 304 and a new release still lands
  immediately.
- Removed a render-blocking <script> pulling livekit-client from unpkg;
  unpinned, returning 404, and the global is referenced nowhere.
- nginx gzip_comp_level 6 (was the default 1): 2,648,518 -> 2,168,809
  bytes on the wire.

Deploy: no .env, compose or host-nginx changes needed. Usual
  docker compose pull && docker compose up -d
This tag has no release notes.