@duplicati/ngclient 0.0.214 → 0.0.218

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 (116) hide show
  1. package/assets/sh-bold.woff2 +0 -0
  2. package/assets/sh.woff2 +0 -0
  3. package/{chunk-JMLM4A3C.js → chunk-2C3OMPC2.js} +1 -1
  4. package/{chunk-VCIINZCU.js → chunk-2LDEHODA.js} +1 -1
  5. package/{chunk-TZEOQBIX.js → chunk-3374ABNZ.js} +1 -1
  6. package/{chunk-QAQMMCTH.js → chunk-4KFQXVKU.js} +1 -1
  7. package/chunk-4U5P2NHK.js +1 -0
  8. package/{chunk-22YUDKKU.js → chunk-53YJLSUR.js} +1 -1
  9. package/{chunk-I625OICV.js → chunk-54IBJBVK.js} +1 -1
  10. package/{chunk-2NLWVJNK.js → chunk-5DB5LJ2V.js} +1 -1
  11. package/{chunk-VI7MBIGT.js → chunk-5Q47XWAA.js} +1 -1
  12. package/chunk-5QCIXYJ2.js +1 -0
  13. package/{chunk-35APLYI4.js → chunk-5TT43ERP.js} +1 -1
  14. package/{chunk-APAWDC4O.js → chunk-5VAN6GVG.js} +1 -1
  15. package/{chunk-3XCT4PYH.js → chunk-6HY2QKBL.js} +1 -1
  16. package/chunk-6LPGVWBH.js +1 -0
  17. package/{chunk-PBYZZEYM.js → chunk-6PPCACHR.js} +1 -1
  18. package/{chunk-AJZA5YWT.js → chunk-6XWKOOJR.js} +1 -1
  19. package/{chunk-BRL4YYWO.js → chunk-7BK2K5ML.js} +1 -1
  20. package/{chunk-U34FLIYL.js → chunk-7PBEL6UP.js} +1 -1
  21. package/{chunk-L2QOWZDR.js → chunk-AAUAZ76N.js} +1 -1
  22. package/{chunk-EQNDYV43.js → chunk-AC34YYIW.js} +1 -1
  23. package/{chunk-AMSFSVKQ.js → chunk-B7CN4JEV.js} +1 -1
  24. package/{chunk-YGHS3INE.js → chunk-B7PXB6LO.js} +1 -1
  25. package/{chunk-GE3DHZ5E.js → chunk-BOD6INK4.js} +1 -1
  26. package/{chunk-M5RTYP7N.js → chunk-C56RQYG4.js} +1 -1
  27. package/chunk-CL2S4OQ7.js +1 -0
  28. package/{chunk-QQLV7J6T.js → chunk-DJIBS7A6.js} +1 -1
  29. package/{chunk-S3FBC24H.js → chunk-DQISAVUL.js} +1 -1
  30. package/chunk-E3UAEGAI.js +1 -0
  31. package/{chunk-V7UJAXBT.js → chunk-EZZPO6ZZ.js} +1 -1
  32. package/{chunk-MRSBKQQM.js → chunk-FHH444ZI.js} +1 -1
  33. package/{chunk-KHZ5AXGT.js → chunk-G5IUH2UI.js} +1 -1
  34. package/{chunk-J5TWEZOP.js → chunk-GEATZGKK.js} +1 -1
  35. package/{chunk-BDQJFOCO.js → chunk-GIITUFAQ.js} +1 -1
  36. package/chunk-GNMIMW7D.js +1 -0
  37. package/{chunk-VDHWNNO7.js → chunk-GQWUTQIZ.js} +1 -1
  38. package/{chunk-WALKMFYR.js → chunk-HKQDPKTA.js} +1 -1
  39. package/{chunk-GCYBVLSX.js → chunk-HN6343SO.js} +1 -1
  40. package/{chunk-CYY7RVDE.js → chunk-HSAIFBZZ.js} +1 -1
  41. package/{chunk-DTIGWCAE.js → chunk-IFZC7RUJ.js} +1 -1
  42. package/{chunk-QRLREAIK.js → chunk-IHNPTBK2.js} +1 -1
  43. package/{chunk-OO32MPRQ.js → chunk-IM6CS76E.js} +1 -1
  44. package/chunk-J6OYVDRR.js +1 -0
  45. package/{chunk-CW43F6WE.js → chunk-JJ5XEJ75.js} +1 -1
  46. package/{chunk-R5OX4JTJ.js → chunk-JNWS5H5A.js} +1 -1
  47. package/{chunk-22PELS6R.js → chunk-KDWGBKDI.js} +1 -1
  48. package/{chunk-B7CQXYTS.js → chunk-KQR3DEQ4.js} +1 -1
  49. package/{chunk-7WOSHJ7G.js → chunk-KTRNTLNO.js} +1 -1
  50. package/{chunk-5L2OOKRZ.js → chunk-LFWCPFV7.js} +1 -1
  51. package/{chunk-2E5PWPGZ.js → chunk-LRZXNEAQ.js} +1 -1
  52. package/{chunk-FSHBOASN.js → chunk-MI3BETEH.js} +1 -1
  53. package/{chunk-AZRNX5LU.js → chunk-MZAGGSG2.js} +1 -1
  54. package/chunk-NFXXT6A3.js +4 -0
  55. package/chunk-NPL5UWFD.js +1 -0
  56. package/{chunk-FMDSOHVR.js → chunk-NXEMSNQO.js} +1 -1
  57. package/{chunk-U3A754M6.js → chunk-O42PEGVX.js} +1 -1
  58. package/{chunk-R6TFME5I.js → chunk-O6ZQRIZA.js} +1 -1
  59. package/{chunk-XZNYCTQB.js → chunk-OMOPTBR2.js} +1 -1
  60. package/chunk-OW2XLFBF.js +1 -0
  61. package/{chunk-5FQ5SDPZ.js → chunk-OZDUAVJM.js} +1 -1
  62. package/{chunk-YMUS7QSB.js → chunk-PAXRIMTV.js} +1 -1
  63. package/{chunk-WIE7KXIC.js → chunk-PSISW3DT.js} +1 -1
  64. package/chunk-Q6A652RP.js +1 -0
  65. package/chunk-R3H3RDDJ.js +1 -0
  66. package/chunk-RLWCEUKT.js +1 -0
  67. package/{chunk-T2X5J6MQ.js → chunk-RXWMHEJY.js} +1 -1
  68. package/{chunk-HHDCI6IF.js → chunk-RZTMWVAA.js} +1 -1
  69. package/chunk-S235GCI6.js +1 -0
  70. package/{chunk-7FDLOZXV.js → chunk-S36F6ZJZ.js} +1 -1
  71. package/{chunk-ADB5QRUO.js → chunk-SDKAVOP6.js} +1 -1
  72. package/{chunk-OBF6ZSYT.js → chunk-SRILTSQM.js} +1 -1
  73. package/{chunk-VGBTP4QP.js → chunk-SXNQOAUJ.js} +1 -1
  74. package/{chunk-ZK3S23CJ.js → chunk-TMS3I5A2.js} +1 -1
  75. package/{chunk-GO22QPW4.js → chunk-TSDCJYMP.js} +1 -1
  76. package/{chunk-HO6FQWDR.js → chunk-UOTOQXS3.js} +1 -1
  77. package/{chunk-XAYG4QT7.js → chunk-UT42UQWA.js} +1 -1
  78. package/chunk-V42HCQ3A.js +1 -0
  79. package/chunk-V4NNTODH.js +1 -0
  80. package/{chunk-NBKLLQQO.js → chunk-V6U75SVY.js} +1 -1
  81. package/{chunk-KHFOQETZ.js → chunk-VJ3PK33N.js} +1 -1
  82. package/{chunk-XCVBN7EK.js → chunk-VOHSRCTH.js} +1 -1
  83. package/{chunk-7PYUNUEY.js → chunk-X5TRWBWL.js} +1 -1
  84. package/{chunk-EGTYGTQI.js → chunk-X6S2TQ5D.js} +1 -1
  85. package/{chunk-J6WVOYQ6.js → chunk-XZS6HRVR.js} +1 -1
  86. package/{chunk-LU7TIW3P.js → chunk-Y3LMRA5G.js} +1 -1
  87. package/{chunk-3PUCEFO5.js → chunk-Y4TMGQ3H.js} +1 -1
  88. package/{chunk-CQYKOCGO.js → chunk-Y6WYFFBC.js} +1 -1
  89. package/{chunk-OZEGNE5W.js → chunk-YEMKFHRS.js} +1 -1
  90. package/{chunk-Y3YNTMT5.js → chunk-YXRM2NKT.js} +1 -1
  91. package/chunk-ZJAQQH7X.js +1 -0
  92. package/chunk-ZXAPMIF3.js +1 -0
  93. package/index.html +2 -2
  94. package/{main-7HIGYDD6.js → main-57XFFSWO.js} +1 -1
  95. package/package.json +1 -1
  96. package/ship-ui-assets/mcp/components.json +3079 -2415
  97. package/styles-VWVVVLVS.css +1 -0
  98. package/chunk-522J6R6I.js +0 -1
  99. package/chunk-7ED2GUWQ.js +0 -1
  100. package/chunk-7YSKL3IG.js +0 -1
  101. package/chunk-B3T2NEGO.js +0 -1
  102. package/chunk-BME6TJIR.js +0 -1
  103. package/chunk-BP66ERTI.js +0 -1
  104. package/chunk-C2NKW2QW.js +0 -1
  105. package/chunk-EU6N52DH.js +0 -1
  106. package/chunk-HYYZB4AS.js +0 -1
  107. package/chunk-IJHPC43D.js +0 -1
  108. package/chunk-LOFKRPRH.js +0 -1
  109. package/chunk-NCXKMSRH.js +0 -1
  110. package/chunk-QUXPHHDZ.js +0 -1
  111. package/chunk-TJNL6F5S.js +0 -1
  112. package/chunk-UH2E7MMT.js +0 -4
  113. package/chunk-Y3BYCXUX.js +0 -1
  114. package/chunk-YPWKWP5H.js +0 -1
  115. package/chunk-ZXQSQRKN.js +0 -1
  116. package/styles-43GHZ572.css +0 -1
@@ -1 +1 @@
1
- import{b as Ie,c as ke}from"./chunk-3XCT4PYH.js";import{a as we}from"./chunk-J5TWEZOP.js";import{a as Ee}from"./chunk-KHFOQETZ.js";import{b as I}from"./chunk-I625OICV.js";import"./chunk-XCVBN7EK.js";import{a as Me}from"./chunk-ADB5QRUO.js";import{b as Te}from"./chunk-22PELS6R.js";import{a as V}from"./chunk-6Q6SSTBK.js";import{a as Se}from"./chunk-MRSBKQQM.js";import"./chunk-35APLYI4.js";import"./chunk-LU7TIW3P.js";import"./chunk-XZNYCTQB.js";import{a as H}from"./chunk-R6TFME5I.js";import{a as h,b as ye,c as v,d as Re,e as E}from"./chunk-AZRNX5LU.js";import{u as be,x as Ce}from"./chunk-NCXKMSRH.js";import{a as ge,e as ve}from"./chunk-QAQMMCTH.js";import{c as le,d as me,g as de,h as ue,i as he,j as fe}from"./chunk-KHZ5AXGT.js";import{a as ne}from"./chunk-L2QOWZDR.js";import{a as re,b as se,c as ie,e as ae,f as pe,g as ce}from"./chunk-BRL4YYWO.js";import{ha as te,ma as oe}from"./chunk-BDQJFOCO.js";import"./chunk-FSHBOASN.js";import{A as B,F as J,Fb as Y,L as T,Mc as Z,N as K,Nc as ee,V as C,Y as _,_ as s,f as F,g as W,gb as Q,ha as q,ia as z,l as $,m as G,pa as d,q as w,ra as X,z as P}from"./chunk-UH2E7MMT.js";import"./chunk-7CGTOI24.js";var k=class e{#e=s(h);#d=s(v);ngOnInit(){ye(),this.#d.fetchConfig(),this.#e.clearAllNotCurrentVersion()}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=Q({type:e,selectors:[["app-root"]],decls:1,vars:0,template:function(t,n){t&1&&Y(0,"router-outlet")},dependencies:[le],encapsulation:2})};var Ae={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var f=new _("ENVIRONMENT");var A=class e{#e=s(ve);isLoaded=d(!1);webmodules=d(null);preload(o=!1){let t=this.#e.getApiV1Webmodules().pipe(K(n=>this.webmodules.set(n)),J(()=>this.isLoaded.set(!0)));if(o)return t;t.subscribe()}static \u0275fac=function(t){return new(t||e)};static \u0275prov=C({token:e,factory:e.\u0275fac,providedIn:"root"})};var Ue=()=>{let e=s(E);return e.token()?!0:e.checkProxyAuthed().pipe(T(o=>o?$(!0):e.refreshToken().pipe(w(()=>!0))))},je=()=>{let e=s(v),o=s(I),t=s(q),n=e.relayIsEnabled()?"longpoll":"websocket",i=[t.get(H).preload(!0),t.get(H).preloadFilterGroups(!0),t.get(A).preload(!0)];return e.configLoaded===null?P(i).pipe(w(()=>n)):e.configLoaded?.pipe(T(()=>P(i)))},Fe=()=>!0,Ne={path:"connect/:typeParam",loadComponent:()=>import("./chunk-PBYZZEYM.js")},We=()=>{let e=s(h);return!e.getItem("locale")&&navigator.language&&e.setItem("locale",navigator.language),!0},Oe=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-S3FBC24H.js")},{path:"logout",loadComponent:()=>import("./chunk-OZEGNE5W.js")},{path:"",canActivate:[Ue],children:[{path:"",canActivate:[je,Fe,We],children:[{path:"welcome",loadComponent:()=>import("./chunk-GE3DHZ5E.js"),children:[{path:"",redirectTo:"select",pathMatch:"full"},{path:"select",loadComponent:()=>import("./chunk-5FQ5SDPZ.js")},Ne]},{path:"",loadComponent:()=>import("./chunk-EGTYGTQI.js"),children:[{path:"",loadComponent:()=>import("./chunk-CW43F6WE.js")},Ne,{path:"destinations",loadComponent:()=>import("./chunk-22YUDKKU.js")},{path:"add-backup",loadComponent:()=>import("./chunk-CQYKOCGO.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-3PUCEFO5.js")},{path:"backup/import",loadComponent:()=>import("./chunk-WALKMFYR.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-AJZA5YWT.js"),loadChildren:()=>import("./chunk-C2NKW2QW.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-AJZA5YWT.js"),loadChildren:()=>import("./chunk-C2NKW2QW.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-VCIINZCU.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-JMLM4A3C.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-GCYBVLSX.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-WIE7KXIC.js")},{path:"backup/:id/delete",loadComponent:()=>import("./chunk-QRLREAIK.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-T2X5J6MQ.js")},{path:"from-config",loadComponent:()=>import("./chunk-AMSFSVKQ.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-7WOSHJ7G.js"),loadChildren:()=>import("./chunk-IJHPC43D.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-7WOSHJ7G.js"),loadChildren:()=>import("./chunk-IJHPC43D.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-7WOSHJ7G.js"),loadChildren:()=>import("./chunk-IJHPC43D.js")},{path:"status",loadComponent:()=>import("./chunk-R5OX4JTJ.js")},{path:"settings",loadComponent:()=>import("./chunk-V7UJAXBT.js")},{path:"about",loadComponent:()=>import("./chunk-XAYG4QT7.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-VDHWNNO7.js")},{path:"changelog",loadComponent:()=>import("./chunk-APAWDC4O.js")},{path:"libraries",loadComponent:()=>import("./chunk-DTIGWCAE.js")},{path:"system-info",loadComponent:()=>import("./chunk-2NLWVJNK.js")},{path:"server-settings",loadComponent:()=>import("./chunk-VI7MBIGT.js")},{path:"logs",loadChildren:()=>import("./chunk-EU6N52DH.js")},{path:"crashlogs",loadComponent:()=>import("./chunk-J6WVOYQ6.js")}]}]}]}]}]}];var xe=(e,o)=>{let t=s(E),n=s(me),i=s(h),p=s(f),m=i.getItem("locale"),a=s(Ce),g=Ie(m),r=ge.BASE||"",c=e.url===`${r}/api/v1/auth/login`,u=e.url===`${r}/api/v1/auth/logout`,S=e.url===`${r}/api/v1/auth/refresh`,y=e.url===`${r}/api/v1/progressstate`,x=e.url===`${r}/api/v1/remoteoperation/test`,M=e.url===`${r}/api/v1/filesystem/validate`,De=e.url.startsWith(`${r}/api/v2/`),L=t.token(),U=e,j=e.headers.has("custom-proxy-check")||L===Re;if(L&&e.url.startsWith(r+p.baseUrl)&&!j){let l=e.headers.set("Authorization",`Bearer ${L}`);m&&m!=="en-US"&&(l=l.set("X-Ui-Language",g)),U=e.clone({headers:l})}return o(U).pipe(w(l=>{if(l.type===4&&l.status===200&&De){let b=l.body;if(b?.Success===!1)throw{status:200,message:b?.Error??"Unknown error",error:{Error:b?.Error??"Unknown error"},requestBody:b}}return l}),B(l=>{let b=l.error?.Error||`Error Code: ${l.status}, Message: ${l.message}`;if(!j){let R=!0;if((y&&l.status===404||x||M)&&(R=!1),S&&l.status===401&&(R=!1,t.logout(),n.navigate(["/logout"])),!c&&!S&&!u&&l.status===401)return R=!1,t.refreshToken().pipe(T(()=>o(e.clone({headers:e.headers.set("Authorization",`Bearer ${t.token()}`)}))));R&&a.error(b)}return G(()=>({error:l,message:b}))}))};var N=class e{#e=s(z);showError(o){let t=this.#e.querySelector("body > .loading");if(!t)return;t.classList.add("has-error"),t.innerHTML="";let n=this.#e.createElement("div");n.classList.add("loading-title"),n.textContent="Unable to connect";let i=this.#e.createElement("div");i.classList.add("loading-error"),i.textContent=o||"Unknown error";let p=this.#e.createElement("button");p.type="button",p.classList.add("retry-button"),p.textContent="Retry",p.addEventListener("click",()=>{this.#e.defaultView?.location.reload()}),t.append(n,i,p)}static \u0275fac=function(t){return new(t||e)};static \u0275prov=C({token:e,factory:e.\u0275fac,providedIn:"root"})};var $e="1.0.0",Le=`portal-proxy-client-${V()}`,Ge=1,O=class e{#e=1e3;#d=s(f);#u=s(N);#o=d("disconnected");#h=d(this.#e);#a=d(!1);#n=d(!1);#p=d(null);#c=d(null);#s=!1;isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#o.asReadonly();#l=[];#r={};#t=null;#f=new TextDecoder("utf-8");#m=null;#y=X(()=>{let o=this.#a(),t=this.#h(),n=this.#p(),i=this.#c();if(!n||!i||!o||!t||t<this.#e){this.#m&&window.clearInterval(this.#m);return}this.#m=window.setInterval(()=>{this.connectToMachineServer(n,i)},t)});#i(o){this.#s||(this.#s=!0,this.#u.showError(o||"Unable to connect to the server."))}#g(){this.#s||(this.#s=!0)}utf8Atob(o){let t=Uint8Array.from(atob(o),i=>i.charCodeAt(0)),n=this.#f.decode(t);return n?JSON.parse(n):null}connectToMachineServer(o,t,n){let i=n?.reconnect??!1,p=this.wsState();(p==="disconnected"||p==="error"||i)&&(this.#t?.close(),this.#t=null),!this.#t&&(this.#s=!1,this.#t=new WebSocket(t),this.#o.set("connecting"),this.#t.onopen=()=>{this.#o.set("connect"),this.#n.set(!0),this.#a.set(!1),this.#p.set(null),this.#c.set(null)},this.#t.onclose=()=>{this.#o.set("disconnected"),this.#n.set(!1),this.#p.set(o),this.#c.set(t),this.#a.set(!0)},this.#t.onerror=()=>{this.#o.set("error")},this.#t.onmessage=m=>{let a=JSON.parse(m.data);if(this.wsState()==="connect"){if(a.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${a.type}'`);return}let r={token:o,publicKey:"",clientVersion:$e,protocolVersion:Ge},c=this.createResponse(a,"authportal",r);this.#o.set("welcome"),this.#t?.send(c)}else if(this.wsState()==="welcome"){if(a.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${a.type}'`);return}var g=JSON.parse(a.payload??"");if(g.accepted===!1){this.#i("Authentication failed"),this.disconnectFromMachineServer("Authentication failed");return}for(this.#o.set("authenticated"),this.#n.set(!0);this.#l.length>0;){let r=this.#l.pop();r&&this.#r[r.messageId]&&this.activateCommand(r)}}else if(this.wsState()==="authenticated"){if(a.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${a.type}'`);return}let r=this.#r[a.messageId];if(r){if(a.errorMessage)this.#i(a.errorMessage),r.reject(a.errorMessage);else{let c=JSON.parse(a.payload??"");c.statusCode>=400?this.#i(c.body||`Initial request failed with status code ${c.statusCode}`):this.#g(),c.body=c?.body==null?null:this.utf8Atob(c.body),r.resolve(c)}delete this.#r[a.messageId],window.clearTimeout(r.timer)}}})}disconnectFromMachineServer(o=null){o&&console.error(o),this.#t?.close(),this.#t=null,this.#o.set("disconnected"),this.#n.set(!1)}createResponse(o,t,n){let i={from:Le,to:o.from,type:t,messageId:o.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(o,t,n,i,p,m,a,g=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(o,n),new Promise((r,c)=>{let u=V(),y={from:Le,to:t,type:"command",messageId:u,payload:JSON.stringify({method:i,path:p,body:m,headers:a})},x={resolve:r,reject:c,timer:window.setTimeout(()=>{let M=this.#r[u];M&&(delete this.#r[u],this.#i("The request timed out before receiving a response."),M.reject("Timeout"))},g)};this.#r[u]=x,this.#n()?this.activateCommand(y):this.#l.push(y)})}activateCommand(o){this.#t?.send(JSON.stringify(o))}static \u0275fac=function(t){return new(t||e)};static \u0275prov=C({token:e,factory:e.\u0275fac,providedIn:"root"})};function Be(e){if(typeof e!="string")return null;let t=new TextEncoder().encode(e);return window.btoa(String.fromCharCode(...t))}function Pe(e,o,t){let n=e.relayconfigState.config();if(n===null)return t(o);let i=Be(o.body),p={};o.headers.keys().forEach(r=>{p[r]=o.headers.get(r)??""});let m=o.headers.get("timeout"),a=m!==null?parseInt(m):e.defaultTimeout;o.url.startsWith("/api/v1/serverstate")&&o.url.includes("longpoll=true")&&(a=1e3*99);let g=e.relayWebsocket.sendCommand(n.accessToken,n.clientId,n.machineServerUrl,o.method,o.url,i,p,a);return new F(r=>{g.then(c=>{let u=new re;p!=null&&Object.keys(p).forEach(y=>{u.set(y,p[y])});let S=new se({body:c.body,status:c.statusCode,statusText:"OK",headers:u});r.next(S),r.complete()}).catch(c=>{r.error(new ie({error:c??"Unknown error",status:0,statusText:c??"Unknown error"}))})})}var He=(e,o)=>{let t={relayconfigState:s(v),defaultTimeout:s(f).defaultTimeout,relayWebsocket:s(O)},n=t.relayconfigState.config();if(t.relayconfigState.configLoaded!==null&&n===null){let i=new W;return t.relayconfigState.configLoaded.subscribe(p=>{p&&Pe(t,e,o).subscribe(i)}),i}return Pe(t,e,o)};var Ve={providers:[Z(),ue(Oe,fe(),he(de)),ae(ce(),pe([He,xe])),h,{provide:f,useValue:Ae},{provide:ee,useValue:ke()},{provide:be,useValue:{alertVariant:"simple"}},we,I,Te,oe,Se,te,Me,Ee]};ne(k,Ve);
1
+ import{b as Ie,c as ke}from"./chunk-6HY2QKBL.js";import{a as we}from"./chunk-GEATZGKK.js";import{a as Ee}from"./chunk-VJ3PK33N.js";import{b as I}from"./chunk-54IBJBVK.js";import"./chunk-VOHSRCTH.js";import{a as Me}from"./chunk-SDKAVOP6.js";import{b as Te}from"./chunk-KDWGBKDI.js";import{a as V}from"./chunk-6Q6SSTBK.js";import{a as Se}from"./chunk-FHH444ZI.js";import"./chunk-5TT43ERP.js";import"./chunk-Y3LMRA5G.js";import"./chunk-OMOPTBR2.js";import{a as H}from"./chunk-O6ZQRIZA.js";import{a as h,b as ye,c as v,d as Re,e as E}from"./chunk-MZAGGSG2.js";import{u as be,x as Ce}from"./chunk-E3UAEGAI.js";import{a as ge,e as ve}from"./chunk-4KFQXVKU.js";import{c as le,d as me,g as de,h as ue,i as he,j as fe}from"./chunk-G5IUH2UI.js";import{a as ne}from"./chunk-AAUAZ76N.js";import{a as re,b as se,c as ie,e as ae,f as pe,g as ce}from"./chunk-7BK2K5ML.js";import{ha as te,ma as oe}from"./chunk-GIITUFAQ.js";import"./chunk-MI3BETEH.js";import{A as B,F as J,Fb as Y,L as T,Mc as Z,N as K,Nc as ee,V as C,Y as _,_ as s,f as F,g as W,gb as Q,ha as q,ia as z,l as $,m as G,pa as d,q as w,ra as X,z as P}from"./chunk-NFXXT6A3.js";import"./chunk-7CGTOI24.js";var k=class e{#e=s(h);#d=s(v);ngOnInit(){ye(),this.#d.fetchConfig(),this.#e.clearAllNotCurrentVersion()}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=Q({type:e,selectors:[["app-root"]],decls:1,vars:0,template:function(t,n){t&1&&Y(0,"router-outlet")},dependencies:[le],encapsulation:2})};var Ae={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var f=new _("ENVIRONMENT");var A=class e{#e=s(ve);isLoaded=d(!1);webmodules=d(null);preload(o=!1){let t=this.#e.getApiV1Webmodules().pipe(K(n=>this.webmodules.set(n)),J(()=>this.isLoaded.set(!0)));if(o)return t;t.subscribe()}static \u0275fac=function(t){return new(t||e)};static \u0275prov=C({token:e,factory:e.\u0275fac,providedIn:"root"})};var Ue=()=>{let e=s(E);return e.token()?!0:e.checkProxyAuthed().pipe(T(o=>o?$(!0):e.refreshToken().pipe(w(()=>!0))))},je=()=>{let e=s(v),o=s(I),t=s(q),n=e.relayIsEnabled()?"longpoll":"websocket",i=[t.get(H).preload(!0),t.get(H).preloadFilterGroups(!0),t.get(A).preload(!0)];return e.configLoaded===null?P(i).pipe(w(()=>n)):e.configLoaded?.pipe(T(()=>P(i)))},Fe=()=>!0,Ne={path:"connect/:typeParam",loadComponent:()=>import("./chunk-6PPCACHR.js")},We=()=>{let e=s(h);return!e.getItem("locale")&&navigator.language&&e.setItem("locale",navigator.language),!0},Oe=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-DQISAVUL.js")},{path:"logout",loadComponent:()=>import("./chunk-YEMKFHRS.js")},{path:"",canActivate:[Ue],children:[{path:"",canActivate:[je,Fe,We],children:[{path:"welcome",loadComponent:()=>import("./chunk-BOD6INK4.js"),children:[{path:"",redirectTo:"select",pathMatch:"full"},{path:"select",loadComponent:()=>import("./chunk-OZDUAVJM.js")},Ne]},{path:"",loadComponent:()=>import("./chunk-X6S2TQ5D.js"),children:[{path:"",loadComponent:()=>import("./chunk-JJ5XEJ75.js")},Ne,{path:"destinations",loadComponent:()=>import("./chunk-53YJLSUR.js")},{path:"add-backup",loadComponent:()=>import("./chunk-Y6WYFFBC.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-Y4TMGQ3H.js")},{path:"backup/import",loadComponent:()=>import("./chunk-HKQDPKTA.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-6XWKOOJR.js"),loadChildren:()=>import("./chunk-R3H3RDDJ.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-6XWKOOJR.js"),loadChildren:()=>import("./chunk-R3H3RDDJ.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-2LDEHODA.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-2C3OMPC2.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-HN6343SO.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-PSISW3DT.js")},{path:"backup/:id/delete",loadComponent:()=>import("./chunk-IHNPTBK2.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-RXWMHEJY.js")},{path:"from-config",loadComponent:()=>import("./chunk-B7CN4JEV.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-KTRNTLNO.js"),loadChildren:()=>import("./chunk-S235GCI6.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-KTRNTLNO.js"),loadChildren:()=>import("./chunk-S235GCI6.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-KTRNTLNO.js"),loadChildren:()=>import("./chunk-S235GCI6.js")},{path:"status",loadComponent:()=>import("./chunk-JNWS5H5A.js")},{path:"settings",loadComponent:()=>import("./chunk-EZZPO6ZZ.js")},{path:"about",loadComponent:()=>import("./chunk-UT42UQWA.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-GQWUTQIZ.js")},{path:"changelog",loadComponent:()=>import("./chunk-5VAN6GVG.js")},{path:"libraries",loadComponent:()=>import("./chunk-IFZC7RUJ.js")},{path:"system-info",loadComponent:()=>import("./chunk-5DB5LJ2V.js")},{path:"server-settings",loadComponent:()=>import("./chunk-5Q47XWAA.js")},{path:"logs",loadChildren:()=>import("./chunk-V4NNTODH.js")},{path:"crashlogs",loadComponent:()=>import("./chunk-XZS6HRVR.js")}]}]}]}]}]}];var xe=(e,o)=>{let t=s(E),n=s(me),i=s(h),p=s(f),m=i.getItem("locale"),a=s(Ce),g=Ie(m),r=ge.BASE||"",c=e.url===`${r}/api/v1/auth/login`,u=e.url===`${r}/api/v1/auth/logout`,S=e.url===`${r}/api/v1/auth/refresh`,y=e.url===`${r}/api/v1/progressstate`,x=e.url===`${r}/api/v1/remoteoperation/test`,M=e.url===`${r}/api/v1/filesystem/validate`,De=e.url.startsWith(`${r}/api/v2/`),L=t.token(),U=e,j=e.headers.has("custom-proxy-check")||L===Re;if(L&&e.url.startsWith(r+p.baseUrl)&&!j){let l=e.headers.set("Authorization",`Bearer ${L}`);m&&m!=="en-US"&&(l=l.set("X-Ui-Language",g)),U=e.clone({headers:l})}return o(U).pipe(w(l=>{if(l.type===4&&l.status===200&&De){let b=l.body;if(b?.Success===!1)throw{status:200,message:b?.Error??"Unknown error",error:{Error:b?.Error??"Unknown error"},requestBody:b}}return l}),B(l=>{let b=l.error?.Error||`Error Code: ${l.status}, Message: ${l.message}`;if(!j){let R=!0;if((y&&l.status===404||x||M)&&(R=!1),S&&l.status===401&&(R=!1,t.logout(),n.navigate(["/logout"])),!c&&!S&&!u&&l.status===401)return R=!1,t.refreshToken().pipe(T(()=>o(e.clone({headers:e.headers.set("Authorization",`Bearer ${t.token()}`)}))));R&&a.error(b)}return G(()=>({error:l,message:b}))}))};var N=class e{#e=s(z);showError(o){let t=this.#e.querySelector("body > .loading");if(!t)return;t.classList.add("has-error"),t.innerHTML="";let n=this.#e.createElement("div");n.classList.add("loading-title"),n.textContent="Unable to connect";let i=this.#e.createElement("div");i.classList.add("loading-error"),i.textContent=o||"Unknown error";let p=this.#e.createElement("button");p.type="button",p.classList.add("retry-button"),p.textContent="Retry",p.addEventListener("click",()=>{this.#e.defaultView?.location.reload()}),t.append(n,i,p)}static \u0275fac=function(t){return new(t||e)};static \u0275prov=C({token:e,factory:e.\u0275fac,providedIn:"root"})};var $e="1.0.0",Le=`portal-proxy-client-${V()}`,Ge=1,O=class e{#e=1e3;#d=s(f);#u=s(N);#o=d("disconnected");#h=d(this.#e);#a=d(!1);#n=d(!1);#p=d(null);#c=d(null);#s=!1;isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#o.asReadonly();#l=[];#r={};#t=null;#f=new TextDecoder("utf-8");#m=null;#y=X(()=>{let o=this.#a(),t=this.#h(),n=this.#p(),i=this.#c();if(!n||!i||!o||!t||t<this.#e){this.#m&&window.clearInterval(this.#m);return}this.#m=window.setInterval(()=>{this.connectToMachineServer(n,i)},t)});#i(o){this.#s||(this.#s=!0,this.#u.showError(o||"Unable to connect to the server."))}#g(){this.#s||(this.#s=!0)}utf8Atob(o){let t=Uint8Array.from(atob(o),i=>i.charCodeAt(0)),n=this.#f.decode(t);return n?JSON.parse(n):null}connectToMachineServer(o,t,n){let i=n?.reconnect??!1,p=this.wsState();(p==="disconnected"||p==="error"||i)&&(this.#t?.close(),this.#t=null),!this.#t&&(this.#s=!1,this.#t=new WebSocket(t),this.#o.set("connecting"),this.#t.onopen=()=>{this.#o.set("connect"),this.#n.set(!0),this.#a.set(!1),this.#p.set(null),this.#c.set(null)},this.#t.onclose=()=>{this.#o.set("disconnected"),this.#n.set(!1),this.#p.set(o),this.#c.set(t),this.#a.set(!0)},this.#t.onerror=()=>{this.#o.set("error")},this.#t.onmessage=m=>{let a=JSON.parse(m.data);if(this.wsState()==="connect"){if(a.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${a.type}'`);return}let r={token:o,publicKey:"",clientVersion:$e,protocolVersion:Ge},c=this.createResponse(a,"authportal",r);this.#o.set("welcome"),this.#t?.send(c)}else if(this.wsState()==="welcome"){if(a.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${a.type}'`);return}var g=JSON.parse(a.payload??"");if(g.accepted===!1){this.#i("Authentication failed"),this.disconnectFromMachineServer("Authentication failed");return}for(this.#o.set("authenticated"),this.#n.set(!0);this.#l.length>0;){let r=this.#l.pop();r&&this.#r[r.messageId]&&this.activateCommand(r)}}else if(this.wsState()==="authenticated"){if(a.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${a.type}'`);return}let r=this.#r[a.messageId];if(r){if(a.errorMessage)this.#i(a.errorMessage),r.reject(a.errorMessage);else{let c=JSON.parse(a.payload??"");c.statusCode>=400?this.#i(c.body||`Initial request failed with status code ${c.statusCode}`):this.#g(),c.body=c?.body==null?null:this.utf8Atob(c.body),r.resolve(c)}delete this.#r[a.messageId],window.clearTimeout(r.timer)}}})}disconnectFromMachineServer(o=null){o&&console.error(o),this.#t?.close(),this.#t=null,this.#o.set("disconnected"),this.#n.set(!1)}createResponse(o,t,n){let i={from:Le,to:o.from,type:t,messageId:o.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(o,t,n,i,p,m,a,g=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(o,n),new Promise((r,c)=>{let u=V(),y={from:Le,to:t,type:"command",messageId:u,payload:JSON.stringify({method:i,path:p,body:m,headers:a})},x={resolve:r,reject:c,timer:window.setTimeout(()=>{let M=this.#r[u];M&&(delete this.#r[u],this.#i("The request timed out before receiving a response."),M.reject("Timeout"))},g)};this.#r[u]=x,this.#n()?this.activateCommand(y):this.#l.push(y)})}activateCommand(o){this.#t?.send(JSON.stringify(o))}static \u0275fac=function(t){return new(t||e)};static \u0275prov=C({token:e,factory:e.\u0275fac,providedIn:"root"})};function Be(e){if(typeof e!="string")return null;let t=new TextEncoder().encode(e);return window.btoa(String.fromCharCode(...t))}function Pe(e,o,t){let n=e.relayconfigState.config();if(n===null)return t(o);let i=Be(o.body),p={};o.headers.keys().forEach(r=>{p[r]=o.headers.get(r)??""});let m=o.headers.get("timeout"),a=m!==null?parseInt(m):e.defaultTimeout;o.url.startsWith("/api/v1/serverstate")&&o.url.includes("longpoll=true")&&(a=1e3*99);let g=e.relayWebsocket.sendCommand(n.accessToken,n.clientId,n.machineServerUrl,o.method,o.url,i,p,a);return new F(r=>{g.then(c=>{let u=new re;p!=null&&Object.keys(p).forEach(y=>{u.set(y,p[y])});let S=new se({body:c.body,status:c.statusCode,statusText:"OK",headers:u});r.next(S),r.complete()}).catch(c=>{r.error(new ie({error:c??"Unknown error",status:0,statusText:c??"Unknown error"}))})})}var He=(e,o)=>{let t={relayconfigState:s(v),defaultTimeout:s(f).defaultTimeout,relayWebsocket:s(O)},n=t.relayconfigState.config();if(t.relayconfigState.configLoaded!==null&&n===null){let i=new W;return t.relayconfigState.configLoaded.subscribe(p=>{p&&Pe(t,e,o).subscribe(i)}),i}return Pe(t,e,o)};var Ve={providers:[Z(),ue(Oe,fe(),he(de)),ae(ce(),pe([He,xe])),h,{provide:f,useValue:Ae},{provide:ee,useValue:ke()},{provide:be,useValue:{alertVariant:"simple"}},we,I,Te,oe,Se,te,Me,Ee]};ne(k,Ve);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplicati/ngclient",
3
- "version": "0.0.214",
3
+ "version": "0.0.218",
4
4
  "license": "MIT",
5
5
  "contributors": [
6
6
  "sp90",