bunqueue 2.8.21 → 2.8.22

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.
@@ -33,6 +33,21 @@ export async function cancelJob(jobId, ctx) {
33
33
  ctx.storage?.deleteJob(jobId);
34
34
  return { success: true, queueName: location.queueName };
35
35
  }
36
+ // Or parked in waitingDeps (flow-chain dependent inserted by push.ts while
37
+ // its predecessors are unresolved). These are NOT counted in the queued
38
+ // counter (insertJobToShard skips incrementQueued when needsWaiting), so do
39
+ // NOT decrement — but they DO hold their uniqueKey reservation and register
40
+ // entries in the dependency index, both of which must be released here.
41
+ const waiting = shard.waitingDeps.get(jobId);
42
+ if (waiting) {
43
+ shard.waitingDeps.delete(jobId);
44
+ shard.unregisterDependencies(jobId, waiting.dependsOn);
45
+ if (waiting.uniqueKey)
46
+ shard.releaseUniqueKey(location.queueName, waiting.uniqueKey);
47
+ ctx.jobIndex.delete(jobId);
48
+ ctx.storage?.deleteJob(jobId);
49
+ return { success: true, queueName: location.queueName };
50
+ }
36
51
  return { success: false, queueName: location.queueName };
37
52
  });
38
53
  if (result.success) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bunqueue",
3
- "version": "2.8.21",
3
+ "version": "2.8.22",
4
4
  "description": "High-performance job queue for Bun & AI agents. SQLite persistence, cron scheduling, priorities, retries, DLQ, webhooks, native MCP server. Zero external dependencies.",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",