@gentbajko/slopify 3.0.14 → 3.0.15

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.
@@ -0,0 +1,17 @@
1
+ # Slopify 3.0.15
2
+
3
+ Released 30 September 2026.
4
+
5
+ 3.0.15 makes a garbled narration chunk get recorded again even when the project is busy.
6
+
7
+ ## Fixes
8
+
9
+ - When the captions caught a garbled sentence, Slopify said it was recording that narration chunk again, but if another step of the project was still running at that moment (its PDF, say), the retry gave up and the video stayed failed. The retry now waits for that step and starts as soon as it finishes.
10
+
11
+ ## Under the hood
12
+
13
+ - Faster CI and releases: Docker images build beside the npm publish, the Windows install check uses one warm cache, and unchanged Windows and Docker checks are skipped.
14
+
15
+ ## Upgrading from 3.0.14
16
+
17
+ - **Nothing becomes outdated.**
@@ -1,4 +1,10 @@
1
1
  [
2
+ {
3
+ "id": "3.0.15",
4
+ "title": "Slopify 3.0.15",
5
+ "version": "3.0.15",
6
+ "date": "2026-09-30"
7
+ },
2
8
  {
3
9
  "id": "3.0.14",
4
10
  "title": "Slopify 3.0.14",
@@ -105,6 +105,16 @@ async function recordAgain(deps, retry) {
105
105
  detail: `Recording ${retry.chunkKey} again (try ${String(retry.tries)} of ${String(narrationRetryLimit)}).`,
106
106
  });
107
107
  }
108
+ else if (result.reason === "running") {
109
+ // Another step of the project is still going (its PDF, say): the retry waits for it and
110
+ // starts when that step finishes, which kicks this again (`onFinished`). Giving up here
111
+ // left the video failed with a message promising a retry that never came.
112
+ deps.log.write("info", "narration.retry", {
113
+ projectId: retry.projectId,
114
+ detail: `Recording ${retry.chunkKey} again once the project's running steps finish.`,
115
+ });
116
+ return;
117
+ }
108
118
  else {
109
119
  settle(deps.db, retry, "failed", refusal(result), now);
110
120
  deps.log.write("warn", "narration.retry", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gentbajko/slopify",
3
- "version": "3.0.14",
3
+ "version": "3.0.15",
4
4
  "description": "Turn a prompt into a finished video, locally, with your own provider keys",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Gent Bajko",