@37chengshan/ompweb 4.0.4 → 4.0.5

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.
Files changed (84) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -9
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +1 -1
  5. package/.next/required-server-files.js +2 -2
  6. package/.next/required-server-files.json +2 -2
  7. package/.next/routes-manifest.json +24 -2
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found.html +1 -1
  14. package/.next/server/app/_not-found.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/api/app-update/route.js +1 -1
  19. package/.next/server/app/api/files/[...path]/route.js +1 -1
  20. package/.next/server/app/api/git/diff/route.js +1 -1
  21. package/.next/server/app/api/git/status/route.js +1 -1
  22. package/.next/server/app/index.html +1 -1
  23. package/.next/server/app/index.rsc +1 -1
  24. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/index.segments/_full.segment.rsc +1 -1
  26. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/login.html +1 -1
  28. package/.next/server/app/login.rsc +1 -1
  29. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  30. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  31. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  32. package/.next/server/app-paths-manifest.json +9 -9
  33. package/.next/server/middleware-build-manifest.js +1 -1
  34. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  35. package/.next/server/next-font-manifest.js +1 -1
  36. package/.next/server/next-font-manifest.json +1 -1
  37. package/.next/server/pages/404.html +1 -1
  38. package/.next/server/pages/500.html +1 -1
  39. package/.next/standalone/.next/BUILD_ID +1 -1
  40. package/.next/standalone/.next/app-path-routes-manifest.json +9 -9
  41. package/.next/standalone/.next/build-manifest.json +3 -3
  42. package/.next/standalone/.next/react-loadable-manifest.json +1 -1
  43. package/.next/standalone/.next/required-server-files.json +2 -2
  44. package/.next/standalone/.next/routes-manifest.json +24 -2
  45. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  46. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  47. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  51. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  52. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/api/app-update/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/files/[...path]/route.js +1 -1
  57. package/.next/standalone/.next/server/app/api/git/diff/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/git/status/route.js +1 -1
  59. package/.next/standalone/.next/server/app/index.html +1 -1
  60. package/.next/standalone/.next/server/app/index.rsc +1 -1
  61. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/login.html +1 -1
  65. package/.next/standalone/.next/server/app/login.rsc +1 -1
  66. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app-paths-manifest.json +9 -9
  70. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  71. package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  72. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  73. package/.next/standalone/.next/server/next-font-manifest.json +1 -1
  74. package/.next/standalone/.next/server/pages/404.html +1 -1
  75. package/.next/standalone/.next/server/pages/500.html +1 -1
  76. package/.next/standalone/package.json +22 -4
  77. package/.next/standalone/server.js +1 -1
  78. package/.next/static/chunks/{1147.a11b66ffeb201d02.js → 1147.cb989e1cb0ba5ad6.js} +1 -1
  79. package/.next/static/chunks/{webpack-9691f4590ba70cb8.js → webpack-b10306427dc17cac.js} +1 -1
  80. package/desktop/main.js +17 -0
  81. package/next.config.ts +40 -23
  82. package/package.json +22 -4
  83. /package/.next/static/{r2kW0snAtbTZ8muUOUByQ → db1mVu1uee4ag1NduRcLL}/_buildManifest.js +0 -0
  84. /package/.next/static/{r2kW0snAtbTZ8muUOUByQ → db1mVu1uee4ag1NduRcLL}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (()=>{"use strict";var e,t,a,r,c,d,f,o,n,b={},i={};function l(e){var t=i[e];if(void 0!==t)return t.exports;var a=i[e]={exports:{}},r=!0;try{b[e].call(a.exports,a,a.exports,l),r=!1}finally{r&&delete i[e]}return a.exports}l.m=b,e=[],l.O=(t,a,r,c)=>{if(a){c=c||0;for(var d=e.length;d>0&&e[d-1][2]>c;d--)e[d]=e[d-1];e[d]=[a,r,c];return}for(var f=1/0,d=0;d<e.length;d++){for(var[a,r,c]=e[d],o=!0,n=0;n<a.length;n++)(!1&c||f>=c)&&Object.keys(l.O).every(e=>l.O[e](a[n]))?a.splice(n--,1):(o=!1,c<f&&(f=c));if(o){e.splice(d--,1);var b=r();void 0!==b&&(t=b)}}return t},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,l.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);l.r(c);var d={};t=t||[null,a({}),a([]),a(a)];for(var f=2&r&&e;"object"==typeof f&&!~t.indexOf(f);f=a(f))Object.getOwnPropertyNames(f).forEach(t=>d[t]=()=>e[t]);return d.default=()=>e,l.d(c,d),c},l.d=(e,t)=>{for(var a in t)l.o(t,a)&&!l.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((t,a)=>(l.f[a](e,t),t),[])),l.u=e=>2584===e?"static/chunks/2584-d4cd2d8de76d5e35.js":"static/chunks/"+(({988:"993e5495",1048:"db9d41be",3888:"e868780c",7330:"d3ac728e",8133:"1ba63609",8747:"90542734",8924:"da12927c",9425:"bf2ff291"})[e]||e)+"."+({103:"23142a67b02246a8",268:"ec500965c1761e26",370:"8e8f3cf8eb0e29dd",394:"475e54c848486e3a",398:"ffa02af9062a3950",484:"c74eeb0fca9a9ddf",852:"60444b32fcbeb00c",869:"7152372b662e31af",918:"6a9bbe564e4a2d0f",934:"9006461bd0548660",973:"9efc01efd9d768a5",988:"598a97aa1337298f",1032:"d9a9179233599785",1048:"27ee8fcc7bf00d70",1063:"775c442bdbeef08b",1133:"0f37525b2b215f36",1147:"a11b66ffeb201d02",1327:"09252bb80616cc3a",1708:"c3a1896e4cc9f8d9",1781:"9072b4c9586df549",2081:"47b6e9391094055f",2181:"ba21239d3ac39f81",2201:"08d1cac24fc438ee",2258:"4defa30121ef44a5",2325:"23caf22075e51aa5",2356:"523277bb8c6bf72a",2414:"8b3662a85cd1b14e",2418:"b5d9e177e10a686e",2480:"cf27ca02e5b19761",2539:"c5a4f2fd8e421c70",2619:"9431a3f48da8eef4",2695:"b732ef1965253b3f",2703:"495a65ed14b2f094",2821:"934bcf60fbdc28c6",3251:"408c817adb161919",3308:"8e27b5c43a478f0d",3336:"a76f9485fe7cb762",3596:"9fdb605d40673ac8",3606:"ddd8065b4a3108bd",3716:"72bf4c9d7325debd",3888:"0440c4cbaec74878",3995:"eca0f5bef1fc3ae5",4004:"74b9bcf5478b1663",4202:"8440832386f023c7",4238:"6f102dcbcf2ae339",4405:"7a19458960a1058e",4424:"fd0c93a807a333e1",4559:"2e7ed39ea2757280",4854:"b64a1daa15899219",4866:"d1060b4faf2ae1e2",4970:"8a63b4953b0e4946",5020:"9ac8d0dc8390bb6e",5137:"f163e94c74a94d01",5165:"2681017cd0bd291f",5242:"7b643c6b3394cac1",5361:"afc00ab2626bacbf",5521:"cfdf2cfc6db31407",5526:"ff46471041fdcb79",5658:"aab0a7c617597ba5",5681:"dd0e66b0de16e54b",6121:"eb9023b1cbc78ee2",6161:"4836cd7d031026bf",6195:"8710aa41b2319dff",6202:"f4317cf0a48876f9",6294:"24f510c0c3e3714c",6654:"41440ef667144967",6794:"57bf1aff78682f3a",7256:"e07cf52d87d40252",7268:"2f59c671f26160f3",7330:"7964f816a1ca64e5",7331:"2add3c4e125a2dba",7543:"89f7b805ed0f2901",8114:"8a8fdee4c3b7fd4b",8133:"b2ae90f43319a29e",8200:"a36b9f8c983c6b9e",8747:"ae439f2382f58c51",8863:"fa0320ea586efb3b",8885:"d9308c756376780b",8901:"e117d206a917bda0",8924:"476aa688a637649c",9365:"a3e0e5ac101ccd02",9425:"244c8a7c1c14966a",9522:"c7c6e9c330f9ba6b",9614:"3221013d7f0af27f",9698:"4d09a99b9d99f3e5",9705:"40a82b97f214e28b",9754:"d67dec946fc871d4",9764:"2669775c6e107a01",9793:"4567af813117ad25",9974:"9a0f79beca65e8c4",9981:"678c7bcc42f24571"})[e]+".js",l.miniCssF=e=>"static/css/2f46e0db0d4a3aed.css",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},l.l=(e,t,a,c)=>{if(r[e])return void r[e].push(t);if(void 0!==a)for(var d,f,o=document.getElementsByTagName("script"),n=0;n<o.length;n++){var b=o[n];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")=="_N_E:"+a){d=b;break}}d||(f=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,l.nc&&d.setAttribute("nonce",l.nc),d.setAttribute("data-webpack","_N_E:"+a),d.src=l.tu(e)),r[e]=[t];var i=(t,a)=>{d.onerror=d.onload=null,clearTimeout(s);var c=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),c&&c.forEach(e=>e(a)),t)return t(a)},s=setTimeout(i.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=i.bind(null,d.onerror),d.onload=i.bind(null,d.onload),f&&document.head.appendChild(d)},l.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.tt=()=>(void 0===c&&(c={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(c=trustedTypes.createPolicy("nextjs#bundler",c))),c),l.tu=e=>l.tt().createScriptURL(e),l.p="/_next/",d={8068:0},l.f.miniCss=(e,t)=>{if(d[e])t.push(d[e]);else 0!==d[e]&&({5846:1})[e]&&t.push(d[e]=new Promise((t,a)=>{var r=l.miniCssF(e),c=l.p+r;if(((e,t)=>{for(var a=document.getElementsByTagName("link"),r=0;r<a.length;r++){var c=a[r],d=c.getAttribute("data-href")||c.getAttribute("href");if("stylesheet"===c.rel&&(d===e||d===t))return c}for(var f=document.getElementsByTagName("style"),r=0;r<f.length;r++){var c=f[r],d=c.getAttribute("data-href");if(d===e||d===t)return c}})(r,c))return t();((e,t,a,r)=>{var c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.onerror=c.onload=d=>{if(c.onerror=c.onload=null,"load"===d.type)a();else{var f=d&&("load"===d.type?"missing":d.type),o=d&&d.target&&d.target.href||t,n=Error("Loading CSS chunk "+e+" failed.\n("+o+")");n.code="CSS_CHUNK_LOAD_FAILED",n.type=f,n.request=o,c.parentNode.removeChild(c),r(n)}},c.href=t;if("function"==typeof _N_E_STYLE_LOAD){var d=c.href,f=c.onload,o=c.onerror;_N_E_STYLE_LOAD(0===d.indexOf(window.location.origin)?new URL(d).pathname:d).then(function(){f&&f.call(c,{type:"load"})},function(){o&&o.call(c,{})})}else document.head.appendChild(c)})(e,c,t,a)}).then(()=>{d[e]=0},t=>{throw delete d[e],t}))},f={8068:0,2859:0,2160:0,9894:0},l.f.j=(e,t)=>{var a=l.o(f,e)?f[e]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(2160|2859|5846|8068|9894)$/.test(e))f[e]=0;else{var r=new Promise((t,r)=>a=f[e]=[t,r]);t.push(a[2]=r);var c=l.p+l.u(e),d=Error();l.l(c,t=>{if(l.o(f,e)&&(0!==(a=f[e])&&(f[e]=void 0),a)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;d.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",d.name="ChunkLoadError",d.type=r,d.request=c,a[1](d)}},"chunk-"+e,e)}},l.O.j=e=>0===f[e],o=(e,t)=>{var a,r,[c,d,o]=t,n=0;if(c.some(e=>0!==f[e])){for(a in d)l.o(d,a)&&(l.m[a]=d[a]);if(o)var b=o(l)}for(e&&e(t);n<c.length;n++)r=c[n],l.o(f,r)&&f[r]&&f[r][0](),f[r]=0;return l.O(b)},(n=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(o.bind(null,0)),n.push=o.bind(null,n.push.bind(n)),l.nc=void 0})();
1
+ (()=>{"use strict";var e,t,a,c,r,d,f,o,n,b={},i={};function l(e){var t=i[e];if(void 0!==t)return t.exports;var a=i[e]={exports:{}},c=!0;try{b[e].call(a.exports,a,a.exports,l),c=!1}finally{c&&delete i[e]}return a.exports}l.m=b,e=[],l.O=(t,a,c,r)=>{if(a){r=r||0;for(var d=e.length;d>0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[a,c,r];return}for(var f=1/0,d=0;d<e.length;d++){for(var[a,c,r]=e[d],o=!0,n=0;n<a.length;n++)(!1&r||f>=r)&&Object.keys(l.O).every(e=>l.O[e](a[n]))?a.splice(n--,1):(o=!1,r<f&&(f=r));if(o){e.splice(d--,1);var b=c();void 0!==b&&(t=b)}}return t},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,l.t=function(e,c){if(1&c&&(e=this(e)),8&c||"object"==typeof e&&e&&(4&c&&e.__esModule||16&c&&"function"==typeof e.then))return e;var r=Object.create(null);l.r(r);var d={};t=t||[null,a({}),a([]),a(a)];for(var f=2&c&&e;"object"==typeof f&&!~t.indexOf(f);f=a(f))Object.getOwnPropertyNames(f).forEach(t=>d[t]=()=>e[t]);return d.default=()=>e,l.d(r,d),r},l.d=(e,t)=>{for(var a in t)l.o(t,a)&&!l.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce((t,a)=>(l.f[a](e,t),t),[])),l.u=e=>2584===e?"static/chunks/2584-d4cd2d8de76d5e35.js":"static/chunks/"+(({988:"993e5495",1048:"db9d41be",3888:"e868780c",7330:"d3ac728e",8133:"1ba63609",8747:"90542734",8924:"da12927c",9425:"bf2ff291"})[e]||e)+"."+({103:"23142a67b02246a8",268:"ec500965c1761e26",370:"8e8f3cf8eb0e29dd",394:"475e54c848486e3a",398:"ffa02af9062a3950",484:"c74eeb0fca9a9ddf",852:"60444b32fcbeb00c",869:"7152372b662e31af",918:"6a9bbe564e4a2d0f",934:"9006461bd0548660",973:"9efc01efd9d768a5",988:"598a97aa1337298f",1032:"d9a9179233599785",1048:"27ee8fcc7bf00d70",1063:"775c442bdbeef08b",1133:"0f37525b2b215f36",1147:"cb989e1cb0ba5ad6",1327:"09252bb80616cc3a",1708:"c3a1896e4cc9f8d9",1781:"9072b4c9586df549",2081:"47b6e9391094055f",2181:"ba21239d3ac39f81",2201:"08d1cac24fc438ee",2258:"4defa30121ef44a5",2325:"23caf22075e51aa5",2356:"523277bb8c6bf72a",2414:"8b3662a85cd1b14e",2418:"b5d9e177e10a686e",2480:"cf27ca02e5b19761",2539:"c5a4f2fd8e421c70",2619:"9431a3f48da8eef4",2695:"b732ef1965253b3f",2703:"495a65ed14b2f094",2821:"934bcf60fbdc28c6",3251:"408c817adb161919",3308:"8e27b5c43a478f0d",3336:"a76f9485fe7cb762",3596:"9fdb605d40673ac8",3606:"ddd8065b4a3108bd",3716:"72bf4c9d7325debd",3888:"0440c4cbaec74878",3995:"eca0f5bef1fc3ae5",4004:"74b9bcf5478b1663",4202:"8440832386f023c7",4238:"6f102dcbcf2ae339",4405:"7a19458960a1058e",4424:"fd0c93a807a333e1",4559:"2e7ed39ea2757280",4854:"b64a1daa15899219",4866:"d1060b4faf2ae1e2",4970:"8a63b4953b0e4946",5020:"9ac8d0dc8390bb6e",5137:"f163e94c74a94d01",5165:"2681017cd0bd291f",5242:"7b643c6b3394cac1",5361:"afc00ab2626bacbf",5521:"cfdf2cfc6db31407",5526:"ff46471041fdcb79",5658:"aab0a7c617597ba5",5681:"dd0e66b0de16e54b",6121:"eb9023b1cbc78ee2",6161:"4836cd7d031026bf",6195:"8710aa41b2319dff",6202:"f4317cf0a48876f9",6294:"24f510c0c3e3714c",6654:"41440ef667144967",6794:"57bf1aff78682f3a",7256:"e07cf52d87d40252",7268:"2f59c671f26160f3",7330:"7964f816a1ca64e5",7331:"2add3c4e125a2dba",7543:"89f7b805ed0f2901",8114:"8a8fdee4c3b7fd4b",8133:"b2ae90f43319a29e",8200:"a36b9f8c983c6b9e",8747:"ae439f2382f58c51",8863:"fa0320ea586efb3b",8885:"d9308c756376780b",8901:"e117d206a917bda0",8924:"476aa688a637649c",9365:"a3e0e5ac101ccd02",9425:"244c8a7c1c14966a",9522:"c7c6e9c330f9ba6b",9614:"3221013d7f0af27f",9698:"4d09a99b9d99f3e5",9705:"40a82b97f214e28b",9754:"d67dec946fc871d4",9764:"2669775c6e107a01",9793:"4567af813117ad25",9974:"9a0f79beca65e8c4",9981:"678c7bcc42f24571"})[e]+".js",l.miniCssF=e=>"static/css/2f46e0db0d4a3aed.css",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c={},l.l=(e,t,a,r)=>{if(c[e])return void c[e].push(t);if(void 0!==a)for(var d,f,o=document.getElementsByTagName("script"),n=0;n<o.length;n++){var b=o[n];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")=="_N_E:"+a){d=b;break}}d||(f=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,l.nc&&d.setAttribute("nonce",l.nc),d.setAttribute("data-webpack","_N_E:"+a),d.src=l.tu(e)),c[e]=[t];var i=(t,a)=>{d.onerror=d.onload=null,clearTimeout(s);var r=c[e];if(delete c[e],d.parentNode&&d.parentNode.removeChild(d),r&&r.forEach(e=>e(a)),t)return t(a)},s=setTimeout(i.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=i.bind(null,d.onerror),d.onload=i.bind(null,d.onload),f&&document.head.appendChild(d)},l.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.tt=()=>(void 0===r&&(r={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(r=trustedTypes.createPolicy("nextjs#bundler",r))),r),l.tu=e=>l.tt().createScriptURL(e),l.p="/_next/",d={8068:0},l.f.miniCss=(e,t)=>{if(d[e])t.push(d[e]);else 0!==d[e]&&({5846:1})[e]&&t.push(d[e]=new Promise((t,a)=>{var c=l.miniCssF(e),r=l.p+c;if(((e,t)=>{for(var a=document.getElementsByTagName("link"),c=0;c<a.length;c++){var r=a[c],d=r.getAttribute("data-href")||r.getAttribute("href");if("stylesheet"===r.rel&&(d===e||d===t))return r}for(var f=document.getElementsByTagName("style"),c=0;c<f.length;c++){var r=f[c],d=r.getAttribute("data-href");if(d===e||d===t)return r}})(c,r))return t();((e,t,a,c)=>{var r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.onerror=r.onload=d=>{if(r.onerror=r.onload=null,"load"===d.type)a();else{var f=d&&("load"===d.type?"missing":d.type),o=d&&d.target&&d.target.href||t,n=Error("Loading CSS chunk "+e+" failed.\n("+o+")");n.code="CSS_CHUNK_LOAD_FAILED",n.type=f,n.request=o,r.parentNode.removeChild(r),c(n)}},r.href=t;if("function"==typeof _N_E_STYLE_LOAD){var d=r.href,f=r.onload,o=r.onerror;_N_E_STYLE_LOAD(0===d.indexOf(window.location.origin)?new URL(d).pathname:d).then(function(){f&&f.call(r,{type:"load"})},function(){o&&o.call(r,{})})}else document.head.appendChild(r)})(e,r,t,a)}).then(()=>{d[e]=0},t=>{throw delete d[e],t}))},f={8068:0,2859:0,2160:0,9894:0},l.f.j=(e,t)=>{var a=l.o(f,e)?f[e]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(2160|2859|5846|8068|9894)$/.test(e))f[e]=0;else{var c=new Promise((t,c)=>a=f[e]=[t,c]);t.push(a[2]=c);var r=l.p+l.u(e),d=Error();l.l(r,t=>{if(l.o(f,e)&&(0!==(a=f[e])&&(f[e]=void 0),a)){var c=t&&("load"===t.type?"missing":t.type),r=t&&t.target&&t.target.src;d.message="Loading chunk "+e+" failed.\n("+c+": "+r+")",d.name="ChunkLoadError",d.type=c,d.request=r,a[1](d)}},"chunk-"+e,e)}},l.O.j=e=>0===f[e],o=(e,t)=>{var a,c,[r,d,o]=t,n=0;if(r.some(e=>0!==f[e])){for(a in d)l.o(d,a)&&(l.m[a]=d[a]);if(o)var b=o(l)}for(e&&e(t);n<r.length;n++)c=r[n],l.o(f,c)&&f[c]&&f[c][0](),f[c]=0;return l.O(b)},(n=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(o.bind(null,0)),n.push=o.bind(null,n.push.bind(n)),l.nc=void 0})();
package/desktop/main.js CHANGED
@@ -194,8 +194,25 @@ function createWindow() {
194
194
  });
195
195
  mainWindow.webContents.on("console-message", (_e, _lvl, message) => appLog("window console: " + String(message).slice(0, 200)));
196
196
  mainWindow.webContents.on("did-finish-load", () => appLog("window loaded: " + mainWindow.webContents.getURL()));
197
+ // Cold-start race: the splash page navigates to APP_URL on its own timer,
198
+ // but on slow machines (first run, Windows Defender scanning the freshly
199
+ // installed standalone) the server may not be listening yet — the app then
200
+ // sits on a blank page until a manual refresh. Retry the navigation a few
201
+ // times until the server answers.
202
+ let splashReloads = 0;
203
+ mainWindow.webContents.on("did-fail-load", (_event, code, desc, url) => {
204
+ appLog(`did-fail-load ${code} ${desc} ${url}`);
205
+ if (!url.startsWith(APP_URL)) return;
206
+ if (splashReloads >= 8) return;
207
+ splashReloads += 1;
208
+ setTimeout(() => {
209
+ if (!mainWindow || mainWindow.isDestroyed()) return;
210
+ if (!quitting) mainWindow.loadURL(APP_URL);
211
+ }, 1200);
212
+ });
197
213
  mainWindow.on("closed", () => {
198
214
  mainWindow = null;
215
+ splashReloads = 0;
199
216
  });
200
217
  }
201
218
 
package/next.config.ts CHANGED
@@ -75,34 +75,51 @@ const nextConfig = (phase: string): NextConfig => {
75
75
  { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
76
76
  { key: "Content-Security-Policy", value: "default-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; object-src 'none'; img-src 'self' data: blob: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self' ws: wss:; font-src 'self' data:" },
77
77
  ];
78
- const headers = [
79
- {
80
- source: "/:path*",
81
- headers: securityHeaders,
82
- },
83
- {
84
- // Hashed build output never changes, so browsers/proxies may cache it
85
- // immutably for a year and skip revalidation entirely.
86
- // NOTE: scoped to /_next/static/ only — broader /_next/ patterns would
87
- // shadow the HMR WebSocket in development.
88
- source: "/_next/static/:path*",
89
- headers: [
90
- { key: "Cache-Control", value: "public, max-age=31536000, immutable" },
91
- ],
92
- },
93
- {
94
- source: "/",
95
- headers: [
96
- { key: "Cache-Control", value: "private, no-cache, max-age=0, must-revalidate" },
97
- ],
98
- },
78
+ // /api/files streams workspace files whose document policy depends on the
79
+ // content type (strict CSP for SVG, the DOCX preview policy, none for
80
+ // media the browser renders natively). Config-level headers overwrite
81
+ // same-key headers set by route handlers, so the global CSP must not
82
+ // match these paths — it would both reopen script execution for SVG
83
+ // documents and block the same-origin <iframe> previews (DOCX/PDF) with
84
+ // frame-ancestors 'none'. The handler-agnostic protections stay here.
85
+ const fileResponseHeaders = [
86
+ { key: "X-Content-Type-Options", value: "nosniff" },
87
+ { key: "X-Frame-Options", value: "SAMEORIGIN" },
88
+ { key: "Referrer-Policy", value: "no-referrer" },
89
+ { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
99
90
  ];
91
+ const globalRule = {
92
+ // Everything except /api/files (negative lookahead, same pattern style
93
+ // as the proxy matcher).
94
+ source: "/((?!api/files/).*)",
95
+ headers: securityHeaders,
96
+ };
97
+ const fileRule = {
98
+ source: "/api/files/:path*",
99
+ headers: fileResponseHeaders,
100
+ };
101
+ const rootNoCacheRule = {
102
+ source: "/",
103
+ headers: [
104
+ { key: "Cache-Control", value: "private, no-cache, max-age=0, must-revalidate" },
105
+ ],
106
+ };
107
+ const staticImmutableRule = {
108
+ // Hashed build output never changes, so browsers/proxies may cache it
109
+ // immutably for a year and skip revalidation entirely.
110
+ // NOTE: scoped to /_next/static/ only — broader /_next/ patterns would
111
+ // shadow the HMR WebSocket in development.
112
+ source: "/_next/static/:path*",
113
+ headers: [
114
+ { key: "Cache-Control", value: "public, max-age=31536000, immutable" },
115
+ ],
116
+ };
100
117
 
101
118
  // Dev chunks have stable URLs whose content changes in place; caching
102
119
  // them immutably would serve stale module factories after a restart.
103
- if (isDev) return [headers[0], headers[2]];
120
+ if (isDev) return [globalRule, fileRule, rootNoCacheRule];
104
121
 
105
- return headers;
122
+ return [globalRule, fileRule, staticImmutableRule, rootNoCacheRule];
106
123
  },
107
124
  env: {
108
125
  NEXT_PUBLIC_APP_VERSION: version,
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@37chengshan/ompweb",
3
- "version": "4.0.4",
3
+ "version": "4.0.5",
4
4
  "description": "Web UI for the oh-my-pi (omp) coding agent",
5
5
  "homepage": "https://github.com/kahme247/ompweb#readme",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/kahme247/ompweb.git"
8
+ "url": "git+https://github.com/37chengshan/ompweb.git"
9
9
  },
10
10
  "bugs": {
11
11
  "url": "https://github.com/kahme247/ompweb/issues"
@@ -115,6 +115,15 @@
115
115
  ],
116
116
  "icon": "public/icon.png"
117
117
  },
118
+ "nsis": {
119
+ "oneClick": false,
120
+ "allowToChangeInstallationDirectory": true,
121
+ "perMachine": false,
122
+ "createDesktopShortcut": true,
123
+ "createStartMenuShortcut": true,
124
+ "shortcutName": "OmpWeb",
125
+ "artifactName": "OmpWeb-Setup-${version}.${ext}"
126
+ },
118
127
  "linux": {
119
128
  "target": [
120
129
  "AppImage"
@@ -147,6 +156,15 @@
147
156
  "from": "templates/desktop/splash.mp4",
148
157
  "to": "splash.mp4"
149
158
  }
159
+ ],
160
+ "publish": [
161
+ {
162
+ "provider": "github",
163
+ "owner": "37chengshan",
164
+ "repo": "ompweb",
165
+ "releaseType": "release"
166
+ }
150
167
  ]
151
- }
152
- }
168
+ },
169
+ "author": "37chengshan"
170
+ }