pinokiod 3.270.0 → 3.272.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 (56) hide show
  1. package/kernel/ansi_stream_tracker.js +115 -0
  2. package/kernel/api/app/index.js +422 -0
  3. package/kernel/api/htmlmodal/index.js +94 -0
  4. package/kernel/app_launcher/index.js +115 -0
  5. package/kernel/app_launcher/platform/base.js +276 -0
  6. package/kernel/app_launcher/platform/linux.js +229 -0
  7. package/kernel/app_launcher/platform/macos.js +163 -0
  8. package/kernel/app_launcher/platform/unsupported.js +34 -0
  9. package/kernel/app_launcher/platform/windows.js +247 -0
  10. package/kernel/bin/conda-meta.js +93 -0
  11. package/kernel/bin/conda.js +2 -4
  12. package/kernel/bin/index.js +2 -4
  13. package/kernel/index.js +9 -2
  14. package/kernel/peer.js +186 -19
  15. package/kernel/shell.js +212 -1
  16. package/package.json +1 -1
  17. package/server/index.js +491 -6
  18. package/server/public/common.js +224 -741
  19. package/server/public/create-launcher.js +754 -0
  20. package/server/public/htmlmodal.js +292 -0
  21. package/server/public/logs.js +715 -0
  22. package/server/public/resizeSync.js +117 -0
  23. package/server/public/style.css +651 -6
  24. package/server/public/tab-idle-notifier.js +34 -59
  25. package/server/public/tab-link-popover.js +7 -10
  26. package/server/public/terminal-settings.js +723 -9
  27. package/server/public/terminal_input_utils.js +72 -0
  28. package/server/public/terminal_key_caption.js +187 -0
  29. package/server/public/urldropdown.css +120 -3
  30. package/server/public/xterm-inline-bridge.js +116 -0
  31. package/server/socket.js +29 -0
  32. package/server/views/agents.ejs +1 -2
  33. package/server/views/app.ejs +55 -28
  34. package/server/views/bookmarklet.ejs +1 -1
  35. package/server/views/bootstrap.ejs +1 -0
  36. package/server/views/connect.ejs +1 -2
  37. package/server/views/create.ejs +63 -0
  38. package/server/views/editor.ejs +36 -4
  39. package/server/views/index.ejs +1 -2
  40. package/server/views/index2.ejs +1 -2
  41. package/server/views/init/index.ejs +36 -28
  42. package/server/views/install.ejs +20 -22
  43. package/server/views/layout.ejs +2 -8
  44. package/server/views/logs.ejs +155 -0
  45. package/server/views/mini.ejs +0 -18
  46. package/server/views/net.ejs +2 -2
  47. package/server/views/network.ejs +1 -2
  48. package/server/views/network2.ejs +1 -2
  49. package/server/views/old_network.ejs +1 -2
  50. package/server/views/pro.ejs +26 -23
  51. package/server/views/prototype/index.ejs +30 -34
  52. package/server/views/screenshots.ejs +1 -2
  53. package/server/views/settings.ejs +1 -20
  54. package/server/views/shell.ejs +59 -66
  55. package/server/views/terminal.ejs +118 -73
  56. package/server/views/tools.ejs +1 -2
@@ -0,0 +1,117 @@
1
+ (function(exports) {
2
+ function createResizeSync(options) {
3
+ const state = {
4
+ term: options.term || null,
5
+ fit: options.fit || null,
6
+ socket: options.socket || null,
7
+ getShellId: options.getShellId || (() => null),
8
+ lastSize: null,
9
+ initialSent: false,
10
+ suppressNext: false,
11
+ allowLocalFit: true
12
+ }
13
+
14
+ function sameSize(cols, rows) {
15
+ return state.lastSize && state.lastSize.cols === cols && state.lastSize.rows === rows
16
+ }
17
+
18
+ function sendResize(cols, rows, force) {
19
+ if (!state.socket || !state.getShellId || !state.getShellId()) {
20
+ return
21
+ }
22
+ if (!force) {
23
+ if (state.suppressNext) {
24
+ state.suppressNext = false
25
+ state.lastSize = { cols, rows }
26
+ return
27
+ }
28
+ if (sameSize(cols, rows)) {
29
+ return
30
+ }
31
+ } else {
32
+ state.suppressNext = false
33
+ }
34
+ state.lastSize = { cols, rows }
35
+ state.socket.run({
36
+ resize: { cols, rows },
37
+ id: state.getShellId()
38
+ })
39
+ }
40
+
41
+ function applyForceResizeHandler() {
42
+ if (typeof window === 'undefined' || !window.PinokioTerminalSettings || typeof window.PinokioTerminalSettings.setForceResizeHandler !== 'function') {
43
+ return
44
+ }
45
+ if (!state.term) {
46
+ window.PinokioTerminalSettings.setForceResizeHandler(null)
47
+ return
48
+ }
49
+ window.PinokioTerminalSettings.setForceResizeHandler(() => {
50
+ if (!state.term) {
51
+ return
52
+ }
53
+ if (state.fit && typeof state.fit.fit === 'function') {
54
+ try {
55
+ state.fit.fit()
56
+ } catch (_) {}
57
+ }
58
+ sendResize(state.term.cols, state.term.rows, true)
59
+ })
60
+ }
61
+
62
+ applyForceResizeHandler()
63
+
64
+ return {
65
+ updateTerm: function(term, fit, socket) {
66
+ state.term = term
67
+ state.fit = fit
68
+ state.socket = socket
69
+ applyForceResizeHandler()
70
+ },
71
+ sendResize: function(cols, rows, force) {
72
+ sendResize(cols, rows, force)
73
+ },
74
+ sendInitial: function() {
75
+ if (state.initialSent || !state.term) return
76
+ sendResize(state.term.cols, state.term.rows, true)
77
+ state.initialSent = true
78
+ },
79
+ handleResizePacket: function(packet) {
80
+ if (!state.term || !packet || !packet.data) return
81
+ const cols = packet.data.cols
82
+ const rows = packet.data.rows
83
+ if (state.term.cols !== cols || state.term.rows !== rows) {
84
+ state.allowLocalFit = false
85
+ state.term.resize(cols, rows)
86
+ state.allowLocalFit = true
87
+ }
88
+ state.lastSize = { cols, rows }
89
+ state.suppressNext = true
90
+ state.allowLocalFit = false
91
+ },
92
+ attachObserver: function(element) {
93
+ const observer = new ResizeObserver(() => {
94
+ if (!state.term) {
95
+ return
96
+ }
97
+ if (!state.allowLocalFit) {
98
+ state.allowLocalFit = true
99
+ return
100
+ }
101
+ sendResize(state.term.cols, state.term.rows)
102
+ })
103
+ observer.observe(element)
104
+ return observer
105
+ },
106
+ reset: function() {
107
+ state.initialSent = false
108
+ state.lastSize = null
109
+ state.suppressNext = false
110
+ }
111
+ }
112
+ }
113
+
114
+ exports.PinokioResizeSync = {
115
+ create: createResizeSync
116
+ }
117
+ })(window)