docker-client-mx 1.45.0 → 1.46.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-6Ee5XYkz.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-B-jCnQFP2.js +6 -0
- package/dist/docker-desktop-mx/browser/{chunk-Bd5-MqqR.js → chunk-B2FafzpV.js} +2 -2
- package/dist/docker-desktop-mx/browser/chunk-B6qORmpw.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-B7IRMMXz2.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-B7xNIuls.js +3 -0
- package/dist/docker-desktop-mx/browser/chunk-BFq6LhBl.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-CHa6bNlc.js → chunk-BHeMRkJW.js} +4 -4
- package/dist/docker-desktop-mx/browser/{chunk-eVHlLrxe.js → chunk-BNXdbUqv.js} +2 -2
- package/dist/docker-desktop-mx/browser/chunk-BSz2tiCV.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-BZygkakw2.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-Ba7ROPTT.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-BiQwXu_z.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-Bk32Rk5p.js +4 -0
- package/dist/docker-desktop-mx/browser/chunk-BsmS2zXP.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-ByAKccx1.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-C4OFwmD92.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-B3n-2UOi.js → chunk-C9w0bf2Y.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-CI-MgoDd.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CLii2-2s.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CWjMCD8T.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CaJx4ff8.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-Clfbc1-d.js → chunk-CesW8OnI.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-CgneC1Je.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-ChGlpKnY.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CnivQPHU.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-CyNh8lBK2.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-D-daLnRf.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-D5pKQvyX.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-D8vF1ayp2.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DFkgt4XH.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DJfErblk.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DKpHGsCy.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DTYNCfd52.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DWYNwk_L.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-Ds9UWi20.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-DwKe2pMP.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-FM5_LSb4.js +1 -0
- package/dist/docker-desktop-mx/browser/{chunk-BZwYBA7Z.js → chunk-FuBWiPKf.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-_wm6hEEA.js → chunk-bj_sMiGa.js} +1 -1
- package/dist/docker-desktop-mx/browser/{chunk-Dy_g3RHY.js → chunk-dMo4BIG3.js} +1 -1
- package/dist/docker-desktop-mx/browser/chunk-gOjj4-4k.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-idasJ9ng.js +1 -0
- package/dist/docker-desktop-mx/browser/chunk-ux3iG9S52.js +1 -0
- package/dist/docker-desktop-mx/browser/index.html +2 -2
- package/dist/docker-desktop-mx/browser/main-DIJOTBZN.js +1 -0
- package/dist/docker-desktop-mx/browser/styles-3HWRDJL3.css +1 -0
- package/dist-electron/channels.js +15 -0
- package/dist-electron/channels.js.map +1 -1
- package/dist-electron/file-ops.js +315 -0
- package/dist-electron/file-ops.js.map +1 -0
- package/dist-electron/files.js +19 -10
- package/dist-electron/files.js.map +1 -1
- package/dist-electron/ipc.js +52 -0
- package/dist-electron/ipc.js.map +1 -1
- package/dist-electron/main.js +63 -2
- package/dist-electron/main.js.map +1 -1
- package/dist-electron/preload.js +33 -3
- package/dist-electron/preload.js.map +1 -1
- package/dist-electron/settings.js +24 -1
- package/dist-electron/settings.js.map +1 -1
- package/dist-electron/volume-files.js +1 -0
- package/dist-electron/volume-files.js.map +1 -1
- package/dist-electron/volume-schedules.js +285 -0
- package/dist-electron/volume-schedules.js.map +1 -0
- package/package.json +1 -1
- package/dist/docker-desktop-mx/browser/chunk-Af1e1d8G.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-B13W1gEu.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-B2NHI2Ew.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BIIdmzaV2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BJACElSf2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BPNQPsl2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BUtOgCv_.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-Bcx5WMyJ.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BxKOYZan.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-BxU6JdzU.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-C3u9Hm0s.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CGft6wQH2.js +0 -6
- package/dist/docker-desktop-mx/browser/chunk-COBWzwhz.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-COdMLD3H.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CXpIB_qc.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-ClGJowQ7.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CoprhnOm.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-CsQ_euXP.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-D3bHzook.js +0 -3
- package/dist/docker-desktop-mx/browser/chunk-DEXem6rk.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DPn8Rpg4.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DVXm8E_S.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DX-Zo-hw.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DZ-f89Uu.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DZXhuKXm.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DctinxSO.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-DeXGJ-vD2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-EFAsN7J4.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-FqKVK_Os2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-IMRsZUv82.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-U7tL4XEw2.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-YQkNtrRq.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-jpKpwesj.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-m112xmv9.js +0 -1
- package/dist/docker-desktop-mx/browser/chunk-u0OAgv4f.js +0 -4
- package/dist/docker-desktop-mx/browser/main-INZSNGJM.js +0 -1
- package/dist/docker-desktop-mx/browser/styles-BGYQU5CU.css +0 -1
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.countInVolume = exports.makeDirInVolume = exports.removeInVolume = exports.renameInVolume = exports.countInContainer = exports.makeDirInContainer = exports.removeInContainer = exports.renameInContainer = void 0;
|
|
37
|
+
exports.nameProblem = nameProblem;
|
|
38
|
+
exports.describeOpProblem = describeOpProblem;
|
|
39
|
+
exports.demuxLogs = demuxLogs;
|
|
40
|
+
const path = __importStar(require("node:path"));
|
|
41
|
+
const docker_client_1 = require("./docker-client");
|
|
42
|
+
const files_1 = require("./files");
|
|
43
|
+
const host_shell_1 = require("./host-shell");
|
|
44
|
+
const i18n_1 = require("./i18n");
|
|
45
|
+
const volume_files_1 = require("./volume-files");
|
|
46
|
+
/**
|
|
47
|
+
* Bestanden opruimen (fase 86): een naam wijzigen, iets weggooien, een map erbij. In een container
|
|
48
|
+
* en in een volume, met dezelfde regels.
|
|
49
|
+
*
|
|
50
|
+
* In een container met `exec` (`mv`, `rm`, `mkdir`), met de paden als argumenten; alleen naam
|
|
51
|
+
* wijzigen gaat via `sh`, om eerst te kijken of de nieuwe naam er al is. Dat vraagt een draaiende
|
|
52
|
+
* container met die programma's. In een volume in een hulpcontainer die alleen die ene
|
|
53
|
+
* opdracht draait, met het volume beschrijfbaar, en daarna weg: de inkijk zelf blijft `:ro`.
|
|
54
|
+
*/
|
|
55
|
+
/** Zo lang mag weggooien duren; een map met node_modules is nog ruim binnen de tijd. */
|
|
56
|
+
const REMOVE_TIMEOUT_MS = 120_000;
|
|
57
|
+
/** Afsluitcode van de hulpcontainer als het doel al bestaat; `mv` zelf zou het stil overschrijven. */
|
|
58
|
+
const EXISTS_CODE = 3;
|
|
59
|
+
const VOLUME_ROLE = 'volume-edit';
|
|
60
|
+
/** Of een nieuwe naam kan: niet leeg, geen schuine streep, geen `.` of `..`. `null` als het goed is. */
|
|
61
|
+
function nameProblem(name) {
|
|
62
|
+
if (name.trim() === '' || name === '.' || name === '..') {
|
|
63
|
+
return (0, i18n_1.t)({
|
|
64
|
+
en: 'Give a name.',
|
|
65
|
+
nl: 'Geef een naam.',
|
|
66
|
+
de: 'Geben Sie einen Namen an.',
|
|
67
|
+
fr: 'Indiquez un nom.',
|
|
68
|
+
es: 'Indica un nombre.',
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (name.includes('/') || name.includes('\0') || name.length > 255) {
|
|
72
|
+
return (0, i18n_1.t)({
|
|
73
|
+
en: 'A name has no / and is at most 255 characters.',
|
|
74
|
+
nl: 'Een naam heeft geen / en is hooguit 255 tekens.',
|
|
75
|
+
de: 'Ein Name enthält kein / und hat höchstens 255 Zeichen.',
|
|
76
|
+
fr: 'Un nom ne contient pas de / et fait au plus 255 caractères.',
|
|
77
|
+
es: 'Un nombre no lleva / y tiene como mucho 255 caracteres.',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
/** Een fout van `mv`, `rm` of `mkdir` in gewone taal; `shown` is het pad zoals de gebruiker het ziet. */
|
|
83
|
+
function describeOpProblem(text, shown, inVolume) {
|
|
84
|
+
const lower = text.toLowerCase();
|
|
85
|
+
if (lower.includes('is not running')) {
|
|
86
|
+
return (0, i18n_1.t)({
|
|
87
|
+
en: 'Start the container to change its files.',
|
|
88
|
+
nl: 'Start de container om zijn bestanden te veranderen.',
|
|
89
|
+
de: 'Starten Sie den Container, um seine Dateien zu ändern.',
|
|
90
|
+
fr: 'Démarrez le conteneur pour modifier ses fichiers.',
|
|
91
|
+
es: 'Inicia el contenedor para cambiar sus archivos.',
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
if (lower.includes('executable file not found') || lower.includes('no such file or directory: unknown')) {
|
|
95
|
+
return (0, i18n_1.t)({
|
|
96
|
+
en: 'This container has no mv, rm or mkdir, for example because it is a distroless image. If the path is on a volume, it works from the volume.',
|
|
97
|
+
nl: 'Deze container heeft geen mv, rm of mkdir, bijvoorbeeld omdat het een distroless-image is. Staat het pad op een volume, dan kan het via dat volume.',
|
|
98
|
+
de: 'Dieser Container hat kein mv, rm oder mkdir, zum Beispiel weil es ein distroless-Image ist. Liegt der Pfad auf einem Volume, geht es über dieses Volume.',
|
|
99
|
+
fr: 'Ce conteneur n’a pas de mv, rm ou mkdir, par exemple parce que c’est une image distroless. Si le chemin est sur un volume, passez par ce volume.',
|
|
100
|
+
es: 'Este contenedor no tiene mv, rm ni mkdir, por ejemplo porque es una image distroless. Si la ruta está en un volume, se puede desde ese volume.',
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
if (lower.includes('file exists')) {
|
|
104
|
+
return exists(shown);
|
|
105
|
+
}
|
|
106
|
+
if (lower.includes('read-only file system')) {
|
|
107
|
+
return (0, i18n_1.t)({
|
|
108
|
+
en: `${shown} is on a read-only mount.`,
|
|
109
|
+
nl: `${shown} staat op een koppeling die alleen lezen is.`,
|
|
110
|
+
de: `${shown} liegt auf einer schreibgeschützten Einbindung.`,
|
|
111
|
+
fr: `${shown} est sur un montage en lecture seule.`,
|
|
112
|
+
es: `${shown} está en un montaje de solo lectura.`,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (lower.includes('permission denied') || lower.includes('operation not permitted')) {
|
|
116
|
+
return inVolume
|
|
117
|
+
? (0, i18n_1.t)({
|
|
118
|
+
en: `No permission to change ${shown}.`,
|
|
119
|
+
nl: `Geen rechten om ${shown} te veranderen.`,
|
|
120
|
+
de: `Keine Berechtigung, ${shown} zu ändern.`,
|
|
121
|
+
fr: `Pas le droit de modifier ${shown}.`,
|
|
122
|
+
es: `Sin permiso para cambiar ${shown}.`,
|
|
123
|
+
})
|
|
124
|
+
: (0, i18n_1.t)({
|
|
125
|
+
en: `No permission to change ${shown} for the user the container runs as.`,
|
|
126
|
+
nl: `Geen rechten om ${shown} te veranderen voor de gebruiker waarmee de container draait.`,
|
|
127
|
+
de: `Keine Berechtigung, ${shown} zu ändern, für den Benutzer, unter dem der Container läuft.`,
|
|
128
|
+
fr: `Pas le droit de modifier ${shown} pour l’utilisateur sous lequel tourne le conteneur.`,
|
|
129
|
+
es: `Sin permiso para cambiar ${shown} con el usuario con el que se ejecuta el contenedor.`,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (lower.includes('no such file')) {
|
|
133
|
+
return (0, i18n_1.t)({
|
|
134
|
+
en: `${shown} does not exist (anymore).`,
|
|
135
|
+
nl: `${shown} bestaat niet (meer).`,
|
|
136
|
+
de: `${shown} existiert nicht (mehr).`,
|
|
137
|
+
fr: `${shown} n’existe pas (ou plus).`,
|
|
138
|
+
es: `${shown} no existe (ya).`,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return (0, i18n_1.t)({
|
|
142
|
+
en: `Could not change ${shown}: ${text.trim()}`,
|
|
143
|
+
nl: `Kon ${shown} niet veranderen: ${text.trim()}`,
|
|
144
|
+
de: `${shown} konnte nicht geändert werden: ${text.trim()}`,
|
|
145
|
+
fr: `Impossible de modifier ${shown} : ${text.trim()}`,
|
|
146
|
+
es: `No se ha podido cambiar ${shown}: ${text.trim()}`,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
function exists(shown) {
|
|
150
|
+
return (0, i18n_1.t)({
|
|
151
|
+
en: `${shown} already exists.`,
|
|
152
|
+
nl: `${shown} bestaat al.`,
|
|
153
|
+
de: `${shown} existiert bereits.`,
|
|
154
|
+
fr: `${shown} existe déjà.`,
|
|
155
|
+
es: `${shown} ya existe.`,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function notTheRoot() {
|
|
159
|
+
return (0, i18n_1.t)({
|
|
160
|
+
en: 'Not the top folder itself.',
|
|
161
|
+
nl: 'Niet de bovenste map zelf.',
|
|
162
|
+
de: 'Nicht den obersten Ordner selbst.',
|
|
163
|
+
fr: 'Pas le dossier racine lui-même.',
|
|
164
|
+
es: 'No la carpeta raíz en sí.',
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
function containerPlace(id) {
|
|
168
|
+
return {
|
|
169
|
+
inVolume: false,
|
|
170
|
+
at: (shown) => shown,
|
|
171
|
+
run: (cmd, timeoutMs) => (0, files_1.runCommand)(id, cmd, timeoutMs),
|
|
172
|
+
read: (cmd) => (0, files_1.runCommand)(id, cmd),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* De uitvoer van `logs` zonder tty: blokken met een kop van acht bytes, waarvan de eerste zegt of
|
|
177
|
+
* het stdout (1) of stderr (2) is en de laatste vier hoe lang het blok is.
|
|
178
|
+
*/
|
|
179
|
+
function demuxLogs(buffer) {
|
|
180
|
+
const out = [];
|
|
181
|
+
const err = [];
|
|
182
|
+
let offset = 0;
|
|
183
|
+
while (offset + 8 <= buffer.length) {
|
|
184
|
+
const kind = buffer[offset];
|
|
185
|
+
const size = buffer.readUInt32BE(offset + 4);
|
|
186
|
+
const chunk = buffer.subarray(offset + 8, offset + 8 + size);
|
|
187
|
+
(kind === 2 ? err : out).push(chunk);
|
|
188
|
+
offset += 8 + size;
|
|
189
|
+
}
|
|
190
|
+
return { stdout: Buffer.concat(out).toString('utf8'), stderr: Buffer.concat(err).toString('utf8') };
|
|
191
|
+
}
|
|
192
|
+
/** Eén opdracht in een eigen hulpcontainer met het volume beschrijfbaar; daarna gaat die weg. */
|
|
193
|
+
async function runInVolume(volume, cmd) {
|
|
194
|
+
const { docker } = (0, docker_client_1.getConnection)();
|
|
195
|
+
await docker.getVolume(volume).inspect();
|
|
196
|
+
await (0, volume_files_1.ensureImage)();
|
|
197
|
+
const container = await docker.createContainer({
|
|
198
|
+
Image: host_shell_1.HELPER_IMAGE,
|
|
199
|
+
Cmd: [...cmd],
|
|
200
|
+
Labels: { [host_shell_1.HELPER_LABEL]: VOLUME_ROLE, [host_shell_1.OWNER_LABEL]: String(process.pid) },
|
|
201
|
+
HostConfig: { Binds: [`${volume}:/volume`], NetworkMode: 'none' },
|
|
202
|
+
});
|
|
203
|
+
try {
|
|
204
|
+
await container.start();
|
|
205
|
+
const waited = (await container.wait());
|
|
206
|
+
const logs = await container.logs({ stdout: true, stderr: true, follow: false });
|
|
207
|
+
return { ...demuxLogs(Buffer.isBuffer(logs) ? logs : Buffer.from(logs)), exitCode: waited.StatusCode ?? 0 };
|
|
208
|
+
}
|
|
209
|
+
finally {
|
|
210
|
+
await container.remove({ force: true }).catch(() => undefined);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
function volumePlace(volume) {
|
|
214
|
+
return {
|
|
215
|
+
inVolume: true,
|
|
216
|
+
at: (shown) => (0, volume_files_1.mountedPath)(shown),
|
|
217
|
+
run: (cmd) => runInVolume(volume, cmd),
|
|
218
|
+
// Tellen kan in de alleen-lezen inkijk, die al draait.
|
|
219
|
+
read: async (cmd) => (0, files_1.runCommand)(await (0, volume_files_1.helperFor)(volume), cmd),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
function failure(err, shown, place) {
|
|
223
|
+
return { ok: false, problem: describeOpProblem(err instanceof Error ? err.message : String(err), shown, place.inVolume) };
|
|
224
|
+
}
|
|
225
|
+
async function rename(place, requested, name) {
|
|
226
|
+
const problem = nameProblem(name);
|
|
227
|
+
const from = (0, files_1.normalizeContainerPath)(requested);
|
|
228
|
+
if (problem !== null) {
|
|
229
|
+
return { ok: false, problem };
|
|
230
|
+
}
|
|
231
|
+
if (from === '/') {
|
|
232
|
+
return { ok: false, problem: notTheRoot() };
|
|
233
|
+
}
|
|
234
|
+
const to = path.posix.join(path.posix.dirname(from), name);
|
|
235
|
+
if (to === from) {
|
|
236
|
+
return { ok: true };
|
|
237
|
+
}
|
|
238
|
+
try {
|
|
239
|
+
// In een shell, zodat het bestaan van het doel en het verplaatsen één opdracht zijn: `mv` zou
|
|
240
|
+
// een bestaand bestand stil overschrijven, en `mv -n` zegt niet dat hij niets deed.
|
|
241
|
+
const result = await place.run([
|
|
242
|
+
'sh',
|
|
243
|
+
'-c',
|
|
244
|
+
`if [ -e "$2" ] || [ -L "$2" ]; then exit ${String(EXISTS_CODE)}; fi; exec mv -- "$1" "$2"`,
|
|
245
|
+
'sh',
|
|
246
|
+
place.at(from),
|
|
247
|
+
place.at(to),
|
|
248
|
+
]);
|
|
249
|
+
if (result.exitCode === EXISTS_CODE) {
|
|
250
|
+
return { ok: false, problem: exists(to) };
|
|
251
|
+
}
|
|
252
|
+
return result.exitCode === 0 ? { ok: true } : { ok: false, problem: describeOpProblem(result.stderr || result.stdout, from, place.inVolume) };
|
|
253
|
+
}
|
|
254
|
+
catch (err) {
|
|
255
|
+
return failure(err, from, place);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
async function remove(place, requested) {
|
|
259
|
+
const target = (0, files_1.normalizeContainerPath)(requested);
|
|
260
|
+
if (target === '/') {
|
|
261
|
+
return { ok: false, problem: notTheRoot() };
|
|
262
|
+
}
|
|
263
|
+
try {
|
|
264
|
+
const result = await place.run(['rm', '-rf', '--', place.at(target)], REMOVE_TIMEOUT_MS);
|
|
265
|
+
return result.exitCode === 0 ? { ok: true } : { ok: false, problem: describeOpProblem(result.stderr || result.stdout, target, place.inVolume) };
|
|
266
|
+
}
|
|
267
|
+
catch (err) {
|
|
268
|
+
return failure(err, target, place);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
async function makeDir(place, requestedDir, name) {
|
|
272
|
+
const problem = nameProblem(name);
|
|
273
|
+
if (problem !== null) {
|
|
274
|
+
return { ok: false, problem };
|
|
275
|
+
}
|
|
276
|
+
const target = path.posix.join((0, files_1.normalizeContainerPath)(requestedDir), name);
|
|
277
|
+
try {
|
|
278
|
+
const result = await place.run(['mkdir', '--', place.at(target)]);
|
|
279
|
+
return result.exitCode === 0 ? { ok: true } : { ok: false, problem: describeOpProblem(result.stderr || result.stdout, target, place.inVolume) };
|
|
280
|
+
}
|
|
281
|
+
catch (err) {
|
|
282
|
+
return failure(err, target, place);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/** Hoeveel er in een map zit, alles eronder meegeteld; voor de vraag voordat hij weggaat. */
|
|
286
|
+
async function count(place, requested) {
|
|
287
|
+
const target = (0, files_1.normalizeContainerPath)(requested);
|
|
288
|
+
try {
|
|
289
|
+
const result = await place.read(['find', place.at(target), '-mindepth', '1']);
|
|
290
|
+
if (result.exitCode !== 0 && result.stdout === '') {
|
|
291
|
+
return { ok: false, problem: describeOpProblem(result.stderr, target, place.inVolume) };
|
|
292
|
+
}
|
|
293
|
+
return { ok: true, count: result.stdout.split('\n').filter((line) => line !== '').length };
|
|
294
|
+
}
|
|
295
|
+
catch (err) {
|
|
296
|
+
return { ok: false, problem: describeOpProblem(err instanceof Error ? err.message : String(err), target, place.inVolume) };
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
const renameInContainer = (id, from, name) => rename(containerPlace(id), from, name);
|
|
300
|
+
exports.renameInContainer = renameInContainer;
|
|
301
|
+
const removeInContainer = (id, target) => remove(containerPlace(id), target);
|
|
302
|
+
exports.removeInContainer = removeInContainer;
|
|
303
|
+
const makeDirInContainer = (id, dir, name) => makeDir(containerPlace(id), dir, name);
|
|
304
|
+
exports.makeDirInContainer = makeDirInContainer;
|
|
305
|
+
const countInContainer = (id, target) => count(containerPlace(id), target);
|
|
306
|
+
exports.countInContainer = countInContainer;
|
|
307
|
+
const renameInVolume = (volume, from, name) => rename(volumePlace(volume), from, name);
|
|
308
|
+
exports.renameInVolume = renameInVolume;
|
|
309
|
+
const removeInVolume = (volume, target) => remove(volumePlace(volume), target);
|
|
310
|
+
exports.removeInVolume = removeInVolume;
|
|
311
|
+
const makeDirInVolume = (volume, dir, name) => makeDir(volumePlace(volume), dir, name);
|
|
312
|
+
exports.makeDirInVolume = makeDirInVolume;
|
|
313
|
+
const countInVolume = (volume, target) => count(volumePlace(volume), target);
|
|
314
|
+
exports.countInVolume = countInVolume;
|
|
315
|
+
//# sourceMappingURL=file-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../electron/file-ops.ts"],"names":[],"mappings":"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"}
|
package/dist-electron/files.js
CHANGED
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.normalizeContainerPath = normalizeContainerPath;
|
|
37
37
|
exports.parseListing = parseListing;
|
|
38
38
|
exports.describeListProblem = describeListProblem;
|
|
39
|
+
exports.runCommand = runCommand;
|
|
39
40
|
exports.withoutParents = withoutParents;
|
|
40
41
|
exports.toChanges = toChanges;
|
|
41
42
|
exports.listChanges = listChanges;
|
|
@@ -63,7 +64,7 @@ const i18n_1 = require("./i18n");
|
|
|
63
64
|
*/
|
|
64
65
|
/** Zoveel symlinks volgen we bij een download; een kring houdt zo vanzelf op. */
|
|
65
66
|
const MAX_LINK_HOPS = 8;
|
|
66
|
-
/** Zo lang mag `ls` erover doen. Een map met tienduizenden bestanden is nog ruim binnen de tijd. */
|
|
67
|
+
/** Zo lang mag `ls` (of `rm`, `mv`) erover doen. Een map met tienduizenden bestanden is nog ruim binnen de tijd. */
|
|
67
68
|
const LIST_TIMEOUT_MS = 10_000;
|
|
68
69
|
/**
|
|
69
70
|
* Maakt van een pad uit de renderer een net, absoluut POSIX-pad. `..` wordt opgelost, niet
|
|
@@ -140,11 +141,18 @@ function describeListProblem(text, dir) {
|
|
|
140
141
|
});
|
|
141
142
|
}
|
|
142
143
|
/** Draait `ls` en geeft stdout, stderr en de afsluitcode terug. */
|
|
143
|
-
|
|
144
|
+
function runLs(id, dir) {
|
|
145
|
+
// `--` zodat een map die met een streepje begint geen optie wordt.
|
|
146
|
+
return runCommand(id, ['ls', '-1Ap', '--', dir]);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Draait één opdracht in een draaiende container, met argumenten en zonder shell, en geeft stdout,
|
|
150
|
+
* stderr en de afsluitcode terug. Ook voor opruimen in de tab Bestanden (fase 86).
|
|
151
|
+
*/
|
|
152
|
+
async function runCommand(id, cmd, timeoutMs = LIST_TIMEOUT_MS) {
|
|
144
153
|
const { docker } = (0, docker_client_1.getConnection)();
|
|
145
154
|
const exec = await docker.getContainer(id).exec({
|
|
146
|
-
|
|
147
|
-
Cmd: ['ls', '-1Ap', '--', dir],
|
|
155
|
+
Cmd: [...cmd],
|
|
148
156
|
AttachStdout: true,
|
|
149
157
|
AttachStderr: true,
|
|
150
158
|
});
|
|
@@ -160,14 +168,15 @@ async function runLs(id, dir) {
|
|
|
160
168
|
await new Promise((resolve, reject) => {
|
|
161
169
|
const timer = setTimeout(() => {
|
|
162
170
|
stream.destroy();
|
|
171
|
+
const program = cmd[0] ?? '';
|
|
163
172
|
reject(new Error((0, i18n_1.t)({
|
|
164
|
-
en:
|
|
165
|
-
nl:
|
|
166
|
-
de:
|
|
167
|
-
fr:
|
|
168
|
-
es:
|
|
173
|
+
en: `${program} did not respond in time.`,
|
|
174
|
+
nl: `${program} reageerde niet op tijd.`,
|
|
175
|
+
de: `${program} hat nicht rechtzeitig geantwortet.`,
|
|
176
|
+
fr: `${program} n’a pas répondu à temps.`,
|
|
177
|
+
es: `${program} no ha respondido a tiempo.`,
|
|
169
178
|
})));
|
|
170
|
-
},
|
|
179
|
+
}, timeoutMs);
|
|
171
180
|
stream.on('end', () => {
|
|
172
181
|
clearTimeout(timer);
|
|
173
182
|
resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../electron/files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../electron/files.ts"],"names":[],"mappings":"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"}
|
package/dist-electron/ipc.js
CHANGED
|
@@ -83,6 +83,7 @@ const events_1 = require("./events");
|
|
|
83
83
|
const files_1 = require("./files");
|
|
84
84
|
const volume_file_edit_1 = require("./volume-file-edit");
|
|
85
85
|
const volume_files_1 = require("./volume-files");
|
|
86
|
+
const file_ops_1 = require("./file-ops");
|
|
86
87
|
const self_update_1 = require("./self-update");
|
|
87
88
|
const settings_1 = require("./settings");
|
|
88
89
|
const servers_1 = require("./servers");
|
|
@@ -103,6 +104,7 @@ const compose_drift_1 = require("./compose-drift");
|
|
|
103
104
|
const compose_known_1 = require("./compose-known");
|
|
104
105
|
const image_file_1 = require("./image-file");
|
|
105
106
|
const volume_copy_1 = require("./volume-copy");
|
|
107
|
+
const volume_schedules_1 = require("./volume-schedules");
|
|
106
108
|
const service_build_1 = require("./service-build");
|
|
107
109
|
const run_1 = require("./run");
|
|
108
110
|
const volumes_1 = require("./volumes");
|
|
@@ -156,6 +158,8 @@ const truthy = zod_1.z.boolean();
|
|
|
156
158
|
// Een pad in de container. files.ts maakt het absoluut en net; hier alleen een grens.
|
|
157
159
|
const containerPath = zod_1.z.string().min(1).max(4096);
|
|
158
160
|
const fileKind = zod_1.z.enum(['dir', 'file']);
|
|
161
|
+
/** Eén naam in een map; main kijkt zelf nog of er geen / in zit. */
|
|
162
|
+
const fileName = zod_1.z.string().min(1).max(255);
|
|
159
163
|
// Een sleutel van de Claude API is een regel van een paar honderd tekens; main kijkt de vorm na.
|
|
160
164
|
const apiKey = zod_1.z.string().min(1).max(512);
|
|
161
165
|
// Een vraag aan Claude. Ruim, maar geen heel logbestand: dat haalt Claude zelf op.
|
|
@@ -167,6 +171,7 @@ const settingsPatch = zod_1.z
|
|
|
167
171
|
notifyCrash: zod_1.z.boolean().optional(),
|
|
168
172
|
notifyUnhealthy: zod_1.z.boolean().optional(),
|
|
169
173
|
notifyWiring: zod_1.z.boolean().optional(),
|
|
174
|
+
mutedContainers: zod_1.z.array(zod_1.z.string().min(1).max(256)).max(settings_1.MAX_MUTED).optional(),
|
|
170
175
|
paletteShortcut: zod_1.z.boolean().optional(),
|
|
171
176
|
autoUpdate: zod_1.z.boolean().optional(),
|
|
172
177
|
autoPrune: zod_1.z.boolean().optional(),
|
|
@@ -181,6 +186,16 @@ const wslDistro = zod_1.z.string().min(1).max(64).regex(/^[\w.-]+$/);
|
|
|
181
186
|
// Volumenamen, netwerk-id's en contextnamen komen uit onze eigen lijst; dit is een grens,
|
|
182
187
|
// geen validatie van wat Docker toelaat.
|
|
183
188
|
const resourceName = zod_1.z.string().min(1).max(256);
|
|
189
|
+
/** Een schema voor vanzelf een back-up (fase 85); de map moet een absoluut pad zijn. */
|
|
190
|
+
const scheduleInput = zod_1.z
|
|
191
|
+
.object({
|
|
192
|
+
volume: zod_1.z.string().min(1).max(256),
|
|
193
|
+
every: zod_1.z.enum(['day', 'week']),
|
|
194
|
+
folder: zod_1.z.string().min(1).max(1024).refine((folder) => path.isAbsolute(folder)),
|
|
195
|
+
keep: zod_1.z.number().int().min(1).max(volume_schedules_1.MAX_KEEP),
|
|
196
|
+
whenInUse: zod_1.z.enum(['skip', 'pause']),
|
|
197
|
+
})
|
|
198
|
+
.strict();
|
|
184
199
|
/** Te bewerken tekst: iets ruimer dan het maximum van het lezen, want bewerken mag het bestand iets groter maken. */
|
|
185
200
|
const editText = zod_1.z.string().max(2 * 1024 * 1024);
|
|
186
201
|
/** De versie van een gelezen bestand (sha256), om bij opslaan tegen te controleren. */
|
|
@@ -801,6 +816,24 @@ function registerIpcHandlers() {
|
|
|
801
816
|
});
|
|
802
817
|
handle(channels_1.CHANNELS.volumesUsers, (_event, name) => (0, volume_copy_1.listVolumeUsers)(resourceName.parse(name)));
|
|
803
818
|
handle(channels_1.CHANNELS.volumesCopy, (_event, source, target) => (0, volume_copy_1.copyVolume)(resourceName.parse(source), resourceName.parse(target)));
|
|
819
|
+
handle(channels_1.CHANNELS.volumesSchedules, () => (0, volume_schedules_1.volumeSchedules)()?.list() ?? []);
|
|
820
|
+
handle(channels_1.CHANNELS.volumesSetSchedule, (_event, raw) => {
|
|
821
|
+
const schedules = (0, volume_schedules_1.volumeSchedules)();
|
|
822
|
+
if (schedules === null) {
|
|
823
|
+
return [];
|
|
824
|
+
}
|
|
825
|
+
const result = schedules.set(scheduleInput.parse(raw));
|
|
826
|
+
// De eerste back-up meteen, als hij aan de beurt is; niet op het antwoord wachten.
|
|
827
|
+
void schedules.tick();
|
|
828
|
+
return result;
|
|
829
|
+
});
|
|
830
|
+
handle(channels_1.CHANNELS.volumesRemoveSchedule, (_event, name) => (0, volume_schedules_1.volumeSchedules)()?.remove(resourceName.parse(name)) ?? []);
|
|
831
|
+
handle(channels_1.CHANNELS.volumesChooseBackupFolder, async (event) => {
|
|
832
|
+
const owner = electron_1.BrowserWindow.fromWebContents(event.sender);
|
|
833
|
+
const options = { properties: ['openDirectory', 'createDirectory'] };
|
|
834
|
+
const choice = owner === null ? await electron_1.dialog.showOpenDialog(options) : await electron_1.dialog.showOpenDialog(owner, options);
|
|
835
|
+
return choice.canceled ? null : (choice.filePaths[0] ?? null);
|
|
836
|
+
});
|
|
804
837
|
handle(channels_1.CHANNELS.volumesRestore, async (event, name) => {
|
|
805
838
|
const volume = resourceName.parse(name);
|
|
806
839
|
const owner = electron_1.BrowserWindow.fromWebContents(event.sender);
|
|
@@ -862,6 +895,7 @@ function registerIpcHandlers() {
|
|
|
862
895
|
handle(channels_1.CHANNELS.assistantClose, (event, id) => assistant.close(event.sender.id, streamId.parse(id)));
|
|
863
896
|
handle(channels_1.CHANNELS.settingsGet, () => (0, settings_1.readSettings)());
|
|
864
897
|
handle(channels_1.CHANNELS.settingsUpdate, (_event, patch) => (0, settings_1.updateSettings)(settingsPatch.parse(patch)));
|
|
898
|
+
handle(channels_1.CHANNELS.settingsMuteContainer, (_event, name, muted) => (0, settings_1.muteContainer)(resourceName.parse(name), truthy.parse(muted)));
|
|
865
899
|
handle(channels_1.CHANNELS.appUpdateGet, () => (0, self_update_1.readAppUpdate)());
|
|
866
900
|
handle(channels_1.CHANNELS.appUpdateCheck, () => (0, self_update_1.checkForAppUpdate)());
|
|
867
901
|
// Via before-quit in main.ts, net als Afsluiten in het systeemvak: dan ruimt die ook de
|
|
@@ -876,6 +910,24 @@ function registerIpcHandlers() {
|
|
|
876
910
|
const choice = owner === null ? await electron_1.dialog.showSaveDialog(options) : await electron_1.dialog.showSaveDialog(owner, options);
|
|
877
911
|
return choice.canceled || choice.filePath === undefined ? null : choice.filePath;
|
|
878
912
|
}));
|
|
913
|
+
handle(channels_1.CHANNELS.filesRename, (_event, id, file, name) => (0, file_ops_1.renameInContainer)(containerId.parse(id), containerPath.parse(file), fileName.parse(name)));
|
|
914
|
+
handle(channels_1.CHANNELS.filesRemove, (_event, id, file) => (0, file_ops_1.removeInContainer)(containerId.parse(id), containerPath.parse(file)));
|
|
915
|
+
handle(channels_1.CHANNELS.filesMakeDir, (_event, id, dir, name) => (0, file_ops_1.makeDirInContainer)(containerId.parse(id), containerPath.parse(dir), fileName.parse(name)));
|
|
916
|
+
handle(channels_1.CHANNELS.filesCount, (_event, id, file) => (0, file_ops_1.countInContainer)(containerId.parse(id), containerPath.parse(file)));
|
|
917
|
+
handle(channels_1.CHANNELS.volumesRenamePath, (_event, volume, file, name) => (0, file_ops_1.renameInVolume)(resourceName.parse(volume), containerPath.parse(file), fileName.parse(name)));
|
|
918
|
+
handle(channels_1.CHANNELS.volumesRemovePath, (_event, volume, file) => (0, file_ops_1.removeInVolume)(resourceName.parse(volume), containerPath.parse(file)));
|
|
919
|
+
handle(channels_1.CHANNELS.volumesMakeDir, (_event, volume, dir, name) => (0, file_ops_1.makeDirInVolume)(resourceName.parse(volume), containerPath.parse(dir), fileName.parse(name)));
|
|
920
|
+
handle(channels_1.CHANNELS.volumesCountPath, (_event, volume, file) => (0, file_ops_1.countInVolume)(resourceName.parse(volume), containerPath.parse(file)));
|
|
921
|
+
// Uit de alleen-lezen inkijk, die het volume al heeft: getArchive werkt daar net als in een container.
|
|
922
|
+
handle(channels_1.CHANNELS.volumesDownload, async (event, volume, file, kind) => {
|
|
923
|
+
const helper = await (0, volume_files_1.helperFor)(resourceName.parse(volume));
|
|
924
|
+
return (0, files_1.downloadPath)(helper, (0, volume_files_1.mountedPath)(containerPath.parse(file)), fileKind.parse(kind), async (suggestedName) => {
|
|
925
|
+
const owner = electron_1.BrowserWindow.fromWebContents(event.sender);
|
|
926
|
+
const options = { defaultPath: suggestedName };
|
|
927
|
+
const choice = owner === null ? await electron_1.dialog.showSaveDialog(options) : await electron_1.dialog.showSaveDialog(owner, options);
|
|
928
|
+
return choice.canceled || choice.filePath === undefined ? null : choice.filePath;
|
|
929
|
+
});
|
|
930
|
+
});
|
|
879
931
|
handle(channels_1.CHANNELS.filesUpload, (_event, id, dir, locals) => (0, files_1.uploadFiles)(containerId.parse(id), containerPath.parse(dir), localPaths.parse(locals)));
|
|
880
932
|
handle(channels_1.CHANNELS.filesReadText, (_event, id, file) => (0, file_edit_1.readEditableFile)(containerId.parse(id), containerPath.parse(file)));
|
|
881
933
|
handle(channels_1.CHANNELS.filesSaveText, (_event, id, file, text, version, force) => (0, file_edit_1.saveEditableFile)(containerId.parse(id), containerPath.parse(file), editText.parse(text), editVersion.parse(version), truthy.parse(force)));
|