docker-client-mx 1.46.0 → 1.47.0
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.
- package/dist/docker-desktop-mx/browser/chunk--8mGUJAn.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-5_sGKQni.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-dMo4BIG3.js → chunk-B-o5hXOb.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-BHeMRkJW.js → chunk-B-wG1P-32.js} +4 -4
- package/dist/docker-desktop-mx/browser/chunk-B2EShQtx.js +6 -0
- package/dist/docker-desktop-mx/browser/chunk-BYVhZ88_.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-B2FafzpV.js → chunk-B_y5IYob2.js} +2 -2
- package/dist/docker-desktop-mx/browser/{chunk-BiQwXu_z.js → chunk-BdM_u7-N.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-DTYNCfd52.js → chunk-BkMeriAO2.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-BzctO2pl.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-FuBWiPKf.js → chunk-C0zZrY7Q.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-DKpHGsCy.js → chunk-CAFP1xPu.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-CI4m0buS.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CQWK0K-u.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-Ci_V0cow.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CsXiAvQZ.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-Cva1WgC9.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CyIYmLAx2.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-D9wKjS-4.js +4 -0
- package/dist/docker-desktop-mx/browser/chunk-DDXVa5ug.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DGowKW_R2.js +3 -0
- package/dist/docker-desktop-mx/browser/chunk-DJ_YTqcg.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-Ds9UWi20.js → chunk-DLduIDn8.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-DM-ZJf6i2.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-BNXdbUqv.js → chunk-DRSLMQv0.js} +2 -2
- package/dist/docker-desktop-mx/browser/{chunk-BSz2tiCV.js → chunk-DUEEE1of.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-DVNubhu5.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DaLHmamd.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DgQfvcw6.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DhhlIffD.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-CLii2-2s.js → chunk-DnoDi7LZ.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-DpQe-4PA.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-6Ee5XYkz.js → chunk-Dx6pB9SS.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-C9w0bf2Y.js → chunk-F6eWZMl2.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-KPCWgafs.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-MHnhOupE2.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-bj_sMiGa.js → chunk-N02t_L0r.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-BFq6LhBl.js → chunk-RW2CuHOJ.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-TwB2JZ5F2.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-YcHxGDGY.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-_SDm3Kr6.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-DwKe2pMP.js → chunk-aZvSgdSQ.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-t2gYzsd3.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-x4B-Z7Ml.js +1 -0
- package/dist/docker-desktop-mx/browser/index.html +2 -2
- package/dist/docker-desktop-mx/browser/main-H3S3O6WP.js +1 -0
- package/dist/docker-desktop-mx/browser/styles-GSAQVAJP.css +1 -0
- package/dist-electron/attention.js +14 -1
- package/dist-electron/attention.js.map +1 -1
- package/dist-electron/channels.js +3 -0
- package/dist-electron/channels.js.map +1 -1
- package/dist-electron/container-adjust.js +138 -10
- package/dist-electron/container-adjust.js.map +1 -1
- package/dist-electron/ipc.js +61 -5
- package/dist-electron/ipc.js.map +1 -1
- package/dist-electron/main.js +30 -1
- package/dist-electron/main.js.map +1 -1
- package/dist-electron/memory-watch.js +87 -0
- package/dist-electron/memory-watch.js.map +1 -0
- package/dist-electron/preload.js +7 -1
- package/dist-electron/preload.js.map +1 -1
- package/dist-electron/settings.js +8 -0
- package/dist-electron/settings.js.map +1 -1
- package/dist-electron/stats.js +25 -0
- package/dist-electron/stats.js.map +1 -1
- package/dist-electron/volume-restore.js +40 -0
- package/dist-electron/volume-restore.js.map +1 -0
- package/dist-electron/volume-schedules.js +71 -13
- package/dist-electron/volume-schedules.js.map +1 -1
- package/package.json +1 -1
- package/dist/docker-desktop-mx/browser/chunk-B-jCnQFP2.js +0 -6
- package/dist/docker-desktop-mx/browser/chunk-B6qORmpw.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-B7IRMMXz2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-B7xNIuls.js +0 -3
- package/dist/docker-desktop-mx/browser/chunk-BZygkakw2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-Ba7ROPTT.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-Bk32Rk5p.js +0 -4
- package/dist/docker-desktop-mx/browser/chunk-BsmS2zXP.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-ByAKccx1.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-C4OFwmD92.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CI-MgoDd.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CWjMCD8T.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CaJx4ff8.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CesW8OnI.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CgneC1Je.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-ChGlpKnY.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CnivQPHU.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CyNh8lBK2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-D-daLnRf.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-D5pKQvyX.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-D8vF1ayp2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DFkgt4XH.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DJfErblk.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DWYNwk_L.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-FM5_LSb4.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-gOjj4-4k.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-idasJ9ng.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-ux3iG9S52.js +0 -1
- package/dist/docker-desktop-mx/browser/main-DIJOTBZN.js +0 -1
- package/dist/docker-desktop-mx/browser/styles-3HWRDJL3.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attention.js","sourceRoot":"","sources":["../electron/attention.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"attention.js","sourceRoot":"","sources":["../electron/attention.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,9 @@ exports.CHANNELS = {
|
|
|
82
82
|
volumesChooseAndUpload: 'volumes:chooseAndUpload',
|
|
83
83
|
volumesBackup: 'volumes:backup',
|
|
84
84
|
volumesRestore: 'volumes:restore',
|
|
85
|
+
volumesBackups: 'volumes:backups',
|
|
86
|
+
volumesRestoreBackup: 'volumes:restoreBackup',
|
|
87
|
+
volumesBackupNow: 'volumes:backupNow',
|
|
85
88
|
volumesUsers: 'volumes:users',
|
|
86
89
|
volumesCopy: 'volumes:copy',
|
|
87
90
|
volumesSchedules: 'volumes:schedules',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../electron/channels.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,QAAQ,GAAG;IACtB,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;IACjC,oBAAoB,EAAE,uBAAuB;IAC7C,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IACrC,mBAAmB,EAAE,sBAAsB;IAC3C,qBAAqB,EAAE,wBAAwB;IAC/C,wBAAwB,EAAE,2BAA2B;IACrD,gBAAgB,EAAE,mBAAmB;IACrC,mBAAmB,EAAE,sBAAsB;IAC3C,uBAAuB,EAAE,0BAA0B;IACnD,mBAAmB,EAAE,sBAAsB;IAC3C,oBAAoB,EAAE,uBAAuB;IAC7C,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,wBAAwB;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,kBAAkB,EAAE,qBAAqB;IACzC,oBAAoB,EAAE,uBAAuB;IAC7C,uBAAuB,EAAE,0BAA0B;IACnD,0BAA0B,EAAE,6BAA6B;IACzD,kBAAkB,EAAE,qBAAqB;IACzC,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,kBAAkB;IACnC,iBAAiB,EAAE,oBAAoB;IACvC,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,0FAA0F;IAC1F,cAAc,EAAE,iBAAiB;IACjC,oBAAoB,EAAE,uBAAuB;IAC7C,UAAU,EAAE,aAAa;IACzB,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,uBAAuB,EAAE,0BAA0B;IACnD,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,mGAAmG;IACnG,UAAU,EAAE,aAAa;IACzB,kBAAkB,EAAE,qBAAqB;IACzC,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,qBAAqB;IACzC,6DAA6D;IAC7D,kBAAkB,EAAE,qBAAqB;IACzC,wFAAwF;IACxF,kBAAkB,EAAE,qBAAqB;IACzC,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,mBAAmB,EAAE,sBAAsB;IAC3C,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,kBAAkB;IACnC,sBAAsB,EAAE,yBAAyB;IACjD,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,wBAAwB;IAC/C,yBAAyB,EAAE,4BAA4B;IACvD,uBAAuB,EAAE,0BAA0B;IACnD,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAE,gBAAgB;IAC/B,eAAe,EAAE,kBAAkB;IACnC,mBAAmB,EAAE,uBAAuB;IAC5C,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,qBAAqB;IACzC,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,eAAe,EAAE,kBAAkB;IACnC,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,kBAAkB;IACnC,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,gBAAgB,EAAE,mBAAmB;IACrC,cAAc,EAAE,iBAAiB;IACjC,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,oBAAoB,EAAE,uBAAuB;IAC7C,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,+EAA+E;IAC/E,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,YAAY;IACvB,4EAA4E;IAC5E,eAAe,EAAE,kBAAkB;IACnC,4DAA4D;IAC5D,YAAY,EAAE,eAAe;IAC7B,qBAAqB,EAAE,wBAAwB;IAC/C,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,qBAAqB,EAAE,wBAAwB;IAC/C,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,iEAAiE;IACjE,gBAAgB,EAAE,mBAAmB;IACrC,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,oBAAoB,EAAE,uBAAuB;IAC7C,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,iBAAiB,EAAE,oBAAoB;IACvC,iBAAiB,EAAE,oBAAoB;IACvC,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,eAAe,EAAE,kBAAkB;IACnC,kDAAkD;IAClD,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,wBAAwB;CACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../electron/channels.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,QAAQ,GAAG;IACtB,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;IACjC,oBAAoB,EAAE,uBAAuB;IAC7C,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IACvC,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IACrC,mBAAmB,EAAE,sBAAsB;IAC3C,qBAAqB,EAAE,wBAAwB;IAC/C,wBAAwB,EAAE,2BAA2B;IACrD,gBAAgB,EAAE,mBAAmB;IACrC,mBAAmB,EAAE,sBAAsB;IAC3C,uBAAuB,EAAE,0BAA0B;IACnD,mBAAmB,EAAE,sBAAsB;IAC3C,oBAAoB,EAAE,uBAAuB;IAC7C,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,wBAAwB;IAC/C,qBAAqB,EAAE,wBAAwB;IAC/C,kBAAkB,EAAE,qBAAqB;IACzC,oBAAoB,EAAE,uBAAuB;IAC7C,uBAAuB,EAAE,0BAA0B;IACnD,0BAA0B,EAAE,6BAA6B;IACzD,kBAAkB,EAAE,qBAAqB;IACzC,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,kBAAkB;IACnC,iBAAiB,EAAE,oBAAoB;IACvC,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,0FAA0F;IAC1F,cAAc,EAAE,iBAAiB;IACjC,oBAAoB,EAAE,uBAAuB;IAC7C,UAAU,EAAE,aAAa;IACzB,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,uBAAuB,EAAE,0BAA0B;IACnD,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,mGAAmG;IACnG,UAAU,EAAE,aAAa;IACzB,kBAAkB,EAAE,qBAAqB;IACzC,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,qBAAqB;IACzC,6DAA6D;IAC7D,kBAAkB,EAAE,qBAAqB;IACzC,wFAAwF;IACxF,kBAAkB,EAAE,qBAAqB;IACzC,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,mBAAmB,EAAE,sBAAsB;IAC3C,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,kBAAkB;IACnC,sBAAsB,EAAE,yBAAyB;IACjD,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;IACjC,oBAAoB,EAAE,uBAAuB;IAC7C,gBAAgB,EAAE,mBAAmB;IACrC,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,wBAAwB;IAC/C,yBAAyB,EAAE,4BAA4B;IACvD,uBAAuB,EAAE,0BAA0B;IACnD,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAE,gBAAgB;IAC/B,eAAe,EAAE,kBAAkB;IACnC,mBAAmB,EAAE,uBAAuB;IAC5C,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,qBAAqB;IACzC,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,eAAe,EAAE,kBAAkB;IACnC,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,kBAAkB;IACnC,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,gBAAgB,EAAE,mBAAmB;IACrC,cAAc,EAAE,iBAAiB;IACjC,eAAe,EAAE,kBAAkB;IACnC,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,oBAAoB,EAAE,uBAAuB;IAC7C,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,+EAA+E;IAC/E,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,YAAY;IACvB,4EAA4E;IAC5E,eAAe,EAAE,kBAAkB;IACnC,4DAA4D;IAC5D,YAAY,EAAE,eAAe;IAC7B,qBAAqB,EAAE,wBAAwB;IAC/C,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,qBAAqB,EAAE,wBAAwB;IAC/C,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,iEAAiE;IACjE,gBAAgB,EAAE,mBAAmB;IACrC,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,gBAAgB;IAC/B,oBAAoB,EAAE,uBAAuB;IAC7C,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,iBAAiB,EAAE,oBAAoB;IACvC,iBAAiB,EAAE,oBAAoB;IACvC,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,eAAe,EAAE,kBAAkB;IACnC,kDAAkD;IAClD,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,wBAAwB;CACvC,CAAC"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toHealth = toHealth;
|
|
4
|
+
exports.toHealthPlan = toHealthPlan;
|
|
5
|
+
exports.toMounts = toMounts;
|
|
6
|
+
exports.dockerHostPath = dockerHostPath;
|
|
3
7
|
exports.toAdjustPlan = toAdjustPlan;
|
|
4
8
|
exports.ownAliases = ownAliases;
|
|
5
9
|
exports.toAdjustedOptions = toAdjustedOptions;
|
|
6
10
|
exports.readAdjustPlan = readAdjustPlan;
|
|
11
|
+
exports.missingFolder = missingFolder;
|
|
7
12
|
exports.adjustContainer = adjustContainer;
|
|
13
|
+
const node_fs_1 = require("node:fs");
|
|
8
14
|
const containers_1 = require("./containers");
|
|
9
15
|
const docker_client_1 = require("./docker-client");
|
|
10
16
|
const i18n_1 = require("./i18n");
|
|
11
17
|
const port_conflicts_1 = require("./port-conflicts");
|
|
12
18
|
/**
|
|
13
|
-
* Een losse container aanpassen (fase 80): de omgevingsvariabelen, de poorten en de restart policy
|
|
19
|
+
* Een losse container aanpassen (fase 80): de omgevingsvariabelen, de poorten en de restart policy;
|
|
20
|
+
* sinds fase 90 ook de koppelingen en de healthcheck.
|
|
14
21
|
* Docker kan die niet veranderen op een bestaande container, dus: opnieuw maken onder dezelfde naam.
|
|
15
22
|
*
|
|
16
23
|
* In deze volgorde, zodat er op elk moment een weg terug is:
|
|
@@ -29,11 +36,82 @@ const port_conflicts_1 = require("./port-conflicts");
|
|
|
29
36
|
*/
|
|
30
37
|
const COMPOSE_LABEL = /^com\.docker\.compose\./;
|
|
31
38
|
const RESTART_POLICIES = ['no', 'always', 'unless-stopped', 'on-failure'];
|
|
39
|
+
const SECOND_NS = 1_000_000_000;
|
|
40
|
+
/** Docker's eigen standaard als er niets is opgegeven: elke 30 s, drie keer mag mislukken. */
|
|
41
|
+
const DEFAULT_INTERVAL_S = 30;
|
|
42
|
+
const DEFAULT_RETRIES = 3;
|
|
43
|
+
/** Een healthcheck om te lezen; `CMD` wordt één regel, zoals je hem in een compose-bestand zou zetten. */
|
|
44
|
+
function toHealth(check) {
|
|
45
|
+
const test = check?.Test ?? [];
|
|
46
|
+
if (test.length === 0 || test[0] === 'NONE') {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const command = test[0] === 'CMD-SHELL' ? (test[1] ?? '') : test[0] === 'CMD' ? test.slice(1).join(' ') : test.join(' ');
|
|
50
|
+
return {
|
|
51
|
+
command,
|
|
52
|
+
intervalSeconds: check?.Interval ? Math.round(check.Interval / SECOND_NS) : DEFAULT_INTERVAL_S,
|
|
53
|
+
retries: check?.Retries ?? DEFAULT_RETRIES,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** Wat er nu van de healthcheck is, naast die van de image. */
|
|
57
|
+
function toHealthPlan(own, image) {
|
|
58
|
+
const disabled = own?.Test?.[0] === 'NONE';
|
|
59
|
+
const imageHealth = toHealth(image);
|
|
60
|
+
return {
|
|
61
|
+
current: disabled ? null : toHealth(own),
|
|
62
|
+
disabled,
|
|
63
|
+
image: imageHealth,
|
|
64
|
+
// Docker kopieert de check van de image niet in de container; staat er niets, dan geldt die van de image.
|
|
65
|
+
fromImage: !disabled && imageHealth !== null && (own?.Test === undefined || own.Test === null || JSON.stringify(own.Test) === JSON.stringify(image?.Test)),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** De koppelingen van nu, zonder tmpfs. */
|
|
69
|
+
function toMounts(raw) {
|
|
70
|
+
const named = new Set((raw.HostConfig?.Binds ?? []).map((bind) => bind.split(':')[0]));
|
|
71
|
+
return (raw.Mounts ?? []).flatMap((mount) => {
|
|
72
|
+
const target = mount.Destination ?? '';
|
|
73
|
+
const readOnly = mount.RW === false;
|
|
74
|
+
if (mount.Type === 'volume' && mount.Name !== undefined) {
|
|
75
|
+
return [{ kind: 'volume', source: mount.Name, target, readOnly, ...(named.has(mount.Name) ? {} : { anonymous: true }) }];
|
|
76
|
+
}
|
|
77
|
+
return mount.Type === 'bind' && mount.Source !== undefined ? [{ kind: 'bind', source: mount.Source, target, readOnly }] : [];
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Een map op Windows als pad voor Docker. Onder WSL draait Docker in Linux en is `C:\data`
|
|
82
|
+
* `/mnt/c/data`; Docker Desktop vertaalt een Windows-pad zelf.
|
|
83
|
+
*/
|
|
84
|
+
function dockerHostPath(source, desktop) {
|
|
85
|
+
const windows = /^([A-Za-z]):[\\/](.*)$/.exec(source);
|
|
86
|
+
if (windows === null || desktop) {
|
|
87
|
+
return source;
|
|
88
|
+
}
|
|
89
|
+
const rest = (windows[2] ?? '').replace(/\\/g, '/').replace(/\/+$/, '');
|
|
90
|
+
return `/mnt/${(windows[1] ?? '').toLowerCase()}${rest === '' ? '' : `/${rest}`}`;
|
|
91
|
+
}
|
|
92
|
+
/** De healthcheck van de nieuwe versie; `undefined` laat Docker die van de image nemen. */
|
|
93
|
+
function adjustedHealthcheck(current, choice) {
|
|
94
|
+
switch (choice.mode) {
|
|
95
|
+
case 'keep':
|
|
96
|
+
return current;
|
|
97
|
+
case 'none':
|
|
98
|
+
return { Test: ['NONE'] };
|
|
99
|
+
case 'image':
|
|
100
|
+
return undefined;
|
|
101
|
+
case 'custom':
|
|
102
|
+
return {
|
|
103
|
+
...(current ?? {}),
|
|
104
|
+
Test: ['CMD-SHELL', choice.command],
|
|
105
|
+
Interval: Math.round(choice.intervalSeconds * SECOND_NS),
|
|
106
|
+
Retries: choice.retries,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
32
110
|
function bareName(name) {
|
|
33
111
|
return (name ?? '').replace(/^\//, '');
|
|
34
112
|
}
|
|
35
|
-
/** Wat de dialoog nodig heeft: de variabelen zoals ze nu zijn, de poorten
|
|
36
|
-
function toAdjustPlan(raw) {
|
|
113
|
+
/** Wat de dialoog nodig heeft: de variabelen zoals ze nu zijn, de poorten, de restart policy, de koppelingen en de healthcheck. */
|
|
114
|
+
function toAdjustPlan(raw, imageHealthcheck = null) {
|
|
37
115
|
const bindings = raw.HostConfig?.PortBindings;
|
|
38
116
|
const ports = Object.entries(bindings ?? {})
|
|
39
117
|
.map(([key, list]) => {
|
|
@@ -48,6 +126,8 @@ function toAdjustPlan(raw) {
|
|
|
48
126
|
ports,
|
|
49
127
|
restart: policy,
|
|
50
128
|
compose: Object.keys(raw.Config?.Labels ?? {}).some((label) => COMPOSE_LABEL.test(label)),
|
|
129
|
+
mounts: toMounts(raw),
|
|
130
|
+
health: toHealthPlan(raw.Config?.Healthcheck, imageHealthcheck),
|
|
51
131
|
};
|
|
52
132
|
}
|
|
53
133
|
/** De aliassen die je zelf gaf; Docker zet er zelf de korte id en de naam bij, en die komen vanzelf terug. */
|
|
@@ -55,8 +135,12 @@ function ownAliases(aliases, raw) {
|
|
|
55
135
|
const automatic = new Set([bareName(raw.Name), (raw.Id ?? '').slice(0, 12)]);
|
|
56
136
|
return (aliases ?? []).filter((alias) => !automatic.has(alias));
|
|
57
137
|
}
|
|
58
|
-
/**
|
|
59
|
-
|
|
138
|
+
/**
|
|
139
|
+
* De create-body van de nieuwe versie: alles van het origineel, met wat aangepast is. Zonder eigen
|
|
140
|
+
* koppelingen de oude, met de anonieme volumes erbij; met eigen koppelingen precies die, als Binds,
|
|
141
|
+
* en uit `Mounts` alleen wat geen volume of map is.
|
|
142
|
+
*/
|
|
143
|
+
function toAdjustedOptions(raw, options, desktop = false) {
|
|
60
144
|
// De hostnaam laat Docker weer zelf kiezen, net als bij een nieuwe container.
|
|
61
145
|
const config = { ...(raw.Config ?? {}) };
|
|
62
146
|
delete config.Hostname;
|
|
@@ -75,6 +159,22 @@ function toAdjustedOptions(raw, options) {
|
|
|
75
159
|
.map((mount) => `${mount.Name ?? ''}:${mount.Destination ?? ''}`);
|
|
76
160
|
const primary = host.NetworkMode ?? '';
|
|
77
161
|
const aliases = ownAliases(raw.NetworkSettings?.Networks?.[primary]?.Aliases, raw);
|
|
162
|
+
const binds = options.mounts === undefined
|
|
163
|
+
? [...(host.Binds ?? []), ...anonymous]
|
|
164
|
+
: options.mounts.map((mount) => {
|
|
165
|
+
const source = mount.kind === 'bind' ? dockerHostPath(mount.source, desktop) : mount.source;
|
|
166
|
+
return mount.readOnly ? `${source}:${mount.target}:ro` : `${source}:${mount.target}`;
|
|
167
|
+
});
|
|
168
|
+
const otherMounts = (host.Mounts ?? []).filter((mount) => mount.Type !== 'volume' && mount.Type !== 'bind');
|
|
169
|
+
if (options.health !== undefined) {
|
|
170
|
+
const health = adjustedHealthcheck(config.Healthcheck, options.health);
|
|
171
|
+
if (health === undefined) {
|
|
172
|
+
delete config.Healthcheck;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
config.Healthcheck = health;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
78
178
|
return {
|
|
79
179
|
...config,
|
|
80
180
|
name: bareName(raw.Name),
|
|
@@ -83,7 +183,8 @@ function toAdjustedOptions(raw, options) {
|
|
|
83
183
|
HostConfig: {
|
|
84
184
|
...host,
|
|
85
185
|
PortBindings: bindings,
|
|
86
|
-
Binds:
|
|
186
|
+
Binds: binds,
|
|
187
|
+
...(options.mounts === undefined ? {} : { Mounts: otherMounts }),
|
|
87
188
|
RestartPolicy: { Name: options.restart, MaximumRetryCount: options.restart === 'on-failure' ? (host.RestartPolicy?.MaximumRetryCount ?? 0) : 0 },
|
|
88
189
|
},
|
|
89
190
|
...(aliases.length > 0 ? { NetworkingConfig: { EndpointsConfig: { [primary]: { Aliases: aliases } } } } : {}),
|
|
@@ -92,13 +193,20 @@ function toAdjustedOptions(raw, options) {
|
|
|
92
193
|
/** Wat de dialoog "Aanpassen" nodig heeft, uit inspect. */
|
|
93
194
|
async function readAdjustPlan(id) {
|
|
94
195
|
try {
|
|
95
|
-
const
|
|
96
|
-
|
|
196
|
+
const { docker } = (0, docker_client_1.getConnection)();
|
|
197
|
+
const raw = (await docker.getContainer(id).inspect());
|
|
198
|
+
// De check van de image, om te zien wat er overschreven wordt; niet kunnen lezen is geen reden om te stoppen.
|
|
199
|
+
const image = raw.Image === undefined ? null : await docker.getImage(raw.Image).inspect().catch(() => null);
|
|
200
|
+
return { ok: true, plan: toAdjustPlan(raw, (image?.Config?.Healthcheck) ?? null) };
|
|
97
201
|
}
|
|
98
202
|
catch (err) {
|
|
99
203
|
return { ok: false, problem: (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message };
|
|
100
204
|
}
|
|
101
205
|
}
|
|
206
|
+
async function isDockerDesktop() {
|
|
207
|
+
const info = (await (0, docker_client_1.getConnection)().docker.info().catch(() => null));
|
|
208
|
+
return info?.OperatingSystem?.includes('Docker Desktop') === true;
|
|
209
|
+
}
|
|
102
210
|
/** Een vrije naam voor het origineel zolang het aanpassen loopt: `naam-oud`, of `naam-oud-2`. */
|
|
103
211
|
function parkedName(name, taken) {
|
|
104
212
|
let candidate = `${name}-oud`;
|
|
@@ -107,8 +215,16 @@ function parkedName(name, taken) {
|
|
|
107
215
|
}
|
|
108
216
|
return candidate;
|
|
109
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* De eerste map op Windows die er niet is, of `null`. Docker maakt een map die ontbreekt stilletjes
|
|
220
|
+
* aan, onder WSL als lege map onder /mnt; een tikfout gaf dan een container die een lege map ziet.
|
|
221
|
+
* Een pad op de machine van Docker zelf (`/srv/data`) is hiervandaan niet na te kijken.
|
|
222
|
+
*/
|
|
223
|
+
function missingFolder(mounts, exists) {
|
|
224
|
+
return mounts.find((mount) => mount.kind === 'bind' && /^[A-Za-z]:[\\/]/.test(mount.source) && !exists(mount.source))?.source ?? null;
|
|
225
|
+
}
|
|
110
226
|
/** Maakt de container opnieuw met de aangepaste instellingen; zie de uitleg bovenaan. */
|
|
111
|
-
async function adjustContainer(id, options) {
|
|
227
|
+
async function adjustContainer(id, options, exists = node_fs_1.existsSync) {
|
|
112
228
|
const { docker } = (0, docker_client_1.getConnection)();
|
|
113
229
|
let raw;
|
|
114
230
|
try {
|
|
@@ -129,6 +245,16 @@ async function adjustContainer(id, options) {
|
|
|
129
245
|
es: 'Es un contenedor de compose; cámbialo en el archivo compose.',
|
|
130
246
|
}) };
|
|
131
247
|
}
|
|
248
|
+
const missing = missingFolder(options.mounts ?? [], exists);
|
|
249
|
+
if (missing !== null) {
|
|
250
|
+
return { ok: false, problem: (0, i18n_1.t)({
|
|
251
|
+
en: `The folder ${missing} does not exist on this computer.`,
|
|
252
|
+
nl: `De map ${missing} bestaat niet op deze computer.`,
|
|
253
|
+
de: `Der Ordner ${missing} existiert auf diesem Computer nicht.`,
|
|
254
|
+
fr: `Le dossier ${missing} n’existe pas sur cet ordinateur.`,
|
|
255
|
+
es: `La carpeta ${missing} no existe en este ordenador.`,
|
|
256
|
+
}) };
|
|
257
|
+
}
|
|
132
258
|
const name = bareName(raw.Name);
|
|
133
259
|
const wasRunning = raw.State?.Running === true;
|
|
134
260
|
let renamed = false;
|
|
@@ -140,7 +266,9 @@ async function adjustContainer(id, options) {
|
|
|
140
266
|
const taken = new Set((await (0, containers_1.listContainers)()).map((container) => container.name));
|
|
141
267
|
await original.rename({ name: parkedName(name, taken) });
|
|
142
268
|
renamed = true;
|
|
143
|
-
|
|
269
|
+
// Docker Desktop vertaalt een Windows-pad zelf; Docker in WSL wil /mnt/c (fase 90).
|
|
270
|
+
const desktop = options.mounts?.some((mount) => mount.kind === 'bind') === true ? await isDockerDesktop() : false;
|
|
271
|
+
const body = toAdjustedOptions(raw, options, desktop);
|
|
144
272
|
created = await docker.createContainer(body);
|
|
145
273
|
const primary = raw.HostConfig?.NetworkMode ?? '';
|
|
146
274
|
for (const [network, settings] of Object.entries(raw.NetworkSettings?.Networks ?? {})) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-adjust.js","sourceRoot":"","sources":["../electron/container-adjust.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container-adjust.js","sourceRoot":"","sources":["../electron/container-adjust.ts"],"names":[],"mappings":"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"}
|
package/dist-electron/ipc.js
CHANGED
|
@@ -104,7 +104,9 @@ const compose_drift_1 = require("./compose-drift");
|
|
|
104
104
|
const compose_known_1 = require("./compose-known");
|
|
105
105
|
const image_file_1 = require("./image-file");
|
|
106
106
|
const volume_copy_1 = require("./volume-copy");
|
|
107
|
+
const memory_watch_1 = require("./memory-watch");
|
|
107
108
|
const volume_schedules_1 = require("./volume-schedules");
|
|
109
|
+
const volume_restore_1 = require("./volume-restore");
|
|
108
110
|
const service_build_1 = require("./service-build");
|
|
109
111
|
const run_1 = require("./run");
|
|
110
112
|
const volumes_1 = require("./volumes");
|
|
@@ -132,6 +134,27 @@ const adjustOptions = zod_1.z.object({
|
|
|
132
134
|
.array(zod_1.z.object({ containerPort: zod_1.z.number().int().min(1).max(65535), protocol: zod_1.z.enum(['tcp', 'udp']), hostPort: zod_1.z.number().int().min(1).max(65535).nullable() }))
|
|
133
135
|
.max(100),
|
|
134
136
|
restart: zod_1.z.enum(['no', 'always', 'unless-stopped', 'on-failure']),
|
|
137
|
+
// Fase 90: een doel is een absoluut pad in de container; een bron een volumenaam of een absoluut pad.
|
|
138
|
+
mounts: zod_1.z
|
|
139
|
+
.array(zod_1.z.object({
|
|
140
|
+
kind: zod_1.z.enum(['volume', 'bind']),
|
|
141
|
+
source: zod_1.z.string().min(1).max(4096),
|
|
142
|
+
target: zod_1.z.string().min(2).max(4096).regex(/^\/[^:]*$/),
|
|
143
|
+
readOnly: zod_1.z.boolean(),
|
|
144
|
+
anonymous: zod_1.z.boolean().optional(),
|
|
145
|
+
}).refine((mount) =>
|
|
146
|
+
// Een dubbele punt breekt `bron:doel:ro`; alleen die van een schijfletter mag.
|
|
147
|
+
mount.kind === 'volume' ? /^[A-Za-z0-9][A-Za-z0-9_.-]*$/.test(mount.source) : /^([A-Za-z]:[\\/][^:]*|\/[^:]*)$/.test(mount.source)))
|
|
148
|
+
.max(100)
|
|
149
|
+
.optional(),
|
|
150
|
+
health: zod_1.z
|
|
151
|
+
.discriminatedUnion('mode', [
|
|
152
|
+
zod_1.z.object({ mode: zod_1.z.literal('keep') }),
|
|
153
|
+
zod_1.z.object({ mode: zod_1.z.literal('none') }),
|
|
154
|
+
zod_1.z.object({ mode: zod_1.z.literal('image') }),
|
|
155
|
+
zod_1.z.object({ mode: zod_1.z.literal('custom'), command: zod_1.z.string().min(1).max(4096), intervalSeconds: zod_1.z.number().min(1).max(86_400), retries: zod_1.z.number().int().min(1).max(100) }),
|
|
156
|
+
])
|
|
157
|
+
.optional(),
|
|
135
158
|
});
|
|
136
159
|
const duplicateOptions = zod_1.z.object({
|
|
137
160
|
name: zod_1.z.string().min(1).max(128),
|
|
@@ -171,6 +194,7 @@ const settingsPatch = zod_1.z
|
|
|
171
194
|
notifyCrash: zod_1.z.boolean().optional(),
|
|
172
195
|
notifyUnhealthy: zod_1.z.boolean().optional(),
|
|
173
196
|
notifyWiring: zod_1.z.boolean().optional(),
|
|
197
|
+
notifyMemory: zod_1.z.boolean().optional(),
|
|
174
198
|
mutedContainers: zod_1.z.array(zod_1.z.string().min(1).max(256)).max(settings_1.MAX_MUTED).optional(),
|
|
175
199
|
paletteShortcut: zod_1.z.boolean().optional(),
|
|
176
200
|
autoUpdate: zod_1.z.boolean().optional(),
|
|
@@ -365,6 +389,8 @@ const hostTranscripts = new Map();
|
|
|
365
389
|
* hoort ook te komen als er geen venster open is en de app in het systeemvak staat.
|
|
366
390
|
*/
|
|
367
391
|
let crashWatch = null;
|
|
392
|
+
/** Hoe vaak de geheugengrenzen nagekeken worden (fase 89). */
|
|
393
|
+
const MEMORY_CHECK_MS = 60_000;
|
|
368
394
|
/** Naar een venster, als dat er nog is: een voortgangsmelding na het sluiten gooit anders een fout. */
|
|
369
395
|
function sendIfAlive(sender, channel, payload) {
|
|
370
396
|
if (!sender.isDestroyed()) {
|
|
@@ -384,9 +410,12 @@ const NO_WINDOW = { send: () => undefined, isDestroyed: () => false };
|
|
|
384
410
|
* `useContext` hem opnieuw, met een verse detector: wat de vorige daemon aan stops zag, zegt
|
|
385
411
|
* niets over de nieuwe.
|
|
386
412
|
*/
|
|
387
|
-
function startCrashWatch(onCrash, onWiring = () => undefined) {
|
|
413
|
+
function startCrashWatch(onCrash, onWiring = () => undefined, onMemory = () => undefined) {
|
|
388
414
|
crashWatch?.watcher.stop();
|
|
389
415
|
crashWatch?.wiring.stop();
|
|
416
|
+
if (crashWatch !== null) {
|
|
417
|
+
clearInterval(crashWatch.memoryTimer);
|
|
418
|
+
}
|
|
390
419
|
// Wat er van de vorige context nog weg moest, eerst; die begint zo meteen niet meer bij.
|
|
391
420
|
events().flush();
|
|
392
421
|
const context = activeContext;
|
|
@@ -412,7 +441,12 @@ function startCrashWatch(onCrash, onWiring = () => undefined) {
|
|
|
412
441
|
onCrash(notice);
|
|
413
442
|
}
|
|
414
443
|
});
|
|
415
|
-
|
|
444
|
+
// Tegen de geheugengrens (fase 89): elke minuut één meting; een nieuwe daemon begint opnieuw te tellen.
|
|
445
|
+
const memory = new memory_watch_1.MemoryWatch({ sample: stats_1.sampleLimitedMemory, enabled: settings_1.memoryNotificationsEnabled, muted: settings_1.containerMuted, notify: onMemory });
|
|
446
|
+
const memoryTimer = setInterval(() => void memory.tick(), MEMORY_CHECK_MS);
|
|
447
|
+
memoryTimer.unref();
|
|
448
|
+
void memory.tick();
|
|
449
|
+
crashWatch = { watcher, wiring, onCrash, onWiring, onMemory, memory, memoryTimer };
|
|
416
450
|
watcher.start();
|
|
417
451
|
// Ook wat er bij het opstarten al mis is; traefik was al stuk toen de app startte.
|
|
418
452
|
wiring.poke();
|
|
@@ -433,6 +467,7 @@ async function readAttention(withDrift = false) {
|
|
|
433
467
|
eventsOf: (name) => history.eventsOf(name),
|
|
434
468
|
wiringOf: (id) => (0, wiring_1.readContainerWiring)(id),
|
|
435
469
|
updates: (0, updates_1.knownUpdates)(),
|
|
470
|
+
memory: crashWatch?.memory.pressing() ?? [],
|
|
436
471
|
...(withDrift ? { driftOf: async (project) => {
|
|
437
472
|
const drift = await (0, compose_drift_1.readProjectDrift)(project);
|
|
438
473
|
return drift.ok ? drift.changed : [];
|
|
@@ -590,7 +625,7 @@ async function useContext(name) {
|
|
|
590
625
|
(0, compose_1.resetComposeStatus)();
|
|
591
626
|
const status = await (0, engine_1.readEngineStatus)();
|
|
592
627
|
if (crashWatch !== null) {
|
|
593
|
-
startCrashWatch(crashWatch.onCrash, crashWatch.onWiring);
|
|
628
|
+
startCrashWatch(crashWatch.onCrash, crashWatch.onWiring, crashWatch.onMemory);
|
|
594
629
|
}
|
|
595
630
|
for (const state of windows.values()) {
|
|
596
631
|
startWatchers(state);
|
|
@@ -834,13 +869,34 @@ function registerIpcHandlers() {
|
|
|
834
869
|
const choice = owner === null ? await electron_1.dialog.showOpenDialog(options) : await electron_1.dialog.showOpenDialog(owner, options);
|
|
835
870
|
return choice.canceled ? null : (choice.filePaths[0] ?? null);
|
|
836
871
|
});
|
|
837
|
-
handle(channels_1.CHANNELS.volumesRestore, async (event, name) => {
|
|
872
|
+
handle(channels_1.CHANNELS.volumesRestore, async (event, name, stopUsers) => {
|
|
838
873
|
const volume = resourceName.parse(name);
|
|
874
|
+
const stop = truthy.parse(stopUsers ?? false);
|
|
839
875
|
const owner = electron_1.BrowserWindow.fromWebContents(event.sender);
|
|
840
876
|
const options = { properties: ['openFile'], filters: [{ name: (0, i18n_1.t)({ en: 'Backup', nl: 'Back-up', de: 'Sicherung', fr: 'Sauvegarde', es: 'Copia de seguridad' }), extensions: ['tar'] }] };
|
|
841
877
|
const choice = owner === null ? await electron_1.dialog.showOpenDialog(options) : await electron_1.dialog.showOpenDialog(owner, options);
|
|
842
|
-
return (0,
|
|
878
|
+
return (0, volume_restore_1.restoreWithUsers)(volume, choice.canceled ? null : (choice.filePaths[0] ?? null), stop);
|
|
879
|
+
});
|
|
880
|
+
handle(channels_1.CHANNELS.volumesBackups, (_event, name) => (0, volume_schedules_1.volumeSchedules)()?.backups(resourceName.parse(name)) ?? []);
|
|
881
|
+
// Alleen een naam uit de eigen lijst: de renderer kiest geen willekeurig pad om terug te zetten.
|
|
882
|
+
handle(channels_1.CHANNELS.volumesRestoreBackup, (_event, name, file, stopUsers) => {
|
|
883
|
+
const volume = resourceName.parse(name);
|
|
884
|
+
const found = (0, volume_schedules_1.volumeSchedules)()?.backupPath(volume, zod_1.z.string().min(1).max(255).parse(file)) ?? null;
|
|
885
|
+
if (found === null) {
|
|
886
|
+
return {
|
|
887
|
+
ok: false,
|
|
888
|
+
problem: (0, i18n_1.t)({
|
|
889
|
+
en: 'That backup is not in the folder of the schedule (anymore).',
|
|
890
|
+
nl: 'Die back-up staat niet (meer) in de map van het schema.',
|
|
891
|
+
de: 'Diese Sicherung liegt nicht (mehr) im Ordner des Zeitplans.',
|
|
892
|
+
fr: 'Cette sauvegarde n’est pas (ou plus) dans le dossier de la planification.',
|
|
893
|
+
es: 'Esa copia no está (ya) en la carpeta de la programación.',
|
|
894
|
+
}),
|
|
895
|
+
};
|
|
896
|
+
}
|
|
897
|
+
return (0, volume_restore_1.restoreWithUsers)(volume, found, truthy.parse(stopUsers));
|
|
843
898
|
});
|
|
899
|
+
handle(channels_1.CHANNELS.volumesBackupNow, (_event, name) => (0, volume_schedules_1.volumeSchedules)()?.backupNow(resourceName.parse(name)) ?? null);
|
|
844
900
|
handle(channels_1.CHANNELS.networksList, () => (0, networks_1.listNetworks)());
|
|
845
901
|
handle(channels_1.CHANNELS.networksCreate, (_event, network) => (0, networks_1.createNetwork)(newNetwork.parse(network)));
|
|
846
902
|
handle(channels_1.CHANNELS.networksRemove, (_event, id) => (0, networks_1.removeNetwork)(resourceName.parse(id)));
|