scenri 0.20.0 → 0.20.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,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.20.2](https://github.com/tonygorb/Scenri/compare/v0.20.1...v0.20.2) (2026-09-27)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * a shot that fails out of the poll's sight stops spinning ([4d784c3](https://github.com/tonygorb/Scenri/commit/4d784c30c0d8aeb4f13cabccd90b1c4949c1e285))
9
+ * **cli:** Add to Desktop honours SCENRI_NO_DESKTOP ([b43078f](https://github.com/tonygorb/Scenri/commit/b43078fbe53888321958ad9956ce72fa351f4cf2))
10
+ * **content:** fetch the library by range, Home's pictures first, resumable ([a309a83](https://github.com/tonygorb/Scenri/commit/a309a83bd5fc2ad42f7139f0338b7288ef5e5f33))
11
+ * **content:** one file-by-file install, each file kept the moment its bytes arrive ([4c47a32](https://github.com/tonygorb/Scenri/commit/4c47a320e3cb08276ce79d2bf6d8f0711be02438))
12
+ * **core:** keep every running shot in the activity answer ([fe4b40e](https://github.com/tonygorb/Scenri/commit/fe4b40efb9c749ae99a89c8a21ae56e41cdfe219))
13
+ * **studio:** a wall tile's credits wait with its picture, and the Activity meter is a progressbar ([6bb212f](https://github.com/tonygorb/Scenri/commit/6bb212fae6591cefa20614fc4b47c2c3611c61f5))
14
+ * **studio:** library pictures appear as they land, and the bell counts them ([c14d5db](https://github.com/tonygorb/Scenri/commit/c14d5db05c99507b06d1239980633eb9bedc0a91))
15
+ * **studio:** Shut down closes its tab once Scenri has stopped, or says so ([66a42d9](https://github.com/tonygorb/Scenri/commit/66a42d9ac55d33c27f10acc9b778aa1c4dc38f5c))
16
+ * **studio:** stop the swirl on a shot that ended out of the poll's sight ([48a984a](https://github.com/tonygorb/Scenri/commit/48a984a6937ffa90de6a512d8467ada4501538ed))
17
+ * **studio:** the lifecycle card keeps the page's gutter on a phone, its sentence centred ([5749c3d](https://github.com/tonygorb/Scenri/commit/5749c3de487684b4e8b19cd1c66b2239b1744c29))
18
+ * the first-run library arrives Home first, and Shut down closes its tab ([7e6c0f7](https://github.com/tonygorb/Scenri/commit/7e6c0f7cf96a56a481460bd44d2406a49683ee43))
19
+
20
+ ## [0.20.1](https://github.com/tonygorb/Scenri/compare/v0.20.0...v0.20.1) (2026-09-27)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **composer:** keep a use case whole, give Use in a shot a new brief ([cd09581](https://github.com/tonygorb/Scenri/commit/cd0958145c13ab43959c412a2ca7e6befbed4e87))
26
+
3
27
  ## [0.20.0](https://github.com/tonygorb/Scenri/compare/v0.19.1...v0.20.0) (2026-09-27)
4
28
 
5
29
 
package/README.md CHANGED
@@ -132,6 +132,7 @@ Your Codex session is yours: Scenri runs the official `codex` commands on your m
132
132
  | `SCENRI_REGISTRY` | npmjs | registry for the update check and downloads (mirrors, forks, airgaps) |
133
133
  | `SCENRI_NO_CONTENT_FETCH` | unset | set to `1` to never download the library imagery archive |
134
134
  | `SCENRI_CONTENT_URL` | GitHub releases | where the library archive comes from (mirrors, forks, airgaps) |
135
+ | `SCENRI_CONTENT_PIN` | unset | a pin for a different archive at `SCENRI_CONTENT_URL`, checked file by file ([how](https://github.com/tonygorb/scenri/blob/main/docs/updates.md)) |
135
136
 
136
137
  `OPENROUTER_API_KEY`, `REPLICATE_API_TOKEN` and `FAL_KEY` are read from the environment as an alternative to entering them in Settings.
137
138
 
@@ -1386,12 +1386,15 @@ function createStore(db) {
1386
1386
  SELECT ${cols} FROM nodes n
1387
1387
  WHERE ${inBrand} AND n.kind != 'root' AND n.status = 'running'
1388
1388
  UNION ALL
1389
- SELECT ${cols} FROM nodes n
1390
- WHERE ${inBrand} AND n.kind != 'root' AND n.status != 'running'
1391
- AND n.created_at >= datetime('now', '-2 days')
1389
+ SELECT * FROM (
1390
+ SELECT ${cols} FROM nodes n
1391
+ WHERE ${inBrand} AND n.kind != 'root' AND n.status != 'running'
1392
+ AND n.created_at >= datetime('now', '-2 days')
1393
+ ORDER BY n.created_at DESC, n.id DESC
1394
+ LIMIT @limit
1395
+ )
1392
1396
  )
1393
- ORDER BY created_at DESC, id DESC
1394
- LIMIT @limit`
1397
+ ORDER BY created_at DESC, id DESC`
1395
1398
  ).all({ brand: brandId, limit });
1396
1399
  return rows.map((r) => ({
1397
1400
  ...rowToFeedNode(r),
@@ -2308,5 +2311,5 @@ function createCore(homeDir = defaultHome()) {
2308
2311
  }
2309
2312
 
2310
2313
  export { ASPECT_TOLERANCE, BUDGET_EXHAUSTED, EDIT_REFERENCE_ROLE_DIRECTIVE, REFERENCE_ROLE_DIRECTIVE, SCHEMA_VERSION, STEM_MIN, SchemaTooNewError, SpendCapError, TRIGRAM_MIN, budgetSize, createCatalogStore, createCore, createStore, defaultHome, fold, ftsMatch, matchesQuery, nameMatches, ratioLabel, searchTerms, shortTermSql, termMatches, uniqueProjectSlug, uniqueSetSlug, uniqueSlug };
2311
- //# sourceMappingURL=chunk-YNL3WQOL.js.map
2312
- //# sourceMappingURL=chunk-YNL3WQOL.js.map
2314
+ //# sourceMappingURL=chunk-2EKTEMJY.js.map
2315
+ //# sourceMappingURL=chunk-2EKTEMJY.js.map
@@ -480,7 +480,7 @@ async function addOrRepair(ownEntry, say, over) {
480
480
  }
481
481
  async function rememberDecline(home) {
482
482
  try {
483
- const { createCore } = await import('./src-URYJIC5Y.js');
483
+ const { createCore } = await import('./src-ZNBCNYVK.js');
484
484
  const core = createCore(home);
485
485
  try {
486
486
  core.store.setSetting("desktop.prompt", "declined");
@@ -547,5 +547,5 @@ function tail(path, bytes = 4096) {
547
547
  }
548
548
 
549
549
  export { addToDesktop, assetsDirFor, installDeps, runDesktopCommand, runExecFile, runOpenCommand };
550
- //# sourceMappingURL=cli-WRNWT6P7.js.map
551
- //# sourceMappingURL=cli-WRNWT6P7.js.map
550
+ //# sourceMappingURL=cli-PXPCJR7V.js.map
551
+ //# sourceMappingURL=cli-PXPCJR7V.js.map
package/dist/index.js CHANGED
@@ -49,7 +49,7 @@ Usage
49
49
 
50
50
  Configuration is via environment variables: SCENRI_PORT, SCENRI_HOST,
51
51
  SCENRI_HOME, SCENRI_NO_OPEN, SCENRI_NO_UPDATE_CHECK, SCENRI_NO_CONTENT_FETCH,
52
- SCENRI_CONTENT_URL, SCENRI_NO_DESKTOP.
52
+ SCENRI_CONTENT_URL, SCENRI_CONTENT_PIN, SCENRI_NO_DESKTOP.
53
53
  `;
54
54
  }
55
55
 
@@ -86,12 +86,12 @@ try {
86
86
  break;
87
87
  }
88
88
  case "desktop": {
89
- const { runDesktopCommand } = await import('./cli-WRNWT6P7.js');
89
+ const { runDesktopCommand } = await import('./cli-PXPCJR7V.js');
90
90
  process.exit(await runDesktopCommand(command, fileURLToPath(import.meta.url)));
91
91
  break;
92
92
  }
93
93
  case "open": {
94
- const { runOpenCommand } = await import('./cli-WRNWT6P7.js');
94
+ const { runOpenCommand } = await import('./cli-PXPCJR7V.js');
95
95
  process.exit(await runOpenCommand(fileURLToPath(import.meta.url)));
96
96
  break;
97
97
  }