@indigoai-us/hq-cloud 5.9.0 → 5.9.1

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.
@@ -37,8 +37,19 @@
37
37
  * of requiring per-event capture calls in the menubar.
38
38
  *
39
39
  * Exit code:
40
- * 0 — event stream describes the outcome (including setup-needed)
41
- * 1 argv parse error or unrecoverable pre-sync failure
40
+ * 0 — event stream describes the outcome. The runner finished its protocol
41
+ * without any company throwing. Includes setup-needed, auth-error, and
42
+ * runs where every company completed OR cleanly returned `aborted: true`
43
+ * (a `--on-conflict abort` policy decision is not an error).
44
+ * 1 — argv parse error or unrecoverable pre-sync failure.
45
+ * 2 — at least one company threw mid-stream (e.g. mid-fanout 401, network
46
+ * reset, S3 5xx after retries). The all-complete event carries
47
+ * `partial: true` and per-company partial counts captured from
48
+ * `progress` events before the throw, so consumers parsing ndjson see
49
+ * what actually transferred. This is distinct from exit 0 with
50
+ * `partial: true` (clean conflict-aborts) — exit 2 is "something
51
+ * unexpected happened", which the Tauri menubar converts to a Sentry
52
+ * alert. Conflict-aborts intentionally do NOT alert.
42
53
  */
43
54
  import { type VaultServiceConfig, type Membership, type EntityInfo, type PendingInviteByEmail } from "../index.js";
44
55
  import type { SyncOptions, SyncResult, SyncProgressEvent } from "../cli/sync.js";
@@ -141,6 +152,36 @@ export type RunnerEvent = {
141
152
  company: string;
142
153
  message: string;
143
154
  }>;
155
+ /**
156
+ * True when at least one company in the fanout did not complete cleanly
157
+ * — either it returned `aborted: true` (e.g. conflict-abort) or its sync
158
+ * function threw mid-stream (e.g. mid-fanout 401). When `partial: true`,
159
+ * the totals above include partial counts captured from `progress` events
160
+ * before the abort, NOT just companies that emitted a clean `complete`.
161
+ *
162
+ * Automated monitors should check this field — `errors.length > 0` alone
163
+ * isn't sufficient because a `aborted: true` return doesn't push to
164
+ * `errors` (it's a clean conflict-abort, not an exception).
165
+ */
166
+ partial: boolean;
167
+ /**
168
+ * Per-company breakdown of the fanout. Always present, one entry per
169
+ * planned company, in fanout order. Lets consumers reconcile per-company
170
+ * partial counts with the aggregate without re-walking `complete` /
171
+ * `error` event streams. The `status` field is the canonical signal:
172
+ * - "complete" — sync returned cleanly, `aborted: false`
173
+ * - "aborted" — sync returned cleanly with `aborted: true` (conflict-abort)
174
+ * - "errored" — sync threw mid-stream; counts are sourced from progress
175
+ * events seen before the throw
176
+ */
177
+ companies: Array<{
178
+ company: string;
179
+ status: "complete" | "aborted" | "errored";
180
+ filesDownloaded: number;
181
+ bytesDownloaded: number;
182
+ filesUploaded: number;
183
+ bytesUploaded: number;
184
+ }>;
144
185
  };
145
186
  /**
146
187
  * The narrow VaultClient surface the runner actually uses. Declared here (not
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
@@ -37,8 +37,19 @@
37
37
  * of requiring per-event capture calls in the menubar.
38
38
  *
39
39
  * Exit code:
40
- * 0 — event stream describes the outcome (including setup-needed)
41
- * 1 argv parse error or unrecoverable pre-sync failure
40
+ * 0 — event stream describes the outcome. The runner finished its protocol
41
+ * without any company throwing. Includes setup-needed, auth-error, and
42
+ * runs where every company completed OR cleanly returned `aborted: true`
43
+ * (a `--on-conflict abort` policy decision is not an error).
44
+ * 1 — argv parse error or unrecoverable pre-sync failure.
45
+ * 2 — at least one company threw mid-stream (e.g. mid-fanout 401, network
46
+ * reset, S3 5xx after retries). The all-complete event carries
47
+ * `partial: true` and per-company partial counts captured from
48
+ * `progress` events before the throw, so consumers parsing ndjson see
49
+ * what actually transferred. This is distinct from exit 0 with
50
+ * `partial: true` (clean conflict-aborts) — exit 2 is "something
51
+ * unexpected happened", which the Tauri menubar converts to a Sentry
52
+ * alert. Conflict-aborts intentionally do NOT alert.
42
53
  */
43
54
  import * as os from "os";
44
55
  import * as path from "path";
@@ -329,16 +340,31 @@ export async function runRunner(argv, deps = {}) {
329
340
  const shareFn = deps.share ?? defaultShare;
330
341
  const doPush = parsed.direction === "push" || parsed.direction === "both";
331
342
  const doPull = parsed.direction === "pull" || parsed.direction === "both";
332
- let totalDownloaded = 0;
333
- let totalDownloadedBytes = 0;
334
- let totalUploaded = 0;
335
- let totalUploadedBytes = 0;
336
343
  const errors = [];
337
344
  const allConflicts = [];
345
+ const stateByCompany = new Map();
338
346
  for (const target of plan) {
339
347
  const companyLabel = target.slug;
348
+ const state = {
349
+ company: companyLabel,
350
+ // Default to "errored" so a throw before any complete-or-clean-abort
351
+ // path (the original bug) leaves the entry flagged as not-clean. The
352
+ // success/clean-abort paths overwrite this before the loop body exits.
353
+ status: "errored",
354
+ filesDownloaded: 0,
355
+ bytesDownloaded: 0,
356
+ filesUploaded: 0,
357
+ bytesUploaded: 0,
358
+ };
359
+ stateByCompany.set(companyLabel, state);
360
+ // Which phase is currently emitting `progress` events. Mutable closure so
361
+ // tagAndEmit (defined once below) reads the latest value when each event
362
+ // fires. "pull" is the default for back-compat with pull-only runs.
363
+ let activePhase = doPush && !doPull ? "push" : "pull";
340
364
  // Per-company event tagger — shared by push and pull phases so progress
341
365
  // rows land on the right company regardless of which phase emitted them.
366
+ // Also updates `state` for `progress` events so the rollup has accurate
367
+ // partial counts even if the sync function throws before returning.
342
368
  const tagAndEmit = (event) => {
343
369
  if (event.type === "plan") {
344
370
  emit({
@@ -353,6 +379,14 @@ export async function runRunner(argv, deps = {}) {
353
379
  });
354
380
  }
355
381
  else if (event.type === "progress") {
382
+ if (activePhase === "push") {
383
+ state.filesUploaded += 1;
384
+ state.bytesUploaded += event.bytes;
385
+ }
386
+ else {
387
+ state.filesDownloaded += 1;
388
+ state.bytesDownloaded += event.bytes;
389
+ }
356
390
  emit({
357
391
  type: "progress",
358
392
  company: companyLabel,
@@ -400,6 +434,7 @@ export async function runRunner(argv, deps = {}) {
400
434
  // point with `skipUnchanged` so we don't re-upload files that haven't
401
435
  // changed since the last sync.
402
436
  if (doPush) {
437
+ activePhase = "push";
403
438
  pushResult = await shareFn({
404
439
  paths: [path.join(parsed.hqRoot, "companies", target.slug)],
405
440
  company: target.uid,
@@ -414,6 +449,7 @@ export async function runRunner(argv, deps = {}) {
414
449
  // the user has local edits + remote drift; blindly pulling would erase
415
450
  // whichever side `--on-conflict abort` just protected.
416
451
  if (doPull && !pushResult.aborted) {
452
+ activePhase = "pull";
417
453
  pullResult = await syncFn({
418
454
  company: target.uid,
419
455
  vaultConfig,
@@ -431,6 +467,18 @@ export async function runRunner(argv, deps = {}) {
431
467
  ...pullResult.conflictPaths,
432
468
  ...pushResult.conflictPaths,
433
469
  ];
470
+ const aborted = pullResult.aborted || pushResult.aborted;
471
+ // Overwrite the progress-derived counts with the authoritative numbers
472
+ // from the sync/share return values. The `progress` stream over-counts
473
+ // when the inner walker emits a progress row for a file it then skips
474
+ // due to a journal hit — a clean return value is the source of truth.
475
+ // For the throw case below this overwrite never runs, so `state` keeps
476
+ // its progress-derived counts (which is exactly what we want there).
477
+ state.filesDownloaded = pullResult.filesDownloaded;
478
+ state.bytesDownloaded = pullResult.bytesDownloaded;
479
+ state.filesUploaded = pushResult.filesUploaded;
480
+ state.bytesUploaded = pushResult.bytesUploaded;
481
+ state.status = aborted ? "aborted" : "complete";
434
482
  emit({
435
483
  type: "complete",
436
484
  company: companyLabel,
@@ -448,7 +496,7 @@ export async function runRunner(argv, deps = {}) {
448
496
  conflictPaths: mergedConflictPaths,
449
497
  // Either phase aborting marks the company aborted — the UI treats
450
498
  // `aborted: true` as "sync didn't complete cleanly for this company".
451
- aborted: pullResult.aborted || pushResult.aborted,
499
+ aborted,
452
500
  });
453
501
  for (const p of pullResult.conflictPaths) {
454
502
  allConflicts.push({ company: companyLabel, path: p, direction: "pull" });
@@ -456,14 +504,29 @@ export async function runRunner(argv, deps = {}) {
456
504
  for (const p of pushResult.conflictPaths) {
457
505
  allConflicts.push({ company: companyLabel, path: p, direction: "push" });
458
506
  }
459
- totalDownloaded += pullResult.filesDownloaded;
460
- totalDownloadedBytes += pullResult.bytesDownloaded;
461
- totalUploaded += pushResult.filesUploaded;
462
- totalUploadedBytes += pushResult.bytesUploaded;
463
507
  }
464
508
  catch (err) {
465
509
  const message = err instanceof Error ? err.message : String(err);
466
510
  errors.push({ company: companyLabel, message });
511
+ // `state.status` was seeded as "errored" at loop entry — the throw
512
+ // path leaves it there, and `state.files{Down,Up}loaded` reflects the
513
+ // partial counts captured from `progress` events before the throw.
514
+ // Emit a `complete` event with `aborted: true` and those partial
515
+ // counts so consumers walking the `complete` event stream see every
516
+ // company in the fanout uniformly. This is the fix for the misleading
517
+ // rollup — see file header `Exit code: 2` doc.
518
+ emit({
519
+ type: "complete",
520
+ company: companyLabel,
521
+ filesDownloaded: state.filesDownloaded,
522
+ bytesDownloaded: state.bytesDownloaded,
523
+ filesUploaded: state.filesUploaded,
524
+ bytesUploaded: state.bytesUploaded,
525
+ filesSkipped: 0,
526
+ conflicts: 0,
527
+ conflictPaths: [],
528
+ aborted: true,
529
+ });
467
530
  emit({
468
531
  type: "error",
469
532
  company: companyLabel,
@@ -473,6 +536,37 @@ export async function runRunner(argv, deps = {}) {
473
536
  // Continue — one company's failure shouldn't abort the whole fanout.
474
537
  }
475
538
  }
539
+ // Walk every per-company entry — the map holds one row per planned company,
540
+ // including ones that aborted via thrown exception. This is the fix for the
541
+ // bug where `all-complete` reported `filesDownloaded: 0` for an aborted
542
+ // personal-sync that had already emitted thousands of `progress` events:
543
+ // the rollup used to only sum companies that emitted a clean `complete`,
544
+ // which silently dropped partials when the sync function threw.
545
+ let totalDownloaded = 0;
546
+ let totalDownloadedBytes = 0;
547
+ let totalUploaded = 0;
548
+ let totalUploadedBytes = 0;
549
+ let partial = false;
550
+ const companies = [];
551
+ for (const target of plan) {
552
+ const s = stateByCompany.get(target.slug);
553
+ if (!s)
554
+ continue; // unreachable — every plan entry seeds the map
555
+ totalDownloaded += s.filesDownloaded;
556
+ totalDownloadedBytes += s.bytesDownloaded;
557
+ totalUploaded += s.filesUploaded;
558
+ totalUploadedBytes += s.bytesUploaded;
559
+ if (s.status !== "complete")
560
+ partial = true;
561
+ companies.push({
562
+ company: s.company,
563
+ status: s.status,
564
+ filesDownloaded: s.filesDownloaded,
565
+ bytesDownloaded: s.bytesDownloaded,
566
+ filesUploaded: s.filesUploaded,
567
+ bytesUploaded: s.bytesUploaded,
568
+ });
569
+ }
476
570
  emit({
477
571
  type: "all-complete",
478
572
  companiesAttempted: plan.length,
@@ -482,8 +576,15 @@ export async function runRunner(argv, deps = {}) {
482
576
  bytesUploaded: totalUploadedBytes,
483
577
  conflictPaths: allConflicts,
484
578
  errors,
579
+ partial,
580
+ companies,
485
581
  });
486
- return 0;
582
+ // Exit 2 only when something actually threw (`errors.length > 0`). A clean
583
+ // conflict-abort sets `partial: true` in the JSON but exits 0 — the Tauri
584
+ // menubar's non-zero-exit Sentry capture would otherwise fire for normal
585
+ // user-policy outcomes. Consumers that want to flag any non-clean outcome
586
+ // (clean-abort + thrown-error) read `partial` from the JSON.
587
+ return errors.length > 0 ? 2 : 0;
487
588
  }
488
589
  // ---------------------------------------------------------------------------
489
590
  // Entrypoint — only runs when invoked directly, not when imported for tests
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
@@ -645,7 +645,10 @@ describe("per-company fanout", () => {
645
645
  .mockImplementationOnce(async () => defaultSyncResult({ filesDownloaded: 1, bytesDownloaded: 500 })),
646
646
  });
647
647
  const code = await runRunner(["--companies"], deps);
648
- expect(code).toBe(0); // whole fanout still returns 0
648
+ // Exit 2 on partial fanout (one company errored). The fanout completed
649
+ // — beta still synced — but the rollup carries `partial: true` and a
650
+ // non-zero exit signals automated monitors that the run wasn't clean.
651
+ expect(code).toBe(2);
649
652
  // Error event for acme (company-level) with path sentinel "(company)"
650
653
  // — error-class events route to stderr.
651
654
  const companyErr = deps.stderr
@@ -664,6 +667,83 @@ describe("per-company fanout", () => {
664
667
  expect(betaComplete).toBeDefined();
665
668
  expect(betaComplete?.filesDownloaded).toBe(1);
666
669
  });
670
+ /**
671
+ * Regression test for the rollup-bug from the personal-sync 401 incident.
672
+ *
673
+ * Setup: company "personal" has 3 files queued for download. The first two
674
+ * arrive (emitting `progress` events) and then the sync function throws on
675
+ * the third (mid-stream 401). Before the fix, the runner's `all-complete`
676
+ * reported `filesDownloaded: 0` for the whole run because the throwing
677
+ * company never emitted a clean `complete` and the rollup only summed
678
+ * companies that did. The fix: walk every company, sum partial counts
679
+ * captured from progress events, flip `partial: true`, exit non-zero.
680
+ */
681
+ it("aborted-mid-stream company contributes its partial counts to all-complete", async () => {
682
+ const deps = makeDeps({
683
+ createVaultClient: () => makeVaultStub({
684
+ memberships: [{ companyUid: "cmp_personal" }],
685
+ entityGet: (uid) => Promise.resolve({
686
+ uid,
687
+ slug: "personal",
688
+ }),
689
+ }),
690
+ sync: vi
691
+ .fn()
692
+ .mockImplementationOnce(async (opts) => {
693
+ // Two files land before the throw — these counts must show up in
694
+ // the rollup even though the sync function never returns cleanly.
695
+ opts.onEvent?.({ type: "progress", path: "notes/a.md", bytes: 100 });
696
+ opts.onEvent?.({ type: "progress", path: "notes/b.md", bytes: 250 });
697
+ throw new Error("401 Unauthorized — token expired");
698
+ }),
699
+ });
700
+ const code = await runRunner(["--companies"], deps);
701
+ expect(code).toBe(2);
702
+ // 1) The aborted company emits a `complete` event with aborted=true
703
+ // and the partial counts that the progress stream captured. Without
704
+ // this, consumers walking the `complete` event stream would never
705
+ // see the 350 bytes that hit disk.
706
+ const completeEvents = deps.stdout
707
+ .events()
708
+ .filter((e) => e.type === "complete");
709
+ expect(completeEvents).toHaveLength(1);
710
+ expect(completeEvents[0]).toMatchObject({
711
+ company: "personal",
712
+ filesDownloaded: 2,
713
+ bytesDownloaded: 350,
714
+ filesUploaded: 0,
715
+ bytesUploaded: 0,
716
+ aborted: true,
717
+ });
718
+ // 2) The all-complete rollup includes the partial counts and is flagged
719
+ // `partial: true` with a per-company breakdown. Before the fix this
720
+ // was `filesDownloaded: 0` and there was no `partial` field at all.
721
+ const all = deps.stdout
722
+ .events()
723
+ .find((e) => e.type === "all-complete");
724
+ expect(all).toBeDefined();
725
+ expect(all).toMatchObject({
726
+ companiesAttempted: 1,
727
+ filesDownloaded: 2,
728
+ bytesDownloaded: 350,
729
+ filesUploaded: 0,
730
+ bytesUploaded: 0,
731
+ partial: true,
732
+ errors: [
733
+ { company: "personal", message: "401 Unauthorized — token expired" },
734
+ ],
735
+ });
736
+ expect(all?.companies).toEqual([
737
+ {
738
+ company: "personal",
739
+ status: "errored",
740
+ filesDownloaded: 2,
741
+ bytesDownloaded: 350,
742
+ filesUploaded: 0,
743
+ bytesUploaded: 0,
744
+ },
745
+ ]);
746
+ });
667
747
  });
668
748
  // ---------------------------------------------------------------------------
669
749
  // all-complete aggregate
@@ -695,6 +775,25 @@ describe("all-complete aggregate", () => {
695
775
  bytesUploaded: 0,
696
776
  conflictPaths: [],
697
777
  errors: [],
778
+ partial: false,
779
+ companies: [
780
+ {
781
+ company: "acme",
782
+ status: "complete",
783
+ filesDownloaded: 3,
784
+ bytesDownloaded: 100,
785
+ filesUploaded: 0,
786
+ bytesUploaded: 0,
787
+ },
788
+ {
789
+ company: "beta",
790
+ status: "complete",
791
+ filesDownloaded: 4,
792
+ bytesDownloaded: 250,
793
+ filesUploaded: 0,
794
+ bytesUploaded: 0,
795
+ },
796
+ ],
698
797
  });
699
798
  });
700
799
  it("collects company-level errors into the all-complete errors array", async () => {
@@ -710,7 +809,8 @@ describe("all-complete aggregate", () => {
710
809
  .mockResolvedValueOnce(defaultSyncResult()),
711
810
  });
712
811
  const code = await runRunner(["--companies"], deps);
713
- expect(code).toBe(0);
812
+ // Exit 2 — partial fanout (acme errored, beta clean).
813
+ expect(code).toBe(2);
714
814
  const all = deps.stdout
715
815
  .events()
716
816
  .find((e) => e.type === "all-complete");
@@ -718,6 +818,7 @@ describe("all-complete aggregate", () => {
718
818
  expect(all.errors).toEqual([
719
819
  { company: "acme", message: "acme failed" },
720
820
  ]);
821
+ expect(all.partial).toBe(true);
721
822
  });
722
823
  });
723
824
  // ---------------------------------------------------------------------------
@@ -842,6 +943,12 @@ describe("--direction", () => {
842
943
  share: shareSpy,
843
944
  });
844
945
  const code = await runRunner(["--companies", "--direction", "both"], deps);
946
+ // A clean conflict-abort (push returned aborted: true, no exception)
947
+ // exits 0 — nothing threw, the user's --on-conflict abort policy just
948
+ // decided to skip pull. The all-complete event carries `partial: true`
949
+ // for monitors that want to see "didn't complete cleanly", but the exit
950
+ // code stays 0 so the Tauri menubar's Sentry alert doesn't fire on what
951
+ // is normal user-policy behavior.
845
952
  expect(code).toBe(0);
846
953
  expect(shareSpy).toHaveBeenCalledTimes(1);
847
954
  expect(syncSpy).not.toHaveBeenCalled();
@@ -849,6 +956,14 @@ describe("--direction", () => {
849
956
  .events()
850
957
  .find((e) => e.type === "complete");
851
958
  expect(complete.aborted).toBe(true);
959
+ const all = deps.stdout
960
+ .events()
961
+ .find((e) => e.type === "all-complete");
962
+ expect(all.partial).toBe(true);
963
+ expect(all.companies[0]).toMatchObject({
964
+ company: "acme",
965
+ status: "aborted",
966
+ });
852
967
  });
853
968
  it("direction=push: passes skipUnchanged and company root path to share()", async () => {
854
969
  const shareSpy = vi.fn().mockResolvedValue(defaultShareResult());
@@ -903,6 +1018,25 @@ describe("--direction", () => {
903
1018
  bytesUploaded: 125,
904
1019
  conflictPaths: [],
905
1020
  errors: [],
1021
+ partial: false,
1022
+ companies: [
1023
+ {
1024
+ company: "acme",
1025
+ status: "complete",
1026
+ filesDownloaded: 3,
1027
+ bytesDownloaded: 100,
1028
+ filesUploaded: 1,
1029
+ bytesUploaded: 50,
1030
+ },
1031
+ {
1032
+ company: "beta",
1033
+ status: "complete",
1034
+ filesDownloaded: 4,
1035
+ bytesDownloaded: 250,
1036
+ filesUploaded: 2,
1037
+ bytesUploaded: 75,
1038
+ },
1039
+ ],
906
1040
  });
907
1041
  });
908
1042
  it("direction=push: share progress events are tagged with the company slug", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner.test.js","sourceRoot":"","sources":["../../src/bin/sync-runner.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner.test.js","sourceRoot":"","sources":["../../src/bin/sync-runner.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cloud",
3
- "version": "5.9.0",
3
+ "version": "5.9.1",
4
4
  "description": "HQ by Indigo cloud sync engine — bidirectional S3 sync for mobile access",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -794,7 +794,10 @@ describe("per-company fanout", () => {
794
794
  });
795
795
 
796
796
  const code = await runRunner(["--companies"], deps);
797
- expect(code).toBe(0); // whole fanout still returns 0
797
+ // Exit 2 on partial fanout (one company errored). The fanout completed
798
+ // — beta still synced — but the rollup carries `partial: true` and a
799
+ // non-zero exit signals automated monitors that the run wasn't clean.
800
+ expect(code).toBe(2);
798
801
 
799
802
  // Error event for acme (company-level) with path sentinel "(company)"
800
803
  // — error-class events route to stderr.
@@ -820,6 +823,95 @@ describe("per-company fanout", () => {
820
823
  expect(betaComplete).toBeDefined();
821
824
  expect(betaComplete?.filesDownloaded).toBe(1);
822
825
  });
826
+
827
+ /**
828
+ * Regression test for the rollup-bug from the personal-sync 401 incident.
829
+ *
830
+ * Setup: company "personal" has 3 files queued for download. The first two
831
+ * arrive (emitting `progress` events) and then the sync function throws on
832
+ * the third (mid-stream 401). Before the fix, the runner's `all-complete`
833
+ * reported `filesDownloaded: 0` for the whole run because the throwing
834
+ * company never emitted a clean `complete` and the rollup only summed
835
+ * companies that did. The fix: walk every company, sum partial counts
836
+ * captured from progress events, flip `partial: true`, exit non-zero.
837
+ */
838
+ it("aborted-mid-stream company contributes its partial counts to all-complete", async () => {
839
+ const deps = makeDeps({
840
+ createVaultClient: () =>
841
+ makeVaultStub({
842
+ memberships: [{ companyUid: "cmp_personal" }],
843
+ entityGet: (uid: string) =>
844
+ Promise.resolve({
845
+ uid,
846
+ slug: "personal",
847
+ } as unknown as EntityInfo),
848
+ }),
849
+ sync: vi
850
+ .fn<(opts: SyncOptions) => Promise<SyncResult>>()
851
+ .mockImplementationOnce(async (opts: SyncOptions) => {
852
+ // Two files land before the throw — these counts must show up in
853
+ // the rollup even though the sync function never returns cleanly.
854
+ opts.onEvent?.({ type: "progress", path: "notes/a.md", bytes: 100 });
855
+ opts.onEvent?.({ type: "progress", path: "notes/b.md", bytes: 250 });
856
+ throw new Error("401 Unauthorized — token expired");
857
+ }),
858
+ });
859
+
860
+ const code = await runRunner(["--companies"], deps);
861
+ expect(code).toBe(2);
862
+
863
+ // 1) The aborted company emits a `complete` event with aborted=true
864
+ // and the partial counts that the progress stream captured. Without
865
+ // this, consumers walking the `complete` event stream would never
866
+ // see the 350 bytes that hit disk.
867
+ const completeEvents = deps.stdout
868
+ .events()
869
+ .filter(
870
+ (e): e is Extract<RunnerEvent, { type: "complete" }> =>
871
+ e.type === "complete",
872
+ );
873
+ expect(completeEvents).toHaveLength(1);
874
+ expect(completeEvents[0]).toMatchObject({
875
+ company: "personal",
876
+ filesDownloaded: 2,
877
+ bytesDownloaded: 350,
878
+ filesUploaded: 0,
879
+ bytesUploaded: 0,
880
+ aborted: true,
881
+ });
882
+
883
+ // 2) The all-complete rollup includes the partial counts and is flagged
884
+ // `partial: true` with a per-company breakdown. Before the fix this
885
+ // was `filesDownloaded: 0` and there was no `partial` field at all.
886
+ const all = deps.stdout
887
+ .events()
888
+ .find(
889
+ (e): e is Extract<RunnerEvent, { type: "all-complete" }> =>
890
+ e.type === "all-complete",
891
+ );
892
+ expect(all).toBeDefined();
893
+ expect(all).toMatchObject({
894
+ companiesAttempted: 1,
895
+ filesDownloaded: 2,
896
+ bytesDownloaded: 350,
897
+ filesUploaded: 0,
898
+ bytesUploaded: 0,
899
+ partial: true,
900
+ errors: [
901
+ { company: "personal", message: "401 Unauthorized — token expired" },
902
+ ],
903
+ });
904
+ expect(all?.companies).toEqual([
905
+ {
906
+ company: "personal",
907
+ status: "errored",
908
+ filesDownloaded: 2,
909
+ bytesDownloaded: 350,
910
+ filesUploaded: 0,
911
+ bytesUploaded: 0,
912
+ },
913
+ ]);
914
+ });
823
915
  });
824
916
 
825
917
  // ---------------------------------------------------------------------------
@@ -860,6 +952,25 @@ describe("all-complete aggregate", () => {
860
952
  bytesUploaded: 0,
861
953
  conflictPaths: [],
862
954
  errors: [],
955
+ partial: false,
956
+ companies: [
957
+ {
958
+ company: "acme",
959
+ status: "complete",
960
+ filesDownloaded: 3,
961
+ bytesDownloaded: 100,
962
+ filesUploaded: 0,
963
+ bytesUploaded: 0,
964
+ },
965
+ {
966
+ company: "beta",
967
+ status: "complete",
968
+ filesDownloaded: 4,
969
+ bytesDownloaded: 250,
970
+ filesUploaded: 0,
971
+ bytesUploaded: 0,
972
+ },
973
+ ],
863
974
  });
864
975
  });
865
976
 
@@ -879,7 +990,8 @@ describe("all-complete aggregate", () => {
879
990
  });
880
991
 
881
992
  const code = await runRunner(["--companies"], deps);
882
- expect(code).toBe(0);
993
+ // Exit 2 — partial fanout (acme errored, beta clean).
994
+ expect(code).toBe(2);
883
995
  const all = deps.stdout
884
996
  .events()
885
997
  .find((e) => e.type === "all-complete") as Extract<RunnerEvent, { type: "all-complete" }>;
@@ -887,6 +999,7 @@ describe("all-complete aggregate", () => {
887
999
  expect(all.errors).toEqual([
888
1000
  { company: "acme", message: "acme failed" },
889
1001
  ]);
1002
+ expect(all.partial).toBe(true);
890
1003
  });
891
1004
  });
892
1005
 
@@ -1047,6 +1160,12 @@ describe("--direction", () => {
1047
1160
  ["--companies", "--direction", "both"],
1048
1161
  deps,
1049
1162
  );
1163
+ // A clean conflict-abort (push returned aborted: true, no exception)
1164
+ // exits 0 — nothing threw, the user's --on-conflict abort policy just
1165
+ // decided to skip pull. The all-complete event carries `partial: true`
1166
+ // for monitors that want to see "didn't complete cleanly", but the exit
1167
+ // code stays 0 so the Tauri menubar's Sentry alert doesn't fire on what
1168
+ // is normal user-policy behavior.
1050
1169
  expect(code).toBe(0);
1051
1170
  expect(shareSpy).toHaveBeenCalledTimes(1);
1052
1171
  expect(syncSpy).not.toHaveBeenCalled();
@@ -1055,6 +1174,15 @@ describe("--direction", () => {
1055
1174
  .events()
1056
1175
  .find((e) => e.type === "complete") as Extract<RunnerEvent, { type: "complete" }>;
1057
1176
  expect(complete.aborted).toBe(true);
1177
+
1178
+ const all = deps.stdout
1179
+ .events()
1180
+ .find((e) => e.type === "all-complete") as Extract<RunnerEvent, { type: "all-complete" }>;
1181
+ expect(all.partial).toBe(true);
1182
+ expect(all.companies[0]).toMatchObject({
1183
+ company: "acme",
1184
+ status: "aborted",
1185
+ });
1058
1186
  });
1059
1187
 
1060
1188
  it("direction=push: passes skipUnchanged and company root path to share()", async () => {
@@ -1131,6 +1259,25 @@ describe("--direction", () => {
1131
1259
  bytesUploaded: 125,
1132
1260
  conflictPaths: [],
1133
1261
  errors: [],
1262
+ partial: false,
1263
+ companies: [
1264
+ {
1265
+ company: "acme",
1266
+ status: "complete",
1267
+ filesDownloaded: 3,
1268
+ bytesDownloaded: 100,
1269
+ filesUploaded: 1,
1270
+ bytesUploaded: 50,
1271
+ },
1272
+ {
1273
+ company: "beta",
1274
+ status: "complete",
1275
+ filesDownloaded: 4,
1276
+ bytesDownloaded: 250,
1277
+ filesUploaded: 2,
1278
+ bytesUploaded: 75,
1279
+ },
1280
+ ],
1134
1281
  });
1135
1282
  });
1136
1283
 
@@ -37,8 +37,19 @@
37
37
  * of requiring per-event capture calls in the menubar.
38
38
  *
39
39
  * Exit code:
40
- * 0 — event stream describes the outcome (including setup-needed)
41
- * 1 argv parse error or unrecoverable pre-sync failure
40
+ * 0 — event stream describes the outcome. The runner finished its protocol
41
+ * without any company throwing. Includes setup-needed, auth-error, and
42
+ * runs where every company completed OR cleanly returned `aborted: true`
43
+ * (a `--on-conflict abort` policy decision is not an error).
44
+ * 1 — argv parse error or unrecoverable pre-sync failure.
45
+ * 2 — at least one company threw mid-stream (e.g. mid-fanout 401, network
46
+ * reset, S3 5xx after retries). The all-complete event carries
47
+ * `partial: true` and per-company partial counts captured from
48
+ * `progress` events before the throw, so consumers parsing ndjson see
49
+ * what actually transferred. This is distinct from exit 0 with
50
+ * `partial: true` (clean conflict-aborts) — exit 2 is "something
51
+ * unexpected happened", which the Tauri menubar converts to a Sentry
52
+ * alert. Conflict-aborts intentionally do NOT alert.
42
53
  */
43
54
 
44
55
  import * as os from "os";
@@ -168,6 +179,36 @@ export type RunnerEvent =
168
179
  */
169
180
  conflictPaths: Array<{ company: string; path: string; direction: "pull" | "push" }>;
170
181
  errors: Array<{ company: string; message: string }>;
182
+ /**
183
+ * True when at least one company in the fanout did not complete cleanly
184
+ * — either it returned `aborted: true` (e.g. conflict-abort) or its sync
185
+ * function threw mid-stream (e.g. mid-fanout 401). When `partial: true`,
186
+ * the totals above include partial counts captured from `progress` events
187
+ * before the abort, NOT just companies that emitted a clean `complete`.
188
+ *
189
+ * Automated monitors should check this field — `errors.length > 0` alone
190
+ * isn't sufficient because a `aborted: true` return doesn't push to
191
+ * `errors` (it's a clean conflict-abort, not an exception).
192
+ */
193
+ partial: boolean;
194
+ /**
195
+ * Per-company breakdown of the fanout. Always present, one entry per
196
+ * planned company, in fanout order. Lets consumers reconcile per-company
197
+ * partial counts with the aggregate without re-walking `complete` /
198
+ * `error` event streams. The `status` field is the canonical signal:
199
+ * - "complete" — sync returned cleanly, `aborted: false`
200
+ * - "aborted" — sync returned cleanly with `aborted: true` (conflict-abort)
201
+ * - "errored" — sync threw mid-stream; counts are sourced from progress
202
+ * events seen before the throw
203
+ */
204
+ companies: Array<{
205
+ company: string;
206
+ status: "complete" | "aborted" | "errored";
207
+ filesDownloaded: number;
208
+ bytesDownloaded: number;
209
+ filesUploaded: number;
210
+ bytesUploaded: number;
211
+ }>;
171
212
  };
172
213
 
173
214
  /**
@@ -533,17 +574,56 @@ export async function runRunner(
533
574
  const shareFn = deps.share ?? defaultShare;
534
575
  const doPush = parsed.direction === "push" || parsed.direction === "both";
535
576
  const doPull = parsed.direction === "pull" || parsed.direction === "both";
536
- let totalDownloaded = 0;
537
- let totalDownloadedBytes = 0;
538
- let totalUploaded = 0;
539
- let totalUploadedBytes = 0;
540
577
  const errors: Array<{ company: string; message: string }> = [];
541
578
  const allConflicts: Array<{ company: string; path: string; direction: "pull" | "push" }> = [];
542
579
 
580
+ // Per-company state, keyed by the company label (slug or UID-fallback) so
581
+ // both `progress` (which streams) and `complete`/throw (which lands once)
582
+ // can update the same row. The rollup at the bottom of the function walks
583
+ // every entry — this is the source of truth that closes the bug where an
584
+ // aborted company's partial counts were dropped from `all-complete`.
585
+ //
586
+ // We seed `direction` from the parsed flag so we know whether a `progress`
587
+ // event without a clear phase should bump downloaded or uploaded counters.
588
+ // For `direction: "both"` runs we lean on the path of the in-flight phase
589
+ // — push runs first and sets `phaseRef.current = "push"` while shareFn runs,
590
+ // pull sets it to "pull". The closure shared by tagAndEmit reads `.current`
591
+ // at event time, so progress events route to the right column.
592
+ type CompanyStatus = "complete" | "aborted" | "errored";
593
+ interface CompanyState {
594
+ company: string;
595
+ status: CompanyStatus;
596
+ filesDownloaded: number;
597
+ bytesDownloaded: number;
598
+ filesUploaded: number;
599
+ bytesUploaded: number;
600
+ }
601
+ const stateByCompany = new Map<string, CompanyState>();
602
+
543
603
  for (const target of plan) {
544
604
  const companyLabel = target.slug;
605
+ const state: CompanyState = {
606
+ company: companyLabel,
607
+ // Default to "errored" so a throw before any complete-or-clean-abort
608
+ // path (the original bug) leaves the entry flagged as not-clean. The
609
+ // success/clean-abort paths overwrite this before the loop body exits.
610
+ status: "errored",
611
+ filesDownloaded: 0,
612
+ bytesDownloaded: 0,
613
+ filesUploaded: 0,
614
+ bytesUploaded: 0,
615
+ };
616
+ stateByCompany.set(companyLabel, state);
617
+
618
+ // Which phase is currently emitting `progress` events. Mutable closure so
619
+ // tagAndEmit (defined once below) reads the latest value when each event
620
+ // fires. "pull" is the default for back-compat with pull-only runs.
621
+ let activePhase: "pull" | "push" = doPush && !doPull ? "push" : "pull";
622
+
545
623
  // Per-company event tagger — shared by push and pull phases so progress
546
624
  // rows land on the right company regardless of which phase emitted them.
625
+ // Also updates `state` for `progress` events so the rollup has accurate
626
+ // partial counts even if the sync function throws before returning.
547
627
  const tagAndEmit = (event: SyncProgressEvent): void => {
548
628
  if (event.type === "plan") {
549
629
  emit({
@@ -557,6 +637,13 @@ export async function runRunner(
557
637
  filesToConflict: event.filesToConflict,
558
638
  });
559
639
  } else if (event.type === "progress") {
640
+ if (activePhase === "push") {
641
+ state.filesUploaded += 1;
642
+ state.bytesUploaded += event.bytes;
643
+ } else {
644
+ state.filesDownloaded += 1;
645
+ state.bytesDownloaded += event.bytes;
646
+ }
560
647
  emit({
561
648
  type: "progress",
562
649
  company: companyLabel,
@@ -604,6 +691,7 @@ export async function runRunner(
604
691
  // point with `skipUnchanged` so we don't re-upload files that haven't
605
692
  // changed since the last sync.
606
693
  if (doPush) {
694
+ activePhase = "push";
607
695
  pushResult = await shareFn({
608
696
  paths: [path.join(parsed.hqRoot, "companies", target.slug)],
609
697
  company: target.uid,
@@ -619,6 +707,7 @@ export async function runRunner(
619
707
  // the user has local edits + remote drift; blindly pulling would erase
620
708
  // whichever side `--on-conflict abort` just protected.
621
709
  if (doPull && !pushResult.aborted) {
710
+ activePhase = "pull";
622
711
  pullResult = await syncFn({
623
712
  company: target.uid,
624
713
  vaultConfig,
@@ -637,6 +726,20 @@ export async function runRunner(
637
726
  ...pullResult.conflictPaths,
638
727
  ...pushResult.conflictPaths,
639
728
  ];
729
+ const aborted = pullResult.aborted || pushResult.aborted;
730
+
731
+ // Overwrite the progress-derived counts with the authoritative numbers
732
+ // from the sync/share return values. The `progress` stream over-counts
733
+ // when the inner walker emits a progress row for a file it then skips
734
+ // due to a journal hit — a clean return value is the source of truth.
735
+ // For the throw case below this overwrite never runs, so `state` keeps
736
+ // its progress-derived counts (which is exactly what we want there).
737
+ state.filesDownloaded = pullResult.filesDownloaded;
738
+ state.bytesDownloaded = pullResult.bytesDownloaded;
739
+ state.filesUploaded = pushResult.filesUploaded;
740
+ state.bytesUploaded = pushResult.bytesUploaded;
741
+ state.status = aborted ? "aborted" : "complete";
742
+
640
743
  emit({
641
744
  type: "complete",
642
745
  company: companyLabel,
@@ -654,7 +757,7 @@ export async function runRunner(
654
757
  conflictPaths: mergedConflictPaths,
655
758
  // Either phase aborting marks the company aborted — the UI treats
656
759
  // `aborted: true` as "sync didn't complete cleanly for this company".
657
- aborted: pullResult.aborted || pushResult.aborted,
760
+ aborted,
658
761
  });
659
762
  for (const p of pullResult.conflictPaths) {
660
763
  allConflicts.push({ company: companyLabel, path: p, direction: "pull" });
@@ -662,13 +765,28 @@ export async function runRunner(
662
765
  for (const p of pushResult.conflictPaths) {
663
766
  allConflicts.push({ company: companyLabel, path: p, direction: "push" });
664
767
  }
665
- totalDownloaded += pullResult.filesDownloaded;
666
- totalDownloadedBytes += pullResult.bytesDownloaded;
667
- totalUploaded += pushResult.filesUploaded;
668
- totalUploadedBytes += pushResult.bytesUploaded;
669
768
  } catch (err) {
670
769
  const message = err instanceof Error ? err.message : String(err);
671
770
  errors.push({ company: companyLabel, message });
771
+ // `state.status` was seeded as "errored" at loop entry — the throw
772
+ // path leaves it there, and `state.files{Down,Up}loaded` reflects the
773
+ // partial counts captured from `progress` events before the throw.
774
+ // Emit a `complete` event with `aborted: true` and those partial
775
+ // counts so consumers walking the `complete` event stream see every
776
+ // company in the fanout uniformly. This is the fix for the misleading
777
+ // rollup — see file header `Exit code: 2` doc.
778
+ emit({
779
+ type: "complete",
780
+ company: companyLabel,
781
+ filesDownloaded: state.filesDownloaded,
782
+ bytesDownloaded: state.bytesDownloaded,
783
+ filesUploaded: state.filesUploaded,
784
+ bytesUploaded: state.bytesUploaded,
785
+ filesSkipped: 0,
786
+ conflicts: 0,
787
+ conflictPaths: [],
788
+ aborted: true,
789
+ });
672
790
  emit({
673
791
  type: "error",
674
792
  company: companyLabel,
@@ -679,6 +797,43 @@ export async function runRunner(
679
797
  }
680
798
  }
681
799
 
800
+ // Walk every per-company entry — the map holds one row per planned company,
801
+ // including ones that aborted via thrown exception. This is the fix for the
802
+ // bug where `all-complete` reported `filesDownloaded: 0` for an aborted
803
+ // personal-sync that had already emitted thousands of `progress` events:
804
+ // the rollup used to only sum companies that emitted a clean `complete`,
805
+ // which silently dropped partials when the sync function threw.
806
+ let totalDownloaded = 0;
807
+ let totalDownloadedBytes = 0;
808
+ let totalUploaded = 0;
809
+ let totalUploadedBytes = 0;
810
+ let partial = false;
811
+ const companies: Array<{
812
+ company: string;
813
+ status: CompanyStatus;
814
+ filesDownloaded: number;
815
+ bytesDownloaded: number;
816
+ filesUploaded: number;
817
+ bytesUploaded: number;
818
+ }> = [];
819
+ for (const target of plan) {
820
+ const s = stateByCompany.get(target.slug);
821
+ if (!s) continue; // unreachable — every plan entry seeds the map
822
+ totalDownloaded += s.filesDownloaded;
823
+ totalDownloadedBytes += s.bytesDownloaded;
824
+ totalUploaded += s.filesUploaded;
825
+ totalUploadedBytes += s.bytesUploaded;
826
+ if (s.status !== "complete") partial = true;
827
+ companies.push({
828
+ company: s.company,
829
+ status: s.status,
830
+ filesDownloaded: s.filesDownloaded,
831
+ bytesDownloaded: s.bytesDownloaded,
832
+ filesUploaded: s.filesUploaded,
833
+ bytesUploaded: s.bytesUploaded,
834
+ });
835
+ }
836
+
682
837
  emit({
683
838
  type: "all-complete",
684
839
  companiesAttempted: plan.length,
@@ -688,8 +843,15 @@ export async function runRunner(
688
843
  bytesUploaded: totalUploadedBytes,
689
844
  conflictPaths: allConflicts,
690
845
  errors,
846
+ partial,
847
+ companies,
691
848
  });
692
- return 0;
849
+ // Exit 2 only when something actually threw (`errors.length > 0`). A clean
850
+ // conflict-abort sets `partial: true` in the JSON but exits 0 — the Tauri
851
+ // menubar's non-zero-exit Sentry capture would otherwise fire for normal
852
+ // user-policy outcomes. Consumers that want to flag any non-clean outcome
853
+ // (clean-abort + thrown-error) read `partial` from the JSON.
854
+ return errors.length > 0 ? 2 : 0;
693
855
  }
694
856
 
695
857
  // ---------------------------------------------------------------------------