aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/assistant/test_ops.js
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-16 16:52:45 +0200
committerDanilo M. <danix@danix.xyz>2026-10-16 16:52:45 +0200
commitbb9442a07cebe70c3492cca31f31a8270bb83134 (patch)
tree2dff25cd4c3715b5b54d4c65ee6619e896f170aa /desktop/assistant/test_ops.js
parent193cd8c2e1cc7e16b1389b95036bf7f4f99f97e0 (diff)
downloadquickshell-bb9442a07cebe70c3492cca31f31a8270bb83134.tar.gz
quickshell-bb9442a07cebe70c3492cca31f31a8270bb83134.zip
fix(assistant): review of the Do row and fileops
The canvas: a To .md ended any other way than its own Stop (the footer Stop, a question, a drop, a daemon restart, an older daemon refusing the command) left the card at Working forever. The footer Stop goes through stopOp(), asking and dropping end the operation first, a disconnect ends it, and an error while nothing else runs is taken as its outcome. Each fileops run gets its own Process, so a stopped run's late answer is never read as the next one's. To .md takes one PDF, as one file is written. Compress... no longer flips back when file(1) refines a kind, long errors are elided, and a desktop with no documents folder gets Documents/Assistant rather than ~/Assistant. fileops: an animated GIF to PNG or JPEG left one file per frame under names the rename never found; the first frame is taken. JPEG flattens transparency onto white. Zipping a folder holding the output folder read its own growing archive without end; only regular files outside it are added, which also skips FIFOs and dangling links. qpdf warnings no longer fail a merge. A folder's free name keeps its dots, a lone .gz or .xz is decompressed rather than refused, and a dotfile's archive is not hidden. Tools die with fileops even when it is killed outright, a killed run's leftovers are swept on the next run, a stop between fork and bookkeeping cannot miss the child, and a late stop cannot add a second answer. Error lines lose bsdtar's doubled prefix and its delayed-exit noise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/assistant/test_ops.js')
-rw-r--r--desktop/assistant/test_ops.js4
1 files changed, 2 insertions, 2 deletions
diff --git a/desktop/assistant/test_ops.js b/desktop/assistant/test_ops.js
index 6d53376..c016241 100644
--- a/desktop/assistant/test_ops.js
+++ b/desktop/assistant/test_ops.js
@@ -24,8 +24,8 @@ const f = (name, kind) => ({ path: "/x/" + name, name, kind });
const labels = files => O.offered(files).map(o => o.label);
assert.deepStrictEqual(labels([f("a.pdf", "pdf")]), ["To .md", "To images", "Compress…"]);
-assert.deepStrictEqual(labels([f("a.pdf", "pdf"), f("b.pdf", "pdf")]),
- ["To .md", "To images", "Merge", "Compress…"]);
+assert.deepStrictEqual(labels([f("a.pdf", "pdf"), f("b.pdf", "pdf")]), // To .md: one PDF only
+ ["To images", "Merge", "Compress…"]);
assert.deepStrictEqual(labels([f("a.pdf", "pdf"), f("p.png", "image")]), ["Compress…"]);
// An image's own format is not offered.
assert.deepStrictEqual(labels([f("p.png", "image")]), ["To JPEG", "To WebP", "Resize 50%", "Compress…"]);