pinokiod 6.0.19 → 6.0.21
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/kernel/environment.js +55 -1
- package/kernel/shell.js +3 -1
- package/package.json +1 -1
- package/server/index.js +871 -101
- package/server/public/common.js +7 -0
- package/server/public/install.js +1 -1
- package/server/public/style.css +4 -5
- package/server/public/terminal-settings.js +1 -1
- package/server/scripts/fork_gemini_session.js +67 -0
- package/server/scripts/gemini_fork_and_resume.js +50 -0
- package/server/views/app.ejs +80 -5
- package/server/views/bootstrap.ejs +1 -1
- package/server/views/editor.ejs +1 -1
- package/server/views/explore.ejs +76 -1
- package/server/views/index.ejs +3 -3
- package/server/views/init/index.ejs +1 -1
- package/server/views/install.ejs +1 -1
- package/server/views/net.ejs +1 -1
- package/server/views/pro.ejs +1 -1
- package/server/views/prototype/index.ejs +1 -1
- package/server/views/shell.ejs +2 -2
- package/server/views/terminal.ejs +1 -1
- package/server/views/terminals.ejs +1359 -141
package/server/public/common.js
CHANGED
|
@@ -3541,6 +3541,13 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
3541
3541
|
trigger.dataset.askAiInit = 'true';
|
|
3542
3542
|
createLauncherDebugLog('initAskAiTrigger: binding click handler');
|
|
3543
3543
|
trigger.addEventListener('click', async () => {
|
|
3544
|
+
if (window.PinokioAskAiDrawer
|
|
3545
|
+
&& typeof window.PinokioAskAiDrawer.isOpen === 'function'
|
|
3546
|
+
&& window.PinokioAskAiDrawer.isOpen()
|
|
3547
|
+
&& typeof window.PinokioAskAiDrawer.close === 'function') {
|
|
3548
|
+
window.PinokioAskAiDrawer.close();
|
|
3549
|
+
return;
|
|
3550
|
+
}
|
|
3544
3551
|
const workspace = deriveWorkspaceForAskAi(trigger);
|
|
3545
3552
|
const workspaceCwd = deriveWorkspaceCwdForAskAi(trigger);
|
|
3546
3553
|
await openAskAiAgentPicker({
|
package/server/public/install.js
CHANGED
package/server/public/style.css
CHANGED
|
@@ -2746,14 +2746,13 @@ footer.status {
|
|
|
2746
2746
|
}
|
|
2747
2747
|
#error-screen .btn {
|
|
2748
2748
|
font-size: 14px;
|
|
2749
|
-
padding:
|
|
2749
|
+
padding: 10px 20px;
|
|
2750
2750
|
font-weight: bold;
|
|
2751
|
-
background:
|
|
2752
|
-
|
|
2751
|
+
background-color: transparent;
|
|
2752
|
+
border: 3px solid white;
|
|
2753
2753
|
border-radius: 50px;
|
|
2754
|
-
*/
|
|
2755
2754
|
margin: 5px;
|
|
2756
|
-
text-transform:
|
|
2755
|
+
text-transform: none;
|
|
2757
2756
|
}
|
|
2758
2757
|
.tippy-box[data-theme~='pointer'] {
|
|
2759
2758
|
background-color: royalblue;
|
|
@@ -846,7 +846,7 @@
|
|
|
846
846
|
const baseThemeRaw = base && base.theme ? base.theme : this.safeGetOption(term, 'theme');
|
|
847
847
|
const baseTheme = this.sanitizeTheme(baseThemeRaw, true);
|
|
848
848
|
term._pinokioBaseOptions = {
|
|
849
|
-
fontSize: isFiniteNumber(baseFontSize) ? baseFontSize :
|
|
849
|
+
fontSize: isFiniteNumber(baseFontSize) ? baseFontSize : 12,
|
|
850
850
|
fontFamily: baseFontFamily,
|
|
851
851
|
theme: baseTheme
|
|
852
852
|
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const crypto = require("crypto");
|
|
7
|
+
|
|
8
|
+
const sourcePath = process.argv[2];
|
|
9
|
+
const expectedSessionId = process.argv[3];
|
|
10
|
+
|
|
11
|
+
if (!sourcePath) {
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let payload;
|
|
16
|
+
try {
|
|
17
|
+
const raw = fs.readFileSync(sourcePath, "utf8");
|
|
18
|
+
payload = JSON.parse(raw);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (!payload || typeof payload !== "object") {
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const sourceSessionId = typeof payload.sessionId === "string"
|
|
28
|
+
? payload.sessionId
|
|
29
|
+
: (typeof payload.session_id === "string" ? payload.session_id : "");
|
|
30
|
+
|
|
31
|
+
if (!sourceSessionId) {
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (expectedSessionId && sourceSessionId !== expectedSessionId) {
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (!Array.isArray(payload.messages)) {
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const newSessionId = typeof crypto.randomUUID === "function"
|
|
44
|
+
? crypto.randomUUID()
|
|
45
|
+
: [
|
|
46
|
+
Date.now().toString(16),
|
|
47
|
+
Math.random().toString(16).slice(2),
|
|
48
|
+
Math.random().toString(16).slice(2)
|
|
49
|
+
].join("-");
|
|
50
|
+
|
|
51
|
+
const nowIso = new Date().toISOString();
|
|
52
|
+
payload.sessionId = newSessionId;
|
|
53
|
+
if (typeof payload.session_id === "string") {
|
|
54
|
+
payload.session_id = newSessionId;
|
|
55
|
+
}
|
|
56
|
+
if (typeof payload.startTime === "string") {
|
|
57
|
+
payload.startTime = nowIso;
|
|
58
|
+
}
|
|
59
|
+
if (typeof payload.lastUpdated === "string") {
|
|
60
|
+
payload.lastUpdated = nowIso;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const stamp = nowIso.replace(/[:.]/g, "-");
|
|
64
|
+
const filename = "session-" + stamp + "-" + newSessionId.slice(0, 8) + ".json";
|
|
65
|
+
const targetPath = path.join(path.dirname(path.resolve(sourcePath)), filename);
|
|
66
|
+
fs.writeFileSync(targetPath, JSON.stringify(payload, null, 2), "utf8");
|
|
67
|
+
process.stdout.write(newSessionId);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const { execFileSync, spawn } = require("child_process");
|
|
6
|
+
|
|
7
|
+
const sourcePath = process.argv[2];
|
|
8
|
+
const expectedSessionId = process.argv[3];
|
|
9
|
+
|
|
10
|
+
if (!sourcePath) {
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const forkScriptPath = path.resolve(__dirname, "fork_gemini_session.js");
|
|
15
|
+
|
|
16
|
+
let forkedSessionId = "";
|
|
17
|
+
try {
|
|
18
|
+
forkedSessionId = execFileSync(
|
|
19
|
+
process.execPath,
|
|
20
|
+
[forkScriptPath, sourcePath, expectedSessionId || ""],
|
|
21
|
+
{
|
|
22
|
+
encoding: "utf8",
|
|
23
|
+
stdio: ["ignore", "pipe", "inherit"]
|
|
24
|
+
}
|
|
25
|
+
).trim();
|
|
26
|
+
} catch (error) {
|
|
27
|
+
if (typeof error.status === "number") {
|
|
28
|
+
process.exit(error.status);
|
|
29
|
+
}
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (!forkedSessionId) {
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const npxBinary = process.platform === "win32" ? "npx.cmd" : "npx";
|
|
38
|
+
const child = spawn(
|
|
39
|
+
npxBinary,
|
|
40
|
+
["-y", "@google/gemini-cli@latest", "--resume", forkedSessionId],
|
|
41
|
+
{ stdio: "inherit" }
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
child.on("error", () => {
|
|
45
|
+
process.exit(1);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
child.on("exit", (code) => {
|
|
49
|
+
process.exit(typeof code === "number" ? code : 1);
|
|
50
|
+
});
|
package/server/views/app.ejs
CHANGED
|
@@ -891,13 +891,17 @@ body.dark .appcanvas > aside .menu-scroller.menu-scrollable.scroll-left::before
|
|
|
891
891
|
margin-left: auto;
|
|
892
892
|
padding-right: 6px;
|
|
893
893
|
border-left: 1px solid rgba(0,0,0,0.08);
|
|
894
|
+
background: transparent;
|
|
894
895
|
}
|
|
895
896
|
body.dark .appcanvas > aside .menu-actions {
|
|
896
897
|
border-left-color: rgba(255,255,255,0.08);
|
|
898
|
+
background: transparent;
|
|
897
899
|
}
|
|
898
900
|
.appcanvas:not(.vertical) .menu-actions .header-item {
|
|
899
901
|
min-width: 0;
|
|
900
902
|
padding: 4px 8px;
|
|
903
|
+
background: royalblue !important;
|
|
904
|
+
color: white !important;
|
|
901
905
|
}
|
|
902
906
|
.appcanvas:not(.vertical) .menu-actions .header-item .display {
|
|
903
907
|
display: block;
|
|
@@ -914,6 +918,76 @@ body.dark .appcanvas > aside .menu-actions {
|
|
|
914
918
|
width: 16px;
|
|
915
919
|
text-align: center;
|
|
916
920
|
}
|
|
921
|
+
.appcanvas:not(.vertical) .menu-actions .header-item:hover,
|
|
922
|
+
.appcanvas:not(.vertical) .menu-actions .header-item:focus-visible {
|
|
923
|
+
background: royalblue !important;
|
|
924
|
+
color: white !important;
|
|
925
|
+
}
|
|
926
|
+
.appcanvas:not(.vertical) .menu-actions .header-item.selected {
|
|
927
|
+
background: royalblue !important;
|
|
928
|
+
color: white !important;
|
|
929
|
+
}
|
|
930
|
+
body.dark .appcanvas:not(.vertical) .menu-actions .header-item {
|
|
931
|
+
background: royalblue !important;
|
|
932
|
+
color: white !important;
|
|
933
|
+
}
|
|
934
|
+
body.dark .appcanvas:not(.vertical) .menu-actions .header-item:hover,
|
|
935
|
+
body.dark .appcanvas:not(.vertical) .menu-actions .header-item:focus-visible {
|
|
936
|
+
background: royalblue !important;
|
|
937
|
+
color: white !important;
|
|
938
|
+
}
|
|
939
|
+
body.dark .appcanvas:not(.vertical) .menu-actions .header-item.selected {
|
|
940
|
+
background: royalblue !important;
|
|
941
|
+
color: white !important;
|
|
942
|
+
}
|
|
943
|
+
.appcanvas.vertical .menu-actions .header-item {
|
|
944
|
+
background: royalblue !important;
|
|
945
|
+
color: white !important;
|
|
946
|
+
}
|
|
947
|
+
.appcanvas.vertical .menu-actions .header-item:hover,
|
|
948
|
+
.appcanvas.vertical .menu-actions .header-item:focus-visible,
|
|
949
|
+
.appcanvas.vertical .menu-actions .header-item.selected {
|
|
950
|
+
background: royalblue !important;
|
|
951
|
+
color: white !important;
|
|
952
|
+
}
|
|
953
|
+
body.dark .appcanvas.vertical .menu-actions .header-item {
|
|
954
|
+
background: royalblue !important;
|
|
955
|
+
color: white !important;
|
|
956
|
+
}
|
|
957
|
+
body.dark .appcanvas.vertical .menu-actions .header-item:hover,
|
|
958
|
+
body.dark .appcanvas.vertical .menu-actions .header-item:focus-visible,
|
|
959
|
+
body.dark .appcanvas.vertical .menu-actions .header-item.selected {
|
|
960
|
+
background: royalblue !important;
|
|
961
|
+
color: white !important;
|
|
962
|
+
}
|
|
963
|
+
.appcanvas.community-open .menu-actions #community-toggle,
|
|
964
|
+
.appcanvas.community-open .menu-actions #community-toggle:hover,
|
|
965
|
+
.appcanvas.community-open .menu-actions #community-toggle:focus-visible,
|
|
966
|
+
.appcanvas.community-open .menu-actions #community-toggle.selected {
|
|
967
|
+
background: #f7f8fa !important;
|
|
968
|
+
color: #334155 !important;
|
|
969
|
+
}
|
|
970
|
+
body.dark .appcanvas.community-open .menu-actions #community-toggle,
|
|
971
|
+
body.dark .appcanvas.community-open .menu-actions #community-toggle:hover,
|
|
972
|
+
body.dark .appcanvas.community-open .menu-actions #community-toggle:focus-visible,
|
|
973
|
+
body.dark .appcanvas.community-open .menu-actions #community-toggle.selected {
|
|
974
|
+
background: #0f1115 !important;
|
|
975
|
+
color: rgba(226, 232, 240, 0.92) !important;
|
|
976
|
+
}
|
|
977
|
+
.appcanvas.ask-ai-open .menu-actions #ask-ai-tab,
|
|
978
|
+
.appcanvas.ask-ai-open .menu-actions #ask-ai-tab:hover,
|
|
979
|
+
.appcanvas.ask-ai-open .menu-actions #ask-ai-tab:focus-visible,
|
|
980
|
+
.appcanvas.ask-ai-open .menu-actions #ask-ai-tab.selected {
|
|
981
|
+
background: #f8fafc !important;
|
|
982
|
+
color: #334155 !important;
|
|
983
|
+
}
|
|
984
|
+
body.dark .appcanvas.ask-ai-open .menu-actions #ask-ai-tab,
|
|
985
|
+
body.dark .appcanvas.ask-ai-open .menu-actions #ask-ai-tab:hover,
|
|
986
|
+
body.dark .appcanvas.ask-ai-open .menu-actions #ask-ai-tab:focus-visible,
|
|
987
|
+
body.dark .appcanvas.ask-ai-open .menu-actions #ask-ai-tab.selected {
|
|
988
|
+
background: #0f1115 !important;
|
|
989
|
+
color: rgba(226, 232, 240, 0.92) !important;
|
|
990
|
+
}
|
|
917
991
|
.appcanvas.vertical .menu-scroller {
|
|
918
992
|
flex-direction: column;
|
|
919
993
|
align-items: stretch;
|
|
@@ -924,14 +998,15 @@ body.dark .appcanvas > aside .menu-actions {
|
|
|
924
998
|
.appcanvas.vertical .menu-actions {
|
|
925
999
|
flex-direction: column;
|
|
926
1000
|
align-items: stretch;
|
|
1001
|
+
gap: 1px;
|
|
927
1002
|
margin-top: auto;
|
|
928
|
-
padding:
|
|
1003
|
+
padding: 0;
|
|
929
1004
|
width: 100%;
|
|
930
1005
|
border-left: 0;
|
|
931
|
-
border-top:
|
|
1006
|
+
border-top: none;
|
|
932
1007
|
}
|
|
933
1008
|
body.dark .appcanvas.vertical .menu-actions {
|
|
934
|
-
border-top
|
|
1009
|
+
border-top: none;
|
|
935
1010
|
}
|
|
936
1011
|
|
|
937
1012
|
.appcanvas > aside .menu-scroller::-webkit-scrollbar {
|
|
@@ -11188,8 +11263,8 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
11188
11263
|
appcanvas.classList.toggle("ask-ai-open", open)
|
|
11189
11264
|
}
|
|
11190
11265
|
if (askAiTrigger) {
|
|
11191
|
-
askAiTrigger.classList.
|
|
11192
|
-
askAiTrigger.setAttribute("aria-hidden",
|
|
11266
|
+
askAiTrigger.classList.remove("hidden")
|
|
11267
|
+
askAiTrigger.setAttribute("aria-hidden", "false")
|
|
11193
11268
|
}
|
|
11194
11269
|
drawer.setAttribute("aria-hidden", open ? "false" : "true")
|
|
11195
11270
|
if (resizer) {
|
package/server/views/editor.ejs
CHANGED
package/server/views/explore.ejs
CHANGED
|
@@ -113,6 +113,29 @@ body main iframe {
|
|
|
113
113
|
height: 100%;
|
|
114
114
|
width: 100%;
|
|
115
115
|
}
|
|
116
|
+
.explore-url {
|
|
117
|
+
flex-grow: 1;
|
|
118
|
+
min-width: 200px;
|
|
119
|
+
height: 32px;
|
|
120
|
+
padding: 0 10px;
|
|
121
|
+
border: 1px solid rgba(0,0,0,0.15);
|
|
122
|
+
border-radius: 6px;
|
|
123
|
+
background: rgba(255,255,255,0.85);
|
|
124
|
+
color: inherit;
|
|
125
|
+
font-size: 12px;
|
|
126
|
+
line-height: 32px;
|
|
127
|
+
}
|
|
128
|
+
body.dark .explore-url {
|
|
129
|
+
background: rgba(0,0,0,0.2);
|
|
130
|
+
border-color: rgba(255,255,255,0.2);
|
|
131
|
+
}
|
|
132
|
+
@media only screen and (max-width: 768px) {
|
|
133
|
+
.explore-url {
|
|
134
|
+
min-width: 0;
|
|
135
|
+
width: 100%;
|
|
136
|
+
box-sizing: border-box;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
116
139
|
</style>
|
|
117
140
|
<script src="/popper.min.js"></script>
|
|
118
141
|
<script src="/tippy-bundle.umd.min.js"></script>
|
|
@@ -132,7 +155,7 @@ body main iframe {
|
|
|
132
155
|
<button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
|
|
133
156
|
<button class='btn2' id='screenshot' data-tippy-content="screen capture"><i class="fa-solid fa-camera"></i></button>
|
|
134
157
|
<button class='btn2' id='inspector' data-tippy-content="X-ray mode"><i class="fa-solid fa-eye"></i></button>
|
|
135
|
-
<
|
|
158
|
+
<input id="explore-url" class="explore-url" type="url" readonly spellcheck="false" value="">
|
|
136
159
|
<a class='btn2' href="/columns" data-tippy-content="split into 2 columns">
|
|
137
160
|
<div><i class="fa-solid fa-table-columns"></i></div>
|
|
138
161
|
</a>
|
|
@@ -176,6 +199,41 @@ document.querySelector("form").addEventListener("submit", (e) => {
|
|
|
176
199
|
*/
|
|
177
200
|
(() => {
|
|
178
201
|
const frame = document.querySelector("main iframe")
|
|
202
|
+
const urlField = document.querySelector("#explore-url")
|
|
203
|
+
|
|
204
|
+
const updateUrlField = (value) => {
|
|
205
|
+
if (!urlField) return
|
|
206
|
+
const next = typeof value === "string" ? value : ""
|
|
207
|
+
urlField.value = next
|
|
208
|
+
urlField.title = next || "URL unavailable"
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
const getFrameUrl = () => {
|
|
212
|
+
if (!frame) return ""
|
|
213
|
+
try {
|
|
214
|
+
const href = frame.contentWindow && frame.contentWindow.location
|
|
215
|
+
? frame.contentWindow.location.href
|
|
216
|
+
: ""
|
|
217
|
+
if (typeof href === "string" && href) {
|
|
218
|
+
return href
|
|
219
|
+
}
|
|
220
|
+
} catch (_) {}
|
|
221
|
+
const attr = frame.getAttribute("src")
|
|
222
|
+
if (typeof attr === "string" && attr.trim()) {
|
|
223
|
+
return attr.trim()
|
|
224
|
+
}
|
|
225
|
+
try {
|
|
226
|
+
if (typeof frame.src === "string" && frame.src.trim()) {
|
|
227
|
+
return frame.src.trim()
|
|
228
|
+
}
|
|
229
|
+
} catch (_) {}
|
|
230
|
+
return ""
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const syncUrlField = (value) => {
|
|
234
|
+
const next = typeof value === "string" && value ? value : getFrameUrl()
|
|
235
|
+
updateUrlField(next)
|
|
236
|
+
}
|
|
179
237
|
|
|
180
238
|
const navigateParentHistory = (delta) => {
|
|
181
239
|
if (delta < 0) {
|
|
@@ -262,6 +320,23 @@ document.querySelector("form").addEventListener("submit", (e) => {
|
|
|
262
320
|
void onHeaderHistoryClick(1, event)
|
|
263
321
|
}
|
|
264
322
|
}, true)
|
|
323
|
+
|
|
324
|
+
if (frame) {
|
|
325
|
+
frame.addEventListener("load", () => {
|
|
326
|
+
syncUrlField()
|
|
327
|
+
})
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
window.addEventListener("message", (event) => {
|
|
331
|
+
if (!event || event.source !== (frame && frame.contentWindow)) return
|
|
332
|
+
const data = event.data
|
|
333
|
+
if (!data || typeof data !== "object") return
|
|
334
|
+
if (data.type !== "pinokio:community:location") return
|
|
335
|
+
if (typeof data.url !== "string") return
|
|
336
|
+
syncUrlField(data.url)
|
|
337
|
+
})
|
|
338
|
+
|
|
339
|
+
syncUrlField()
|
|
265
340
|
})()
|
|
266
341
|
</script>
|
|
267
342
|
</body>
|
package/server/views/index.ejs
CHANGED
|
@@ -393,13 +393,13 @@ body.dark .home-mode-switch {
|
|
|
393
393
|
}
|
|
394
394
|
.home-mode-switch .mode-link.selected,
|
|
395
395
|
.home-mode-switch .mode-link[aria-current="page"] {
|
|
396
|
-
background:
|
|
396
|
+
background: royalblue !important;
|
|
397
397
|
color: #fff !important;
|
|
398
398
|
}
|
|
399
399
|
body.dark .home-mode-switch .mode-link.selected,
|
|
400
400
|
body.dark .home-mode-switch .mode-link[aria-current="page"] {
|
|
401
|
-
background:
|
|
402
|
-
color:
|
|
401
|
+
background: royalblue !important;
|
|
402
|
+
color: #fff !important;
|
|
403
403
|
}
|
|
404
404
|
.home-search-mode-switch {
|
|
405
405
|
flex: 0 0 auto;
|
package/server/views/install.ejs
CHANGED
package/server/views/net.ejs
CHANGED
|
@@ -1142,7 +1142,7 @@ const createDnsTerminal = async (container) => {
|
|
|
1142
1142
|
}
|
|
1143
1143
|
let config = {
|
|
1144
1144
|
scrollback: 9999999,
|
|
1145
|
-
fontSize:
|
|
1145
|
+
fontSize: 12,
|
|
1146
1146
|
fontFamily: 'monospace',
|
|
1147
1147
|
theme: document.body.classList.contains('dark') ? xtermTheme.FrontEndDelight : xtermTheme.Tomorrow,
|
|
1148
1148
|
}
|
package/server/views/pro.ejs
CHANGED
package/server/views/shell.ejs
CHANGED
|
@@ -496,7 +496,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
496
496
|
<% if (conda) { %>
|
|
497
497
|
conda: <%-JSON.stringify(conda)%>,
|
|
498
498
|
<% } %>
|
|
499
|
-
id:
|
|
499
|
+
id: <%-JSON.stringify(id)%>,
|
|
500
500
|
//path: "<%=cwd%>",
|
|
501
501
|
path: "<%-JSON.stringify(cwd).slice(1, -1)%>",
|
|
502
502
|
client: {
|
|
@@ -1223,7 +1223,7 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1223
1223
|
|
|
1224
1224
|
let config = {
|
|
1225
1225
|
scrollback: 9999999,
|
|
1226
|
-
fontSize:
|
|
1226
|
+
fontSize: 12,
|
|
1227
1227
|
fontFamily: 'monospace',
|
|
1228
1228
|
theme,
|
|
1229
1229
|
//theme: xtermTheme.FrontEndDelight
|