@buoy-gg/images 7.0.16 → 7.0.18

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.
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.imagesSyncAdapter = void 0;
6
+ exports.imagesSyncAdapter = exports.SNAPSHOT_URI_INLINE_LIMIT = void 0;
7
+ exports.toWireUri = toWireUri;
7
8
  var _actions = require("../capture/actions");
8
9
  var _install = require("../capture/install");
9
10
  var _overrides = require("../capture/overrides");
@@ -20,13 +21,57 @@ var _imageEventStore = require("../store/imageEventStore");
20
21
  * global modes, and cache clears.
21
22
  */
22
23
 
24
+ /**
25
+ * `data:` URIs (and any URI over this) are NOT copied onto the snapshot.
26
+ * A single inline PNG is routinely hundreds of KB to several MB of base64;
27
+ * 100 of those on every ~200ms tick exceed the 2MB emit budget and drop
28
+ * the whole images panel. The list already uses a "?" thumb for `data`
29
+ * sources (see ImageRow), so the payload is unused on the wire. Dashboards
30
+ * still get `kind: "data"` and a short unique stub for the row label.
31
+ */
32
+ const SNAPSHOT_URI_INLINE_LIMIT = exports.SNAPSHOT_URI_INLINE_LIMIT = 2 * 1024;
33
+ function toWireUri(uri) {
34
+ if (!uri) return uri;
35
+ if (uri.startsWith("data:")) {
36
+ const comma = uri.indexOf(",");
37
+ const header = comma >= 0 ? uri.slice(0, Math.min(comma + 1, 64)) : "data:";
38
+ const payload = comma >= 0 ? uri.slice(comma + 1) : uri;
39
+ const hint = payload.length > 16 ? `${payload.slice(0, 8)}…${payload.slice(-8)}` : payload;
40
+ return `${header}[${uri.length} chars ${hint}]`;
41
+ }
42
+ if (uri.length <= SNAPSHOT_URI_INLINE_LIMIT) return uri;
43
+ return `${uri.slice(0, SNAPSHOT_URI_INLINE_LIMIT)}… [${uri.length - SNAPSHOT_URI_INLINE_LIMIT} more]`;
44
+ }
45
+ function capText(value, limit = SNAPSHOT_URI_INLINE_LIMIT) {
46
+ if (!value) return null;
47
+ if (value.length <= limit) return value;
48
+ return `${value.slice(0, limit)}… [${value.length - limit} more]`;
49
+ }
50
+ function toWireInsights(insights) {
51
+ return {
52
+ ...insights,
53
+ duplicates: insights.duplicates.map(d => ({
54
+ ...d,
55
+ uri: toWireUri(d.uri)
56
+ })),
57
+ retryStorms: insights.retryStorms.map(s => ({
58
+ ...s,
59
+ uri: toWireUri(s.uri)
60
+ })),
61
+ layoutShifters: insights.layoutShifters.map(s => ({
62
+ ...s,
63
+ uri: toWireUri(s.uri)
64
+ }))
65
+ };
66
+ }
67
+
23
68
  /** Slim wire form of a record (heavy/derived fields precomputed + rounded). */
24
69
  function toWire(record) {
25
70
  const factor = (0, _imageEventStore.oversizeFactor)(record);
26
71
  return {
27
72
  id: record.id,
28
73
  lib: record.lib,
29
- uri: record.uri,
74
+ uri: toWireUri(record.uri),
30
75
  kind: record.sourceKind,
31
76
  status: record.status,
32
77
  mounted: record.mounted,
@@ -44,7 +89,7 @@ function toWire(record) {
44
89
  wastedKB: Math.round((0, _imageEventStore.estWastedBytes)(record) / 1024),
45
90
  progressSeen: record.progressSeen === true,
46
91
  bytesTotal: record.bytesTotal ?? null,
47
- error: record.error ?? null,
92
+ error: capText(record.error),
48
93
  errorCode: record.errorCode ?? null,
49
94
  loadCount: record.loadCount,
50
95
  overrideLabel: record.overrideLabel ?? null,
@@ -68,7 +113,7 @@ function overview() {
68
113
  stats: (0, _imageEventStore.computeStats)(snapshot),
69
114
  captureStatus: (0, _install.getCaptureStatus)(),
70
115
  globalModes: (0, _overrides.getGlobalModes)(),
71
- insights: (0, _insights.computeInsights)(snapshot),
116
+ insights: toWireInsights((0, _insights.computeInsights)(snapshot)),
72
117
  records: [...snapshot].reverse() // newest first
73
118
  };
74
119
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_actions","require","_install","_overrides","_savings","_insights","_imageEventStore","toWire","record","factor","oversizeFactor","id","lib","uri","kind","sourceKind","status","mounted","cache","cacheVerdict","cacheSource","cacheVerdictSource","ms","durationMs","Math","round","intrinsic","layout","width","height","neededPx","neededPixels","decodedKB","estDecodedBytes","wastedKB","estWastedBytes","progressSeen","bytesTotal","error","errorCode","loadCount","overrideLabel","hasAltText","layoutShifts","ageMs","Date","now","createdAt","requireRecord","params","Error","getRecord","overview","snapshot","getSnapshot","stats","computeStats","captureStatus","getCaptureStatus","globalModes","getGlobalModes","insights","computeInsights","records","reverse","imagesSyncAdapter","exports","version","rest","slice","map","subscribe","onChange","actions","list","p","limit","min","max","filtered","filter","r","total","length","getDetail","errorHeaders","hardReload","hardReloadRecord","proveSavings","retry","retryRecord","evictDisk","evicted","evictExpoDiskEntry","ok","message","flash","flashRecord","setOverride","kinds","source","type","label","hang","blank","entry","undefined","String","clearOverride","massAction","n","setOverrideForAllMounted","hardReloadAllMounted","flashAllMounted","clearAllOverrides","setNetworkMode","mode","modes","setBlankImages","enabled","clearRecords","clearExpoCaches","doMemory","memory","doDisk","disk","expo","results","Image","clearMemoryCache","push","clearDiskCache","join"],"sourceRoot":"../../../src","sources":["sync/imagesSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_actions","require","_install","_overrides","_savings","_insights","_imageEventStore","SNAPSHOT_URI_INLINE_LIMIT","exports","toWireUri","uri","startsWith","comma","indexOf","header","slice","Math","min","payload","hint","length","capText","value","limit","toWireInsights","insights","duplicates","map","d","retryStorms","s","layoutShifters","toWire","record","factor","oversizeFactor","id","lib","kind","sourceKind","status","mounted","cache","cacheVerdict","cacheSource","cacheVerdictSource","ms","durationMs","round","intrinsic","layout","width","height","neededPx","neededPixels","decodedKB","estDecodedBytes","wastedKB","estWastedBytes","progressSeen","bytesTotal","error","errorCode","loadCount","overrideLabel","hasAltText","layoutShifts","ageMs","Date","now","createdAt","requireRecord","params","Error","getRecord","overview","snapshot","getSnapshot","stats","computeStats","captureStatus","getCaptureStatus","globalModes","getGlobalModes","computeInsights","records","reverse","imagesSyncAdapter","version","rest","subscribe","onChange","actions","list","p","max","filtered","filter","r","total","getDetail","errorHeaders","hardReload","hardReloadRecord","proveSavings","retry","retryRecord","evictDisk","evicted","evictExpoDiskEntry","ok","message","flash","flashRecord","setOverride","kinds","source","type","label","hang","blank","entry","undefined","String","clearOverride","massAction","n","setOverrideForAllMounted","hardReloadAllMounted","flashAllMounted","clearAllOverrides","setNetworkMode","mode","modes","setBlankImages","enabled","clearRecords","clearExpoCaches","doMemory","memory","doDisk","disk","expo","results","Image","clearMemoryCache","push","clearDiskCache","join"],"sourceRoot":"../../../src","sources":["sync/imagesSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -16,13 +16,57 @@ import { clearAllOverrides, clearOverride, flashAllMounted, flashRecord, getGlob
16
16
  import { proveSavings } from "../capture/savings";
17
17
  import { computeInsights } from "../store/insights";
18
18
  import { clearRecords, computeStats, estDecodedBytes, estWastedBytes, getRecord, getSnapshot, neededPixels, oversizeFactor, subscribe } from "../store/imageEventStore";
19
+ /**
20
+ * `data:` URIs (and any URI over this) are NOT copied onto the snapshot.
21
+ * A single inline PNG is routinely hundreds of KB to several MB of base64;
22
+ * 100 of those on every ~200ms tick exceed the 2MB emit budget and drop
23
+ * the whole images panel. The list already uses a "?" thumb for `data`
24
+ * sources (see ImageRow), so the payload is unused on the wire. Dashboards
25
+ * still get `kind: "data"` and a short unique stub for the row label.
26
+ */
27
+ export const SNAPSHOT_URI_INLINE_LIMIT = 2 * 1024;
28
+ export function toWireUri(uri) {
29
+ if (!uri) return uri;
30
+ if (uri.startsWith("data:")) {
31
+ const comma = uri.indexOf(",");
32
+ const header = comma >= 0 ? uri.slice(0, Math.min(comma + 1, 64)) : "data:";
33
+ const payload = comma >= 0 ? uri.slice(comma + 1) : uri;
34
+ const hint = payload.length > 16 ? `${payload.slice(0, 8)}…${payload.slice(-8)}` : payload;
35
+ return `${header}[${uri.length} chars ${hint}]`;
36
+ }
37
+ if (uri.length <= SNAPSHOT_URI_INLINE_LIMIT) return uri;
38
+ return `${uri.slice(0, SNAPSHOT_URI_INLINE_LIMIT)}… [${uri.length - SNAPSHOT_URI_INLINE_LIMIT} more]`;
39
+ }
40
+ function capText(value, limit = SNAPSHOT_URI_INLINE_LIMIT) {
41
+ if (!value) return null;
42
+ if (value.length <= limit) return value;
43
+ return `${value.slice(0, limit)}… [${value.length - limit} more]`;
44
+ }
45
+ function toWireInsights(insights) {
46
+ return {
47
+ ...insights,
48
+ duplicates: insights.duplicates.map(d => ({
49
+ ...d,
50
+ uri: toWireUri(d.uri)
51
+ })),
52
+ retryStorms: insights.retryStorms.map(s => ({
53
+ ...s,
54
+ uri: toWireUri(s.uri)
55
+ })),
56
+ layoutShifters: insights.layoutShifters.map(s => ({
57
+ ...s,
58
+ uri: toWireUri(s.uri)
59
+ }))
60
+ };
61
+ }
62
+
19
63
  /** Slim wire form of a record (heavy/derived fields precomputed + rounded). */
20
64
  function toWire(record) {
21
65
  const factor = oversizeFactor(record);
22
66
  return {
23
67
  id: record.id,
24
68
  lib: record.lib,
25
- uri: record.uri,
69
+ uri: toWireUri(record.uri),
26
70
  kind: record.sourceKind,
27
71
  status: record.status,
28
72
  mounted: record.mounted,
@@ -40,7 +84,7 @@ function toWire(record) {
40
84
  wastedKB: Math.round(estWastedBytes(record) / 1024),
41
85
  progressSeen: record.progressSeen === true,
42
86
  bytesTotal: record.bytesTotal ?? null,
43
- error: record.error ?? null,
87
+ error: capText(record.error),
44
88
  errorCode: record.errorCode ?? null,
45
89
  loadCount: record.loadCount,
46
90
  overrideLabel: record.overrideLabel ?? null,
@@ -64,7 +108,7 @@ function overview() {
64
108
  stats: computeStats(snapshot),
65
109
  captureStatus: getCaptureStatus(),
66
110
  globalModes: getGlobalModes(),
67
- insights: computeInsights(snapshot),
111
+ insights: toWireInsights(computeInsights(snapshot)),
68
112
  records: [...snapshot].reverse() // newest first
69
113
  };
70
114
  }
@@ -1 +1 @@
1
- {"version":3,"names":["evictExpoDiskEntry","hardReloadAllMounted","hardReloadRecord","retryRecord","getCaptureStatus","clearAllOverrides","clearOverride","flashAllMounted","flashRecord","getGlobalModes","setBlankImages","setNetworkMode","setOverride","setOverrideForAllMounted","proveSavings","computeInsights","clearRecords","computeStats","estDecodedBytes","estWastedBytes","getRecord","getSnapshot","neededPixels","oversizeFactor","subscribe","toWire","record","factor","id","lib","uri","kind","sourceKind","status","mounted","cache","cacheVerdict","cacheSource","cacheVerdictSource","ms","durationMs","Math","round","intrinsic","layout","width","height","neededPx","decodedKB","wastedKB","progressSeen","bytesTotal","error","errorCode","loadCount","overrideLabel","hasAltText","layoutShifts","ageMs","Date","now","createdAt","requireRecord","params","Error","overview","snapshot","stats","captureStatus","globalModes","insights","records","reverse","imagesSyncAdapter","version","rest","slice","map","onChange","actions","list","p","limit","min","max","filtered","filter","r","total","length","getDetail","errorHeaders","hardReload","retry","evictDisk","evicted","ok","message","flash","kinds","source","type","label","hang","blank","entry","undefined","String","massAction","n","mode","modes","enabled","clearExpoCaches","doMemory","memory","doDisk","disk","expo","require","results","Image","clearMemoryCache","push","clearDiskCache","join"],"sourceRoot":"../../../src","sources":["sync/imagesSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["evictExpoDiskEntry","hardReloadAllMounted","hardReloadRecord","retryRecord","getCaptureStatus","clearAllOverrides","clearOverride","flashAllMounted","flashRecord","getGlobalModes","setBlankImages","setNetworkMode","setOverride","setOverrideForAllMounted","proveSavings","computeInsights","clearRecords","computeStats","estDecodedBytes","estWastedBytes","getRecord","getSnapshot","neededPixels","oversizeFactor","subscribe","SNAPSHOT_URI_INLINE_LIMIT","toWireUri","uri","startsWith","comma","indexOf","header","slice","Math","min","payload","hint","length","capText","value","limit","toWireInsights","insights","duplicates","map","d","retryStorms","s","layoutShifters","toWire","record","factor","id","lib","kind","sourceKind","status","mounted","cache","cacheVerdict","cacheSource","cacheVerdictSource","ms","durationMs","round","intrinsic","layout","width","height","neededPx","decodedKB","wastedKB","progressSeen","bytesTotal","error","errorCode","loadCount","overrideLabel","hasAltText","layoutShifts","ageMs","Date","now","createdAt","requireRecord","params","Error","overview","snapshot","stats","captureStatus","globalModes","records","reverse","imagesSyncAdapter","version","rest","onChange","actions","list","p","max","filtered","filter","r","total","getDetail","errorHeaders","hardReload","retry","evictDisk","evicted","ok","message","flash","kinds","source","type","label","hang","blank","entry","undefined","String","massAction","n","mode","modes","enabled","clearExpoCaches","doMemory","memory","doDisk","disk","expo","require","results","Image","clearMemoryCache","push","clearDiskCache","join"],"sourceRoot":"../../../src","sources":["sync/imagesSyncAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,17 @@
8
8
  * global modes, and cache clears.
9
9
  */
10
10
  import type { NetworkMode } from "../capture/overrides";
11
- import type { ImageRecordWire } from "../types";
11
+ import type { ImageInsights, ImageRecordWire } from "../types";
12
+ /**
13
+ * `data:` URIs (and any URI over this) are NOT copied onto the snapshot.
14
+ * A single inline PNG is routinely hundreds of KB to several MB of base64;
15
+ * 100 of those on every ~200ms tick exceed the 2MB emit budget and drop
16
+ * the whole images panel. The list already uses a "?" thumb for `data`
17
+ * sources (see ImageRow), so the payload is unused on the wire. Dashboards
18
+ * still get `kind: "data"` and a short unique stub for the row label.
19
+ */
20
+ export declare const SNAPSHOT_URI_INLINE_LIMIT: number;
21
+ export declare function toWireUri(uri: string): string;
12
22
  export declare const imagesSyncAdapter: {
13
23
  version: number;
14
24
  getSnapshot: () => {
@@ -19,7 +29,7 @@ export declare const imagesSyncAdapter: {
19
29
  network: NetworkMode;
20
30
  blank: boolean;
21
31
  };
22
- insights: import("..").ImageInsights;
32
+ insights: ImageInsights;
23
33
  };
24
34
  subscribe: (onChange: () => void) => () => void;
25
35
  actions: {
@@ -33,7 +43,7 @@ export declare const imagesSyncAdapter: {
33
43
  network: NetworkMode;
34
44
  blank: boolean;
35
45
  };
36
- insights: import("..").ImageInsights;
46
+ insights: ImageInsights;
37
47
  };
38
48
  /** Full detail for one record. Params: { id }. */
39
49
  getDetail: (params: unknown) => {
@@ -1 +1 @@
1
- {"version":3,"file":"imagesSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/imagesSyncAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsBH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAYxE,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,UAAU,CAAC;AA6D7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;0BAMN,MAAM,IAAI;;QAE9B,gEAAgE;uBACjD,OAAO;;;;;;;;;;;QAatB,kDAAkD;4BAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAI3B,2CAA2C;6BACtB,OAAO;QAC5B,qFAAqF;+BAC9D,OAAO;QAC9B,gDAAgD;wBAChC,OAAO;QACvB,uEAAuE;4BAC7C,OAAO;;;;QAUjC,iEAAiE;wBACjD,OAAO;;;;QAIvB;;;WAGG;8BACmB,OAAO;;;;QAwB7B,oDAAoD;gCAC5B,OAAO;;;;QAI/B;;;WAGG;6BACwB,OAAO;QA6BlC,8EAA8E;iCACrD,OAAO;;;;;;;QAQhC,iEAAiE;iCACxC,OAAO;;;;;;;QAIhC,2DAA2D;;;;;QAK3D,0EAA0E;kCAC1C,OAAO;;;;;;CAsB1C,CAAC"}
1
+ {"version":3,"file":"imagesSyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/imagesSyncAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsBH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAYxE,OAAO,KAAK,EAAE,aAAa,EAAe,eAAe,EAAE,MAAM,UAAU,CAAC;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAElD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAe7C;AAqFD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;0BAMN,MAAM,IAAI;;QAE9B,gEAAgE;uBACjD,OAAO;;;;;;;;;;;QAatB,kDAAkD;4BAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAI3B,2CAA2C;6BACtB,OAAO;QAC5B,qFAAqF;+BAC9D,OAAO;QAC9B,gDAAgD;wBAChC,OAAO;QACvB,uEAAuE;4BAC7C,OAAO;;;;QAUjC,iEAAiE;wBACjD,OAAO;;;;QAIvB;;;WAGG;8BACmB,OAAO;;;;QAwB7B,oDAAoD;gCAC5B,OAAO;;;;QAI/B;;;WAGG;6BACwB,OAAO;QA6BlC,8EAA8E;iCACrD,OAAO;;;;;;;QAQhC,iEAAiE;iCACxC,OAAO;;;;;;;QAIhC,2DAA2D;;;;;QAK3D,0EAA0E;kCAC1C,OAAO;;;;;;CAsB1C,CAAC"}
@@ -115,6 +115,7 @@ export interface ImageStats {
115
115
  export interface ImageRecordWire {
116
116
  id: number;
117
117
  lib: ImageLib;
118
+ /** May be a short stub for `data:` / oversized URIs (see `toWireUri`). */
118
119
  uri: string;
119
120
  kind: SourceKind;
120
121
  status: ImageStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/images",
3
- "version": "7.0.16",
3
+ "version": "7.0.18",
4
4
  "description": "Debug every image in your React Native app — live load registry, cache verdicts (memory/disk/network), timings, oversize + wasted-memory checks, and failure diagnosis for RN <Image> and expo-image. Part of Buoy devtools.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -18,7 +18,7 @@
18
18
  "**/index.*"
19
19
  ],
20
20
  "dependencies": {
21
- "@buoy-gg/shared-ui": "^7.0.16"
21
+ "@buoy-gg/shared-ui": "^7.0.18"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "expo-image": "*",
@@ -0,0 +1,114 @@
1
+ import { afterEach, describe, expect, it } from "vitest";
2
+ import { createRecord, updateRecord } from "../../store/imageEventStore";
3
+ import { imagesState } from "../../state";
4
+ import {
5
+ SNAPSHOT_URI_INLINE_LIMIT,
6
+ imagesSyncAdapter,
7
+ toWireUri,
8
+ } from "../imagesSyncAdapter";
9
+
10
+ // Node has no rAF; the store coalesces listener notifies onto one frame.
11
+ globalThis.requestAnimationFrame = ((cb: FrameRequestCallback) => {
12
+ cb(0);
13
+ return 0;
14
+ }) as typeof requestAnimationFrame;
15
+
16
+ afterEach(() => {
17
+ const s = imagesState();
18
+ s.records = [];
19
+ s.byId = new Map();
20
+ s.snapshot = [];
21
+ s.nextId = 1;
22
+ });
23
+
24
+ describe("imagesSyncAdapter", () => {
25
+ it("exposes version 1 and the listed actions", () => {
26
+ expect(imagesSyncAdapter.version).toBe(1);
27
+ expect(Object.keys(imagesSyncAdapter.actions)).toEqual(
28
+ expect.arrayContaining([
29
+ "list",
30
+ "getDetail",
31
+ "clearRecords",
32
+ "setNetworkMode",
33
+ ]),
34
+ );
35
+ });
36
+
37
+ it("keeps http URIs inline and snapshots as JSON", () => {
38
+ createRecord({
39
+ lib: "rn",
40
+ uri: "https://cdn.example.com/hero.png",
41
+ sourceKind: "network",
42
+ });
43
+
44
+ const snapshot = imagesSyncAdapter.getSnapshot();
45
+ expect(snapshot.records).toHaveLength(1);
46
+ expect(snapshot.records[0]?.uri).toBe("https://cdn.example.com/hero.png");
47
+ expect(snapshot.records[0]?.kind).toBe("network");
48
+ expect(() => JSON.stringify(snapshot)).not.toThrow();
49
+ });
50
+
51
+ it("does not drop the images snapshot when a data URI is multi-MB", () => {
52
+ const huge = `data:image/png;base64,${"A".repeat(3 * 1024 * 1024)}`;
53
+ createRecord({ lib: "rn", uri: huge, sourceKind: "data" });
54
+
55
+ const snapshot = imagesSyncAdapter.getSnapshot();
56
+ expect(snapshot.records).toHaveLength(1);
57
+ const wired = snapshot.records[0];
58
+ expect(wired?.kind).toBe("data");
59
+ expect(wired?.uri).toBe(toWireUri(huge));
60
+ expect(wired?.uri.length).toBeLessThan(SNAPSHOT_URI_INLINE_LIMIT);
61
+ expect(wired?.uri.startsWith("data:image/png;base64,")).toBe(true);
62
+ expect(() => JSON.stringify(snapshot)).not.toThrow();
63
+ expect(JSON.stringify(snapshot).length).toBeLessThan(2 * 1024 * 1024);
64
+ });
65
+
66
+ it("stubs data URIs in insights as well as records", () => {
67
+ const huge = `data:image/png;base64,${"B".repeat(80 * 1024)}`;
68
+ createRecord({ lib: "rn", uri: huge, sourceKind: "data" });
69
+ createRecord({ lib: "rn", uri: huge, sourceKind: "data" });
70
+
71
+ const snapshot = imagesSyncAdapter.getSnapshot();
72
+ expect(snapshot.insights.duplicates).toHaveLength(1);
73
+ expect(snapshot.insights.duplicates[0]?.count).toBe(2);
74
+ expect(snapshot.insights.duplicates[0]?.uri).toBe(toWireUri(huge));
75
+ expect(snapshot.insights.duplicates[0]?.uri.length).toBeLessThan(
76
+ SNAPSHOT_URI_INLINE_LIMIT,
77
+ );
78
+ expect(JSON.stringify(snapshot).length).toBeLessThan(2 * 1024 * 1024);
79
+ });
80
+
81
+ it("caps native error messages that embed a data URI", () => {
82
+ const huge = `data:image/png;base64,${"C".repeat(3 * 1024 * 1024)}`;
83
+ const record = createRecord({
84
+ lib: "rn",
85
+ uri: "https://cdn.example.com/hero.png",
86
+ sourceKind: "network",
87
+ });
88
+ updateRecord(record.id, {
89
+ status: "error",
90
+ error: `Failed to load ${huge}`,
91
+ });
92
+
93
+ const snapshot = imagesSyncAdapter.getSnapshot();
94
+ const wired = snapshot.records[0];
95
+ expect(wired?.error).toBeTruthy();
96
+ expect(wired?.error?.length).toBeLessThan(SNAPSHOT_URI_INLINE_LIMIT + 80);
97
+ expect(wired?.error?.startsWith("Failed to load data:image/png;base64,")).toBe(
98
+ true,
99
+ );
100
+ expect(imagesState().byId.get(record.id)?.error?.length).toBeGreaterThan(
101
+ 2 * 1024 * 1024,
102
+ );
103
+ expect(() => JSON.stringify(snapshot)).not.toThrow();
104
+ expect(JSON.stringify(snapshot).length).toBeLessThan(2 * 1024 * 1024);
105
+ });
106
+
107
+ it("does not hang on empty action params", () => {
108
+ expect(imagesSyncAdapter.actions.list()).toEqual(
109
+ expect.objectContaining({ total: 0, records: [] }),
110
+ );
111
+ expect(() => imagesSyncAdapter.actions.getDetail()).toThrow(/id/);
112
+ expect(() => imagesSyncAdapter.actions.getDetail({})).toThrow(/id/);
113
+ });
114
+ });
@@ -40,7 +40,58 @@ import {
40
40
  oversizeFactor,
41
41
  subscribe,
42
42
  } from "../store/imageEventStore";
43
- import type { ImageRecord, ImageRecordWire } from "../types";
43
+ import type { ImageInsights, ImageRecord, ImageRecordWire } from "../types";
44
+
45
+ /**
46
+ * `data:` URIs (and any URI over this) are NOT copied onto the snapshot.
47
+ * A single inline PNG is routinely hundreds of KB to several MB of base64;
48
+ * 100 of those on every ~200ms tick exceed the 2MB emit budget and drop
49
+ * the whole images panel. The list already uses a "?" thumb for `data`
50
+ * sources (see ImageRow), so the payload is unused on the wire. Dashboards
51
+ * still get `kind: "data"` and a short unique stub for the row label.
52
+ */
53
+ export const SNAPSHOT_URI_INLINE_LIMIT = 2 * 1024;
54
+
55
+ export function toWireUri(uri: string): string {
56
+ if (!uri) return uri;
57
+ if (uri.startsWith("data:")) {
58
+ const comma = uri.indexOf(",");
59
+ const header =
60
+ comma >= 0 ? uri.slice(0, Math.min(comma + 1, 64)) : "data:";
61
+ const payload = comma >= 0 ? uri.slice(comma + 1) : uri;
62
+ const hint =
63
+ payload.length > 16
64
+ ? `${payload.slice(0, 8)}…${payload.slice(-8)}`
65
+ : payload;
66
+ return `${header}[${uri.length} chars ${hint}]`;
67
+ }
68
+ if (uri.length <= SNAPSHOT_URI_INLINE_LIMIT) return uri;
69
+ return `${uri.slice(0, SNAPSHOT_URI_INLINE_LIMIT)}… [${uri.length - SNAPSHOT_URI_INLINE_LIMIT} more]`;
70
+ }
71
+
72
+ function capText(value: string | undefined, limit = SNAPSHOT_URI_INLINE_LIMIT): string | null {
73
+ if (!value) return null;
74
+ if (value.length <= limit) return value;
75
+ return `${value.slice(0, limit)}… [${value.length - limit} more]`;
76
+ }
77
+
78
+ function toWireInsights(insights: ImageInsights): ImageInsights {
79
+ return {
80
+ ...insights,
81
+ duplicates: insights.duplicates.map((d) => ({
82
+ ...d,
83
+ uri: toWireUri(d.uri),
84
+ })),
85
+ retryStorms: insights.retryStorms.map((s) => ({
86
+ ...s,
87
+ uri: toWireUri(s.uri),
88
+ })),
89
+ layoutShifters: insights.layoutShifters.map((s) => ({
90
+ ...s,
91
+ uri: toWireUri(s.uri),
92
+ })),
93
+ };
94
+ }
44
95
 
45
96
  /** Slim wire form of a record (heavy/derived fields precomputed + rounded). */
46
97
  function toWire(record: ImageRecord): ImageRecordWire {
@@ -48,7 +99,7 @@ function toWire(record: ImageRecord): ImageRecordWire {
48
99
  return {
49
100
  id: record.id,
50
101
  lib: record.lib,
51
- uri: record.uri,
102
+ uri: toWireUri(record.uri),
52
103
  kind: record.sourceKind,
53
104
  status: record.status,
54
105
  mounted: record.mounted,
@@ -68,7 +119,7 @@ function toWire(record: ImageRecord): ImageRecordWire {
68
119
  wastedKB: Math.round(estWastedBytes(record) / 1024),
69
120
  progressSeen: record.progressSeen === true,
70
121
  bytesTotal: record.bytesTotal ?? null,
71
- error: record.error ?? null,
122
+ error: capText(record.error),
72
123
  errorCode: record.errorCode ?? null,
73
124
  loadCount: record.loadCount,
74
125
  overrideLabel: record.overrideLabel ?? null,
@@ -96,7 +147,7 @@ function overview() {
96
147
  stats: computeStats(snapshot),
97
148
  captureStatus: getCaptureStatus(),
98
149
  globalModes: getGlobalModes(),
99
- insights: computeInsights(snapshot),
150
+ insights: toWireInsights(computeInsights(snapshot)),
100
151
  records: [...snapshot].reverse(), // newest first
101
152
  };
102
153
  }
package/src/types.ts CHANGED
@@ -106,6 +106,7 @@ export interface ImageStats {
106
106
  export interface ImageRecordWire {
107
107
  id: number;
108
108
  lib: ImageLib;
109
+ /** May be a short stub for `data:` / oversized URIs (see `toWireUri`). */
109
110
  uri: string;
110
111
  kind: SourceKind;
111
112
  status: ImageStatus;