pinokiod 3.9.40 → 3.9.41

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.
@@ -73,10 +73,10 @@ class Api {
73
73
  meta.icon = meta.icon ? `/api/${api_name}/${meta.icon}?raw=true` : "/pinokio-black.png"
74
74
  meta.path = api_path
75
75
  meta.name = meta.title
76
- meta.link = `/pinokio/browser/${api_name}/browse#n1`
76
+ meta.link = `/pinokio/browser/${api_name}/dev#n1`
77
77
  meta.web_path = `/api/${api_name}`
78
78
  meta.ui = `/pinokio/browser/${api_name}`
79
- meta.browse = `/pinokio/browser/${api_name}/browse`
79
+ meta.browse = `/pinokio/browser/${api_name}/dev`
80
80
  if (!pinokio && !pinokio2 && !pinokio3 ) {
81
81
  meta.init_required = true
82
82
  }
@@ -22,11 +22,13 @@ class Web {
22
22
  console.log("kernel.exposed", kernel.exposed)
23
23
  }
24
24
  async open(req, ondata, kernel) {
25
- console.log("WEB.open", req)
26
25
  //ondata(req.params, "browser.open")
27
26
  let type = req.params.type || "web"
28
- req.params.uri = kernel.url(req.parent.origin, req.params.uri, type)
29
- console.log("params", req.params)
27
+ if (req.params.uri.startsWith("http")) {
28
+ // don't touch
29
+ } else {
30
+ req.params.uri = kernel.url(req.parent.origin, req.params.uri, type)
31
+ }
30
32
  ondata(req.params, "web.open")
31
33
  }
32
34
  async close(req, ondata, kernel) {
package/kernel/index.js CHANGED
@@ -192,7 +192,7 @@ class Kernel {
192
192
  }
193
193
  } else if (type === "browse" || type === "dev") {
194
194
  if (chunks[0] === "api") {
195
- result = "/pinokio/browser/" + chunks.slice(1).join("/") + "/browse"
195
+ result = "/pinokio/browser/" + chunks.slice(1).join("/") + "/dev"
196
196
  }
197
197
  // } else if (type === "web") {
198
198
  // result = "/" + chunks.join("/")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "3.9.40",
3
+ "version": "3.9.41",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/server/index.js CHANGED
@@ -276,7 +276,7 @@ class Server {
276
276
  } else {
277
277
  browser_url = "/pinokio/browser/" + x.name
278
278
  }
279
- let browser_browse_url = browser_url + "/browse"
279
+ let browser_browse_url = browser_url + "/dev"
280
280
  return {
281
281
  filepath: this.kernel.path("api", x.name),
282
282
  icon,
@@ -967,8 +967,6 @@ class Server {
967
967
  // kill_message = "Done! Click to go to the project"
968
968
  }
969
969
 
970
- console.log(">>>>>>>>>> Callback", callback)
971
-
972
970
  let logpath = encodeURIComponent(Util.log_path(filepath, this.kernel))
973
971
  const result = {
974
972
  portal: this.portal,
@@ -1586,7 +1584,6 @@ class Server {
1586
1584
  if (keypath) {
1587
1585
  config.href = base.href + "/" + keypath.join("/") + "?path=" + base.cwd
1588
1586
  }
1589
- console.log({ config })
1590
1587
  return config
1591
1588
  }
1592
1589
 
@@ -3413,7 +3410,7 @@ class Server {
3413
3410
  try {
3414
3411
  await fs.promises.cp(src_path, dest_path, { recursive: true })
3415
3412
  res.json({
3416
- success: "/pinokio/browser/"+ req.body.dest + "/browse"
3413
+ success: "/pinokio/browser/"+ req.body.dest + "/dev"
3417
3414
  })
3418
3415
  } catch (e) {
3419
3416
  res.json({
@@ -3510,7 +3507,6 @@ class Server {
3510
3507
  }
3511
3508
  }))
3512
3509
  this.app.get("/prototype/run/*", ex(async (req, res) => {
3513
- console.log("/prototype/run", req.params[0])
3514
3510
  let pathComponents = req.params[0].split("/").concat("pinokio.js")
3515
3511
  let config = await this.kernel.api.meta({ path: req.query.path })
3516
3512
  let pinokiojson_path = path.resolve(req.query.path, "pinokio.json")
@@ -3536,8 +3532,6 @@ class Server {
3536
3532
  }
3537
3533
  req.base = this.kernel.path("prototype")
3538
3534
  req.query.callback = config.ui
3539
- console.log("config.ui", config.ui)
3540
- console.log("req.query", req.query)
3541
3535
  //req.query.callback = config.browse
3542
3536
  req.query.cwd = req.query.path
3543
3537
  await this.render(req, res, pathComponents, null)
@@ -3735,7 +3729,6 @@ class Server {
3735
3729
  }
3736
3730
  }))
3737
3731
  this.app.post("/env", ex(async (req, res) => {
3738
- console.log("REQ.body", req.body)
3739
3732
  let fullpath = path.resolve(this.kernel.homedir, req.body.filepath, "ENVIRONMENT")
3740
3733
  let updated = req.body.vals
3741
3734
  let hosts = req.body.hosts
@@ -4233,6 +4226,10 @@ class Server {
4233
4226
  this.app.get("/pinokio/launch/:name", ex(async (req, res) => {
4234
4227
  this.chrome(req, res, "launch")
4235
4228
  }))
4229
+ this.app.get("/pinokio/browser/:name/dev", ex(async (req, res) => {
4230
+ console.log("browse mode")
4231
+ this.chrome(req, res, "browse")
4232
+ }))
4236
4233
  this.app.get("/pinokio/browser/:name/browse", ex(async (req, res) => {
4237
4234
  console.log("browse mode")
4238
4235
  this.chrome(req, res, "browse")
@@ -4539,15 +4536,12 @@ class Server {
4539
4536
  object that's not (array, file, blob, uint8array, arraybuffer) => Object
4540
4537
  the rest => typeof(value)
4541
4538
  */
4542
- console.log("req", req)
4543
4539
  let formData = req.body
4544
4540
  for(let key in req.files) {
4545
4541
  let file = req.files[key]
4546
4542
  formData[file.fieldname] = file.buffer
4547
4543
  }
4548
4544
 
4549
- console.log({ formData })
4550
-
4551
4545
  const drive = formData.drive
4552
4546
  const home = formData.path
4553
4547
  const method = formData.method
@@ -14,18 +14,22 @@ document.addEventListener("DOMContentLoaded", () => {
14
14
  //}
15
15
  if (document.querySelector("#new-window")) {
16
16
  document.querySelector("#new-window").addEventListener("click", (e) => {
17
- //window.open("/", "_blank", "self")
18
- fetch("/go", {
19
- method: "POST",
20
- headers: {
21
- "Content-Type": "application/json"
22
- },
23
- body: JSON.stringify({ url: location.href })
24
- }).then((res) => {
25
- return res.json()
26
- }).then((res) => {
27
- console.log(res)
28
- })
17
+ let agent = document.body.getAttribute("data-agent")
18
+ if (agent === "electron") {
19
+ window.open("/", "_blank", "self")
20
+ } else {
21
+ fetch("/go", {
22
+ method: "POST",
23
+ headers: {
24
+ "Content-Type": "application/json"
25
+ },
26
+ body: JSON.stringify({ url: location.href })
27
+ }).then((res) => {
28
+ return res.json()
29
+ }).then((res) => {
30
+ console.log(res)
31
+ })
32
+ }
29
33
  })
30
34
  }
31
35
  })
@@ -1,19 +1,18 @@
1
1
  const open_url = (href, target, features) => {
2
- debugger
3
2
  if (target) {
4
3
  if (target === "_blank") {
5
4
  // if target=_blank => open in new window
6
5
  // - if features=pinokio => open in pinokio
7
6
  // - otherwise => open in a regular browser
8
7
  if (features && features.includes("pinokio")) {
9
- window.open(el.href, "_blank", features)
8
+ window.open(href, "_blank", features)
10
9
  } else {
11
10
  fetch("/go", {
12
11
  method: "POST",
13
12
  headers: {
14
13
  "Content-Type": "application/json"
15
14
  },
16
- body: JSON.stringify({ url: el.href })
15
+ body: JSON.stringify({ url: href })
17
16
  }).then((res) => {
18
17
  return res.json()
19
18
  }).then((res) => {
@@ -741,7 +741,7 @@ body.dark .appcanvas {
741
741
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
742
742
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
743
743
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
744
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
744
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
745
745
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
746
746
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
747
747
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -752,7 +752,7 @@ body.dark .appcanvas {
752
752
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
753
753
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
754
754
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
755
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
755
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
756
756
  </div>
757
757
  </h1>
758
758
  </header>
@@ -1698,7 +1698,7 @@ body.dark .appcanvas {
1698
1698
  <% if (type === 'run') { %>
1699
1699
  // run mode => switch to dev mode
1700
1700
  location.hash = ""
1701
- location.pathname = location.pathname + "/browse"
1701
+ location.pathname = location.pathname + "/dev"
1702
1702
  <% } else { %>
1703
1703
  // dev mode => already dev. reveal the hidden menu
1704
1704
  if (target.closest(".dynamic")) {
@@ -191,7 +191,7 @@ pre {
191
191
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
192
192
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
193
193
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
194
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
194
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
195
195
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
196
196
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
197
197
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -199,8 +199,7 @@ pre {
199
199
  <div class='nav-btns'>
200
200
  <a class='btn2' href="<%=portal%>" target="_blank"><div><i class="fa-solid fa-question"></i></div><div>Help</div></a>
201
201
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
202
- <button id='new-window' title='open a new window' class='btn2'><i class="fa-solid fa-plus"></i></button>
203
-
202
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
204
203
  </div>
205
204
  </h1>
206
205
  </h1>
@@ -229,7 +229,7 @@ body.dark .config {
229
229
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
230
230
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
231
231
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
232
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
232
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
233
233
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
234
234
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
235
235
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -239,7 +239,7 @@ body.dark .config {
239
239
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
240
240
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
241
241
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
242
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
242
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
243
243
  </div>
244
244
  </h1>
245
245
  </h1>
@@ -116,7 +116,7 @@ body.frozen {
116
116
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
117
117
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
118
118
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
119
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
119
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
120
120
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
121
121
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
122
122
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -126,7 +126,7 @@ body.frozen {
126
126
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
127
127
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
128
128
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
129
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
129
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
130
130
  </div>
131
131
  </h1>
132
132
  </header>
@@ -123,7 +123,7 @@ body main iframe {
123
123
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
124
124
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
125
125
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
126
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
126
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
127
127
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
128
128
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
129
129
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -133,7 +133,7 @@ body main iframe {
133
133
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
134
134
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
135
135
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
136
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
136
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
137
137
  </div>
138
138
  <!--
139
139
  <div class='nav-btns'>
@@ -189,7 +189,7 @@ body.dark .browser-options-row {
189
189
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
190
190
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
191
191
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
192
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
192
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
193
193
  </div>
194
194
  <% } %>
195
195
  </h1>
@@ -323,7 +323,7 @@ body.dark .browser-options-row {
323
323
  <div class='title'><%=item.name%></div>
324
324
  <div class='description'><%=item.description%></div>
325
325
  <div>
326
- <button class='btn browse' data-src="<%=item.browser_url%>/browse">
326
+ <button class='btn browse' data-src="<%=item.browser_url%>/dev">
327
327
  <i class='fa-regular fa-folder-open'></i>
328
328
  </button>
329
329
  <button class='btn del' data-src="<%=item.url%>">
@@ -383,7 +383,7 @@ body.dark .browser-options-row {
383
383
  <div class='uri'><i class="fa-regular fa-folder"></i><%=item.url%></div>
384
384
  <div class='title'><%=item.name%></div>
385
385
  <div class='description'><%=item.description%></div>
386
- <button class='btn browse' data-src="<%=item.browser_url%>/browse">
386
+ <button class='btn browse' data-src="<%=item.browser_url%>/dev">
387
387
  <i class='fa-regular fa-folder-open'></i>
388
388
  </button>
389
389
  <button class='btn del' data-src="<%=item.url%>">
@@ -160,7 +160,7 @@ document.addEventListener("DOMContentLoaded", async () => {
160
160
  <% } %>
161
161
  <% }) %>
162
162
  <div class='flexible'></div>
163
- <button id='new-window' title='open a new window'><i class="fa-solid fa-plus"></i></button>
163
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
164
164
  </h1>
165
165
  <a class='gitremote' data-filepath="<%=filepath%>"><%=filepath%></a>
166
166
  <div class='runner'>
@@ -56,7 +56,7 @@ main iframe {
56
56
  <% } %>
57
57
  <% }) %>
58
58
  <div class='flexible'></div>
59
- <button id='new-window' title='open a new window'><i class="fa-solid fa-plus"></i></button>
59
+ <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
60
60
  </h1>
61
61
  <% if (paths.length > 3) { %>
62
62
  <a class='gitremote' data-filepath="<%=filepath%>"><%=filepath%></a>
@@ -178,7 +178,7 @@ hr {
178
178
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
179
179
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
180
180
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
181
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
181
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
182
182
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
183
183
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
184
184
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -188,7 +188,7 @@ hr {
188
188
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
189
189
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
190
190
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
191
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
191
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
192
192
  </div>
193
193
  </h1>
194
194
  </h1>
@@ -256,13 +256,13 @@ body.dark .item .tile .badge {
256
256
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
257
257
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
258
258
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
259
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
259
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
260
260
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
261
261
  <div class='flexible'></div>
262
262
  <div class='nav-btns'>
263
263
  <a class='btn2' href="/?mode=help"><div><i class="fa-regular fa-face-smile"></i></div><div>Community</div></a>
264
264
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
265
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
265
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
266
266
  </div>
267
267
  </h1>
268
268
  </header>
@@ -228,7 +228,7 @@ body.dark .open-menu, body.dark .browse {
228
228
  <script src="/fscreator.js"></script>
229
229
  <script src="/fseditor.js"></script>
230
230
  </head>
231
- <body class='<%=theme%>'>
231
+ <body class='<%=theme%>' data-agent="<%=agent%>">
232
232
  <% if (error) { %>
233
233
  <nav class='error-message'>
234
234
  <div><%=error%></div>
@@ -245,7 +245,7 @@ body.dark .open-menu, body.dark .browse {
245
245
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
246
246
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
247
247
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
248
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
248
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
249
249
  <!--
250
250
  <a href="/new" class='btn2'><div><i class='fa-solid fa-folder-plus'></i></div><div>Create</div></a>
251
251
  -->
@@ -275,7 +275,7 @@ body.dark .open-menu, body.dark .browse {
275
275
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
276
276
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
277
277
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
278
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
278
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
279
279
  </div>
280
280
  <% } %>
281
281
  </h1>
@@ -369,11 +369,11 @@ body.dark .open-menu, body.dark .browse {
369
369
  <% } %>
370
370
  </div>
371
371
  <div class='col'>
372
- <div class='uri'><i class="fa-regular fa-folder"></i><%=item.filepath%></div>
372
+ <div class='uri'><%=item.filepath%></div>
373
373
  <div class='title'><%=item.name%></div>
374
374
  <div class='description'><%=item.description%></div>
375
375
  <div class='menu-btns'>
376
- <button class='btn browse' data-src="<%=item.browser_url%>/browse">
376
+ <button class='btn browse' data-src="<%=item.browser_url%>/dev">
377
377
  <i class='fa-solid fa-code'></i> Dev
378
378
  </button>
379
379
  <button class='btn open-menu'>
@@ -384,10 +384,10 @@ body.dark .open-menu, body.dark .browse {
384
384
  <button class='btn' data-filepath="<%=item.filepath%>">
385
385
  <i class="fa-solid fa-folder-open"></i> Open</button>
386
386
  </button>
387
- <button class='btn copy-menu' data-src="<%=item.browser_url%>/browse">
387
+ <button class='btn copy-menu' data-src="<%=item.browser_url%>/dev">
388
388
  <i class='fa-solid fa-copy'></i> Copy
389
389
  </button>
390
- <button class='btn edit-menu' data-src="<%=item.browser_url%>/browse">
390
+ <button class='btn edit-menu' data-src="<%=item.browser_url%>/dev">
391
391
  <i class='fa-solid fa-pen-to-square'></i> Edit
392
392
  </button>
393
393
  </div>
@@ -448,11 +448,11 @@ body.dark .open-menu, body.dark .browse {
448
448
  <% } %>
449
449
  </div>
450
450
  <div class='col'>
451
- <div class='uri'><i class="fa-regular fa-folder"></i><%=item.filepath%></div>
451
+ <div class='uri'><%=item.filepath%></div>
452
452
  <div class='title'><%=item.name%></div>
453
453
  <div class='description'><%=item.description%></div>
454
454
  <div class='menu-btns'>
455
- <button class='btn browse' data-src="<%=item.browser_url%>/browse">
455
+ <button class='btn browse' data-src="<%=item.browser_url%>/dev">
456
456
  <i class='fa-solid fa-code'></i> Dev
457
457
  </button>
458
458
  <button class='btn open-menu'>
@@ -463,13 +463,13 @@ body.dark .open-menu, body.dark .browse {
463
463
  <button class='btn' data-filepath="<%=item.filepath%>">
464
464
  <i class="fa-solid fa-folder-open"></i> Open</button>
465
465
  </button>
466
- <button class='btn copy-menu' data-src="<%=item.browser_url%>/browse">
466
+ <button class='btn copy-menu' data-src="<%=item.browser_url%>/dev">
467
467
  <i class='fa-solid fa-copy'></i> Copy
468
468
  </button>
469
- <button class='btn move-menu' data-src="<%=item.browser_url%>/browse">
469
+ <button class='btn move-menu' data-src="<%=item.browser_url%>/dev">
470
470
  <i class="fa-solid fa-right-to-bracket"></i> Move
471
471
  </button>
472
- <button class='btn edit-menu' data-src="<%=item.browser_url%>/browse">
472
+ <button class='btn edit-menu' data-src="<%=item.browser_url%>/dev">
473
473
  <i class='fa-solid fa-pen-to-square'></i> Edit
474
474
  </button>
475
475
  <button class='btn del' data-src="<%=item.url%>">
@@ -404,7 +404,7 @@ input:checked + .slider:before {
404
404
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
405
405
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
406
406
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
407
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
407
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
408
408
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
409
409
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
410
410
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -414,7 +414,7 @@ input:checked + .slider:before {
414
414
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
415
415
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
416
416
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
417
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
417
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
418
418
  </div>
419
419
  </h1>
420
420
  </header>
@@ -547,7 +547,7 @@ body.dark .header-item.cursor.header-top {
547
547
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
548
548
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
549
549
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
550
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
550
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
551
551
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
552
552
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
553
553
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -558,7 +558,7 @@ body.dark .header-item.cursor.header-top {
558
558
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
559
559
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
560
560
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
561
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
561
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
562
562
  </div>
563
563
  </h1>
564
564
  </header>
@@ -265,7 +265,7 @@ body.dark .keys pre {
265
265
  <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
266
266
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div><div>Prev</div></button>
267
267
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div><div>Next</div></button>
268
- <a class='btn2 create-new' id='create-new-folder'><div><i class='fa-solid fa-plus'></i></div><div>New</div></a>
268
+ <a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
269
269
  <a class='btn2' id='explore' href="/?mode=explore"><div><i class="fa-solid fa-magnifying-glass"></i></div><div>Discover</div></a>
270
270
  <a href="/network" class='btn2'><div><i class="fa-solid fa-wifi"></i></div><div>Network</div></a>
271
271
  <a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
@@ -282,7 +282,7 @@ body.dark .keys pre {
282
282
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
283
283
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
284
284
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
285
- <button id='new-window' title='open a new window' class='btn2'><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
285
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
286
286
  </div>
287
287
  <!--
288
288
  <div class='nav-btns'>
@@ -136,7 +136,7 @@ body {
136
136
  <a class='btn2' href='https://discord.gg/TQdNwadtE4' target="_blank"><div><i class="fa-brands fa-discord"></i></div><div>Discord</div></a>
137
137
  <a class='btn2' href='https://twitter.com/cocktailpeanut' target="_blank"><div><i class="fa-brands fa-twitter"></i></div><div>Twitter</div></a>
138
138
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
139
- <button id='new-window' title='open a new window' class='btn2'><i class="fa-solid fa-plus"></i></button>
139
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
140
140
  </div>
141
141
  </h1>
142
142
  </h1>
@@ -162,7 +162,7 @@ body.dark .card {
162
162
  <button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
163
163
  <a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><div><i class="fa-solid fa-download"></i></div><div>Download logs</div></a>
164
164
  <a class='btn2' href="/?mode=settings"><div><i class="fa-solid fa-gear"></i></div><div>Settings</div></a>
165
- <button id='new-window' title='open a new window' class='btn2'><i class="fa-solid fa-plus"></i></button>
165
+ <button id='new-window' title='open a new window' class='btn2' data-agent="<%=agent%>"><div><i class="fa-solid fa-plus"></i></div><div>Window</div></button>
166
166
 
167
167
  </div>
168
168
  </h1>
@@ -585,7 +585,6 @@ document.addEventListener("DOMContentLoaded", async () => {
585
585
  })
586
586
  <% } else { %>
587
587
  <% if (callback) { %>
588
- debugger
589
588
  location.href = "<%=callback%>"
590
589
  location.reload()
591
590
  <% } %>
@@ -435,7 +435,6 @@ document.addEventListener("DOMContentLoaded", async () => {
435
435
 
436
436
  refreshParent()
437
437
  let params = packet.data
438
- debugger
439
438
  console.log("Web open", params)
440
439
  open_url(params.uri, params.target, params.features)
441
440
  // window.open(