@ai-matrx/associations 0.9.29 → 0.9.30

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog — @ai-matrx/associations
2
2
 
3
+ ## 0.9.30
4
+
5
+ Capture toolbar keeps every distinct upload-failure reason instead of
6
+ collapsing them, and now shows a per-reason count for grouped failures
7
+ (commit `b1053013ab`). No consumer action required.
8
+
3
9
  ## 0.9.29
4
10
 
5
11
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -3786,9 +3786,21 @@ function AssociationCaptureToolbar({
3786
3786
  }
3787
3787
  if (result.failed.length > 0) {
3788
3788
  const first = result.failed[0];
3789
- notifier.error(
3790
- result.failed.length === 1 && first ? `Failed to upload ${first.name}: ${first.error}` : `Failed to upload ${result.failed.length} files`
3791
- );
3789
+ if (result.failed.length === 1 && first) {
3790
+ notifier.error(`Failed to upload ${first.name}: ${first.error}`);
3791
+ } else {
3792
+ const reasonCounts = /* @__PURE__ */ new Map();
3793
+ for (const f of result.failed) {
3794
+ const reason = f.error && f.error.trim().length > 0 ? f.error : "Upload failed";
3795
+ reasonCounts.set(reason, (reasonCounts.get(reason) ?? 0) + 1);
3796
+ }
3797
+ const lines = Array.from(reasonCounts.entries()).map(
3798
+ ([reason, count]) => `${count}\xD7 ${reason}`
3799
+ );
3800
+ notifier.error(`Failed to upload ${result.failed.length} files`, {
3801
+ description: lines.join("\n")
3802
+ });
3803
+ }
3792
3804
  }
3793
3805
  if (ids.length === 0 && result.failed.length === 0) {
3794
3806
  notifier.error("Nothing was uploaded or attached");