@dev-anywhere/relay 0.5.21 → 0.5.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,7 +44,7 @@
44
44
  <link rel="icon" type="image/svg+xml" href="/brand-icon.svg" />
45
45
  <link rel="icon" type="image/png" sizes="64x64" href="/pwa-64x64.png" />
46
46
  <link rel="apple-touch-icon" href="/apple-touch-icon-180x180.png" />
47
- <script type="module" crossorigin src="/assets/index-gVPHGS9-.js"></script>
47
+ <script type="module" crossorigin src="/assets/index-BFgBIxu5.js"></script>
48
48
  <link rel="stylesheet" crossorigin href="/assets/index-50GpiLHH.css">
49
49
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
50
50
  <body class="bg-background text-foreground">
package/assets/web/sw.js CHANGED
@@ -1 +1 @@
1
- if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const t=e||("document"in self?document.currentScript.src:"")||location.href;if(s[t])return;let o={};const f=e=>i(e,t),c={module:{uri:t},exports:o,require:f};s[t]=Promise.all(n.map(e=>c[e]||f(e))).then(e=>(r(...e),o))}}define(["./workbox-10a3128e"],function(e){"use strict";importScripts("notification-sw.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"notification-sw.js",revision:"ee0be62f4c1f36625b92680b3060becb"},{url:"index.html",revision:"5a7097408ab1cf764d77f849c001a7e3"},{url:"assets/index-gVPHGS9-.js",revision:null},{url:"assets/index-50GpiLHH.css",revision:null},{url:"assets/fvad-QBrzThuq.js",revision:null},{url:"assets/fvad-DYxbW2my.wasm",revision:null},{url:"assets/__vite-browser-external-BIHI7g3E.js",revision:null},{url:"brand-icon.svg",revision:"efe8505a7b7ef12cbb3a4bcd286254bd"},{url:"maskable-icon-512x512.png",revision:"e762ff07cdedcd78f8650f59c6881727"},{url:"pwa-192x192.png",revision:"4e4603ce0f22528eded553ba7f2ffbc5"},{url:"pwa-512x512.png",revision:"e762ff07cdedcd78f8650f59c6881727"},{url:"pwa-64x64.png",revision:"d322160ad1dc08ba9e133cb3d296ae63"},{url:"manifest.webmanifest",revision:"4daa295c44052f4ce59a1fcfd6f06ab8"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/proxy(\/|$|\?)/,/^\/client(\/|$|\?)/,/^\/voice(\/|$|\?)/,/^\/fonts\//,/^\/health/,/^\/status/,/^\/api\//]})),e.registerRoute(/^\/fonts\/.*\.(woff2|woff|ttf|otf|css)$/,new e.CacheFirst({cacheName:"dev-anywhere-fonts",plugins:[new e.ExpirationPlugin({maxEntries:40,maxAgeSeconds:15552e3})]}),"GET")});
1
+ if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const t=e||("document"in self?document.currentScript.src:"")||location.href;if(s[t])return;let o={};const c=e=>i(e,t),f={module:{uri:t},exports:o,require:c};s[t]=Promise.all(n.map(e=>f[e]||c(e))).then(e=>(r(...e),o))}}define(["./workbox-10a3128e"],function(e){"use strict";importScripts("notification-sw.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"notification-sw.js",revision:"ee0be62f4c1f36625b92680b3060becb"},{url:"index.html",revision:"73558c72e840d04749c9ab1b2c61a92c"},{url:"assets/index-BFgBIxu5.js",revision:null},{url:"assets/index-50GpiLHH.css",revision:null},{url:"assets/fvad-F2LihCBV.js",revision:null},{url:"assets/fvad-DYxbW2my.wasm",revision:null},{url:"assets/__vite-browser-external-BIHI7g3E.js",revision:null},{url:"brand-icon.svg",revision:"efe8505a7b7ef12cbb3a4bcd286254bd"},{url:"maskable-icon-512x512.png",revision:"e762ff07cdedcd78f8650f59c6881727"},{url:"pwa-192x192.png",revision:"4e4603ce0f22528eded553ba7f2ffbc5"},{url:"pwa-512x512.png",revision:"e762ff07cdedcd78f8650f59c6881727"},{url:"pwa-64x64.png",revision:"d322160ad1dc08ba9e133cb3d296ae63"},{url:"manifest.webmanifest",revision:"4daa295c44052f4ce59a1fcfd6f06ab8"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/proxy(\/|$|\?)/,/^\/client(\/|$|\?)/,/^\/voice(\/|$|\?)/,/^\/fonts\//,/^\/health/,/^\/status/,/^\/api\//]})),e.registerRoute(/^\/fonts\/.*\.(woff2|woff|ttf|otf|css)$/,new e.CacheFirst({cacheName:"dev-anywhere-fonts",plugins:[new e.ExpirationPlugin({maxEntries:40,maxAgeSeconds:15552e3})]}),"GET")});
@@ -3897,8 +3897,12 @@ var REMOTE_FILE_METADATA_TIMEOUT_MS = 30 * 1e3;
3897
3897
  var REMOTE_FILE_UPLOAD_RESPONSE_TIMEOUT_MS = 60 * 1e3;
3898
3898
  function encodeContentDisposition(disposition, fileName) {
3899
3899
  const type = disposition === "download" ? "attachment" : "inline";
3900
- const fallback = fileName.replace(/["\\\r\n]/g, "_") || "download";
3901
- return `${type}; filename="${fallback}"; filename*=UTF-8''${encodeURIComponent(fileName)}`;
3900
+ const fallback = fileName.replace(/[^\x20-\x7e]/g, "_").replace(/["\\/\r\n]/g, "_").replace(/_+/g, "_").trim() || "download";
3901
+ const encodedFileName = encodeURIComponent(fileName).replace(
3902
+ /['()*]/g,
3903
+ (char) => `%${char.charCodeAt(0).toString(16).toUpperCase()}`
3904
+ );
3905
+ return `${type}; filename="${fallback}"; filename*=UTF-8''${encodedFileName}`;
3902
3906
  }
3903
3907
  function statusForErrorCode(errorCode) {
3904
3908
  switch (errorCode) {
@@ -4197,19 +4201,28 @@ var RemoteFileBridge = class {
4197
4201
  );
4198
4202
  return;
4199
4203
  }
4200
- pending.headersSent = true;
4201
- pending.res.status(200);
4202
- pending.res.setHeader("Content-Type", msg.mimeType ?? "application/octet-stream");
4203
- pending.res.setHeader("Cache-Control", "no-store");
4204
- pending.res.setHeader("X-Content-Type-Options", "nosniff");
4205
- if (msg.size !== void 0) {
4206
- pending.res.setHeader("Content-Length", String(msg.size));
4204
+ try {
4205
+ pending.res.status(200);
4206
+ pending.res.setHeader("Content-Type", msg.mimeType ?? "application/octet-stream");
4207
+ pending.res.setHeader("Cache-Control", "no-store");
4208
+ pending.res.setHeader("X-Content-Type-Options", "nosniff");
4209
+ if (msg.size !== void 0) {
4210
+ pending.res.setHeader("Content-Length", String(msg.size));
4211
+ }
4212
+ pending.res.setHeader(
4213
+ "Content-Disposition",
4214
+ encodeContentDisposition(pending.token.disposition, msg.fileName ?? "download")
4215
+ );
4216
+ pending.res.flushHeaders();
4217
+ pending.headersSent = true;
4218
+ } catch (error) {
4219
+ pending.headersSent = pending.res.headersSent;
4220
+ this.deps.logger.error(
4221
+ { err: error, streamId: pending.streamId, fileName: msg.fileName },
4222
+ "Remote file response headers rejected"
4223
+ );
4224
+ this.failStream(pending.streamId, 500, "\u6587\u4EF6\u4E0B\u8F7D\u54CD\u5E94\u65E0\u6548");
4207
4225
  }
4208
- pending.res.setHeader(
4209
- "Content-Disposition",
4210
- encodeContentDisposition(pending.token.disposition, msg.fileName ?? "download")
4211
- );
4212
- pending.res.flushHeaders();
4213
4226
  }
4214
4227
  handleStreamComplete(pending, msg) {
4215
4228
  clearTimeout(pending.metadataTimer);
@@ -4652,4 +4665,4 @@ export {
4652
4665
  parseRelayChaosFromEnv,
4653
4666
  createRelayServer
4654
4667
  };
4655
- //# sourceMappingURL=chunk-ZOAJSSWC.js.map
4668
+ //# sourceMappingURL=chunk-TEKJMBGR.js.map