dsh-unlag 1.9.73 → 1.9.75
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/client.js +41 -8
- package/package.json +1 -1
package/client.js
CHANGED
|
@@ -354,17 +354,31 @@ window.__ModuleLoader__.load({
|
|
|
354
354
|
let frozen = null;
|
|
355
355
|
for (const row of rows) {
|
|
356
356
|
if (row === null || typeof row !== 'object') continue;
|
|
357
|
-
|
|
357
|
+
// The saved list crosses a boundary from the shell: a row whose fields cannot be read is a
|
|
358
|
+
// list this page cannot vouch for, and naming the row beats a page-shaped notice.
|
|
359
|
+
let kind = '';
|
|
360
|
+
let runs = false;
|
|
361
|
+
let src = '';
|
|
362
|
+
let name = '';
|
|
363
|
+
let value = null;
|
|
364
|
+
try {
|
|
365
|
+
kind = typeof row.kind === 'string' ? row.kind : '';
|
|
366
|
+
runs = kind === 'script-src' || kind === 'script-preload';
|
|
367
|
+
src = typeof row.src === 'string' ? row.src : '';
|
|
368
|
+
name = typeof row.name === 'string' ? row.name : '';
|
|
369
|
+
value = row.value;
|
|
370
|
+
} catch {
|
|
371
|
+
return held('row');
|
|
372
|
+
}
|
|
373
|
+
if (!STARTUP_ROW_KINDS.has(kind)) return held('row');
|
|
358
374
|
// Only the rows a document runs as scripts have to load as classic scripts. Style and
|
|
359
375
|
// markup rows carry their own text and their address is not a script at all, so reading
|
|
360
376
|
// them back would refuse a sound list over a false alarm.
|
|
361
|
-
|
|
362
|
-
if (runs
|
|
363
|
-
if (runs) scripts.push(row.src);
|
|
377
|
+
if (runs && src === '') return held('src');
|
|
378
|
+
if (runs) scripts.push(src);
|
|
364
379
|
// Inline rows carry their own text and are not fetched; the queue script among them ends
|
|
365
380
|
// in a nested return that a flat scan would misread, so their text is left to the document.
|
|
366
|
-
if (
|
|
367
|
-
let value = row.value;
|
|
381
|
+
if (kind !== 'global' || name !== '__DSH_BOOT__') continue; // ui-copy-ignore
|
|
368
382
|
if (typeof value === 'string') {
|
|
369
383
|
try {
|
|
370
384
|
value = JSON.parse(value);
|
|
@@ -386,8 +400,27 @@ window.__ModuleLoader__.load({
|
|
|
386
400
|
// The frozen list decides what this document boots. Without the current plugin list there
|
|
387
401
|
// is nothing to prove every plugin in it still exists, so the page is not rebuilt.
|
|
388
402
|
if (live === null) return held('graph');
|
|
389
|
-
|
|
390
|
-
|
|
403
|
+
// Both lists come from outside this function: the saved one from the shell, the current one
|
|
404
|
+
// from the app. One that cannot be read leaves the comparison unanswered, and each names
|
|
405
|
+
// itself rather than the page.
|
|
406
|
+
let kept = [];
|
|
407
|
+
try {
|
|
408
|
+
kept = Array.isArray(frozen.entries) ? frozen.entries : [];
|
|
409
|
+
} catch {
|
|
410
|
+
return held('list');
|
|
411
|
+
}
|
|
412
|
+
let liveEntries = [];
|
|
413
|
+
try {
|
|
414
|
+
liveEntries = Array.isArray(live.entries) ? live.entries : [];
|
|
415
|
+
} catch {
|
|
416
|
+
return held('graph');
|
|
417
|
+
}
|
|
418
|
+
const liveIds = new Set();
|
|
419
|
+
try {
|
|
420
|
+
for (const entry of liveEntries) liveIds.add(typeof entry === 'string' ? entry : entry?.id);
|
|
421
|
+
} catch {
|
|
422
|
+
return held('graph');
|
|
423
|
+
}
|
|
391
424
|
let vanished = false;
|
|
392
425
|
for (const entry of kept) {
|
|
393
426
|
const id = typeof entry === 'string' ? entry : entry?.id;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-unlag",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.75",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A press applies plugin edits right away and brings a laggy interface back; automatic reloading stays off unless you turn it on, so the press is the only trigger, and nothing restarts.",
|
|
6
6
|
"license": "MIT",
|