pinokiod 3.86.0 → 3.87.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.
Files changed (67) hide show
  1. package/Dockerfile +61 -0
  2. package/docker-entrypoint.sh +75 -0
  3. package/kernel/api/hf/index.js +1 -1
  4. package/kernel/api/index.js +1 -1
  5. package/kernel/api/shell/index.js +6 -0
  6. package/kernel/api/terminal/index.js +166 -0
  7. package/kernel/bin/conda.js +3 -2
  8. package/kernel/bin/index.js +53 -2
  9. package/kernel/bin/setup.js +32 -0
  10. package/kernel/bin/vs.js +11 -2
  11. package/kernel/index.js +42 -2
  12. package/kernel/info.js +36 -0
  13. package/kernel/peer.js +42 -15
  14. package/kernel/router/index.js +23 -15
  15. package/kernel/router/localhost_static_router.js +0 -3
  16. package/kernel/router/pinokio_domain_router.js +333 -0
  17. package/kernel/shells.js +21 -1
  18. package/kernel/util.js +2 -2
  19. package/package.json +2 -1
  20. package/script/install-mode.js +33 -0
  21. package/script/pinokio.json +7 -0
  22. package/server/index.js +513 -173
  23. package/server/public/Socket.js +48 -0
  24. package/server/public/common.js +1441 -276
  25. package/server/public/fseditor.js +71 -12
  26. package/server/public/install.js +1 -1
  27. package/server/public/layout.js +740 -0
  28. package/server/public/modalinput.js +0 -1
  29. package/server/public/style.css +97 -105
  30. package/server/public/tab-idle-notifier.js +629 -0
  31. package/server/public/terminal_input_tracker.js +63 -0
  32. package/server/public/urldropdown.css +319 -53
  33. package/server/public/urldropdown.js +615 -159
  34. package/server/public/window_storage.js +97 -28
  35. package/server/socket.js +40 -9
  36. package/server/views/500.ejs +2 -2
  37. package/server/views/app.ejs +3136 -1367
  38. package/server/views/bookmarklet.ejs +1 -1
  39. package/server/views/bootstrap.ejs +1 -1
  40. package/server/views/columns.ejs +2 -13
  41. package/server/views/connect.ejs +3 -4
  42. package/server/views/container.ejs +1 -2
  43. package/server/views/d.ejs +223 -53
  44. package/server/views/editor.ejs +1 -1
  45. package/server/views/file_explorer.ejs +1 -1
  46. package/server/views/index.ejs +12 -11
  47. package/server/views/index2.ejs +4 -4
  48. package/server/views/init/index.ejs +4 -5
  49. package/server/views/install.ejs +1 -1
  50. package/server/views/layout.ejs +105 -0
  51. package/server/views/net.ejs +39 -7
  52. package/server/views/network.ejs +20 -6
  53. package/server/views/network2.ejs +1 -1
  54. package/server/views/old_network.ejs +2 -2
  55. package/server/views/partials/dynamic.ejs +3 -5
  56. package/server/views/partials/menu.ejs +3 -5
  57. package/server/views/partials/running.ejs +1 -1
  58. package/server/views/pro.ejs +1 -1
  59. package/server/views/prototype/index.ejs +1 -1
  60. package/server/views/review.ejs +11 -23
  61. package/server/views/rows.ejs +2 -13
  62. package/server/views/screenshots.ejs +293 -138
  63. package/server/views/settings.ejs +3 -4
  64. package/server/views/setup.ejs +1 -2
  65. package/server/views/shell.ejs +277 -26
  66. package/server/views/terminal.ejs +322 -49
  67. package/server/views/tools.ejs +448 -4
@@ -106,7 +106,6 @@ const ModalInput = async (params, uri) => {
106
106
  let type = input.getAttribute("data-type")
107
107
  if (type !== 'file' && type !== 'checkbox') {
108
108
  response[field.key] = input.value
109
- debugger
110
109
  if (field.required && input.value.length === 0) {
111
110
  alert(`${field.title || field.key} value must exist`)
112
111
  return false
@@ -278,14 +278,24 @@ body.dark .type-tabs {
278
278
  height: 20px;
279
279
  margin-right: 5px;
280
280
  }
281
+ body.dark .navheader2 {
282
+ background: rgba(255,255,255,0.2) !important;
283
+ }
284
+ body.dark .navheader2 .btn {
285
+ background: rgba(0,0,0,0.4);
286
+ }
281
287
  .navheader2 {
282
288
  /*
283
289
  padding: 15px 10px;
284
290
  */
291
+ /*
285
292
  padding: 10px 0;
293
+ */
294
+ padding: 0 0 8px;
286
295
  /*
287
296
  background: white;
288
297
  */
298
+ background: rgba(0,0,0,0.06) !important;
289
299
  }
290
300
  .navheader {
291
301
  backdrop-filter: blur(16px);
@@ -798,6 +808,7 @@ form.search .btn.clone {
798
808
  }
799
809
 
800
810
  body {
811
+ height: 100%;
801
812
  box-sizing: border-box;
802
813
  margin: 0;
803
814
  font-family: Sans-serif;
@@ -2373,111 +2384,92 @@ body[data-agent='electron'] #dragger {
2373
2384
  }
2374
2385
 
2375
2386
 
2376
- body.minimized {
2377
- display: flex;
2378
- flex-direction: row;
2379
- }
2380
- body.minimized header .dropdown-content {
2381
- position: relative;
2382
- min-width: unset;
2383
- top: unset;
2384
- left: unset;
2385
- }
2386
-
2387
- body.minimized.dark header h1 #close-window {
2388
- background: #222;
2389
- }
2390
- body.minimized header h1 #close-window {
2391
- order: 0;
2392
- background: whitesmoke;
2393
- border-radius: 0;
2394
- position: sticky;
2395
- bottom: 0;
2396
- z-index: 10000000;
2397
- }
2398
-
2399
- body.minimized.dark header h1 .dropdown {
2400
- background: #222;
2401
- }
2402
- body.minimized header h1 .dropdown {
2403
- position: sticky;
2404
- bottom: 38px;
2405
- background: whitesmoke;
2406
- border-radius: 0;
2407
- }
2408
-
2409
-
2410
-
2411
- body.minimized header .home {
2412
- display: block;
2413
- position: sticky;
2414
- top: 0;
2415
- }
2416
- body.minimized header {
2417
- overflow: auto;
2418
- flex-shrink: 0;
2419
- position: fixed;
2420
- top: 0;
2421
- left: 0;
2422
- height: 100%;
2423
- }
2424
- body.minimized header h1 .btn2 {
2425
- padding: 10px;
2426
- width: 100%;
2427
- box-sizing: border-box;
2428
- }
2429
- body.minimized header h1 {
2430
- height: 100%;
2431
- overflow: auto;
2432
- display: block;
2433
- }
2434
- body.minimized .mode-selector {
2435
- flex-direction: column;
2436
- padding: 0;
2437
- margin: 0;
2438
- border-radius: 0;
2439
- align-items: stretch;
2440
- gap: 0;
2441
- }
2442
- body.minimized .mode-selector .btn2 {
2443
- width: unset;
2444
- padding: 10px;
2445
- border-radius: 0 !important;
2446
- }
2447
- body.minimized .mode-selector .caption {
2448
- display: none;
2449
- }
2450
- /*
2451
- body.minimized .appcanvas, body.minimized main {
2452
- */
2453
- /*
2454
- body.minimized .appcanvas {
2455
- padding-top: 20px;
2456
- }
2457
- */
2458
- body.minimized main, body.minimized iframe.mainframe {
2459
- /*
2460
- padding-top: 10px;
2461
- */
2462
- padding-left: 55px;
2463
- }
2464
- body.minimized main .container {
2465
- margin-left: 10px !important;
2466
- }
2467
- body.minimized .app-icon {
2468
- display: block;
2469
- }
2470
- /*
2471
- body.minimized #dragger {
2472
- display: block;
2473
- }
2474
- */
2475
- body.minimized aside .tab.submenu {
2476
- padding: 10px;
2477
- }
2478
-
2479
- body.minimized[data-agent='electron'] header {
2480
- top: 26px;
2387
+ @media only screen and (max-width: 768px) {
2388
+ body {
2389
+ display: flex;
2390
+ flex-direction: row;
2391
+ }
2392
+ header.navheader .dropdown-content {
2393
+ position: relative;
2394
+ min-width: unset;
2395
+ top: unset;
2396
+ left: unset;
2397
+ }
2398
+ body.dark header.navheader h1 #close-window {
2399
+ background: #222;
2400
+ }
2401
+ header.navheader h1 #close-window {
2402
+ order: 0;
2403
+ background: whitesmoke;
2404
+ border-radius: 0;
2405
+ position: sticky;
2406
+ bottom: 0;
2407
+ z-index: 10000000;
2408
+ }
2409
+ body.dark header h1 .dropdown {
2410
+ background: #222;
2411
+ }
2412
+ header.navheader h1 .dropdown {
2413
+ position: sticky;
2414
+ bottom: 38px;
2415
+ background: whitesmoke;
2416
+ border-radius: 0;
2417
+ }
2418
+ header.navheader .home {
2419
+ display: block;
2420
+ position: sticky;
2421
+ top: 0;
2422
+ }
2423
+ header.navheader {
2424
+ overflow: auto;
2425
+ flex-shrink: 0;
2426
+ position: fixed;
2427
+ top: 0;
2428
+ left: 0;
2429
+ height: 100%;
2430
+ }
2431
+ header.navheader h1 .btn2 {
2432
+ padding: 10px;
2433
+ width: 100%;
2434
+ box-sizing: border-box;
2435
+ }
2436
+ header.navheader h1 {
2437
+ height: 100%;
2438
+ overflow: auto;
2439
+ display: block;
2440
+ }
2441
+ .mode-selector {
2442
+ flex-direction: column;
2443
+ padding: 0;
2444
+ margin: 0;
2445
+ border-radius: 0;
2446
+ align-items: stretch;
2447
+ gap: 0;
2448
+ }
2449
+ .mode-selector .btn2 {
2450
+ width: unset;
2451
+ padding: 10px;
2452
+ border-radius: 0 !important;
2453
+ }
2454
+ .mode-selector .caption {
2455
+ display: none;
2456
+ }
2457
+ main,
2458
+ iframe.mainframe {
2459
+ padding-left: 55px;
2460
+ }
2461
+ main .container {
2462
+ margin-left: 10px !important;
2463
+ }
2464
+ .app-icon {
2465
+ display: block;
2466
+ }
2467
+ aside .tab.submenu {
2468
+ padding: 10px;
2469
+ }
2470
+ body[data-agent='electron'] header.navheader {
2471
+ top: 26px;
2472
+ }
2481
2473
  }
2482
2474
  body[data-agent='electron'] {
2483
2475
  padding-top: 26px;