pinokiod 3.93.0 → 3.95.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/kernel/util.js CHANGED
@@ -546,7 +546,9 @@ function push(params) {
546
546
  if (!params.title) {
547
547
  params.title = "Pinokio"
548
548
  }
549
- console.log("Notifier.notify", params)
549
+ if (!params.contentImage) {
550
+ params.contentImage = path.resolve(__dirname, "../server/public/pinokio-black.png")
551
+ }
550
552
  notifier.notify(params)
551
553
  }
552
554
  function p2u(localPath) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "3.93.0",
3
+ "version": "3.95.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/server/index.js CHANGED
@@ -3998,7 +3998,66 @@ class Server {
3998
3998
  this.app.post("/push", ex(async (req, res) => {
3999
3999
  console.log("Push", req.body)
4000
4000
  try {
4001
- Util.push(req.body)
4001
+ const payload = { ...(req.body || {}) }
4002
+ if (typeof payload.image === 'string' && payload.image.trim()) {
4003
+ const resolveAssetPath = (raw) => {
4004
+ if (typeof raw !== 'string') {
4005
+ return null
4006
+ }
4007
+ const trimmed = raw.trim()
4008
+ if (!trimmed) {
4009
+ return null
4010
+ }
4011
+ let candidate = trimmed
4012
+ if (/^https?:\/\//i.test(trimmed)) {
4013
+ try {
4014
+ const parsed = new URL(trimmed)
4015
+ candidate = parsed.pathname
4016
+ } catch (_) {
4017
+ return null
4018
+ }
4019
+ }
4020
+ if (!candidate.startsWith('/asset/')) {
4021
+ return null
4022
+ }
4023
+ const pathPart = candidate.split('?')[0].split('#')[0]
4024
+ const rel = pathPart.replace(/^\/asset\/+/, '')
4025
+ if (!rel) {
4026
+ return null
4027
+ }
4028
+ const parts = rel.split('/').filter(Boolean)
4029
+ if (!parts.length || parts.some((part) => part === '..')) {
4030
+ return null
4031
+ }
4032
+ try {
4033
+ return this.kernel.path(...parts)
4034
+ } catch (_) {
4035
+ return null
4036
+ }
4037
+ }
4038
+ const resolvedImage = resolveAssetPath(payload.image)
4039
+ if (resolvedImage) {
4040
+ payload.image = resolvedImage
4041
+ } else {
4042
+ const normalised = payload.image.trim()
4043
+ if (normalised.startsWith('/')) {
4044
+ const relative = normalised.replace(/^\/+/, '')
4045
+ if (relative) {
4046
+ const publicRoot = path.resolve(__dirname, 'public')
4047
+ const candidate = path.resolve(publicRoot, relative)
4048
+ if (candidate.startsWith(publicRoot)) {
4049
+ try {
4050
+ await fs.promises.access(candidate, fs.constants.R_OK)
4051
+ payload.image = candidate
4052
+ } catch (_) {
4053
+ // ignore missing fallback asset
4054
+ }
4055
+ }
4056
+ }
4057
+ }
4058
+ }
4059
+ }
4060
+ Util.push(payload)
4002
4061
  res.json({ success: true })
4003
4062
  } catch (e) {
4004
4063
  res.json({ error: e.stack })
@@ -176,7 +176,7 @@
176
176
  return value;
177
177
  }
178
178
  }
179
- return null;
179
+ return '/pinokio-black.png';
180
180
  };
181
181
 
182
182
  const findLinkByFrameName = (frameName) => {
@@ -198,6 +198,57 @@
198
198
  return null;
199
199
  };
200
200
 
201
+ const normaliseImageSrc = (value) => {
202
+ if (typeof value !== 'string') {
203
+ return null;
204
+ }
205
+ const trimmed = value.trim();
206
+ if (!trimmed) {
207
+ return null;
208
+ }
209
+ try {
210
+ const url = new URL(trimmed, window.location.origin);
211
+ if (url.origin === window.location.origin) {
212
+ if (url.pathname.startsWith('/asset/')) {
213
+ return url.pathname;
214
+ }
215
+ return url.href;
216
+ }
217
+ return url.href;
218
+ } catch (_) {
219
+ if (trimmed.startsWith('/')) {
220
+ return trimmed;
221
+ }
222
+ return null;
223
+ }
224
+ };
225
+
226
+ const resolveTabImage = (link) => {
227
+ if (!link) {
228
+ return null;
229
+ }
230
+ const direct = link.querySelector('img.menu-item-image');
231
+ if (direct) {
232
+ const candidates = [direct.currentSrc, direct.src, direct.getAttribute('src')];
233
+ for (const candidate of candidates) {
234
+ const normalised = normaliseImageSrc(candidate);
235
+ if (normalised) {
236
+ return normalised;
237
+ }
238
+ }
239
+ }
240
+ const attrCandidates = ['data-iconpath', 'data-icon'];
241
+ for (const attr of attrCandidates) {
242
+ if (link.hasAttribute(attr)) {
243
+ const normalised = normaliseImageSrc(link.getAttribute(attr));
244
+ if (normalised) {
245
+ return normalised;
246
+ }
247
+ }
248
+ }
249
+ return null;
250
+ };
251
+
201
252
  const findIndicatorForFrame = (frameName) => {
202
253
  const link = findLinkByFrameName(frameName);
203
254
  if (!link) {
@@ -427,15 +478,21 @@ const ensureTabAccessories = aggregateDebounce(() => {
427
478
  }
428
479
  const tab = link.querySelector('.tab');
429
480
  const title = tab ? tab.textContent.trim() : 'Tab activity';
430
- const subtitle = title || 'Pinokio';
431
- const message = state.lastInput ? `Last input: ${state.lastInput}` : 'Tab is now idle.';
481
+ //const subtitle = title || 'Pinokio';
482
+ //const message = state.lastInput ? `Last input: ${state.lastInput}` : 'Tab is now idle.';
483
+ const message = state.lastInput ? `Response to: "${state.lastInput}` : "Tab is now idle."
484
+ const image = resolveTabImage(link);
432
485
 
433
486
  const payload = {
434
487
  title: 'Pinokio',
435
- subtitle,
488
+ //subtitle,
436
489
  message,
490
+ timeout: 60,
437
491
  sound: true,
438
492
  };
493
+ if (image) {
494
+ payload.image = image;
495
+ }
439
496
 
440
497
  try {
441
498
  log('Sending notification payload', payload);
@@ -798,6 +798,9 @@ body.dark .grid-btns .btn2 {
798
798
  /*
799
799
  margin-top: 4px;
800
800
  */
801
+ overflow: hidden;
802
+ text-overflow: ellipsis;
803
+ white-space: nowrap;
801
804
  }
802
805
  .tab.has-preview .tab-updated {
803
806
  color: rgba(0, 0, 0, 0.45);
@@ -2397,7 +2400,7 @@ body.dark {
2397
2400
  <body class='<%=theme%>' data-platform="<%=platform%>" data-agent="<%=agent%>">
2398
2401
  <header class='navheader grabbable'>
2399
2402
  <h1>
2400
- <a class='home' href="/">
2403
+ <a class='home' href="/home">
2401
2404
  <img class='icon' src="/pinokio-black.png">
2402
2405
  </a>
2403
2406
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
@@ -193,7 +193,7 @@ pre {
193
193
  <body class='<%=theme%>' data-agent="<%=agent%>">
194
194
  <header class='navheader grabbable'>
195
195
  <h1>
196
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
196
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
197
197
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
198
198
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
199
199
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -812,7 +812,7 @@ document.addEventListener('DOMContentLoaded', function() {
812
812
  <body class='<%=theme%>' data-agent="<%=agent%>">
813
813
  <header class='navheader grabbable'>
814
814
  <h1>
815
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
815
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
816
816
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
817
817
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
818
818
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -326,7 +326,7 @@ iframe {
326
326
  -->
327
327
  <header class='navheader grabbable'>
328
328
  <h1>
329
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
329
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
330
330
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
331
331
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
332
332
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -121,7 +121,7 @@ body.frozen {
121
121
  <% } %>
122
122
  <header class='grabbable'>
123
123
  <h1>
124
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
124
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
125
125
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
126
126
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
127
127
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -122,7 +122,7 @@ body main iframe {
122
122
  <body class='<%=theme%>' data-agent="<%=agent%>">
123
123
  <header class='navheader grabbable'>
124
124
  <h1>
125
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
125
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
126
126
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
127
127
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
128
128
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -188,7 +188,7 @@ document.addEventListener("DOMContentLoaded", async () => {
188
188
  <body class='columns <%=theme%>' data-agent="<%=agent%>">
189
189
  <header class='navheader grabbable'>
190
190
  <h1>
191
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
191
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
192
192
  <%=filepath%>
193
193
  </h1>
194
194
  <div class='runner'>
@@ -234,7 +234,7 @@ ol {
234
234
  <body class='<%=theme%>' data-agent="<%=agent%>">
235
235
  <header class='navheader grabbable'>
236
236
  <h1>
237
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
237
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
238
238
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
239
239
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
240
240
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -255,7 +255,7 @@ body.dark .item .tile .badge {
255
255
  <body class='<%=theme%>' data-agent="<%=agent%>">
256
256
  <header class='navheader grabbable'>
257
257
  <h1>
258
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
258
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
259
259
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
260
260
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
261
261
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -417,7 +417,7 @@ body.dark aside .current.selected {
417
417
  <header class='navheader grabbable'>
418
418
  <h1>
419
419
  <% if (ishome) { %>
420
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
420
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
421
421
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
422
422
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
423
423
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -242,7 +242,7 @@ body.dark .open-menu, body.dark .browse {
242
242
  <header class='navheader grabbable'>
243
243
  <h1>
244
244
  <% if (ishome) { %>
245
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
245
+ <a class='home' href="/home"><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></button>
247
247
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div></button>
248
248
  <button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -1520,7 +1520,7 @@ body.dark .ace-editor {
1520
1520
  <body class='<%=theme%>' data-platform="<%=platform%>" data-agent="<%=agent%>">
1521
1521
  <header class='navheader grabbable'>
1522
1522
  <h1>
1523
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
1523
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
1524
1524
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
1525
1525
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
1526
1526
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -755,7 +755,7 @@ body.dark .appcanvas {
755
755
  <body class='<%=theme%>' data-platform="<%=platform%>" data-agent="<%=agent%>">
756
756
  <header class='navheader grabbable'>
757
757
  <h1>
758
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
758
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
759
759
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
760
760
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
761
761
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -535,7 +535,7 @@ document.addEventListener('DOMContentLoaded', function() {
535
535
  <% } %>
536
536
  <header class='navheader grabbable'>
537
537
  <h1>
538
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
538
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
539
539
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
540
540
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
541
541
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -1048,7 +1048,7 @@ document.addEventListener('DOMContentLoaded', function() {
1048
1048
  <body class='<%=theme%>' data-agent="<%=agent%>">
1049
1049
  <header class='navheader grabbable'>
1050
1050
  <h1>
1051
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
1051
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
1052
1052
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
1053
1053
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
1054
1054
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -418,7 +418,7 @@ table h3 {
418
418
  <body class='<%=theme%>' data-agent="<%=agent%>">
419
419
  <header class='navheader grabbable'>
420
420
  <h1>
421
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
421
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
422
422
  <button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div></button>
423
423
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div></button>
424
424
  <button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -401,7 +401,7 @@ input:checked + .slider:before {
401
401
  <body class='<%=theme%>' data-agent="<%=agent%>">
402
402
  <header class='navheader grabbable'>
403
403
  <h1>
404
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
404
+ <a class='home' href="/home"><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></button>
406
406
  <button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div></button>
407
407
  <button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -184,7 +184,7 @@ body.dark #status-window b {
184
184
  <% } %>
185
185
  <h1>
186
186
  <% if (target === "_top") { %>
187
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
187
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
188
188
  <% } %>
189
189
  <div class='hidden btn run play-btn'>
190
190
  <span class='play'><i class="fa-solid fa-play"></i> Start</span>
@@ -1002,7 +1002,7 @@ body.dark .appcanvas {
1002
1002
  <body class='<%=theme%>' data-platform="<%=platform%>">
1003
1003
  <header class='navheader grabbable'>
1004
1004
  <h1>
1005
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
1005
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
1006
1006
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
1007
1007
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
1008
1008
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -935,7 +935,7 @@ body.dark .top-menu .btn2.selected {
935
935
  <body class='<%=theme%>' data-platform="<%=platform%>" data-agent="<%=agent%>">
936
936
  <header class='navheader grabbable'>
937
937
  <h1>
938
- <a class='home' href="/">
938
+ <a class='home' href="/home">
939
939
  <img class='icon' src="/pinokio-black.png">
940
940
  </a>
941
941
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
@@ -708,7 +708,7 @@ document.addEventListener('DOMContentLoaded', function() {
708
708
  -->
709
709
  <header class='navheader grabbable'>
710
710
  <h1>
711
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
711
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
712
712
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
713
713
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
714
714
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -373,7 +373,7 @@ document.addEventListener('DOMContentLoaded', function() {
373
373
  -->
374
374
  <header class='navheader grabbable'>
375
375
  <h1>
376
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
376
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
377
377
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
378
378
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
379
379
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
@@ -135,7 +135,7 @@ body {
135
135
  <body class='<%=theme%>' data-agent="<%=agent%>">
136
136
  <header class='grabbable'>
137
137
  <h1>
138
- <a class='home' href="/"><%-logo%></a>
138
+ <a class='home' href="/home"><%-logo%></a>
139
139
  <button class='btn2' id='screenshot' data-tippy-content="take a screenshot"><i class="fa-solid fa-camera"></i></button>
140
140
  <div class='flexible'></div>
141
141
  <a class='btn2' href="/columns" data-tippy-content="split into 2 columns">
@@ -1116,7 +1116,7 @@ document.addEventListener("DOMContentLoaded", async () => {
1116
1116
  <% } %>
1117
1117
  <div class='runner'>
1118
1118
  <% if (target === "_top") { %>
1119
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
1119
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
1120
1120
  <% } %>
1121
1121
  <div class='hidden btn run play-btn'>
1122
1122
  <span class='play'><i class="fa-solid fa-play"></i> Start</span>
@@ -35,7 +35,7 @@ html, body {
35
35
  </style>
36
36
  </head>
37
37
  <body class='<%=theme%>' data-agent="<%=agent%>">
38
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
38
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
39
39
  <a class='header-item' href="<%=home%>">
40
40
  <img src="<%=rawpath%>/<%=config.icon%>?raw=true"/>
41
41
  <div><%=config.title%></div>
@@ -1098,7 +1098,7 @@ document.addEventListener('DOMContentLoaded', function() {
1098
1098
  -->
1099
1099
  <header class='navheader grabbable'>
1100
1100
  <h1>
1101
- <a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
1101
+ <a class='home' href="/home"><img class='icon' src="/pinokio-black.png"></a>
1102
1102
  <button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
1103
1103
  <button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
1104
1104
  <button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>