build: 6.7.0 bundles carrying the 1.0.0 download links
CodeQL Analysis / Analyze CodeQL (push) Canceled after 0s
Deploy Application / deploy (push) Canceled after 0s
Mirror to Codeberg / mirror (push) Canceled after 0s
Mirror to PrivacyGuides / mirror (push) Canceled after 0s

The deployed bundles are what the page loads; the source .jsx files are not
fetched at runtime. Rebuilding is what actually ships the change.
This commit is contained in:
SecureBitChatVolodymyr
2026-09-01 23:50:07 -04:00
parent b4e12c2a98
commit c5b759e120
15 changed files with 319 additions and 319 deletions
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/ar/manifest.json"> <link rel="manifest" href="/ar/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/de/manifest.json"> <link rel="manifest" href="/de/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/es/manifest.json"> <link rel="manifest" href="/es/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/fa/manifest.json"> <link rel="manifest" href="/fa/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/fr/manifest.json"> <link rel="manifest" href="/fr/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/he/manifest.json"> <link rel="manifest" href="/he/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/hi/manifest.json"> <link rel="manifest" href="/hi/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/manifest.json"> <link rel="manifest" href="/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/ko/manifest.json"> <link rel="manifest" href="/ko/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+6 -6
View File
@@ -1,10 +1,10 @@
{ {
"version": "1788320423892", "version": "1788321006836",
"buildVersion": "1788320423892", "buildVersion": "1788321006836",
"appVersion": "6.7.0", "appVersion": "6.7.0",
"buildTime": "2026-09-02T03:40:23.952Z", "buildTime": "2026-09-02T03:50:06.875Z",
"buildId": "1788320423892-8d7b41b", "buildId": "1788321006836-b4e12c2",
"gitHash": "8d7b41b", "gitHash": "b4e12c2",
"generated": true, "generated": true,
"generatedAt": "2026-09-02T03:40:23.954Z" "generatedAt": "2026-09-02T03:50:06.877Z"
} }
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/ru/manifest.json"> <link rel="manifest" href="/ru/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+1 -1
View File
@@ -11,7 +11,7 @@ let DYNAMIC_CACHE = 'securebit-pwa-dynamic-v4.7.56';
// Build stamp — rewritten by scripts/post-build.js on every release so this file's // Build stamp — rewritten by scripts/post-build.js on every release so this file's
// bytes change each deploy. That is what makes the browser detect a new Service Worker, // bytes change each deploy. That is what makes the browser detect a new Service Worker,
// reinstall it, drop stale caches and (via controllerchange) prompt the page to update. // reinstall it, drop stale caches and (via controllerchange) prompt the page to update.
const SW_BUILD_VERSION = '1788320423892'; const SW_BUILD_VERSION = '1788321006836';
// Locale subdirectories, rewritten by scripts/build-i18n.js. Each localized page is a // Locale subdirectories, rewritten by scripts/build-i18n.js. Each localized page is a
// separate document at its own URL, so the shell has to be cached and served per // separate document at its own URL, so the shell has to be cached and served per
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/uk/manifest.json"> <link rel="manifest" href="/uk/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/ur/manifest.json"> <link rel="manifest" href="/ur/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>
+24 -24
View File
@@ -30,7 +30,7 @@
<!-- PWA Manifest --> <!-- PWA Manifest -->
<link rel="manifest" href="/zh/manifest.json"> <link rel="manifest" href="/zh/manifest.json">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- PWA Meta Tags --> <!-- PWA Meta Tags -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
@@ -96,7 +96,7 @@
<link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png"> <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/logo/splash/splash_screens/8.3__iPad_Mini_portrait.png">
<!-- Apple Touch Icons --> <!-- Apple Touch Icons -->
<link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" href="/logo/icon-180x180.png?v=1788321006836">
<link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png"> <link rel="apple-touch-icon" sizes="57x57" href="/logo/icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/logo/icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/logo/icon-72x72.png">
@@ -105,7 +105,7 @@
<link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" href="/logo/icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png"> <link rel="apple-touch-icon" sizes="144x144" href="/logo/icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" href="/logo/icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788320423892"> <link rel="apple-touch-icon" sizes="180x180" href="/logo/icon-180x180.png?v=1788321006836">
<!-- Microsoft Tiles --> <!-- Microsoft Tiles -->
<meta name="msapplication-TileColor" content="#ff6b35"> <meta name="msapplication-TileColor" content="#ff6b35">
@@ -222,7 +222,7 @@
<!-- Render-blocking JS is deferred: classic deferred scripts and module scripts <!-- Render-blocking JS is deferred: classic deferred scripts and module scripts
both execute in document order after parsing, so React still runs before the both execute in document order after parsing, so React still runs before the
app modules below, but the parser / first paint is no longer blocked. --> app modules below, but the parser / first paint is no longer blocked. -->
<script defer src="/config/ice-servers.js?v=1788320423892"></script> <script defer src="/config/ice-servers.js?v=1788321006836"></script>
<script defer src="/libs/react/react.production.min.js"></script> <script defer src="/libs/react/react.production.min.js"></script>
<script defer src="/libs/react-dom/react-dom.production.min.js"></script> <script defer src="/libs/react-dom/react-dom.production.min.js"></script>
<!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only — <!-- Prism syntax highlighting (vendored, offline). Tokenizes code as TEXT only —
@@ -230,8 +230,8 @@
Its CSS is loaded async via load-async-css.js (not paint-critical). --> Its CSS is loaded async via load-async-css.js (not paint-critical). -->
<script defer src="/libs/prism/prism.js"></script> <script defer src="/libs/prism/prism.js"></script>
<!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). --> <!-- Critical, paint-defining CSS stays render-blocking (avoids FOUC / layout shift). -->
<link rel="stylesheet" href="/assets/tailwind.css?v=1788320423892"> <link rel="stylesheet" href="/assets/tailwind.css?v=1788321006836">
<link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788320423892"> <link rel="icon" type="image/x-icon" href="/logo/favicon.ico?v=1788321006836">
<!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI <!-- Preload only the fonts needed for first paint. fa-solid covers the bulk of UI
icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the icons; fa-regular/fa-brands are loaded on demand by their CSS (rarely on the
first screen). Inter latin 400/700 cover body text and headings/buttons. --> first screen). Inter latin 400/700 cover body text and headings/buttons. -->
@@ -239,38 +239,38 @@
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/assets/fonts/inter/files/inter-latin-700.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/assets/fonts/inter/inter.css"> <link rel="stylesheet" href="/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/src/styles/main.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/main.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/animations.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/animations.css?v=1788321006836">
<link rel="stylesheet" href="/src/styles/components.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/components.css?v=1788321006836">
<!-- Loads after components.css on purpose: press feedback, material weight, <!-- Loads after components.css on purpose: press feedback, material weight,
size-specific tracking and the reduced-motion / -transparency / -contrast size-specific tracking and the reduced-motion / -transparency / -contrast
answers all need to settle arguments with the sheets above on source order. --> answers all need to settle arguments with the sheets above on source order. -->
<link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/apple-motion.css?v=1788321006836">
<!-- Last of the hand-written sheets: the mirroring rules must win over anything <!-- Last of the hand-written sheets: the mirroring rules must win over anything
above them, and they only ever apply under [dir="rtl"]. --> above them, and they only ever apply under [dir="rtl"]. -->
<link rel="stylesheet" href="/src/styles/rtl.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/rtl.css?v=1788321006836">
<!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. --> <!-- Non-critical CSS (FontAwesome ~102KB, Prism) loaded async — no longer blocks paint. -->
<script defer src="/src/scripts/load-async-css.js?v=1788320423892"></script> <script defer src="/src/scripts/load-async-css.js?v=1788321006836"></script>
<noscript> <noscript>
<link rel="stylesheet" href="/assets/fontawesome/css/all.min.css"> <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
<link rel="stylesheet" href="/libs/prism/prism.css"> <link rel="stylesheet" href="/libs/prism/prism.css">
</noscript> </noscript>
<script defer src="/src/scripts/fa-check.js?v=1788320423892"></script> <script defer src="/src/scripts/fa-check.js?v=1788321006836"></script>
<!-- Update Manager - система принудительного обновления --> <!-- Update Manager - система принудительного обновления -->
<script defer src="/src/utils/updateManager.js?v=1788320423892"></script> <script defer src="/src/utils/updateManager.js?v=1788321006836"></script>
<script type="module" src="/src/components/UpdateChecker.jsx?v=1788320423892"></script> <script type="module" src="/src/components/UpdateChecker.jsx?v=1788321006836"></script>
<script type="module" src="/dist/qr-local.js?v=1788320423892"></script> <script type="module" src="/dist/qr-local.js?v=1788321006836"></script>
<script type="module" src="/src/components/QRScanner.js?v=1788320423892"></script> <script type="module" src="/src/components/QRScanner.js?v=1788321006836"></script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script type="module" src="/dist/app-boot.js?v=1788320423892"></script> <script type="module" src="/dist/app-boot.js?v=1788321006836"></script>
<script type="module" src="/dist/app.js?v=1788320423892"></script> <script type="module" src="/dist/app.js?v=1788321006836"></script>
<script defer src="/src/scripts/pwa-register.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-register.js?v=1788321006836"></script>
<script src="/src/pwa/install-prompt.js?v=1788320423892" type="module"></script> <script src="/src/pwa/install-prompt.js?v=1788321006836" type="module"></script>
<script src="/src/pwa/pwa-manager.js?v=1788320423892" type="module"></script> <script src="/src/pwa/pwa-manager.js?v=1788321006836" type="module"></script>
<script defer src="/src/scripts/pwa-offline-test.js?v=1788320423892"></script> <script defer src="/src/scripts/pwa-offline-test.js?v=1788321006836"></script>
<link rel="stylesheet" href="/src/styles/pwa.css?v=1788320423892"> <link rel="stylesheet" href="/src/styles/pwa.css?v=1788321006836">
</body> </body>
</html> </html>