@leemour/cli-messaging 0.51.0 → 0.53.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBnC,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,cAAc,CAAA;AAQtF;;;;GAIG;AACH,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OA6HtD,CAAA"}
1
+ {"version":3,"file":"backfill-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBnC,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,cAAc,CAAA;AAOtF;;;;GAIG;AACH,eAAO,MAAM,eAAe,cAAe,SAAS,KAAG,OA6HtD,CAAA"}
@@ -13,10 +13,9 @@ import { parseDuration } from "../settings.js";
13
13
  import { estimateBackfill } from "./backfill-estimate.js";
14
14
  import { jobsDir, listJobs, readJob, saveJob, spawnDetached, stateOf, updateJob, } from "./backfill-jobs.js";
15
15
  import { messengerContext } from "./context.js";
16
+ import { patiently, stopOnSignal } from "./patience.js";
16
17
  /** The most messages a provider hands out per history request — Telegram's cap. */
17
18
  const PAGE = 100;
18
- /** Waits longer than this are not sat out: the run stops, and the next one resumes. */
19
- const LONGEST_WAIT_MS = 5 * 60 * 1000;
20
19
  /**
21
20
  * A chat's history into the store, newest to oldest, **resumable**: after every page the stretch it
22
21
  * covered is recorded, so a stop — Ctrl-C, `--timeout`, `--max`, a long FloodWait — loses nothing,
@@ -195,24 +194,6 @@ const startJob = (command, context, messenger, { chat, max, pace }) => {
195
194
  context.renderer.result({ job: id, pid, chat, log });
196
195
  context.renderer.note(`started — \`${app.command} backfill status ${id}\` follows it`);
197
196
  };
198
- /** Ctrl-C and SIGTERM — which `backfill cancel` sends — end the run after the page in hand. */
199
- const stopOnSignal = (command) => {
200
- const stop = new AbortController();
201
- const given = environmentOf(command).signal;
202
- const end = () => stop.abort();
203
- given?.addEventListener("abort", end, { once: true });
204
- const signals = given ? [] : ["SIGINT", "SIGTERM"];
205
- for (const name of signals)
206
- process.once(name, end);
207
- return {
208
- signal: stop.signal,
209
- release: () => {
210
- for (const name of signals)
211
- process.off(name, end);
212
- given?.removeEventListener("abort", end);
213
- },
214
- };
215
- };
216
197
  const walk = async (connection, store, account, chat, { max, pauseMs, note, stop, onPage }) => {
217
198
  let before;
218
199
  let chatId;
@@ -254,23 +235,6 @@ const walk = async (connection, store, account, chat, { max, pauseMs, note, stop
254
235
  ...(stop.aborted ? { stopped: true } : {}),
255
236
  };
256
237
  };
257
- /** Sits out a provider's "wait N seconds" when it is short, a few times; a long one ends the run. */
258
- const patiently = async (request, note, stop) => {
259
- for (let attempt = 1;; attempt += 1) {
260
- try {
261
- return await request();
262
- }
263
- catch (error) {
264
- const wait = isCliFailure(error) && error.code === "rate_limited" ? Number(error.details?.retryAfterMs) : NaN;
265
- if (!Number.isFinite(wait) || wait > LONGEST_WAIT_MS || attempt >= 3)
266
- throw error;
267
- note(`asked to wait ${Math.ceil(wait / 1000)} s — waiting, then going on`);
268
- await sleep(wait, undefined, { signal: stop }).catch(() => { });
269
- if (stop.aborted)
270
- throw error;
271
- }
272
- }
273
- };
274
238
  const wholeNumber = (value) => {
275
239
  const parsed = Number(value);
276
240
  if (!Number.isInteger(parsed) || parsed < 1)
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/backfill-command.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@ export interface Saved {
5
5
  kind: string;
6
6
  path: string;
7
7
  bytes: number;
8
+ /** Only with `--all`: the file was already there from an earlier run, and was left as it was. */
9
+ existing?: true;
8
10
  }
9
- /** `messages download`: every file of one message, into a folder, never over a file already there. */
11
+ /** `messages download`: every file of one message, or with `--all` of a whole chat, never over a file already there. */
10
12
  export declare const downloadSubcommand: (messages: Command, messenger: Messenger) => Command;
11
13
  /**
12
14
  * A name another person chose cannot climb out of the folder, cannot be a dot file we would then
@@ -17,6 +19,11 @@ export declare const safeName: (name: string | undefined) => string | undefined;
17
19
  * The bytes go to a temporary name first and are then hard-linked to the real one, which fails if the
18
20
  * name is taken — so an existing file survives, and an interrupted download leaves no half file under
19
21
  * the name somebody will open.
22
+ *
23
+ * `unique` is for a whole chat, where two messages often carry the same file name: a taken name gets the
24
+ * message's own prefix, and when that is taken too the file was saved by an earlier run and is `existing`.
20
25
  */
21
- export declare const save: (file: RemoteFile, directory: string, fallbackName: string) => Promise<Saved>;
26
+ export declare const save: (file: RemoteFile, directory: string, fallbackName: string, { unique }?: {
27
+ unique?: boolean;
28
+ }) => Promise<Saved>;
22
29
  //# sourceMappingURL=download-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/download-command.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AAEvD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,sGAAsG;AACtG,eAAO,MAAM,kBAAkB,aAAc,OAAO,aAAa,SAAS,KAAG,OAuBvE,CAAA;AAkBN;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAQ5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI,SAAgB,UAAU,aAAa,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,KAAK,CAwBnG,CAAA"}
1
+ {"version":3,"file":"download-command.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/download-command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,cAAc,CAAA;AAEtF,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AAE9E,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,iGAAiG;IACjG,QAAQ,CAAC,EAAE,IAAI,CAAA;CAChB;AAED,wHAAwH;AACxH,eAAO,MAAM,kBAAkB,aAAc,OAAO,aAAa,SAAS,KAAG,OAiCvE,CAAA;AAsKN;;;GAGG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAQ5D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,SACT,UAAU,aACL,MAAM,gBACH,MAAM,eACA;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KACvC,OAAO,CAAC,KAAK,CAgCf,CAAA"}
@@ -1,21 +1,35 @@
1
- import { createWriteStream, mkdirSync } from "node:fs";
1
+ import { createWriteStream, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
2
2
  import { link, rm } from "node:fs/promises";
3
3
  import { basename, join, resolve } from "node:path";
4
4
  import { Readable, Transform } from "node:stream";
5
5
  import { pipeline } from "node:stream/promises";
6
+ import { setTimeout as sleep } from "node:timers/promises";
6
7
  import { CliError } from "@leemour/cli-core";
8
+ import { parseDuration } from "../settings.js";
7
9
  import { messengerContext } from "./context.js";
10
+ import { patiently, stopOnSignal } from "./patience.js";
8
11
  import { capability } from "./port.js";
9
- /** `messages download`: every file of one message, into a folder, never over a file already there. */
12
+ /** `messages download`: every file of one message, or with `--all` of a whole chat, never over a file already there. */
10
13
  export const downloadSubcommand = (messages, messenger) => messages
11
14
  .command("download")
12
- .description("save a message's photos, files, videos and voice notes to a folder")
15
+ .description("save a message's photos, files, videos and voice notes to a folder — or a whole chat's with --all")
13
16
  .argument("<chat>", messenger.chatArgument)
14
- .argument("<message>", "the message id")
17
+ .argument("[message]", "the message id; left out with --all")
15
18
  .option("--output <dir>", "where to save them; created if missing", ".")
19
+ .option("--all", "every file of the chat, newest first; run it again to continue where it stopped")
20
+ .option("--pace <duration>", "with --all, a pause between pages, to stay under the provider's limits", "1s")
16
21
  .action(async function (chat, messageId) {
17
22
  const context = messengerContext(this, messenger);
18
- const { output } = this.opts();
23
+ const { output, all, pace } = this.opts();
24
+ if (all && messageId !== undefined) {
25
+ throw new CliError("validation_error", "--all saves the whole chat; leave out the message id");
26
+ }
27
+ if (all) {
28
+ await downloadChat(this, context, chat, output, parseDuration(pace, "--pace"));
29
+ return;
30
+ }
31
+ if (messageId === undefined)
32
+ throw new CliError("validation_error", "name a message id, or use --all");
19
33
  const id = messageId.trim();
20
34
  const saved = await context.withMessenger(async (connection) => {
21
35
  const { files, skipped } = await capability(connection, "download", "download attachments")(chat, id);
@@ -36,6 +50,124 @@ export const downloadSubcommand = (messages, messenger) => messages
36
50
  else
37
51
  context.renderer.result({ items: saved });
38
52
  });
53
+ /** The most messages a provider hands out per history request — Telegram's cap. */
54
+ const PAGE = 100;
55
+ /** Attachments that are never a file, so their messages cost no download request. */
56
+ const NOT_FILES = new Set(["webpage", "share", "poll", "location", "contact"]);
57
+ /**
58
+ * Stretches of message ids already walked, in a dot file beside the files — not in the store, which
59
+ * this would need a migration for. Written after every message with a file, so a run cut short by
60
+ * `--timeout` or Ctrl-C repeats at most the file it was in the middle of.
61
+ */
62
+ const progressFile = (output, chatId) => join(output, `.download-${chatId.replace(/[^\w-]/g, "_")}.json`);
63
+ const readProgress = (path) => {
64
+ if (!existsSync(path))
65
+ return [];
66
+ const { done } = JSON.parse(readFileSync(path, "utf8"));
67
+ return Array.isArray(done) ? done : [];
68
+ };
69
+ const writeProgress = (path, chatId, done) => {
70
+ writeFileSync(`${path}.tmp`, `${JSON.stringify({ chat: chatId, done })}\n`, { mode: 0o600 });
71
+ renameSync(`${path}.tmp`, path);
72
+ };
73
+ const downloadChat = async (command, context, chat, output, pauseMs) => {
74
+ const items = [];
75
+ const onSaved = (one) => {
76
+ if (context.format === "pretty")
77
+ context.streams.data(`${one.path}\n`);
78
+ else if (context.format === "jsonl")
79
+ context.renderer.stream([one]);
80
+ else
81
+ items.push(one);
82
+ };
83
+ const stop = stopOnSignal(command);
84
+ try {
85
+ mkdirSync(output, { recursive: true });
86
+ const result = await context.withMessenger((connection) => walkChat(connection, chat, { output, pauseMs, stop: stop.signal, note: context.renderer.note, onSaved }));
87
+ if (context.format === "json")
88
+ context.renderer.result({ items, ...result });
89
+ else
90
+ context.renderer.note(summary(result));
91
+ }
92
+ finally {
93
+ stop.release();
94
+ }
95
+ };
96
+ const summary = ({ saved, existing, complete }) => `${saved} saved${existing > 0 ? `, ${existing} already there` : ""}${complete ? " — the whole chat" : " — run it again to continue"}`;
97
+ /**
98
+ * Newest to oldest, page by page. A stretch an earlier run walked is jumped over, and joins this run's,
99
+ * so the progress file stays a few stretches however often the download is cut and resumed.
100
+ */
101
+ const walkChat = async (connection, chat, { output, pauseMs, stop, note, onSaved }) => {
102
+ const download = capability(connection, "download", "download attachments");
103
+ let before;
104
+ let chatId;
105
+ let path = "";
106
+ let done = [];
107
+ let run;
108
+ let saved = 0;
109
+ let existing = 0;
110
+ let complete = false;
111
+ const remember = () => {
112
+ if (chatId !== undefined)
113
+ writeProgress(path, chatId, run ? [...done, run] : done);
114
+ };
115
+ pages: while (!stop.aborted) {
116
+ const page = await patiently(() => connection.history(chat, { limit: PAGE, ...(before ? { before } : {}) }), note, stop);
117
+ const first = page.items[0];
118
+ if (!first) {
119
+ complete = true;
120
+ break;
121
+ }
122
+ if (chatId === undefined) {
123
+ chatId = first.chatId;
124
+ path = progressFile(output, chatId);
125
+ done = readProgress(path);
126
+ }
127
+ const newestFirst = page.items.map((message) => ({ message, key: Number(message.id) }));
128
+ if (newestFirst.some(({ key }) => !Number.isSafeInteger(key))) {
129
+ throw new CliError("validation_error", "this messenger's message ids do not order a chat, so --all cannot resume");
130
+ }
131
+ newestFirst.sort((a, b) => b.key - a.key);
132
+ for (const { message, key } of newestFirst) {
133
+ if (stop.aborted)
134
+ break pages;
135
+ const walked = done.find(({ from, to }) => from <= key && key <= to);
136
+ if (walked) {
137
+ done = done.filter((one) => one !== walked);
138
+ run = { from: walked.from, to: Math.max(run?.to ?? walked.to, walked.to) };
139
+ remember();
140
+ before = String(walked.from);
141
+ continue pages;
142
+ }
143
+ if (message.attachments.some(({ kind }) => !NOT_FILES.has(kind))) {
144
+ const { files } = await patiently(() => download(chat, message.id), note, stop);
145
+ for (const [index, file] of files.entries()) {
146
+ const one = await patiently(() => save(file, output, `${message.id}-${index + 1}`, { unique: true }), note, stop);
147
+ if (one.existing)
148
+ existing += 1;
149
+ else
150
+ saved += 1;
151
+ onSaved(one);
152
+ }
153
+ run = { from: key, to: run?.to ?? key };
154
+ remember();
155
+ }
156
+ else
157
+ run = { from: key, to: run?.to ?? key };
158
+ }
159
+ remember();
160
+ if (!page.hasMore) {
161
+ complete = true;
162
+ break;
163
+ }
164
+ before = String(newestFirst.at(-1)?.key);
165
+ note(`${saved} files so far, back to message ${before}`);
166
+ await sleep(pauseMs, undefined, { signal: stop }).catch(() => { });
167
+ }
168
+ remember();
169
+ return { chat: chatId ?? null, saved, existing, complete, ...(stop.aborted ? { stopped: true } : {}) };
170
+ };
39
171
  const EXTENSIONS = {
40
172
  "image/jpeg": "jpg",
41
173
  "image/png": "png",
@@ -66,11 +198,15 @@ export const safeName = (name) => {
66
198
  * The bytes go to a temporary name first and are then hard-linked to the real one, which fails if the
67
199
  * name is taken — so an existing file survives, and an interrupted download leaves no half file under
68
200
  * the name somebody will open.
201
+ *
202
+ * `unique` is for a whole chat, where two messages often carry the same file name: a taken name gets the
203
+ * message's own prefix, and when that is taken too the file was saved by an earlier run and is `existing`.
69
204
  */
70
- export const save = async (file, directory, fallbackName) => {
205
+ export const save = async (file, directory, fallbackName, { unique = false } = {}) => {
71
206
  const extension = EXTENSIONS[file.mime ?? ""] ?? BY_KIND[file.kind];
72
- const name = safeName(file.name) ?? (extension ? `${fallbackName}.${extension}` : fallbackName);
73
- const path = resolve(join(directory, name));
207
+ const own = safeName(file.name);
208
+ const name = own ?? (extension ? `${fallbackName}.${extension}` : fallbackName);
209
+ const names = unique && own ? [name, `${fallbackName}-${own}`] : [name];
74
210
  const partial = join(directory, `.${name}.${process.pid}.part`);
75
211
  let bytes = 0;
76
212
  const counting = new Transform({
@@ -81,13 +217,20 @@ export const save = async (file, directory, fallbackName) => {
81
217
  });
82
218
  try {
83
219
  await pipeline(Readable.from(file.bytes()), counting, createWriteStream(partial, { flags: "wx", mode: 0o600 }));
84
- await link(partial, path).catch((error) => {
85
- if (error.code === "EEXIST") {
86
- throw new CliError("validation_error", `${path} already exists — nothing was overwritten; choose --output`);
87
- }
88
- throw error;
89
- });
90
- return { kind: file.kind, path, bytes };
220
+ for (const candidate of names) {
221
+ const path = resolve(join(directory, candidate));
222
+ const taken = await link(partial, path).then(() => false, (error) => {
223
+ if (error.code === "EEXIST")
224
+ return true;
225
+ throw error;
226
+ });
227
+ if (!taken)
228
+ return { kind: file.kind, path, bytes };
229
+ }
230
+ const path = resolve(join(directory, names.at(-1) ?? name));
231
+ if (unique)
232
+ return { kind: file.kind, path, bytes, existing: true };
233
+ throw new CliError("validation_error", `${path} already exists — nothing was overwritten; choose --output`);
91
234
  }
92
235
  finally {
93
236
  await rm(partial, { force: true });
@@ -1 +1 @@
1
- {"version":3,"file":"download-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/download-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/download-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Command } from "commander";
2
+ /** Ctrl-C and SIGTERM — which `backfill cancel` sends — end a long run after the step in hand. */
3
+ export declare const stopOnSignal: (command: Command) => {
4
+ signal: AbortSignal;
5
+ release: () => void;
6
+ };
7
+ /** Sits out a provider's "wait N seconds" when it is short, a few times; a long one ends the run. */
8
+ export declare const patiently: <T>(request: () => Promise<T>, note: (message: string) => void, stop: AbortSignal) => Promise<T>;
9
+ //# sourceMappingURL=patience.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patience.d.ts","sourceRoot":"","sources":["../../../src/cli/messenger/patience.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,kGAAkG;AAClG,eAAO,MAAM,YAAY,YAAa,OAAO,KAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAczF,CAAA;AAED,qGAAqG;AACrG,eAAO,MAAM,SAAS,GAAU,CAAC,WACtB,MAAM,OAAO,CAAC,CAAC,CAAC,QACnB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,QACzB,WAAW,KAChB,OAAO,CAAC,CAAC,CAYX,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { setTimeout as sleep } from "node:timers/promises";
2
+ import { environmentOf } from "../context.js";
3
+ import { isCliFailure } from "../failures.js";
4
+ /** Waits longer than this are not sat out: the run stops, and the next one resumes. */
5
+ const LONGEST_WAIT_MS = 5 * 60 * 1000;
6
+ /** Ctrl-C and SIGTERM — which `backfill cancel` sends — end a long run after the step in hand. */
7
+ export const stopOnSignal = (command) => {
8
+ const stop = new AbortController();
9
+ const given = environmentOf(command).signal;
10
+ const end = () => stop.abort();
11
+ given?.addEventListener("abort", end, { once: true });
12
+ const signals = given ? [] : ["SIGINT", "SIGTERM"];
13
+ for (const name of signals)
14
+ process.once(name, end);
15
+ return {
16
+ signal: stop.signal,
17
+ release: () => {
18
+ for (const name of signals)
19
+ process.off(name, end);
20
+ given?.removeEventListener("abort", end);
21
+ },
22
+ };
23
+ };
24
+ /** Sits out a provider's "wait N seconds" when it is short, a few times; a long one ends the run. */
25
+ export const patiently = async (request, note, stop) => {
26
+ for (let attempt = 1;; attempt += 1) {
27
+ try {
28
+ return await request();
29
+ }
30
+ catch (error) {
31
+ const wait = isCliFailure(error) && error.code === "rate_limited" ? Number(error.details?.retryAfterMs) : NaN;
32
+ if (!Number.isFinite(wait) || wait > LONGEST_WAIT_MS || attempt >= 3)
33
+ throw error;
34
+ note(`asked to wait ${Math.ceil(wait / 1000)} s — waiting, then going on`);
35
+ await sleep(wait, undefined, { signal: stop }).catch(() => { });
36
+ if (stop.aborted)
37
+ throw error;
38
+ }
39
+ }
40
+ };
41
+ //# sourceMappingURL=patience.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patience.js","sourceRoot":"","sources":["../../../src/cli/messenger/patience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,uFAAuF;AACvF,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAErC,kGAAkG;AAClG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAgD,EAAE;IAC7F,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IAC3C,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,SAAS,CAAW,CAAA;IAC7D,KAAK,MAAM,IAAI,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACnD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,MAAM,IAAI,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAClD,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAED,qGAAqG;AACrG,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,OAAyB,EACzB,IAA+B,EAC/B,IAAiB,EACL,EAAE;IACd,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,EAAE,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAC7G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,eAAe,IAAI,OAAO,IAAI,CAAC;gBAAE,MAAM,KAAK,CAAA;YACjF,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC1E,MAAM,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC9D,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,KAAK,CAAA;QAC/B,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -29,6 +29,8 @@ export const openStore = async ({ path, env, now = Date.now } = {}) => {
29
29
  }
30
30
  return storeOver(database, now);
31
31
  };
32
+ /** Telegram's chat types that number their messages themselves, not per account. */
33
+ const OWN_NUMBERING = "('channel', 'supergroup', 'gigagroup', 'monoforum')";
32
34
  const storeOver = (database, now) => {
33
35
  const one = (sql, ...parameters) => database.prepare(sql).get(...parameters);
34
36
  const all = (sql, ...parameters) => database.prepare(sql).all(...parameters);
@@ -343,8 +345,20 @@ const storeOver = (database, now) => {
343
345
  let changed = 0;
344
346
  inTransaction(() => {
345
347
  for (const messageId of messageIds) {
346
- changed += run(`UPDATE messages SET deleted_at = ? WHERE account_pk = ? AND native_id = ? AND deleted_at IS NULL
347
- ${chatId === undefined ? "" : "AND chat_pk = (SELECT pk FROM chats WHERE account_pk = ? AND native_id = ?)"}`, now(), accountKey, messageId, ...(chatId === undefined ? [] : [accountKey, chatId])).changes;
348
+ if (chatId !== undefined) {
349
+ changed += run(`UPDATE messages SET deleted_at = ? WHERE account_pk = ? AND native_id = ? AND deleted_at IS NULL
350
+ AND chat_pk = (SELECT pk FROM chats WHERE account_pk = ? AND native_id = ?)`, now(), accountKey, messageId, accountKey, chatId).changes;
351
+ continue;
352
+ }
353
+ // Telegram names a deletion without its chat only where ids count per account; a channel or
354
+ // supergroup numbers its own, so the same id there is another message. Two candidates left
355
+ // means the id is ambiguous, and a missed tombstone is better than a wrong one.
356
+ const candidates = all(`SELECT m.pk FROM messages m JOIN chats c ON c.pk = m.chat_pk
357
+ WHERE m.account_pk = ? AND m.native_id = ? AND m.deleted_at IS NULL AND c.kind <> 'channel'
358
+ AND coalesce(json_extract(c.provider_metadata, '$.chatType'), '') NOT IN ${OWN_NUMBERING}`, accountKey, messageId);
359
+ if (candidates.length !== 1)
360
+ continue;
361
+ changed += run("UPDATE messages SET deleted_at = ? WHERE pk = ?", now(), candidates[0]?.pk).changes;
348
362
  }
349
363
  });
350
364
  return changed;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leemour/cli-messaging",
3
- "version": "0.51.0",
3
+ "version": "0.53.0",
4
4
  "description": "The messenger-neutral half of a messaging CLI: domain model, message locators, rendering, name resolution, the SQLite seam, the command skeleton and shared read commands, the send guard, run records and the message store",
5
5
  "license": "MIT",
6
6
  "author": "Viacheslav Ptsarev",