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.
- package/Dockerfile +61 -0
- package/docker-entrypoint.sh +75 -0
- package/kernel/api/hf/index.js +1 -1
- package/kernel/api/index.js +1 -1
- package/kernel/api/shell/index.js +6 -0
- package/kernel/api/terminal/index.js +166 -0
- package/kernel/bin/conda.js +3 -2
- package/kernel/bin/index.js +53 -2
- package/kernel/bin/setup.js +32 -0
- package/kernel/bin/vs.js +11 -2
- package/kernel/index.js +42 -2
- package/kernel/info.js +36 -0
- package/kernel/peer.js +42 -15
- package/kernel/router/index.js +23 -15
- package/kernel/router/localhost_static_router.js +0 -3
- package/kernel/router/pinokio_domain_router.js +333 -0
- package/kernel/shells.js +21 -1
- package/kernel/util.js +2 -2
- package/package.json +2 -1
- package/script/install-mode.js +33 -0
- package/script/pinokio.json +7 -0
- package/server/index.js +513 -173
- package/server/public/Socket.js +48 -0
- package/server/public/common.js +1441 -276
- package/server/public/fseditor.js +71 -12
- package/server/public/install.js +1 -1
- package/server/public/layout.js +740 -0
- package/server/public/modalinput.js +0 -1
- package/server/public/style.css +97 -105
- package/server/public/tab-idle-notifier.js +629 -0
- package/server/public/terminal_input_tracker.js +63 -0
- package/server/public/urldropdown.css +319 -53
- package/server/public/urldropdown.js +615 -159
- package/server/public/window_storage.js +97 -28
- package/server/socket.js +40 -9
- package/server/views/500.ejs +2 -2
- package/server/views/app.ejs +3136 -1367
- package/server/views/bookmarklet.ejs +1 -1
- package/server/views/bootstrap.ejs +1 -1
- package/server/views/columns.ejs +2 -13
- package/server/views/connect.ejs +3 -4
- package/server/views/container.ejs +1 -2
- package/server/views/d.ejs +223 -53
- package/server/views/editor.ejs +1 -1
- package/server/views/file_explorer.ejs +1 -1
- package/server/views/index.ejs +12 -11
- package/server/views/index2.ejs +4 -4
- package/server/views/init/index.ejs +4 -5
- package/server/views/install.ejs +1 -1
- package/server/views/layout.ejs +105 -0
- package/server/views/net.ejs +39 -7
- package/server/views/network.ejs +20 -6
- package/server/views/network2.ejs +1 -1
- package/server/views/old_network.ejs +2 -2
- package/server/views/partials/dynamic.ejs +3 -5
- package/server/views/partials/menu.ejs +3 -5
- package/server/views/partials/running.ejs +1 -1
- package/server/views/pro.ejs +1 -1
- package/server/views/prototype/index.ejs +1 -1
- package/server/views/review.ejs +11 -23
- package/server/views/rows.ejs +2 -13
- package/server/views/screenshots.ejs +293 -138
- package/server/views/settings.ejs +3 -4
- package/server/views/setup.ejs +1 -2
- package/server/views/shell.ejs +277 -26
- package/server/views/terminal.ejs +322 -49
- package/server/views/tools.ejs +448 -4
package/server/public/Socket.js
CHANGED
|
@@ -91,12 +91,60 @@ class Socket {
|
|
|
91
91
|
});
|
|
92
92
|
this.ws.addEventListener('close', () => {
|
|
93
93
|
console.log('Disconnected from WebSocket endpoint', { error: this.error, result: this.result });
|
|
94
|
+
if (typeof window !== 'undefined' && window.parent && window.parent !== window) {
|
|
95
|
+
try {
|
|
96
|
+
window.parent.postMessage({ type: 'pinokio:socket-closed' }, '*')
|
|
97
|
+
} catch (err) {
|
|
98
|
+
console.debug('postMessage error', err)
|
|
99
|
+
}
|
|
100
|
+
}
|
|
94
101
|
resolve()
|
|
95
102
|
});
|
|
96
103
|
}
|
|
97
104
|
|
|
98
105
|
})
|
|
99
106
|
}
|
|
107
|
+
sendBinary(buffer) {
|
|
108
|
+
return new Promise((resolve, reject) => {
|
|
109
|
+
if (!buffer) {
|
|
110
|
+
resolve()
|
|
111
|
+
return
|
|
112
|
+
}
|
|
113
|
+
if (!this.ws) {
|
|
114
|
+
reject(new Error("socket not connected"))
|
|
115
|
+
return
|
|
116
|
+
}
|
|
117
|
+
const send = () => {
|
|
118
|
+
try {
|
|
119
|
+
this.ws.send(buffer)
|
|
120
|
+
resolve()
|
|
121
|
+
} catch (error) {
|
|
122
|
+
reject(error)
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (this.ws.readyState === WebSocket.OPEN) {
|
|
126
|
+
send()
|
|
127
|
+
} else if (this.ws.readyState === WebSocket.CONNECTING) {
|
|
128
|
+
let cleanup
|
|
129
|
+
const handleOpen = () => {
|
|
130
|
+
cleanup()
|
|
131
|
+
send()
|
|
132
|
+
}
|
|
133
|
+
const handleError = () => {
|
|
134
|
+
cleanup()
|
|
135
|
+
reject(new Error("socket connection failed"))
|
|
136
|
+
}
|
|
137
|
+
cleanup = () => {
|
|
138
|
+
this.ws.removeEventListener('open', handleOpen)
|
|
139
|
+
this.ws.removeEventListener('error', handleError)
|
|
140
|
+
}
|
|
141
|
+
this.ws.addEventListener('open', handleOpen)
|
|
142
|
+
this.ws.addEventListener('error', handleError)
|
|
143
|
+
} else {
|
|
144
|
+
reject(new Error("socket not ready"))
|
|
145
|
+
}
|
|
146
|
+
})
|
|
147
|
+
}
|
|
100
148
|
emit(e) {
|
|
101
149
|
this.ws.send(JSON.stringify(e))
|
|
102
150
|
}
|