@buoy-gg/images 7.0.40 → 7.0.41

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.
Files changed (101) hide show
  1. package/README.md +6 -0
  2. package/lib/commonjs/autoCapture.js +4 -0
  3. package/lib/commonjs/autoCapture.js.map +1 -0
  4. package/lib/commonjs/autoCapture.web.js +6 -0
  5. package/lib/commonjs/autoCapture.web.js.map +1 -0
  6. package/lib/commonjs/capture/actions.js +4 -3
  7. package/lib/commonjs/capture/actions.js.map +1 -1
  8. package/lib/commonjs/capture/install.web.js +250 -0
  9. package/lib/commonjs/capture/install.web.js.map +1 -0
  10. package/lib/commonjs/capture/installRnImage.js +5 -1
  11. package/lib/commonjs/capture/installRnImage.js.map +1 -1
  12. package/lib/commonjs/capture/nativeImageModules.js +30 -0
  13. package/lib/commonjs/capture/nativeImageModules.js.map +1 -0
  14. package/lib/commonjs/capture/nativeImageModules.web.js +18 -0
  15. package/lib/commonjs/capture/nativeImageModules.web.js.map +1 -0
  16. package/lib/commonjs/capture/rnDecoratorEarly.js +55 -0
  17. package/lib/commonjs/capture/rnDecoratorEarly.js.map +1 -0
  18. package/lib/commonjs/capture/savings.web.js +71 -0
  19. package/lib/commonjs/capture/savings.web.js.map +1 -0
  20. package/lib/commonjs/components/ImageDetail.js +3 -2
  21. package/lib/commonjs/components/ImageDetail.js.map +1 -1
  22. package/lib/commonjs/components/ImageRow.js +1 -1
  23. package/lib/commonjs/components/ImageRow.js.map +1 -1
  24. package/lib/commonjs/components/ImagesModal.js +1 -1
  25. package/lib/commonjs/components/ImagesModal.js.map +1 -1
  26. package/lib/commonjs/components/ImagesRoot.web.js +13 -0
  27. package/lib/commonjs/components/ImagesRoot.web.js.map +1 -0
  28. package/lib/commonjs/index.js +1 -1
  29. package/lib/commonjs/registerEarly.js +14 -0
  30. package/lib/commonjs/registerEarly.js.map +1 -0
  31. package/lib/commonjs/sync/imagesSyncAdapter.js +2 -1
  32. package/lib/commonjs/sync/imagesSyncAdapter.js.map +1 -1
  33. package/lib/module/autoCapture.js +4 -0
  34. package/lib/module/autoCapture.js.map +1 -0
  35. package/lib/module/autoCapture.web.js +5 -0
  36. package/lib/module/autoCapture.web.js.map +1 -0
  37. package/lib/module/capture/actions.js +4 -3
  38. package/lib/module/capture/actions.js.map +1 -1
  39. package/lib/module/capture/install.web.js +243 -0
  40. package/lib/module/capture/install.web.js.map +1 -0
  41. package/lib/module/capture/installRnImage.js +5 -2
  42. package/lib/module/capture/installRnImage.js.map +1 -1
  43. package/lib/module/capture/nativeImageModules.js +24 -0
  44. package/lib/module/capture/nativeImageModules.js.map +1 -0
  45. package/lib/module/capture/nativeImageModules.web.js +12 -0
  46. package/lib/module/capture/nativeImageModules.web.js.map +1 -0
  47. package/lib/module/capture/rnDecoratorEarly.js +50 -0
  48. package/lib/module/capture/rnDecoratorEarly.js.map +1 -0
  49. package/lib/module/capture/savings.web.js +67 -0
  50. package/lib/module/capture/savings.web.js.map +1 -0
  51. package/lib/module/components/ImageDetail.js +3 -2
  52. package/lib/module/components/ImageDetail.js.map +1 -1
  53. package/lib/module/components/ImageRow.js +1 -1
  54. package/lib/module/components/ImageRow.js.map +1 -1
  55. package/lib/module/components/ImagesModal.js +1 -1
  56. package/lib/module/components/ImagesModal.js.map +1 -1
  57. package/lib/module/components/ImagesRoot.web.js +9 -0
  58. package/lib/module/components/ImagesRoot.web.js.map +1 -0
  59. package/lib/module/index.js +1 -1
  60. package/lib/module/index.js.map +1 -1
  61. package/lib/module/registerEarly.js +14 -0
  62. package/lib/module/registerEarly.js.map +1 -0
  63. package/lib/module/sync/imagesSyncAdapter.js +2 -1
  64. package/lib/module/sync/imagesSyncAdapter.js.map +1 -1
  65. package/lib/typescript/autoCapture.d.ts +2 -0
  66. package/lib/typescript/autoCapture.d.ts.map +1 -0
  67. package/lib/typescript/autoCapture.web.d.ts +2 -0
  68. package/lib/typescript/autoCapture.web.d.ts.map +1 -0
  69. package/lib/typescript/capture/actions.d.ts +0 -17
  70. package/lib/typescript/capture/actions.d.ts.map +1 -1
  71. package/lib/typescript/capture/install.web.d.ts +6 -0
  72. package/lib/typescript/capture/install.web.d.ts.map +1 -0
  73. package/lib/typescript/capture/installRnImage.d.ts +5 -0
  74. package/lib/typescript/capture/installRnImage.d.ts.map +1 -1
  75. package/lib/typescript/capture/nativeImageModules.d.ts +4 -0
  76. package/lib/typescript/capture/nativeImageModules.d.ts.map +1 -0
  77. package/lib/typescript/capture/nativeImageModules.web.d.ts +4 -0
  78. package/lib/typescript/capture/nativeImageModules.web.d.ts.map +1 -0
  79. package/lib/typescript/capture/rnDecoratorEarly.d.ts +18 -0
  80. package/lib/typescript/capture/rnDecoratorEarly.d.ts.map +1 -0
  81. package/lib/typescript/capture/savings.web.d.ts +5 -0
  82. package/lib/typescript/capture/savings.web.d.ts.map +1 -0
  83. package/lib/typescript/components/ImageDetail.d.ts +0 -6
  84. package/lib/typescript/components/ImageDetail.d.ts.map +1 -1
  85. package/lib/typescript/components/ImagesRoot.web.d.ts +2 -0
  86. package/lib/typescript/components/ImagesRoot.web.d.ts.map +1 -0
  87. package/lib/typescript/index.d.ts +1 -1
  88. package/lib/typescript/index.d.ts.map +1 -1
  89. package/lib/typescript/registerEarly.d.ts +10 -0
  90. package/lib/typescript/registerEarly.d.ts.map +1 -0
  91. package/lib/typescript/sync/imagesSyncAdapter.d.ts +0 -9
  92. package/lib/typescript/sync/imagesSyncAdapter.d.ts.map +1 -1
  93. package/lib/typescript/types.d.ts +2 -1
  94. package/lib/typescript/types.d.ts.map +1 -1
  95. package/lib/web/chunks/chunk-7CWLRQ2L.mjs +2 -0
  96. package/lib/web/chunks/chunk-B5A6CYSS.mjs +2 -0
  97. package/lib/web/chunks/chunk-LKTR6X2V.mjs +2 -0
  98. package/lib/web/chunks/chunk-TTS5EH4R.mjs +2 -0
  99. package/lib/web/index.mjs +4 -0
  100. package/lib/web/register.mjs +2 -0
  101. package/package.json +52 -6
package/README.md CHANGED
@@ -6,6 +6,8 @@ Inspect image loads observed by Buoy’s supported image hooks, including timing
6
6
 
7
7
  Part of [Buoy](https://github.com/Buoy-gg/buoy). Install the package, complete account setup, and follow the integration steps below.
8
8
 
9
+ Buoy's own icons, backgrounds and tool previews are excluded from image capture. App images remain visible, including app views that load the same URL as a tool preview.
10
+
9
11
  Native image loading can bypass JavaScript network capture. This package instruments supported React Native `Image` and `expo-image` paths to provide image-specific details.
10
12
 
11
13
  ## Install
@@ -78,3 +80,7 @@ To connect a React Native app to [Buoy Desktop](https://github.com/Buoy-gg/Buoy-
78
80
  ## Account and plan requirements
79
81
 
80
82
  Use a Free or Pro Buoy account. History limits and paid features vary by tool; see [pricing](https://buoy.gg/pricing). Production access requires Pro where supported. Development-only hooks and actions remain unavailable in release builds.
83
+
84
+ ## Web support (unreleased)
85
+
86
+ Browser capture observes DOM images and supports shared overrides and size analysis. Savings previews use Canvas; cross-origin reads require permission from the image server. The browser build is available in this checkout and has not been published yet. See the [web setup guide](https://buoy.gg/buoy/latest/docs/web-preview) for registration, dependencies, and browser boundaries.
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./register");
4
+ //# sourceMappingURL=autoCapture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["require"],"sourceRoot":"../../src","sources":["autoCapture.ts"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=autoCapture.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["autoCapture.web.ts"],"mappings":"","ignoreList":[]}
@@ -13,6 +13,7 @@ exports.registerExpoInstance = registerExpoInstance;
13
13
  exports.retryRecord = retryRecord;
14
14
  exports.settleReloadRequest = settleReloadRequest;
15
15
  exports.subscribeActions = subscribeActions;
16
+ var _nativeImageModules = require("./nativeImageModules");
16
17
  var _remote = require("../remote");
17
18
  var _state = require("../state");
18
19
  var _overrides = require("./overrides");
@@ -97,7 +98,7 @@ function registerExpoInstance(recordId, instance) {
97
98
  }
98
99
  function expoImageStatics() {
99
100
  try {
100
- return require("expo-image").Image ?? null;
101
+ return (0, _nativeImageModules.loadExpoImage)().Image ?? null;
101
102
  } catch {
102
103
  return null;
103
104
  }
@@ -108,14 +109,14 @@ function expoImageStatics() {
108
109
  */
109
110
  function loadFileSystem() {
110
111
  try {
111
- const mod = require("expo-file-system/legacy");
112
+ const mod = (0, _nativeImageModules.loadLegacyFileSystem)();
112
113
  const fs = mod?.default || mod;
113
114
  if (fs?.deleteAsync) return fs;
114
115
  } catch {
115
116
  // try main import
116
117
  }
117
118
  try {
118
- const mod = require("expo-file-system");
119
+ const mod = (0, _nativeImageModules.loadFileSystemModule)();
119
120
  const fs = mod?.default || mod;
120
121
  if (fs?.deleteAsync) return fs;
121
122
  } catch {
@@ -1 +1 @@
1
- {"version":3,"names":["_remote","require","_state","_overrides","subscribeActions","listener","s","imagesState","actionListeners","add","delete","getReloadRequest","recordId","undefined","reloadRequests","get","getReloadNonce","nonce","requestRnReload","bust","prev","set","touchRecord","settleReloadRequest","req","dropActionState","expoInstances","overrides","flashUntil","recordVersions","registerExpoInstance","instance","expoImageStatics","Image","loadFileSystem","mod","fs","default","deleteAsync","evictExpoDiskEntry","record","statics","fileSystem","getCachePathAsync","uri","path","startsWith","idempotent","retryRecord","remote","remoteImagesDispatch","remoteActionResult","id","mounted","ok","message","lib","reloadAsync","hardReloadAllMounted","kind","getSnapshot","count","result","hardReloadRecord","sourceKind","evicted","clearMemoryCache","catch"],"sourceRoot":"../../../src","sources":["capture/actions.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_nativeImageModules","require","_remote","_state","_overrides","subscribeActions","listener","s","imagesState","actionListeners","add","delete","getReloadRequest","recordId","undefined","reloadRequests","get","getReloadNonce","nonce","requestRnReload","bust","prev","set","touchRecord","settleReloadRequest","req","dropActionState","expoInstances","overrides","flashUntil","recordVersions","registerExpoInstance","instance","expoImageStatics","loadExpoImage","Image","loadFileSystem","mod","loadLegacyFileSystem","fs","default","deleteAsync","loadFileSystemModule","evictExpoDiskEntry","record","statics","fileSystem","getCachePathAsync","uri","path","startsWith","idempotent","retryRecord","remote","remoteImagesDispatch","remoteActionResult","id","mounted","ok","message","lib","reloadAsync","hardReloadAllMounted","kind","getSnapshot","count","result","hardReloadRecord","sourceKind","evicted","clearMemoryCache","catch"],"sourceRoot":"../../../src","sources":["capture/actions.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCaptureStatus = getCaptureStatus;
7
+ exports.installImageCapture = installImageCapture;
8
+ exports.startBrowserImageCapture = startBrowserImageCapture;
9
+ exports.stopBrowserImageCapture = stopBrowserImageCapture;
10
+ var _state = require("../state");
11
+ var _imageEventStore = require("../store/imageEventStore");
12
+ var _overrides = require("./overrides");
13
+ const tracked = new Map();
14
+ let detach;
15
+ let leases = 0;
16
+ const EMPTY_IMAGE = 'data:image/png;base64,';
17
+ function apply(item) {
18
+ const record = (0, _imageEventStore.getRecord)(item.id);
19
+ if (!record) return;
20
+ const state = (0, _state.imagesState)();
21
+ const override = (0, _overrides.getOverride)(item.id);
22
+ const modes = (0, _overrides.getGlobalModes)();
23
+ let source = item.source;
24
+ if (modes.network === 'offline' && record.sourceKind === 'network') source = EMPTY_IMAGE;
25
+ if (override?.source) {
26
+ const next = override.source;
27
+ if (next.type === 'url') source = next.uri;else if (next.type === 'error') source = EMPTY_IMAGE;else source = null;
28
+ if (next.type === 'hang') (0, _imageEventStore.updateRecord)(item.id, {
29
+ status: 'loading'
30
+ });
31
+ }
32
+ const request = state.reloadRequests.get(item.id);
33
+ const reload = request && request.nonce !== item.nonce;
34
+ if (reload) {
35
+ item.nonce = request.nonce;
36
+ if (request.bust && source && /^https?:/.test(new URL(source, document.baseURI).href)) {
37
+ const url = new URL(source, document.baseURI);
38
+ url.searchParams.set('__buoy_reload', String(Date.now()));
39
+ source = url.href;
40
+ }
41
+ item.image.removeAttribute('src');
42
+ (0, _imageEventStore.updateRecord)(item.id, {
43
+ status: 'loading',
44
+ startedAt: Date.now(),
45
+ loadCount: record.loadCount + 1
46
+ });
47
+ }
48
+ if (modes.network === 'cold' && source && /^https?:/.test(new URL(source, document.baseURI).href)) {
49
+ if (item.coldSource !== source || !item.coldURL || reload) {
50
+ item.coldSource = source;
51
+ const url = new URL(source, document.baseURI);
52
+ url.searchParams.set('__buoy_reload', `${Date.now()}-${item.nonce}`);
53
+ item.coldURL = url.href;
54
+ }
55
+ source = item.coldURL;
56
+ } else {
57
+ item.coldSource = undefined;
58
+ item.coldURL = undefined;
59
+ }
60
+ item.appliedSource = source;
61
+ item.appliedSrcset = source !== item.source ? null : item.srcset;
62
+ if (item.appliedSrcset === null) item.image.removeAttribute('srcset');else if (item.image.getAttribute('srcset') !== item.appliedSrcset) item.image.setAttribute('srcset', item.appliedSrcset);
63
+ if (source === null) item.image.removeAttribute('src');else if (item.image.getAttribute('src') !== source) item.image.setAttribute('src', source);
64
+ const style = document.createElement('span').style;
65
+ style.cssText = item.style ?? '';
66
+ const fit = override?.extraProps?.contentFit ?? override?.extraProps?.resizeMode;
67
+ if (typeof fit === 'string') style.objectFit = {
68
+ stretch: 'fill',
69
+ center: 'none'
70
+ }[fit] ?? fit;
71
+ if (modes.blank || override?.source?.type === 'blank') style.opacity = '0';
72
+ for (const [key, value] of Object.entries(override?.style ?? {})) {
73
+ const css = key.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`);
74
+ style.setProperty(css, typeof value === 'number' && !['opacity', 'zIndex', 'flex', 'flexGrow', 'flexShrink'].includes(key) ? `${value}px` : String(value));
75
+ }
76
+ if ((state.flashUntil.get(item.id) ?? 0) > Date.now()) style.outline = '3px solid #ff453a';
77
+ item.appliedStyle = style.cssText || null;
78
+ if (item.image.getAttribute('style') !== item.appliedStyle) {
79
+ if (item.appliedStyle === null) item.image.removeAttribute('style');else item.image.setAttribute('style', item.appliedStyle);
80
+ }
81
+ }
82
+ function track(image) {
83
+ if (tracked.has(image) || image.closest('[data-buoy-root]')) return;
84
+ const uri = image.currentSrc || image.src;
85
+ if (!uri) return;
86
+ const record = (0, _imageEventStore.createRecord)({
87
+ lib: 'web',
88
+ uri,
89
+ sourceKind: uri.startsWith('data:') ? 'data' : uri.startsWith('blob:') ? 'file' : 'network',
90
+ hasAltText: image.hasAttribute('alt') || image.hasAttribute('aria-label')
91
+ });
92
+ const item = {
93
+ id: record.id,
94
+ image,
95
+ source: image.getAttribute('src'),
96
+ srcset: image.getAttribute('srcset'),
97
+ style: image.getAttribute('style'),
98
+ appliedSource: image.getAttribute('src'),
99
+ appliedSrcset: image.getAttribute('srcset'),
100
+ appliedStyle: image.getAttribute('style'),
101
+ nonce: 0,
102
+ dispose() {}
103
+ };
104
+ const layout = () => {
105
+ const rect = image.getBoundingClientRect();
106
+ const previous = record.layout;
107
+ const shifted = record.status === 'loaded' && previous && (previous.width !== rect.width || previous.height !== rect.height);
108
+ (0, _imageEventStore.updateRecord)(record.id, {
109
+ layout: {
110
+ width: rect.width,
111
+ height: rect.height
112
+ },
113
+ layoutShifts: (record.layoutShifts ?? 0) + (shifted ? 1 : 0)
114
+ });
115
+ };
116
+ const loaded = () => {
117
+ const timings = performance.getEntriesByName(image.currentSrc || image.src);
118
+ const timing = timings[timings.length - 1];
119
+ (0, _imageEventStore.updateRecord)(record.id, {
120
+ status: 'loaded',
121
+ loadedAt: Date.now(),
122
+ intrinsic: {
123
+ width: image.naturalWidth,
124
+ height: image.naturalHeight
125
+ },
126
+ ...(!(0, _overrides.getOverride)(record.id)?.source && (0, _overrides.getGlobalModes)().network === 'normal' ? {
127
+ uri: image.currentSrc || image.src
128
+ } : {}),
129
+ durationMs: timing?.duration,
130
+ bytesTotal: timing && timing.encodedBodySize > 0 ? timing.encodedBodySize : undefined,
131
+ cacheVerdict: timing && timing.transferSize > 0 ? 'none' : undefined,
132
+ cacheVerdictSource: timing ? 'event' : undefined
133
+ });
134
+ layout();
135
+ };
136
+ const failed = () => (0, _imageEventStore.updateRecord)(record.id, {
137
+ status: 'error',
138
+ erroredAt: Date.now(),
139
+ error: 'The browser could not load this image.'
140
+ });
141
+ image.addEventListener('load', loaded);
142
+ image.addEventListener('error', failed);
143
+ const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(layout);
144
+ observer?.observe(image);
145
+ item.dispose = () => {
146
+ observer?.disconnect();
147
+ image.removeEventListener('load', loaded);
148
+ image.removeEventListener('error', failed);
149
+ };
150
+ tracked.set(image, item);
151
+ layout();
152
+ (0, _imageEventStore.updateRecord)(record.id, {
153
+ status: 'loading',
154
+ startedAt: Date.now(),
155
+ loadCount: 1
156
+ });
157
+ if (image.complete) {
158
+ if (image.naturalWidth > 0) loaded();else failed();
159
+ }
160
+ apply(item);
161
+ }
162
+ function installImageCapture() {
163
+ const state = (0, _state.imagesState)();
164
+ if (typeof document === 'undefined' || state.captureDisabled || detach) return;
165
+ state.captureInstalled = true;
166
+ const scan = () => {
167
+ for (const [image, item] of tracked) if (!image.isConnected) {
168
+ item.dispose();
169
+ tracked.delete(image);
170
+ (0, _imageEventStore.updateRecord)(item.id, {
171
+ mounted: false
172
+ });
173
+ }
174
+ document.querySelectorAll('img').forEach(track);
175
+ };
176
+ const observer = new MutationObserver(changes => {
177
+ if ((0, _state.imagesState)().captureDisabled) {
178
+ stopBrowserImageCapture();
179
+ return;
180
+ }
181
+ for (const change of changes) {
182
+ const image = change.target;
183
+ const item = tracked.get(image);
184
+ if (!item || change.type !== 'attributes') continue;
185
+ if (change.attributeName === 'src' && image.getAttribute('src') !== item.appliedSource || change.attributeName === 'srcset' && image.getAttribute('srcset') !== item.appliedSrcset) {
186
+ item.dispose();
187
+ tracked.delete(image);
188
+ (0, _imageEventStore.updateRecord)(item.id, {
189
+ mounted: false
190
+ });
191
+ } else if (change.attributeName === 'style' && image.getAttribute('style') !== item.appliedStyle) {
192
+ item.style = image.getAttribute('style');
193
+ apply(item);
194
+ }
195
+ }
196
+ scan();
197
+ });
198
+ observer.observe(document.documentElement, {
199
+ childList: true,
200
+ subtree: true,
201
+ attributes: true,
202
+ attributeFilter: ['src', 'srcset', 'style', 'alt']
203
+ });
204
+ const actions = () => {
205
+ for (const item of tracked.values()) apply(item);
206
+ };
207
+ state.actionListeners.add(actions);
208
+ detach = () => {
209
+ observer.disconnect();
210
+ state.actionListeners.delete(actions);
211
+ for (const item of tracked.values()) {
212
+ item.dispose();
213
+ for (const [attribute, value, applied] of [['src', item.source, item.appliedSource], ['srcset', item.srcset, item.appliedSrcset], ['style', item.style, item.appliedStyle]]) {
214
+ if (item.image.getAttribute(attribute) !== applied) continue;
215
+ if (value === null) item.image.removeAttribute(attribute);else item.image.setAttribute(attribute, value);
216
+ }
217
+ (0, _imageEventStore.updateRecord)(item.id, {
218
+ mounted: false
219
+ });
220
+ }
221
+ tracked.clear();
222
+ state.captureInstalled = false;
223
+ };
224
+ scan();
225
+ }
226
+ function stopBrowserImageCapture() {
227
+ detach?.();
228
+ detach = undefined;
229
+ }
230
+ function startBrowserImageCapture() {
231
+ if (typeof document === 'undefined') return () => {};
232
+ if (leases++ === 0) installImageCapture();
233
+ let released = false;
234
+ return () => {
235
+ if (released) return;
236
+ released = true;
237
+ if (--leases === 0) stopBrowserImageCapture();
238
+ };
239
+ }
240
+ function getCaptureStatus() {
241
+ return (0, _state.imagesState)().mirrorCaptureStatus ?? {
242
+ installed: !!detach,
243
+ rnDecoratorActive: false,
244
+ rnDecoratorTooLate: false,
245
+ expoPatched: false,
246
+ expoAvailable: false,
247
+ browserObserverActive: !!detach
248
+ };
249
+ }
250
+ //# sourceMappingURL=install.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_state","require","_imageEventStore","_overrides","tracked","Map","detach","leases","EMPTY_IMAGE","apply","item","record","getRecord","id","state","imagesState","override","getOverride","modes","getGlobalModes","source","network","sourceKind","next","type","uri","updateRecord","status","request","reloadRequests","get","reload","nonce","bust","test","URL","document","baseURI","href","url","searchParams","set","String","Date","now","image","removeAttribute","startedAt","loadCount","coldSource","coldURL","undefined","appliedSource","appliedSrcset","srcset","getAttribute","setAttribute","style","createElement","cssText","fit","extraProps","contentFit","resizeMode","objectFit","stretch","center","blank","opacity","key","value","Object","entries","css","replace","letter","toLowerCase","setProperty","includes","flashUntil","outline","appliedStyle","track","has","closest","currentSrc","src","createRecord","lib","startsWith","hasAltText","hasAttribute","dispose","layout","rect","getBoundingClientRect","previous","shifted","width","height","layoutShifts","loaded","timings","performance","getEntriesByName","timing","length","loadedAt","intrinsic","naturalWidth","naturalHeight","durationMs","duration","bytesTotal","encodedBodySize","cacheVerdict","transferSize","cacheVerdictSource","failed","erroredAt","error","addEventListener","observer","ResizeObserver","observe","disconnect","removeEventListener","complete","installImageCapture","captureDisabled","captureInstalled","scan","isConnected","delete","mounted","querySelectorAll","forEach","MutationObserver","changes","stopBrowserImageCapture","change","target","attributeName","documentElement","childList","subtree","attributes","attributeFilter","actions","values","actionListeners","add","attribute","applied","clear","startBrowserImageCapture","released","getCaptureStatus","mirrorCaptureStatus","installed","rnDecoratorActive","rnDecoratorTooLate","expoPatched","expoAvailable","browserObserverActive"],"sourceRoot":"../../../src","sources":["capture/install.web.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.installRnImageInterceptor = installRnImageInterceptor;
7
7
  exports.rnCaptureStatus = rnCaptureStatus;
8
+ exports.useImageCapture = useImageCapture;
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _state = require("../state");
10
11
  var _actions = require("./actions");
@@ -84,7 +85,10 @@ function installRnImageInterceptor() {
84
85
  const injection = require("react-native/Libraries/Image/ImageInjection");
85
86
  const setDecorator = injection.unstable_setImageComponentDecorator;
86
87
  const registerAttached = injection.unstable_registerImageAttachedCallback;
87
- if (typeof setDecorator === "function") {
88
+
89
+ // `register-early` (a pre-InitializeCore entry) may have registered the
90
+ // decorator already; registering again would replace it with an identical one.
91
+ if (typeof setDecorator === "function" && !s.decoratorRegistered) {
88
92
  setDecorator(BaseImage => {
89
93
  (0, _state.imagesState)().decoratorInvoked = true;
90
94
  const CapturedImage = /*#__PURE__*/React.forwardRef(function BuoyCapturedImage(props, ref) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_state","_actions","_overrides","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useImageCapture","props","trackerRef","useRef","current","ImageInstanceTracker","tracker","internal","isInternalImage","testID","syncSource","source","noteA11y","Boolean","alt","accessibilityLabel","useSyncExternalStore","subscribeActions","getRenderVersion","getRecordId","useEffect","undefined","unmount","reloadKey","recordId","wrapped","handlers","out","request","getReloadRequest","bust","patchSourceCache","applyOverrides","getReloadNonce","installRnImageInterceptor","s","imagesState","rnInstalled","injection","setDecorator","unstable_setImageComponentDecorator","registerAttached","unstable_registerImageAttachedCallback","BaseImage","decoratorInvoked","CapturedImage","forwardRef","BuoyCapturedImage","ref","instrumented","jsx","decoratorRegistered","attachSeen","rnCaptureStatus","decoratorActive","tooLate"],"sourceRoot":"../../../src","sources":["capture/installRnImage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_state","_actions","_overrides","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useImageCapture","props","trackerRef","useRef","current","ImageInstanceTracker","tracker","internal","isInternalImage","testID","syncSource","source","noteA11y","Boolean","alt","accessibilityLabel","useSyncExternalStore","subscribeActions","getRenderVersion","getRecordId","useEffect","undefined","unmount","reloadKey","recordId","wrapped","handlers","out","request","getReloadRequest","bust","patchSourceCache","applyOverrides","getReloadNonce","installRnImageInterceptor","s","imagesState","rnInstalled","injection","setDecorator","unstable_setImageComponentDecorator","registerAttached","unstable_registerImageAttachedCallback","decoratorRegistered","BaseImage","decoratorInvoked","CapturedImage","forwardRef","BuoyCapturedImage","ref","instrumented","jsx","attachSeen","rnCaptureStatus","decoratorActive","tooLate"],"sourceRoot":"../../../src","sources":["capture/installRnImage.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.loadExpoImage = loadExpoImage;
7
+ exports.loadFileSystemModule = loadFileSystemModule;
8
+ exports.loadLegacyFileSystem = loadLegacyFileSystem;
9
+ function loadExpoImage() {
10
+ try {
11
+ return require('expo-image');
12
+ } catch {
13
+ return null;
14
+ }
15
+ }
16
+ function loadLegacyFileSystem() {
17
+ try {
18
+ return require('expo-file-system/legacy');
19
+ } catch {
20
+ return null;
21
+ }
22
+ }
23
+ function loadFileSystemModule() {
24
+ try {
25
+ return require('expo-file-system');
26
+ } catch {
27
+ return null;
28
+ }
29
+ }
30
+ //# sourceMappingURL=nativeImageModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["loadExpoImage","require","loadLegacyFileSystem","loadFileSystemModule"],"sourceRoot":"../../../src","sources":["capture/nativeImageModules.ts"],"mappings":";;;;;;;;AAAO,SAASA,aAAaA,CAAA,EAAQ;EAAE,IAAI;IAAE,OAAOC,OAAO,CAAC,YAAY,CAAC;EAAE,CAAC,CAAC,MAAM;IAAE,OAAO,IAAI;EAAE;AAAE;AAC7F,SAASC,oBAAoBA,CAAA,EAAQ;EAAE,IAAI;IAAE,OAAOD,OAAO,CAAC,yBAAyB,CAAC;EAAE,CAAC,CAAC,MAAM;IAAE,OAAO,IAAI;EAAE;AAAE;AACjH,SAASE,oBAAoBA,CAAA,EAAQ;EAAE,IAAI;IAAE,OAAOF,OAAO,CAAC,kBAAkB,CAAC;EAAE,CAAC,CAAC,MAAM;IAAE,OAAO,IAAI;EAAE;AAAE","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.loadExpoImage = loadExpoImage;
7
+ exports.loadFileSystemModule = loadFileSystemModule;
8
+ exports.loadLegacyFileSystem = loadLegacyFileSystem;
9
+ function loadExpoImage() {
10
+ return null;
11
+ }
12
+ function loadLegacyFileSystem() {
13
+ return null;
14
+ }
15
+ function loadFileSystemModule() {
16
+ return null;
17
+ }
18
+ //# sourceMappingURL=nativeImageModules.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["loadExpoImage","loadLegacyFileSystem","loadFileSystemModule"],"sourceRoot":"../../../src","sources":["capture/nativeImageModules.web.ts"],"mappings":";;;;;;;;AAAO,SAASA,aAAaA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE;AAC9C,SAASC,oBAAoBA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE;AACrD,SAASC,oBAAoBA,CAAA,EAAS;EAAE,OAAO,IAAI;AAAE","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.installRnImageDecoratorEarly = installRnImageDecoratorEarly;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _state = require("../state");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ /**
12
+ * Minimal RN <Image> decorator install, safe to run before React Native's
13
+ * InitializeCore.
14
+ *
15
+ * RN latches the decorator once, when `Image.ios.js` / `Image.android.js` is
16
+ * first evaluated. In development builds that happens during InitializeCore:
17
+ * AppRegistry pulls in the LogBox inspector, which imports Image. So even the
18
+ * first import of the app's entry file (`@buoy-gg/images/register`) is too
19
+ * late there, and the tool reports "missed the module-load race".
20
+ *
21
+ * `register` itself can't run before InitializeCore, because its imports touch
22
+ * globals InitializeCore installs (FormData, for one). This module imports only
23
+ * React, the ImageInjection hook and the globalThis state, and loads the
24
+ * capture hook lazily on the first render, by which time everything exists.
25
+ * Run it as a Metro pre-main module ahead of InitializeCore (see README).
26
+ */
27
+
28
+ function installRnImageDecoratorEarly() {
29
+ const s = (0, _state.imagesState)();
30
+ if (s.decoratorRegistered) return;
31
+ try {
32
+ const injection = require("react-native/Libraries/Image/ImageInjection");
33
+ const setDecorator = injection.unstable_setImageComponentDecorator;
34
+ if (typeof setDecorator !== "function") return;
35
+ setDecorator(BaseImage => {
36
+ (0, _state.imagesState)().decoratorInvoked = true;
37
+ return /*#__PURE__*/React.forwardRef(function BuoyCapturedImage(props, ref) {
38
+ // Same module every render, so the hook order stays stable.
39
+ const useImageCapture = require("./installRnImage").useImageCapture;
40
+ const {
41
+ props: instrumented,
42
+ reloadKey
43
+ } = useImageCapture(props);
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseImage, {
45
+ ...instrumented,
46
+ ref: ref
47
+ }, `buoy-r${reloadKey}`);
48
+ });
49
+ });
50
+ s.decoratorRegistered = true;
51
+ } catch {
52
+ // Internal RN path moved: the regular install reports the decorator inactive.
53
+ }
54
+ }
55
+ //# sourceMappingURL=rnDecoratorEarly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_state","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","installRnImageDecoratorEarly","s","imagesState","decoratorRegistered","injection","setDecorator","unstable_setImageComponentDecorator","BaseImage","decoratorInvoked","forwardRef","BuoyCapturedImage","props","ref","useImageCapture","instrumented","reloadKey","jsx"],"sourceRoot":"../../../src","sources":["capture/rnDecoratorEarly.tsx"],"mappings":";;;;;;AAiBA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAuC,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAlBvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUO,SAASkB,4BAA4BA,CAAA,EAAS;EACnD,MAAMC,CAAC,GAAG,IAAAC,kBAAW,EAAC,CAAC;EACvB,IAAID,CAAC,CAACE,mBAAmB,EAAE;EAC3B,IAAI;IACF,MAAMC,SAAS,GAAG1B,OAAO,CAAC,6CAA6C,CAAC;IACxE,MAAM2B,YAAgD,GACpDD,SAAS,CAACE,mCAAmC;IAC/C,IAAI,OAAOD,YAAY,KAAK,UAAU,EAAE;IACxCA,YAAY,CAAEE,SAAuD,IAAK;MACxE,IAAAL,kBAAW,EAAC,CAAC,CAACM,gBAAgB,GAAG,IAAI;MACrC,oBAAOhC,KAAK,CAACiC,UAAU,CACrB,SAASC,iBAAiBA,CAACC,KAAK,EAAEC,GAAG,EAAE;QACrC;QACA,MAAMC,eAAwB,GAAGnC,OAAO,CAAC,kBAAkB,CAAC,CAACmC,eAAe;QAC5E,MAAM;UAAEF,KAAK,EAAEG,YAAY;UAAEC;QAAU,CAAC,GAAGF,eAAe,CAACF,KAAK,CAAC;QACjE,oBAAO,IAAA/B,WAAA,CAAAoC,GAAA,EAACT,SAAS;UAAA,GAAgCO,YAAY;UAAEF,GAAG,EAAEA;QAAI,GAAjD,SAASG,SAAS,EAAiC,CAAC;MAC7E,CACF,CAAC;IACH,CAAC,CAAC;IACFd,CAAC,CAACE,mBAAmB,GAAG,IAAI;EAC9B,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.proveSavings = proveSavings;
7
+ var _remote = require("../remote");
8
+ var _imageEventStore = require("../store/imageEventStore");
9
+ const urls = new Map();
10
+ async function proveSavings(record) {
11
+ const remote = (0, _remote.remoteImagesDispatch)();
12
+ if (remote) return await remote('proveSavings', {
13
+ id: record.id
14
+ });
15
+ const dimensions = (0, _imageEventStore.neededPixels)(record);
16
+ if (!dimensions) return {
17
+ ok: false,
18
+ message: 'Measure the displayed image before optimizing it.'
19
+ };
20
+ try {
21
+ const response = await fetch(record.uri);
22
+ if (!response.ok) throw new Error(`Image download returned HTTP ${response.status}.`);
23
+ const original = await response.blob();
24
+ const bitmap = await createImageBitmap(original);
25
+ const canvas = document.createElement('canvas');
26
+ canvas.width = Math.max(1, Math.min(bitmap.width, Math.round(dimensions.width)));
27
+ canvas.height = Math.max(1, Math.min(bitmap.height, Math.round(dimensions.height)));
28
+ const context = canvas.getContext('2d');
29
+ if (!context) {
30
+ bitmap.close();
31
+ throw new Error('Canvas is unavailable.');
32
+ }
33
+ context.drawImage(bitmap, 0, 0, canvas.width, canvas.height);
34
+ bitmap.close();
35
+ const optimized = await new Promise((resolve, reject) => canvas.toBlob(blob => blob ? resolve(blob) : reject(new Error('Image encoding failed.')), 'image/webp', 0.8));
36
+ if (optimized.type !== 'image/webp') return {
37
+ ok: false,
38
+ message: 'This browser cannot encode WebP images.'
39
+ };
40
+ const previous = urls.get(record.id);
41
+ if (previous) URL.revokeObjectURL(previous);
42
+ const uri = URL.createObjectURL(optimized);
43
+ urls.set(record.id, uri);
44
+ while (urls.size > 30) {
45
+ const [id, value] = urls.entries().next().value;
46
+ URL.revokeObjectURL(value);
47
+ urls.delete(id);
48
+ }
49
+ const savedBytes = original.size - optimized.size;
50
+ return {
51
+ ok: true,
52
+ message: 'WebP preview created.',
53
+ originalBytes: original.size,
54
+ originalBytesSource: 'download',
55
+ optimizedBytes: optimized.size,
56
+ optimizedUri: uri,
57
+ optimizedDims: {
58
+ width: canvas.width,
59
+ height: canvas.height
60
+ },
61
+ savedBytes,
62
+ savedPct: original.size ? savedBytes / original.size * 100 : 0
63
+ };
64
+ } catch (error) {
65
+ return {
66
+ ok: false,
67
+ message: `Image optimization failed: ${error instanceof Error ? error.message : String(error)}`
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=savings.web.js.map