From 9c53a94ef67ec1392b2290873d4d5a9737d10e14 Mon Sep 17 00:00:00 2001 From: clawbot Date: Wed, 11 Nov 2026 20:33:16 +0000 Subject: [PATCH] Remove the no-op --collection option from get and get-thumb (closes #241) Both commands listed `--collection ` as accepted and ignored. It now is refused as an unknown option, and the README no longer mentions it. Model: opus-5-5 --- README.md | 2 +- bin/quak.ts | 2 -- test/cli/bin.test.ts | 16 ++++++++++++++-- test/cli/commands.test.ts | 4 ++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 3db31da..5a4ff1e 100644 --- a/README.md +++ b/README.md @@ -302,7 +302,7 @@ title, with unsafe characters replaced (see "File names from the server"). With original is kept in the cache as well. A file ID that no collection holds gives `File not found`, and the exit -status is 1. The option `--collection ` is accepted and ignored. +status is 1. A live photo is a still image and a short video that Ente stores as one file. `get` writes both, each named after the title with its own extension, as Ente's diff --git a/bin/quak.ts b/bin/quak.ts index be3cd53..9c2a588 100644 --- a/bin/quak.ts +++ b/bin/quak.ts @@ -123,7 +123,6 @@ program .description("Download and decrypt a single file") .argument("", "File ID (from `quak files`)") .option("--out ", "Output file path") - .option("--collection ", "Accepted for compatibility; ignored") .action((fileID: string, opts: { out?: string }) => run(getCommand(context(), fileID, opts)), ); @@ -133,7 +132,6 @@ program .description("Download and decrypt a thumbnail") .argument("", "File ID (from `quak files`)") .option("--out ", "Output file path") - .option("--collection ", "Accepted for compatibility; ignored") .action((fileID: string, opts: { out?: string }) => run(getThumbCommand(context(), fileID, opts)), ); diff --git a/test/cli/bin.test.ts b/test/cli/bin.test.ts index 6e5b8be..4f0fd4a 100644 --- a/test/cli/bin.test.ts +++ b/test/cli/bin.test.ts @@ -1,8 +1,9 @@ /** * Tests for the retry options `bin/quak.ts` loads the saved session with * (`quak backup` gets the unattended ones, every other command the default), - * each with the callbacks that log its requests and retries, and for - * `quak files` taking its collection ID as an optional argument. + * each with the callbacks that log its requests and retries, for `quak files` + * taking its collection ID as an optional argument, and for `quak get` and + * `quak get-thumb` refusing `--collection`. * * Each test runs `bin/quak.ts`, as the smoke test does, with its session loader * replaced by one that records the options it is given and reports no session, @@ -105,3 +106,14 @@ describe("bin/quak.ts files", () => { expect(await quak("files", "7")).toMatch(/^Not logged in/); }); }); + +describe("bin/quak.ts get and get-thumb", () => { + it.each(["get", "get-thumb"])( + "%s refuses --collection as an unknown option", + async (command) => { + expect(await quak(command, "1", "--collection", "2")).toMatch( + /^error: unknown option '--collection'/, + ); + }, + ); +}); diff --git a/test/cli/commands.test.ts b/test/cli/commands.test.ts index 2bd5e53..d3c2530 100644 --- a/test/cli/commands.test.ts +++ b/test/cli/commands.test.ts @@ -569,14 +569,14 @@ describe("files", () => { }); describe("get and get-thumb", () => { - it("get finds a file in any album without --collection", async () => { + it("get finds a file in any album", async () => { const out = join(root, "diagram.png"); expect(await getCommand(context(), "200", { out })).toBe(0); expect(readFileSync(out)).toEqual(Buffer.alloc(7, 200)); expect(stderr.text).toBe(`7 bytes -> ${out}\n`); }); - it("get-thumb finds a file in any album without --collection", async () => { + it("get-thumb finds a file in any album", async () => { const out = join(root, "thumb.jpg"); expect(await getThumbCommand(context(), "200", { out })).toBe(0); expect(readFileSync(out)).toEqual(Buffer.alloc(3, 200)); -- 2.54.0