pinokiod 8.0.10 → 8.0.12
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/kernel/bin/conda.js
CHANGED
|
@@ -17,15 +17,15 @@ const initialize = () => {
|
|
|
17
17
|
const koffi = require("koffi")
|
|
18
18
|
const library = koffi.load("rstrtmgr.dll")
|
|
19
19
|
const kernel32 = koffi.load("kernel32.dll")
|
|
20
|
-
const fileTime = koffi.struct(
|
|
20
|
+
const fileTime = koffi.struct({
|
|
21
21
|
dwLowDateTime: "uint32_t",
|
|
22
22
|
dwHighDateTime: "uint32_t",
|
|
23
23
|
})
|
|
24
|
-
const uniqueProcess = koffi.struct(
|
|
24
|
+
const uniqueProcess = koffi.struct({
|
|
25
25
|
dwProcessId: "uint32_t",
|
|
26
26
|
ProcessStartTime: fileTime,
|
|
27
27
|
})
|
|
28
|
-
const processInfo = koffi.struct(
|
|
28
|
+
const processInfo = koffi.struct({
|
|
29
29
|
Process: uniqueProcess,
|
|
30
30
|
strAppName: koffi.array("char16_t", 256, "String"),
|
|
31
31
|
strServiceShortName: koffi.array("char16_t", 64, "String"),
|
package/package.json
CHANGED
package/server/index.js
CHANGED
|
@@ -16270,8 +16270,6 @@ class Server {
|
|
|
16270
16270
|
await removePath(runtimePath, {
|
|
16271
16271
|
recursive: true,
|
|
16272
16272
|
force: true,
|
|
16273
|
-
maxRetries: 5,
|
|
16274
|
-
retryDelay: 250,
|
|
16275
16273
|
operation: "Updating Miniforge",
|
|
16276
16274
|
})
|
|
16277
16275
|
}
|
|
@@ -16281,8 +16279,6 @@ class Server {
|
|
|
16281
16279
|
await removePath(folderPath, {
|
|
16282
16280
|
recursive: true,
|
|
16283
16281
|
force: true,
|
|
16284
|
-
maxRetries: 5,
|
|
16285
|
-
retryDelay: 250,
|
|
16286
16282
|
operation: "Resetting managed tools",
|
|
16287
16283
|
})
|
|
16288
16284
|
await fs.promises.mkdir(folderPath, { recursive: true }).catch((e) => { })
|
|
@@ -16292,8 +16288,6 @@ class Server {
|
|
|
16292
16288
|
await removePath(folderPath, {
|
|
16293
16289
|
recursive: true,
|
|
16294
16290
|
force: true,
|
|
16295
|
-
maxRetries: 5,
|
|
16296
|
-
retryDelay: 250,
|
|
16297
16291
|
operation: "Clearing the Pinokio cache",
|
|
16298
16292
|
})
|
|
16299
16293
|
await fs.promises.mkdir(folderPath, { recursive: true }).catch((e) => { })
|
|
@@ -16316,8 +16310,6 @@ class Server {
|
|
|
16316
16310
|
await removePath(folderPath, {
|
|
16317
16311
|
recursive: true,
|
|
16318
16312
|
force: true,
|
|
16319
|
-
maxRetries: 5,
|
|
16320
|
-
retryDelay: 250,
|
|
16321
16313
|
operation: `Deleting ${req.body.name}`,
|
|
16322
16314
|
})
|
|
16323
16315
|
// await fs.promises.mkdir(folderPath, { recursive: true }).catch((e) => { })
|
package/server/public/common.js
CHANGED
|
@@ -110,7 +110,12 @@ const PinokioPathRemoval = (() => {
|
|
|
110
110
|
|
|
111
111
|
const update = () => {
|
|
112
112
|
const container = Swal.getHtmlContainer()
|
|
113
|
-
if (container)
|
|
113
|
+
if (container) {
|
|
114
|
+
const filesOpen = !!container.querySelector(".pinokio-path-blocker-files")?.open
|
|
115
|
+
container.innerHTML = render(current)
|
|
116
|
+
const files = container.querySelector(".pinokio-path-blocker-files")
|
|
117
|
+
if (files) files.open = filesOpen
|
|
118
|
+
}
|
|
114
119
|
}
|
|
115
120
|
|
|
116
121
|
const attempt = async (manual = false) => {
|
|
@@ -221,6 +221,7 @@ test("path-removal request retries automatically without overlapping and resolve
|
|
|
221
221
|
await waitFor(() => state.fireOptions, "path-removal modal")
|
|
222
222
|
const intervalId = state.getRetryIntervalId()
|
|
223
223
|
assert.equal(state.intervals.get(intervalId).delay, 2000)
|
|
224
|
+
state.htmlContainer.querySelector(".pinokio-path-blocker-files").open = true
|
|
224
225
|
|
|
225
226
|
const firstAttempt = state.runInterval()
|
|
226
227
|
assert.equal(state.buttonsDisabled, true)
|
|
@@ -241,6 +242,7 @@ test("path-removal request retries automatically without overlapping and resolve
|
|
|
241
242
|
}))
|
|
242
243
|
await firstAttempt
|
|
243
244
|
assert.equal(state.buttonsDisabled, false)
|
|
245
|
+
assert.equal(state.htmlContainer.querySelector(".pinokio-path-blocker-files").open, true)
|
|
244
246
|
assert.match(state.htmlContainer.textContent, /Second blocker/)
|
|
245
247
|
assert.doesNotMatch(state.htmlContainer.textContent, /First blocker/)
|
|
246
248
|
|
|
@@ -57,8 +57,6 @@ test("Windows integration: loaded DLL is diagnosed and removable after release",
|
|
|
57
57
|
removePath(root, {
|
|
58
58
|
recursive: true,
|
|
59
59
|
force: true,
|
|
60
|
-
maxRetries: 1,
|
|
61
|
-
retryDelay: 50,
|
|
62
60
|
operation: "Windows integration test",
|
|
63
61
|
}),
|
|
64
62
|
(error) => {
|
|
@@ -70,6 +68,12 @@ test("Windows integration: loaded DLL is diagnosed and removable after release",
|
|
|
70
68
|
)
|
|
71
69
|
assert.equal(await fs.promises.access(ordinaryFile).then(() => true).catch(() => false), false)
|
|
72
70
|
|
|
71
|
+
const restartManagerPath = require.resolve("../kernel/windows_restart_manager")
|
|
72
|
+
delete require.cache[restartManagerPath]
|
|
73
|
+
const reloadedRestartManager = require(restartManagerPath)
|
|
74
|
+
const reloadedInspection = await reloadedRestartManager.inspectWindowsFileLocks([dllPath])
|
|
75
|
+
assert.equal(reloadedInspection.blockers.some((blocker) => blocker.pid === child.pid), true)
|
|
76
|
+
|
|
73
77
|
const exited = new Promise((resolve) => child.once("exit", resolve))
|
|
74
78
|
child.stdin.write("release\n")
|
|
75
79
|
await exited
|