pinokiod 3.191.0 → 3.193.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/package.json +1 -1
- package/server/views/app.ejs +0 -2
- package/server/views/editor.ejs +0 -2
- package/server/views/mini.ejs +0 -7
- package/server/views/shell.ejs +45 -14
- package/server/views/terminal.ejs +45 -14
package/package.json
CHANGED
package/server/views/app.ejs
CHANGED
|
@@ -6739,8 +6739,6 @@ body.dark .pinokio-fork-dropdown-remote, body.dark .pinokio-publish-dropdown-rem
|
|
|
6739
6739
|
init.click()
|
|
6740
6740
|
}
|
|
6741
6741
|
window.addEventListener('message', (event) => {
|
|
6742
|
-
console.log("EVENT", event)
|
|
6743
|
-
|
|
6744
6742
|
// only process the event it's coming from pinokio
|
|
6745
6743
|
let origin = event.origin
|
|
6746
6744
|
if (origin) {
|
package/server/views/editor.ejs
CHANGED
|
@@ -593,8 +593,6 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
593
593
|
document.querySelector("#error-screen").classList.add("hidden")
|
|
594
594
|
})
|
|
595
595
|
*/
|
|
596
|
-
console.log("instance", instance)
|
|
597
|
-
console.log("EVENT", packet.event)
|
|
598
596
|
instance.mark(packet.event)
|
|
599
597
|
let element = document.querySelector("mark")
|
|
600
598
|
element.scrollIntoView({ behavior: "smooth", block: "center" });
|
package/server/views/mini.ejs
CHANGED
|
@@ -1484,25 +1484,21 @@ body.dark .appcanvas {
|
|
|
1484
1484
|
})
|
|
1485
1485
|
}
|
|
1486
1486
|
let init = document.querySelector("[data-init]")
|
|
1487
|
-
console.log("init")
|
|
1488
1487
|
if (init) {
|
|
1489
1488
|
init.click()
|
|
1490
1489
|
}
|
|
1491
1490
|
/*
|
|
1492
1491
|
window.addEventListener("hashchange", function () {
|
|
1493
|
-
console.log("Hash changed:", location.hash);
|
|
1494
1492
|
location.reload()
|
|
1495
1493
|
});
|
|
1496
1494
|
*/
|
|
1497
1495
|
window.addEventListener('message', (event) => {
|
|
1498
1496
|
refresh()
|
|
1499
|
-
console.log("EVENT" ,event.data)
|
|
1500
1497
|
|
|
1501
1498
|
// only process the event it's coming from pinokio
|
|
1502
1499
|
let origin = event.origin
|
|
1503
1500
|
if (origin) {
|
|
1504
1501
|
let port = new URL(origin).port || 80
|
|
1505
|
-
console.log("port", port)
|
|
1506
1502
|
if (String(port) === "<%=port%>") {
|
|
1507
1503
|
console.log("Message received from the child: ", event); // Message received from child
|
|
1508
1504
|
if (event.type === "start") {
|
|
@@ -1515,10 +1511,7 @@ body.dark .appcanvas {
|
|
|
1515
1511
|
} else if (event.data.action.type === "title") {
|
|
1516
1512
|
console.log("title", event.data)
|
|
1517
1513
|
} else if (event.data.action.type === "location") {
|
|
1518
|
-
console.log("EVENT", event)
|
|
1519
1514
|
let url = event.data.action.url
|
|
1520
|
-
console.log({ action: event.data.action })
|
|
1521
|
-
|
|
1522
1515
|
//document.querySelector("#location").value = url
|
|
1523
1516
|
let pathname = new URL(url).pathname
|
|
1524
1517
|
if (pathname.startsWith("/run")) {
|
package/server/views/shell.ejs
CHANGED
|
@@ -1163,6 +1163,20 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1163
1163
|
dropOverlay.className = "terminal-drop-overlay"
|
|
1164
1164
|
dropOverlay.textContent = "Drop files to upload"
|
|
1165
1165
|
terminalContainer.appendChild(dropOverlay)
|
|
1166
|
+
const filterUniqueResources = (urls) => {
|
|
1167
|
+
const seen = new Set()
|
|
1168
|
+
return (Array.isArray(urls) ? urls : []).filter((item) => {
|
|
1169
|
+
if (!item || typeof item.href !== "string") {
|
|
1170
|
+
return false
|
|
1171
|
+
}
|
|
1172
|
+
const key = item.href.trim()
|
|
1173
|
+
if (!key || seen.has(key)) {
|
|
1174
|
+
return false
|
|
1175
|
+
}
|
|
1176
|
+
seen.add(key)
|
|
1177
|
+
return true
|
|
1178
|
+
})
|
|
1179
|
+
}
|
|
1166
1180
|
let dragDepth = 0
|
|
1167
1181
|
const prevent = (event) => {
|
|
1168
1182
|
event.preventDefault()
|
|
@@ -1189,20 +1203,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1189
1203
|
let remoteResources = []
|
|
1190
1204
|
try {
|
|
1191
1205
|
const extra = await this.collectFilesFromDataTransfer(event.dataTransfer)
|
|
1192
|
-
|
|
1193
|
-
const seenUrls = new Set()
|
|
1194
|
-
remoteResources = extra.urls.filter((item) => {
|
|
1195
|
-
if (!item || typeof item.href !== "string") {
|
|
1196
|
-
return false
|
|
1197
|
-
}
|
|
1198
|
-
const key = item.href.trim()
|
|
1199
|
-
if (!key || seenUrls.has(key)) {
|
|
1200
|
-
return false
|
|
1201
|
-
}
|
|
1202
|
-
seenUrls.add(key)
|
|
1203
|
-
return true
|
|
1204
|
-
})
|
|
1205
|
-
}
|
|
1206
|
+
remoteResources = filterUniqueResources(extra && extra.urls)
|
|
1206
1207
|
} catch (error) {
|
|
1207
1208
|
console.warn("Failed to collect files from drop payload", error)
|
|
1208
1209
|
}
|
|
@@ -1221,6 +1222,36 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1221
1222
|
}
|
|
1222
1223
|
this.term.focus()
|
|
1223
1224
|
})
|
|
1225
|
+
terminalContainer.addEventListener("paste", async (event) => {
|
|
1226
|
+
const clipboard = event.clipboardData || window.clipboardData || null
|
|
1227
|
+
if (!clipboard) {
|
|
1228
|
+
return
|
|
1229
|
+
}
|
|
1230
|
+
const files = Array.from(clipboard.files || [])
|
|
1231
|
+
let remoteResources = []
|
|
1232
|
+
try {
|
|
1233
|
+
const extra = await this.collectFilesFromDataTransfer(clipboard)
|
|
1234
|
+
remoteResources = filterUniqueResources(extra && extra.urls)
|
|
1235
|
+
} catch (error) {
|
|
1236
|
+
console.warn("Failed to collect clipboard resources", error)
|
|
1237
|
+
}
|
|
1238
|
+
if (!files.length && (!remoteResources || remoteResources.length === 0)) {
|
|
1239
|
+
return
|
|
1240
|
+
}
|
|
1241
|
+
event.preventDefault()
|
|
1242
|
+
event.stopPropagation()
|
|
1243
|
+
try {
|
|
1244
|
+
if (remoteResources && remoteResources.length > 0) {
|
|
1245
|
+
await this.uploadRemoteResources(remoteResources, dropOverlay)
|
|
1246
|
+
}
|
|
1247
|
+
} catch (error) {
|
|
1248
|
+
console.warn("Clipboard remote upload failed", error)
|
|
1249
|
+
}
|
|
1250
|
+
if (files.length > 0) {
|
|
1251
|
+
await this.uploadFiles(files, dropOverlay)
|
|
1252
|
+
}
|
|
1253
|
+
this.term.focus()
|
|
1254
|
+
})
|
|
1224
1255
|
term.attachCustomKeyEventHandler(event => {
|
|
1225
1256
|
if ((event.ctrlKey || event.metaKey) && event.key === 'c') {
|
|
1226
1257
|
const selection = term.getSelection();
|
|
@@ -1256,6 +1256,20 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1256
1256
|
dropOverlay.className = "terminal-drop-overlay"
|
|
1257
1257
|
dropOverlay.textContent = "Drop files to upload"
|
|
1258
1258
|
terminalContainer.appendChild(dropOverlay)
|
|
1259
|
+
const filterUniqueResources = (urls) => {
|
|
1260
|
+
const seen = new Set()
|
|
1261
|
+
return (Array.isArray(urls) ? urls : []).filter((item) => {
|
|
1262
|
+
if (!item || typeof item.href !== "string") {
|
|
1263
|
+
return false
|
|
1264
|
+
}
|
|
1265
|
+
const key = item.href.trim()
|
|
1266
|
+
if (!key || seen.has(key)) {
|
|
1267
|
+
return false
|
|
1268
|
+
}
|
|
1269
|
+
seen.add(key)
|
|
1270
|
+
return true
|
|
1271
|
+
})
|
|
1272
|
+
}
|
|
1259
1273
|
let dragDepth = 0
|
|
1260
1274
|
const prevent = (event) => {
|
|
1261
1275
|
event.preventDefault()
|
|
@@ -1282,20 +1296,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1282
1296
|
let remoteResources = []
|
|
1283
1297
|
try {
|
|
1284
1298
|
const extra = await this.collectFilesFromDataTransfer(event.dataTransfer)
|
|
1285
|
-
|
|
1286
|
-
const seenUrls = new Set()
|
|
1287
|
-
remoteResources = extra.urls.filter((item) => {
|
|
1288
|
-
if (!item || typeof item.href !== "string") {
|
|
1289
|
-
return false
|
|
1290
|
-
}
|
|
1291
|
-
const key = item.href.trim()
|
|
1292
|
-
if (!key || seenUrls.has(key)) {
|
|
1293
|
-
return false
|
|
1294
|
-
}
|
|
1295
|
-
seenUrls.add(key)
|
|
1296
|
-
return true
|
|
1297
|
-
})
|
|
1298
|
-
}
|
|
1299
|
+
remoteResources = filterUniqueResources(extra && extra.urls)
|
|
1299
1300
|
} catch (error) {
|
|
1300
1301
|
console.warn("Failed to collect files from drop payload", error)
|
|
1301
1302
|
}
|
|
@@ -1318,6 +1319,36 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1318
1319
|
}
|
|
1319
1320
|
this.term.focus()
|
|
1320
1321
|
})
|
|
1322
|
+
terminalContainer.addEventListener("paste", async (event) => {
|
|
1323
|
+
const clipboard = event.clipboardData || window.clipboardData || null
|
|
1324
|
+
if (!clipboard) {
|
|
1325
|
+
return
|
|
1326
|
+
}
|
|
1327
|
+
const files = Array.from(clipboard.files || [])
|
|
1328
|
+
let remoteResources = []
|
|
1329
|
+
try {
|
|
1330
|
+
const extra = await this.collectFilesFromDataTransfer(clipboard)
|
|
1331
|
+
remoteResources = filterUniqueResources(extra && extra.urls)
|
|
1332
|
+
} catch (error) {
|
|
1333
|
+
console.warn("Failed to collect clipboard resources", error)
|
|
1334
|
+
}
|
|
1335
|
+
if (!files.length && (!remoteResources || remoteResources.length === 0)) {
|
|
1336
|
+
return
|
|
1337
|
+
}
|
|
1338
|
+
event.preventDefault()
|
|
1339
|
+
event.stopPropagation()
|
|
1340
|
+
try {
|
|
1341
|
+
if (remoteResources && remoteResources.length > 0) {
|
|
1342
|
+
await this.uploadRemoteResources(remoteResources, dropOverlay)
|
|
1343
|
+
}
|
|
1344
|
+
} catch (error) {
|
|
1345
|
+
console.warn("Clipboard remote upload failed", error)
|
|
1346
|
+
}
|
|
1347
|
+
if (files.length > 0) {
|
|
1348
|
+
await this.uploadFiles(files, dropOverlay)
|
|
1349
|
+
}
|
|
1350
|
+
this.term.focus()
|
|
1351
|
+
})
|
|
1321
1352
|
term.attachCustomKeyEventHandler(event => {
|
|
1322
1353
|
if ((event.ctrlKey || event.metaKey) && event.key === 'c') {
|
|
1323
1354
|
const selection = term.getSelection();
|