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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "3.191.0",
3
+ "version": "3.193.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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) {
@@ -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" });
@@ -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")) {
@@ -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
- if (extra && Array.isArray(extra.urls) && extra.urls.length) {
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
- if (extra && Array.isArray(extra.urls) && extra.urls.length) {
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();