scenri 0.22.0 → 0.22.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.22.2](https://github.com/tonygorb/Scenri/compare/v0.22.1...v0.22.2) (2026-11-02)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **deps:** lift glob and minimatch past their advisories ([92ecff4](https://github.com/tonygorb/Scenri/commit/92ecff44159dc21488ca26355982deadd213593b))
9
+ * **deps:** lift glob and minimatch past their advisories ([781cd20](https://github.com/tonygorb/Scenri/commit/781cd2081f0e5c25b97706589d865c6e7a0f12dc))
10
+ * **deps:** patch vulnerable dependencies ([f05b04b](https://github.com/tonygorb/Scenri/commit/f05b04b807c532a68abc487de56bf075c4c9f26c))
11
+ * **deps:** patch vulnerable dependencies ([40c9a86](https://github.com/tonygorb/Scenri/commit/40c9a869030d7eb49aff5536b1b5747025006be1))
12
+
13
+ ## [0.22.1](https://github.com/tonygorb/Scenri/compare/v0.22.0...v0.22.1) (2026-10-09)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * patch sharp, the multipart reader and source-map-js against three advisories ([6bebbdd](https://github.com/tonygorb/Scenri/commit/6bebbdd477dd76f56b7346f840ba4bc3d19a3dd9))
19
+ * patch sharp, the multipart reader and source-map-js against three advisories ([0786e5c](https://github.com/tonygorb/Scenri/commit/0786e5cfceb534f642133ecb9085811b72b62582))
20
+
3
21
  ## [0.22.0](https://github.com/tonygorb/Scenri/compare/v0.21.2...v0.22.0) (2026-10-07)
4
22
 
5
23
 
package/dist/serve.js CHANGED
@@ -861,7 +861,7 @@ function outcomeFor(code) {
861
861
  }
862
862
  function availabilityFrom(shallow, conn) {
863
863
  if (!shallow.ok) return shallow;
864
- if (!conn || conn.outcome !== "refused" || !conn.failure) return shallow;
864
+ if (conn?.outcome !== "refused" || !conn.failure) return shallow;
865
865
  const { code, reason } = conn.failure;
866
866
  switch (code) {
867
867
  case "CODEX_AUTH_CONFLICT":
@@ -13116,7 +13116,7 @@ function beginRun(deps, id, view, chained) {
13116
13116
  }
13117
13117
  function endRun(deps, id, view, aborted) {
13118
13118
  const run4 = runs.get(id);
13119
- if (!run4 || run4.status !== "running") return;
13119
+ if (run4?.status !== "running") return;
13120
13120
  const rec = getPresenterDraft(deps.core, id);
13121
13121
  const own = view ? rec?.views[view].error : rec?.readError;
13122
13122
  const error = own && own !== "cancelled" ? own : run4.error;
@@ -13508,7 +13508,7 @@ async function generateView(deps, id, view, opts = {}) {
13508
13508
  for (const dep of DEPENDS[view]) {
13509
13509
  if (rec.views[dep].status !== "approved") throw fail(`approve the ${VIEW_LABEL[dep]} first`, 400);
13510
13510
  }
13511
- if (!engine || !engine.capabilities().maxReferenceImages) throw fail("no engine here can draw a person", 400);
13511
+ if (!engine?.capabilities().maxReferenceImages) throw fail("no engine here can draw a person", 400);
13512
13512
  const adjustment = str4(opts.adjustment, TYPED_TEXT_MAX) || void 0;
13513
13513
  const decide = opts.decide === "auto" ? "auto" : void 0;
13514
13514
  const before = rec.views[view].status;
@@ -16386,6 +16386,28 @@ function registerImageRoutes(app, deps) {
16386
16386
  var HEADLINES_KEPT = 5;
16387
16387
  var FIRST_PUBLIC = "0.2.0";
16388
16388
  var RELEASES = [
16389
+ {
16390
+ version: "0.22.2",
16391
+ date: "2026-11-02",
16392
+ title: "The local server and the shop reader are patched",
16393
+ sections: [
16394
+ {
16395
+ heading: "Security",
16396
+ body: "The server Scenri runs on this computer and the reader that fetches a shop's product pages are on their patched releases, for several published advisories. Nothing about how Scenri works changes."
16397
+ }
16398
+ ]
16399
+ },
16400
+ {
16401
+ version: "0.22.1",
16402
+ date: "2026-10-10",
16403
+ title: "The image library and the upload reader are patched",
16404
+ sections: [
16405
+ {
16406
+ heading: "Security",
16407
+ body: "The image library Scenri resizes pictures with and the reader that takes in uploaded files are on their patched releases, for two published advisories. Nothing about how Scenri works changes."
16408
+ }
16409
+ ]
16410
+ },
16389
16411
  {
16390
16412
  version: "0.22.0",
16391
16413
  date: "2026-10-07",
@@ -42,7 +42,7 @@
42
42
  // fragment does not survive open(1) or Start-Process. The fragment is the
43
43
  // fallback for a page opened by hand.
44
44
  var meta = document.querySelector('meta[name="scenri-studio"]');
45
- var target = (meta && meta.getAttribute('content')) || location.hash.slice(1);
45
+ var target = (meta?.getAttribute('content')) || location.hash.slice(1);
46
46
  var ok = /^http:\/\/(127\.0\.0\.1|localhost):\d{2,5}\/$/.test(target);
47
47
  var title = document.getElementById('title');
48
48
  var text = document.getElementById('text');
@@ -68,9 +68,9 @@
68
68
  // from a local page.
69
69
  var img = new Image();
70
70
  img.onload = go;
71
- img.src = target + 'favicon.ico?' + Date.now();
71
+ img.src = `${target}favicon.ico?${Date.now()}`;
72
72
  if (window.fetch) {
73
- fetch(target + 'api/version', { mode: 'no-cors', cache: 'no-store' }).then(go, () => {});
73
+ fetch(`${target}api/version`, { mode: 'no-cors', cache: 'no-store' }).then(go, () => {});
74
74
  }
75
75
  setTimeout(probe, failed ? 2000 : 500);
76
76
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scenri",
3
- "version": "0.22.0",
3
+ "version": "0.22.2",
4
4
  "author": "Tony Gorb <hello@scenri.co>",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
@@ -16,19 +16,19 @@
16
16
  "prepublishOnly": "node scripts/prepack.mjs"
17
17
  },
18
18
  "dependencies": {
19
- "@fastify/multipart": "^9.0.0",
20
- "@fastify/static": "^10.1.3",
21
- "ajv": "^8.17.1",
19
+ "@fastify/multipart": "^9.4.0",
20
+ "@fastify/static": "^10.1.8",
21
+ "ajv": "^8.20.0",
22
22
  "ajv-formats": "^3.0.1",
23
- "better-sqlite3": "^12.0.0",
24
- "cheerio": "^1.0.0",
25
- "fastify": "^5.12.5",
26
- "jszip": "^3.10.1",
27
- "node-html-parser": "^7.0.1",
28
- "open": "^10.1.0",
29
- "pixelmatch": "^7.1.0",
23
+ "better-sqlite3": "^12.11.1",
24
+ "cheerio": "^1.2.0",
25
+ "fastify": "^5.12.7",
26
+ "jszip": "^3.10.2",
27
+ "node-html-parser": "^7.1.0",
28
+ "open": "^10.2.0",
29
+ "pixelmatch": "^7.2.0",
30
30
  "pngjs": "^7.0.0",
31
- "sharp": "^0.35.4"
31
+ "sharp": "^0.35.5"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@scenri/brand": "workspace:*",
@@ -39,7 +39,7 @@
39
39
  "@scenri/engine-fal": "workspace:*",
40
40
  "@scenri/engine-openrouter": "workspace:*",
41
41
  "@scenri/engine-replicate": "workspace:*",
42
- "@types/better-sqlite3": "^7.6.11",
42
+ "@types/better-sqlite3": "^7.6.13",
43
43
  "@types/pngjs": "^6.0.5",
44
44
  "tsup": "^8.5.1"
45
45
  },