Files
epusdt/src/www/sw.js
T
line-6000 3a3a830d93 fix(server): prevent SPA fallback from swallowing API routes
- add ShouldSkipSPAFallback() deny prefixes: /api, /admin/api, /payments, /pay
- apply StaticWithConfig Skipper in both main http server and install server
- add unit tests for fallback skip matching behavior
2026-04-22 20:27:34 +08:00

2 lines
9.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
if(!self.define){let s,e={};const l=(l,r)=>(l=new URL(l+".js",r).href,e[l]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()}).then(()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didnt register its module`);return s}));self.define=(r,n)=>{const i=s||("document"in self?document.currentScript.src:"")||location.href;if(e[i])return;let u={};const o=s=>l(s,i),a={module:{uri:i},exports:u,require:o};e[i]=Promise.all(r.map(s=>a[s]||o(s))).then(s=>(n(...s),u))}}define(["./workbox-8c29f6e4"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"pwa-maskable-512x512.png",revision:"106b94c2eb0675579ae40309698f364c"},{url:"pwa-maskable-192x192.png",revision:"8befa0caebf24d2e0b01c36e01ab4bd7"},{url:"pwa-512x512.png",revision:"2fcf48a2ae4e95f6d7f4a6bc2cc42a63"},{url:"pwa-192x192.png",revision:"8bc372216f92e2f0e011daff55721ccb"},{url:"index.html",revision:"b043a55d7d2fde66e628c6f385bfc54a"},{url:"favicon.ico",revision:"abba9e0d76413fa735e878d17223cfcb"},{url:"favicon-32x32.png",revision:"0847a57e9d3ae134e314a1339af3516d"},{url:"favicon-16x16.png",revision:"3e5fdc64b0a41f498c177fb2dc89ec6a"},{url:"apple-touch-icon.png",revision:"f9c8240d0509320d85a82bd60a6b426f"},{url:"images/logo.png",revision:"fa701b6a1d714ecf4856df660055eb89"},{url:"assets/zod-Cymc5bS-.js",revision:null},{url:"assets/with-selector-D_dmjfol.js",revision:null},{url:"assets/web-vitals-f_BHH8AE.js",revision:null},{url:"assets/wallet--XSRr4dT.js",revision:null},{url:"assets/useStore-1-QVtiLb.js",revision:null},{url:"assets/useSearch-B5ZWp8fU.js",revision:null},{url:"assets/useRouterState-DV1cSG1v.js",revision:null},{url:"assets/useRouter-D03zSgJO.js",revision:null},{url:"assets/useNavigate-Dg8CkCoa.js",revision:null},{url:"assets/use-table-url-state-C7-IMA3_.js",revision:null},{url:"assets/unauthorized-error-CxmfHb-a.js",revision:null},{url:"assets/trash-2-Du706Ujr.js",revision:null},{url:"assets/theme-switch-BjXQNOij.js",revision:null},{url:"assets/theme-provider-CRKya7Cx.js",revision:null},{url:"assets/textarea-D_TrrVtD.js",revision:null},{url:"assets/telescope-67IWjQye.js",revision:null},{url:"assets/telegram-D63jjGqv.js",revision:null},{url:"assets/switch-R6BNZUH1.js",revision:null},{url:"assets/sign-in-B3lOm_MY.js",revision:null},{url:"assets/sidebar-nav-BQbYL8Jr.js",revision:null},{url:"assets/show-submitted-data-l0RlCwTX.js",revision:null},{url:"assets/settings-UGedE0KL.js",revision:null},{url:"assets/separator-CRLYw2cW.js",revision:null},{url:"assets/select-u60_CGVx.js",revision:null},{url:"assets/search-provider-Ddt37OW6.js",revision:null},{url:"assets/rpc-DzkF-oJy.js",revision:null},{url:"assets/routes-CJI6s37t.js",revision:null},{url:"assets/router-I0SVmQhl.js",revision:null},{url:"assets/route-ClLiRb_H.js",revision:null},{url:"assets/route-Cj43CtOB.js",revision:null},{url:"assets/route-CEPaQi5W.js",revision:null},{url:"assets/route-BxpeArPd.js",revision:null},{url:"assets/route-B-86mpXN.js",revision:null},{url:"assets/redirect-dE0wk0WH.js",revision:null},{url:"assets/rate-HUkfZ62-.js",revision:null},{url:"assets/radio-group-DXVwPYJH.js",revision:null},{url:"assets/popover-D5q6Hufu.js",revision:null},{url:"assets/payment-assets-B80iJbcf.js",revision:null},{url:"assets/password-input-B463LDkD.js",revision:null},{url:"assets/password-MZIiJvAq.js",revision:null},{url:"assets/page-header-BBJ9dE3-.js",revision:null},{url:"assets/orders-A-WbRUPL.js",revision:null},{url:"assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2",revision:null},{url:"assets/nunito-latin-wght-normal-BzFMHfZw.woff2",revision:null},{url:"assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2",revision:null},{url:"assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2",revision:null},{url:"assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2",revision:null},{url:"assets/noto-sans-vietnamese-wght-normal-DLTJy58D.woff2",revision:null},{url:"assets/noto-sans-latin-wght-normal-BYSzYMf3.woff2",revision:null},{url:"assets/noto-sans-latin-ext-wght-normal-W1qJv59z.woff2",revision:null},{url:"assets/noto-sans-greek-wght-normal-Ymb6dZNd.woff2",revision:null},{url:"assets/noto-sans-greek-ext-wght-normal-12T8GTDR.woff2",revision:null},{url:"assets/noto-sans-devanagari-wght-normal-Cv-Vwajv.woff2",revision:null},{url:"assets/noto-sans-cyrillic-wght-normal-B2hlT84T.woff2",revision:null},{url:"assets/noto-sans-cyrillic-ext-wght-normal-DSNfmdVt.woff2",revision:null},{url:"assets/notifications-DfNeewuy.js",revision:null},{url:"assets/not-found-error-toRsO1Fi.js",revision:null},{url:"assets/messages-BovT1T-w.js",revision:null},{url:"assets/matchContext-BcwcZvp2.js",revision:null},{url:"assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2",revision:null},{url:"assets/manrope-latin-wght-normal-DHIcAJRg.woff2",revision:null},{url:"assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2",revision:null},{url:"assets/manrope-greek-wght-normal-DL7QRZyv.woff2",revision:null},{url:"assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2",revision:null},{url:"assets/maintenance-error-PO6kK4Oj.js",revision:null},{url:"assets/long-text-BXQXVuRh.js",revision:null},{url:"assets/loader-circle-fg8-aSyl.js",revision:null},{url:"assets/link-CA4H4hTz.js",revision:null},{url:"assets/lib-CCbQO2oA.js",revision:null},{url:"assets/label-CsevXZTG.js",revision:null},{url:"assets/keys-CqCDVPNk.js",revision:null},{url:"assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2",revision:null},{url:"assets/inter-latin-wght-normal-Dx4kXJAl.woff2",revision:null},{url:"assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2",revision:null},{url:"assets/inter-greek-wght-normal-CkhJZR-_.woff2",revision:null},{url:"assets/inter-greek-ext-wght-normal-DlzME5K_.woff2",revision:null},{url:"assets/inter-cyrillic-wght-normal-DqGufNeO.woff2",revision:null},{url:"assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2",revision:null},{url:"assets/install-FAUPb5cp.js",revision:null},{url:"assets/input-DiRPHDd8.js",revision:null},{url:"assets/index-TVbhXeum.css",revision:null},{url:"assets/index-BMUjcbMl.js",revision:null},{url:"assets/help-F2O9kOnX.js",revision:null},{url:"assets/header-D89HFI50.js",revision:null},{url:"assets/general-error-DKtbS-qh.js",revision:null},{url:"assets/form-DdHiBYMe.js",revision:null},{url:"assets/forbidden-BEz-zjy_.js",revision:null},{url:"assets/font-provider-DvtNHF7l.js",revision:null},{url:"assets/eye-off-C-BF3gv3.js",revision:null},{url:"assets/eye-CDavQcLN.js",revision:null},{url:"assets/epay-DrCjQ7xI.js",revision:null},{url:"assets/empty-state-Cam-sX8U.js",revision:null},{url:"assets/ellipsis-Y4gZr59G.js",revision:null},{url:"assets/dropdown-menu-CUea1X0A.js",revision:null},{url:"assets/download-CN4vU01G.js",revision:null},{url:"assets/dist-DvAgZMq72.js",revision:null},{url:"assets/dist-DlZiaY1y.js",revision:null},{url:"assets/dist-DG5UMlBd.js",revision:null},{url:"assets/dist-D21KDGR3.js",revision:null},{url:"assets/dist-Cp1lAGZy.js",revision:null},{url:"assets/dist-CGm-FpWw.js",revision:null},{url:"assets/dist-BKfJQFVD.js",revision:null},{url:"assets/dist-BEDXr2LC.js",revision:null},{url:"assets/dist-15n4mVGL.js",revision:null},{url:"assets/display-CkSSrdk4.js",revision:null},{url:"assets/data-table-CpxorDbP.js",revision:null},{url:"assets/dashboard-BYSlv_n9.js",revision:null},{url:"assets/createLucideIcon-D28ivbfF.js",revision:null},{url:"assets/cookies-BNZcTwGc.js",revision:null},{url:"assets/command-BwVY_kli.js",revision:null},{url:"assets/coming-soon-dialog-DMmjLgiX.js",revision:null},{url:"assets/clock-3-BoF5rDzX.js",revision:null},{url:"assets/circle-check-Dh8WOZF0.js",revision:null},{url:"assets/chevrons-up-down-iOmAu5Fh.js",revision:null},{url:"assets/chevron-down-CdmvZsfI.js",revision:null},{url:"assets/checkbox-B_Isethe.js",revision:null},{url:"assets/check-gDgbfVXu.js",revision:null},{url:"assets/chains-store-9B2-e1AQ.js",revision:null},{url:"assets/chains-c0T9eoBn.js",revision:null},{url:"assets/card-DuQAN29P.js",revision:null},{url:"assets/button-DJA4fnJ8.js",revision:null},{url:"assets/badge-BAmRBT3U.js",revision:null},{url:"assets/auth-store-ramu4Ja7.js",revision:null},{url:"assets/auth-animation-context-zwGs7ZAM.js",revision:null},{url:"assets/atom-DI1Bn-1s.js",revision:null},{url:"assets/arrow-left-BrKcUadm.js",revision:null},{url:"assets/appearance-DJZ27An3.js",revision:null},{url:"assets/addresses-BTnriCmI.js",revision:null},{url:"assets/_error-IYb4e1PQ.js",revision:null},{url:"assets/_error-BWhHDyU0.js",revision:null},{url:"assets/Matches-LuvVcyUg.js",revision:null},{url:"assets/Match-B8-zI9ZJ.js",revision:null},{url:"assets/ClientOnly-CtYi2y5F.js",revision:null},{url:"assets/503-BTAQ6Iri.js",revision:null},{url:"assets/500-DSCRAyCF.js",revision:null},{url:"assets/404-VQj_aY6A.js",revision:null},{url:"assets/403-BfPOIf6t.js",revision:null},{url:"assets/401-IieFK_aS.js",revision:null},{url:"apple-touch-icon.png",revision:"f9c8240d0509320d85a82bd60a6b426f"},{url:"favicon.ico",revision:"abba9e0d76413fa735e878d17223cfcb"},{url:"pwa-192x192.png",revision:"8bc372216f92e2f0e011daff55721ccb"},{url:"pwa-512x512.png",revision:"2fcf48a2ae4e95f6d7f4a6bc2cc42a63"},{url:"pwa-maskable-192x192.png",revision:"8befa0caebf24d2e0b01c36e01ab4bd7"},{url:"pwa-maskable-512x512.png",revision:"106b94c2eb0675579ae40309698f364c"},{url:"robots.txt",revision:"fa1ded1ed7c11438a9b0385b1e112850"},{url:"images/logo.png",revision:"fa701b6a1d714ecf4856df660055eb89"},{url:"manifest.webmanifest",revision:"8d2924aafc68495c2adffcd2b8cff2c1"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{denylist:[/^\/payments\//,/^\/pay\//,/^\/api\//,/^\/admin\/api\//]}))});