@hot-updater/react-native 0.36.14 → 0.36.16

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.
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.HOT_UPDATER_SDK_VERSION = void 0;
7
- const HOT_UPDATER_SDK_VERSION = exports.HOT_UPDATER_SDK_VERSION = "0.36.14";
7
+ const HOT_UPDATER_SDK_VERSION = exports.HOT_UPDATER_SDK_VERSION = "0.36.16";
8
8
  //# sourceMappingURL=sdkVersion.js.map
@@ -98,10 +98,36 @@ function wrap(options) {
98
98
  reloadOnForceUpdate = true,
99
99
  ...restOptions
100
100
  } = options;
101
+
102
+ // Progress is subscribed only where it is rendered or reported, so progress
103
+ // events don't re-render the wrapped app.
104
+ const ProgressReporter = ({
105
+ onProgress
106
+ }) => {
107
+ const progress = (0, _store.useHotUpdaterStore)(state => state.progress);
108
+ (0, _react.useEffect)(() => {
109
+ onProgress(progress);
110
+ }, [progress]);
111
+ return null;
112
+ };
113
+ const FallbackWithProgress = ({
114
+ Fallback,
115
+ status,
116
+ message
117
+ }) => {
118
+ const progressState = (0, _store.useHotUpdaterStore)(state => state);
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Fallback, {
120
+ artifactType: progressState.artifactType,
121
+ details: progressState.details,
122
+ downloadedBytes: progressState.downloadedBytes,
123
+ progress: progressState.progress,
124
+ status: status,
125
+ message: message,
126
+ totalBytes: progressState.totalBytes
127
+ });
128
+ };
101
129
  return WrappedComponent => {
102
130
  const HotUpdaterHOC = props => {
103
- const progressState = (0, _store.useHotUpdaterStore)(state => state);
104
- const progress = progressState.progress;
105
131
  const [message, setMessage] = (0, _react.useState)(null);
106
132
  const [updateStatus, setUpdateStatus] = (0, _react.useState)("CHECK_FOR_UPDATE");
107
133
  const initHotUpdater = (0, _useEventCallback.useEventCallback)(async () => {
@@ -159,9 +185,6 @@ function wrap(options) {
159
185
  setUpdateStatus("UPDATE_PROCESS_COMPLETED");
160
186
  }
161
187
  });
162
- (0, _react.useEffect)(() => {
163
- restOptions.onProgress?.(progress);
164
- }, [progress]);
165
188
 
166
189
  // Read the native launch report after the first render commit.
167
190
  (0, _react.useEffect)(() => {
@@ -172,21 +195,21 @@ function wrap(options) {
172
195
  (0, _react.useEffect)(() => {
173
196
  initHotUpdater();
174
197
  }, []);
175
- if (restOptions.fallbackComponent && updateStatus !== "UPDATE_PROCESS_COMPLETED") {
176
- const Fallback = restOptions.fallbackComponent;
177
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Fallback, {
178
- artifactType: progressState.artifactType,
179
- details: progressState.details,
180
- downloadedBytes: progressState.downloadedBytes,
181
- progress: progress,
182
- status: updateStatus,
183
- message: message,
184
- totalBytes: progressState.totalBytes
185
- });
186
- }
187
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
198
+ const content = restOptions.fallbackComponent && updateStatus !== "UPDATE_PROCESS_COMPLETED" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(FallbackWithProgress, {
199
+ Fallback: restOptions.fallbackComponent,
200
+ status: updateStatus,
201
+ message: message
202
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
188
203
  ...props
189
204
  });
205
+ if (!restOptions.onProgress) {
206
+ return content;
207
+ }
208
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
209
+ children: [content, /*#__PURE__*/(0, _jsxRuntime.jsx)(ProgressReporter, {
210
+ onProgress: restOptions.onProgress
211
+ })]
212
+ });
190
213
  };
191
214
  return HotUpdaterHOC;
192
215
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_checkForUpdate","_useEventCallback","_native","_store","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","didWarnManualWrapDeprecation","warnManualWrapDeprecation","console","warn","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","handleNotifyAppReady","options","nativeResult","nativeNotifyAppReady","resolver","notifyAppReady","status","crashedBundleId","requestHeaders","requestTimeout","catch","onError","onNotifyAppReady","init","wrap","updateMode","WrappedComponent","ManualHOC","props","useEffect","jsx","reloadOnForceUpdate","restOptions","HotUpdaterHOC","progressState","useHotUpdaterStore","state","progress","message","setMessage","useState","updateStatus","setUpdateStatus","initHotUpdater","useEventCallback","updateInfo","checkForUpdate","updateStrategy","onUpdateProcessCompleted","shouldForceUpdate","id","getBundleId","updateBundle","error","isSuccess","Error","reload","onProgress","fallbackComponent","Fallback","artifactType","details","downloadedBytes","totalBytes"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_checkForUpdate","_useEventCallback","_native","_store","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","didWarnManualWrapDeprecation","warnManualWrapDeprecation","console","warn","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","handleNotifyAppReady","options","nativeResult","nativeNotifyAppReady","resolver","notifyAppReady","status","crashedBundleId","requestHeaders","requestTimeout","catch","onError","onNotifyAppReady","init","wrap","updateMode","WrappedComponent","ManualHOC","props","useEffect","jsx","reloadOnForceUpdate","restOptions","ProgressReporter","onProgress","progress","useHotUpdaterStore","state","FallbackWithProgress","Fallback","message","progressState","artifactType","details","downloadedBytes","totalBytes","HotUpdaterHOC","setMessage","useState","updateStatus","setUpdateStatus","initHotUpdater","useEventCallback","updateInfo","checkForUpdate","updateStrategy","onUpdateProcessCompleted","shouldForceUpdate","id","getBundleId","updateBundle","error","isSuccess","Error","reload","content","fallbackComponent","jsxs","Fragment","children"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ var _react = require("@testing-library/react");
4
+ var _react2 = require("react");
5
+ var _vitest = require("vitest");
6
+ 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); } // @vitest-environment jsdom
7
+ const mocks = _vitest.vi.hoisted(() => ({
8
+ listeners: new Map(),
9
+ checkForUpdate: _vitest.vi.fn()
10
+ }));
11
+ _vitest.vi.mock("./checkForUpdate", () => ({
12
+ checkForUpdate: mocks.checkForUpdate
13
+ }));
14
+ _vitest.vi.mock("./native", () => ({
15
+ addListener: _vitest.vi.fn((eventName, listener) => {
16
+ mocks.listeners.set(eventName, listener);
17
+ return () => {
18
+ mocks.listeners.delete(eventName);
19
+ };
20
+ }),
21
+ getBundleId: _vitest.vi.fn(() => "bundle-id"),
22
+ notifyAppReady: _vitest.vi.fn(() => ({
23
+ status: "STABLE"
24
+ })),
25
+ reload: _vitest.vi.fn()
26
+ }));
27
+ (0, _vitest.describe)("HotUpdater wrap progress subscription", () => {
28
+ let frameCallbacks;
29
+ const flushFrames = async () => {
30
+ await (0, _react2.act)(async () => {
31
+ await new Promise(resolve => setImmediate(resolve));
32
+ while (frameCallbacks.length > 0) {
33
+ frameCallbacks.shift()?.(0);
34
+ }
35
+ });
36
+ };
37
+ const emitProgress = async progress => {
38
+ await (0, _react2.act)(async () => {
39
+ mocks.listeners.get("onProgress")?.({
40
+ artifactType: "archive",
41
+ downloadedBytes: progress * 1_000,
42
+ progress,
43
+ totalBytes: 1_000
44
+ });
45
+ });
46
+ await flushFrames();
47
+ };
48
+ const renderWrapped = async (options, onRender) => {
49
+ const {
50
+ wrap
51
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
52
+ const App = () => {
53
+ onRender();
54
+ return /*#__PURE__*/(0, _react2.createElement)("div", null, "app");
55
+ };
56
+ const Wrapped = wrap({
57
+ resolver: {
58
+ checkUpdate: _vitest.vi.fn().mockResolvedValue(null)
59
+ },
60
+ updateStrategy: "appVersion",
61
+ updateMode: "auto",
62
+ ...options
63
+ })(App);
64
+ (0, _react.render)(/*#__PURE__*/(0, _react2.createElement)(Wrapped));
65
+ await flushFrames();
66
+ };
67
+ (0, _vitest.beforeEach)(() => {
68
+ _vitest.vi.resetModules();
69
+ mocks.listeners.clear();
70
+ mocks.checkForUpdate.mockReset();
71
+ mocks.checkForUpdate.mockResolvedValue(null);
72
+ frameCallbacks = [];
73
+ _vitest.vi.stubGlobal("requestAnimationFrame", callback => {
74
+ frameCallbacks.push(callback);
75
+ return frameCallbacks.length;
76
+ });
77
+ });
78
+ (0, _vitest.afterEach)(() => {
79
+ (0, _react.cleanup)();
80
+ _vitest.vi.unstubAllGlobals();
81
+ });
82
+ (0, _vitest.it)("does not re-render the wrapped app on progress updates without fallbackComponent or onProgress", async () => {
83
+ // Given
84
+ const onRender = _vitest.vi.fn();
85
+ await renderWrapped({}, onRender);
86
+ const rendersBeforeDownload = onRender.mock.calls.length;
87
+
88
+ // When
89
+ for (const progress of [0.1, 0.2, 0.3, 0.4, 0.5]) {
90
+ await emitProgress(progress);
91
+ }
92
+
93
+ // Then
94
+ (0, _vitest.expect)(onRender).toHaveBeenCalledTimes(rendersBeforeDownload);
95
+ });
96
+ (0, _vitest.it)("keeps reporting progress to onProgress without re-rendering the wrapped app", async () => {
97
+ // Given
98
+ const onRender = _vitest.vi.fn();
99
+ const onProgress = _vitest.vi.fn();
100
+ await renderWrapped({
101
+ onProgress
102
+ }, onRender);
103
+ const rendersBeforeDownload = onRender.mock.calls.length;
104
+
105
+ // When
106
+ await emitProgress(0.25);
107
+ await emitProgress(0.75);
108
+
109
+ // Then
110
+ (0, _vitest.expect)(onProgress).toHaveBeenLastCalledWith(0.75);
111
+ (0, _vitest.expect)(onProgress).toHaveBeenCalledWith(0.25);
112
+ (0, _vitest.expect)(onRender).toHaveBeenCalledTimes(rendersBeforeDownload);
113
+ });
114
+ (0, _vitest.it)("keeps passing progress to fallbackComponent while the update is in progress", async () => {
115
+ // Given
116
+ mocks.checkForUpdate.mockReturnValue(new Promise(() => {}));
117
+ const Fallback = ({
118
+ progress
119
+ }) => /*#__PURE__*/(0, _react2.createElement)("div", null, `progress:${progress}`);
120
+ await renderWrapped({
121
+ fallbackComponent: Fallback
122
+ }, _vitest.vi.fn());
123
+
124
+ // When
125
+ await emitProgress(0.5);
126
+
127
+ // Then
128
+ (0, _vitest.expect)(_react.screen.getByText("progress:0.5")).toBeTruthy();
129
+ });
130
+ });
131
+ //# sourceMappingURL=wrap.progress.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_react2","_vitest","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","mocks","vi","hoisted","listeners","Map","checkForUpdate","fn","mock","addListener","eventName","listener","delete","getBundleId","notifyAppReady","status","reload","describe","frameCallbacks","flushFrames","act","Promise","resolve","setImmediate","length","shift","emitProgress","progress","artifactType","downloadedBytes","totalBytes","renderWrapped","options","onRender","wrap","then","App","createElement","Wrapped","resolver","checkUpdate","mockResolvedValue","updateStrategy","updateMode","render","beforeEach","resetModules","clear","mockReset","stubGlobal","callback","push","afterEach","cleanup","unstubAllGlobals","it","rendersBeforeDownload","calls","expect","toHaveBeenCalledTimes","onProgress","toHaveBeenLastCalledWith","toHaveBeenCalledWith","mockReturnValue","Fallback","fallbackComponent","screen","getByText","toBeTruthy"],"sourceRoot":"../../src","sources":["wrap.progress.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export const HOT_UPDATER_SDK_VERSION = "0.36.14";
3
+ export const HOT_UPDATER_SDK_VERSION = "0.36.16";
4
4
  //# sourceMappingURL=sdkVersion.js.map
@@ -26,7 +26,7 @@ import { useHotUpdaterStore } from "./store.js";
26
26
  * Internal options after normalization in index.ts
27
27
  * Always has resolver (never baseURL)
28
28
  */
29
- import { jsx as _jsx } from "react/jsx-runtime";
29
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
30
30
  let didWarnManualWrapDeprecation = false;
31
31
  const warnManualWrapDeprecation = () => {
32
32
  if (didWarnManualWrapDeprecation) {
@@ -92,10 +92,36 @@ export function wrap(options) {
92
92
  reloadOnForceUpdate = true,
93
93
  ...restOptions
94
94
  } = options;
95
+
96
+ // Progress is subscribed only where it is rendered or reported, so progress
97
+ // events don't re-render the wrapped app.
98
+ const ProgressReporter = ({
99
+ onProgress
100
+ }) => {
101
+ const progress = useHotUpdaterStore(state => state.progress);
102
+ useEffect(() => {
103
+ onProgress(progress);
104
+ }, [progress]);
105
+ return null;
106
+ };
107
+ const FallbackWithProgress = ({
108
+ Fallback,
109
+ status,
110
+ message
111
+ }) => {
112
+ const progressState = useHotUpdaterStore(state => state);
113
+ return /*#__PURE__*/_jsx(Fallback, {
114
+ artifactType: progressState.artifactType,
115
+ details: progressState.details,
116
+ downloadedBytes: progressState.downloadedBytes,
117
+ progress: progressState.progress,
118
+ status: status,
119
+ message: message,
120
+ totalBytes: progressState.totalBytes
121
+ });
122
+ };
95
123
  return WrappedComponent => {
96
124
  const HotUpdaterHOC = props => {
97
- const progressState = useHotUpdaterStore(state => state);
98
- const progress = progressState.progress;
99
125
  const [message, setMessage] = useState(null);
100
126
  const [updateStatus, setUpdateStatus] = useState("CHECK_FOR_UPDATE");
101
127
  const initHotUpdater = useEventCallback(async () => {
@@ -153,9 +179,6 @@ export function wrap(options) {
153
179
  setUpdateStatus("UPDATE_PROCESS_COMPLETED");
154
180
  }
155
181
  });
156
- useEffect(() => {
157
- restOptions.onProgress?.(progress);
158
- }, [progress]);
159
182
 
160
183
  // Read the native launch report after the first render commit.
161
184
  useEffect(() => {
@@ -166,21 +189,21 @@ export function wrap(options) {
166
189
  useEffect(() => {
167
190
  initHotUpdater();
168
191
  }, []);
169
- if (restOptions.fallbackComponent && updateStatus !== "UPDATE_PROCESS_COMPLETED") {
170
- const Fallback = restOptions.fallbackComponent;
171
- return /*#__PURE__*/_jsx(Fallback, {
172
- artifactType: progressState.artifactType,
173
- details: progressState.details,
174
- downloadedBytes: progressState.downloadedBytes,
175
- progress: progress,
176
- status: updateStatus,
177
- message: message,
178
- totalBytes: progressState.totalBytes
179
- });
180
- }
181
- return /*#__PURE__*/_jsx(WrappedComponent, {
192
+ const content = restOptions.fallbackComponent && updateStatus !== "UPDATE_PROCESS_COMPLETED" ? /*#__PURE__*/_jsx(FallbackWithProgress, {
193
+ Fallback: restOptions.fallbackComponent,
194
+ status: updateStatus,
195
+ message: message
196
+ }) : /*#__PURE__*/_jsx(WrappedComponent, {
182
197
  ...props
183
198
  });
199
+ if (!restOptions.onProgress) {
200
+ return content;
201
+ }
202
+ return /*#__PURE__*/_jsxs(_Fragment, {
203
+ children: [content, /*#__PURE__*/_jsx(ProgressReporter, {
204
+ onProgress: restOptions.onProgress
205
+ })]
206
+ });
184
207
  };
185
208
  return HotUpdaterHOC;
186
209
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","checkForUpdate","useEventCallback","getBundleId","notifyAppReady","nativeNotifyAppReady","reload","useHotUpdaterStore","jsx","_jsx","didWarnManualWrapDeprecation","warnManualWrapDeprecation","console","warn","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","handleNotifyAppReady","options","nativeResult","resolver","status","crashedBundleId","requestHeaders","requestTimeout","catch","e","onError","onNotifyAppReady","init","wrap","updateMode","WrappedComponent","ManualHOC","props","reloadOnForceUpdate","restOptions","HotUpdaterHOC","progressState","state","progress","message","setMessage","updateStatus","setUpdateStatus","initHotUpdater","updateInfo","updateStrategy","onUpdateProcessCompleted","shouldForceUpdate","id","updateBundle","error","isSuccess","Error","onProgress","fallbackComponent","Fallback","artifactType","details","downloadedBytes","totalBytes"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","checkForUpdate","useEventCallback","getBundleId","notifyAppReady","nativeNotifyAppReady","reload","useHotUpdaterStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","didWarnManualWrapDeprecation","warnManualWrapDeprecation","console","warn","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","handleNotifyAppReady","options","nativeResult","resolver","status","crashedBundleId","requestHeaders","requestTimeout","catch","e","onError","onNotifyAppReady","init","wrap","updateMode","WrappedComponent","ManualHOC","props","reloadOnForceUpdate","restOptions","ProgressReporter","onProgress","progress","state","FallbackWithProgress","Fallback","message","progressState","artifactType","details","downloadedBytes","totalBytes","HotUpdaterHOC","setMessage","updateStatus","setUpdateStatus","initHotUpdater","updateInfo","updateStrategy","onUpdateProcessCompleted","shouldForceUpdate","id","updateBundle","error","isSuccess","Error","content","fallbackComponent","children"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElD,SAASC,cAAc,QAAQ,qBAAkB;AAEjD,SAASC,gBAAgB,QAAQ,6BAA0B;AAC3D,SACEC,WAAW,EAEXC,cAAc,IAAIC,oBAAoB,EACtCC,MAAM,QACD,aAAU;AACjB,SAA+BC,kBAAkB,QAAQ,YAAS;;AAyBlE;AACA;AACA;;AA6CA;AACA;AACA;;AAgBA;AACA;AACA;;AAaA;AACA;AACA;;AAoFA;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAiCA,IAAIC,4BAA4B,GAAG,KAAK;AAExC,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EACtC,IAAID,4BAA4B,EAAE;IAChC;EACF;EAEAA,4BAA4B,GAAG,IAAI;EACnCE,OAAO,CAACC,IAAI,CACV,wEAAwE,GACtE,sEAAsE,GACtE,gDAAgD,GAChD,+DAA+D,GAC/D,uDACJ,CAAC;AACH,CAAC;AAED,MAAMC,gBAAgB,GAAGA,CAAA,KACvB,IAAIC,OAAO,CAAQC,OAAO,IAAK;EAC7B,MAAMC,qBAAqB,GACzBC,UAAU,EAGTD,qBAAqB;EAExB,IAAIA,qBAAqB,EAAE;IACzBA,qBAAqB,CAAC,MAAMD,OAAO,CAAC,CAAC,CAAC;IACtC;EACF;EAEA,KAAKD,OAAO,CAACC,OAAO,CAAC,CAAC,CAACG,IAAI,CAACH,OAAO,CAAC;AACtC,CAAC,CAAC;;AAEJ;AACA;AACA;AACA,MAAMI,oBAAoB,GAAG,MAAOC,OAMnC,IAAoB;EACnB,MAAMP,gBAAgB,CAAC,CAAC;EAExB,IAAI;IACF,MAAMQ,YAAY,GAAGrB,oBAAoB,CAAC,CAAC;;IAE3C;IACA,IAAIoB,OAAO,CAACE,QAAQ,EAAEvB,cAAc,EAAE;MACpC,MAAMqB,OAAO,CAACE,QAAQ,CACnBvB,cAAc,CAAC;QACdwB,MAAM,EAAEF,YAAY,CAACE,MAAM;QAC3BC,eAAe,EAAEH,YAAY,CAACG,eAAe;QAC7CC,cAAc,EAAEL,OAAO,CAACK,cAAc;QACtCC,cAAc,EAAEN,OAAO,CAACM;MAC1B,CAAC,CAAC,CACDC,KAAK,CAAEC,CAAU,IAAK;QACrBR,OAAO,CAACS,OAAO,GAAGD,CAAC,CAAC;QACpBjB,OAAO,CAACC,IAAI,CAAC,8CAA8C,EAAEgB,CAAC,CAAC;MACjE,CAAC,CAAC;IACN;IAEAR,OAAO,CAACU,gBAAgB,GAAGT,YAAY,CAAC;EAC1C,CAAC,CAAC,OAAOO,CAAC,EAAE;IACVR,OAAO,CAACS,OAAO,GAAGD,CAAC,CAAC;IACpBjB,OAAO,CAACC,IAAI,CAAC,0CAA0C,EAAEgB,CAAC,CAAC;EAC7D;AACF,CAAC;AAED,OAAO,SAASG,IAAIA,CAACX,OAA4B,EAAQ;EACvD,KAAKD,oBAAoB,CAACC,OAAO,CAAC;AACpC;AAEA,OAAO,SAASY,IAAIA,CAClBZ,OAA4B,EAGF;EAC1B,IAAIA,OAAO,CAACa,UAAU,KAAK,QAAQ,EAAE;IACnCvB,yBAAyB,CAAC,CAAC;IAE3B,OAA0BwB,gBAAwC,IAAK;MACrE,MAAMC,SAAsB,GAAIC,KAAQ,IAAK;QAC3C1C,SAAS,CAAC,MAAM;UACd,KAAKyB,oBAAoB,CAACC,OAAO,CAAC;QACpC,CAAC,EAAE,EAAE,CAAC;QAEN,oBAAOhB,IAAA,CAAC8B,gBAAgB;UAAA,GAAKE;QAAK,CAAG,CAAC;MACxC,CAAC;MAED,OAAOD,SAAS;IAClB,CAAC;EACH;EAEA,MAAM;IAAEE,mBAAmB,GAAG,IAAI;IAAE,GAAGC;EAAY,CAAC,GAAGlB,OAAO;;EAE9D;EACA;EACA,MAAMmB,gBAAgB,GAAGA,CAAC;IACxBC;EAGF,CAAC,KAAK;IACJ,MAAMC,QAAQ,GAAGvC,kBAAkB,CAAEwC,KAAK,IAAKA,KAAK,CAACD,QAAQ,CAAC;IAE9D/C,SAAS,CAAC,MAAM;MACd8C,UAAU,CAACC,QAAQ,CAAC;IACtB,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;IAEd,OAAO,IAAI;EACb,CAAC;EAED,MAAME,oBAAoB,GAAGA,CAAC;IAC5BC,QAAQ;IACRrB,MAAM;IACNsB;EAKF,CAAC,KAAK;IACJ,MAAMC,aAAa,GAAG5C,kBAAkB,CAAEwC,KAAK,IAAKA,KAAK,CAAC;IAE1D,oBACEtC,IAAA,CAACwC,QAAQ;MACPG,YAAY,EAAED,aAAa,CAACC,YAAa;MACzCC,OAAO,EAAEF,aAAa,CAACE,OAAQ;MAC/BC,eAAe,EAAEH,aAAa,CAACG,eAAgB;MAC/CR,QAAQ,EAAEK,aAAa,CAACL,QAAS;MACjClB,MAAM,EAAEA,MAAO;MACfsB,OAAO,EAAEA,OAAQ;MACjBK,UAAU,EAAEJ,aAAa,CAACI;IAAW,CACtC,CAAC;EAEN,CAAC;EAED,OAA0BhB,gBAAwC,IAAK;IACrE,MAAMiB,aAA0B,GAAIf,KAAQ,IAAK;MAC/C,MAAM,CAACS,OAAO,EAAEO,UAAU,CAAC,GAAGzD,QAAQ,CAAgB,IAAI,CAAC;MAC3D,MAAM,CAAC0D,YAAY,EAAEC,eAAe,CAAC,GACnC3D,QAAQ,CAAe,kBAAkB,CAAC;MAE5C,MAAM4D,cAAc,GAAG1D,gBAAgB,CAAC,YAAY;QAClD,IAAI;UACFyD,eAAe,CAAC,kBAAkB,CAAC;UAEnC,MAAME,UAAU,GAAG,MAAM5D,cAAc,CAAC;YACtC0B,QAAQ,EAAEgB,WAAW,CAAChB,QAAQ;YAC9BmC,cAAc,EAAEnB,WAAW,CAACmB,cAAc;YAC1ChC,cAAc,EAAEa,WAAW,CAACb,cAAc;YAC1CC,cAAc,EAAEY,WAAW,CAACZ,cAAc;YAC1CG,OAAO,EAAES,WAAW,CAACT;UACvB,CAAC,CAAC;UAEFuB,UAAU,CAACI,UAAU,EAAEX,OAAO,IAAI,IAAI,CAAC;UAEvC,IAAI,CAACW,UAAU,EAAE;YACflB,WAAW,CAACoB,wBAAwB,GAAG;cACrCnC,MAAM,EAAE,YAAY;cACpBoC,iBAAiB,EAAE,KAAK;cACxBd,OAAO,EAAE,IAAI;cACbe,EAAE,EAAE9D,WAAW,CAAC;YAClB,CAAC,CAAC;YACFwD,eAAe,CAAC,0BAA0B,CAAC;YAC3C;UACF;UAEA,IAAIE,UAAU,CAACG,iBAAiB,KAAK,KAAK,EAAE;YAC1C,KAAKH,UAAU,CAACK,YAAY,CAAC,CAAC,CAAClC,KAAK,CAAEmC,KAAc,IAAK;cACvDxB,WAAW,CAACT,OAAO,GAAGiC,KAAK,CAAC;YAC9B,CAAC,CAAC;YAEFxB,WAAW,CAACoB,wBAAwB,GAAG;cACrCE,EAAE,EAAEJ,UAAU,CAACI,EAAE;cACjBrC,MAAM,EAAEiC,UAAU,CAACjC,MAAM;cACzBoC,iBAAiB,EAAEH,UAAU,CAACG,iBAAiB;cAC/Cd,OAAO,EAAEW,UAAU,CAACX;YACtB,CAAC,CAAC;YACFS,eAAe,CAAC,0BAA0B,CAAC;YAC3C;UACF;UACA;UACAA,eAAe,CAAC,UAAU,CAAC;UAC3B,MAAMS,SAAS,GAAG,MAAMP,UAAU,CAACK,YAAY,CAAC,CAAC;UAEjD,IAAI,CAACE,SAAS,EAAE;YACd,MAAM,IAAIC,KAAK,CACb,yDACF,CAAC;UACH;UAEA,IAAI3B,mBAAmB,EAAE;YACvB,MAAMpC,MAAM,CAAC,CAAC;UAChB;UAEAqC,WAAW,CAACoB,wBAAwB,GAAG;YACrCE,EAAE,EAAEJ,UAAU,CAACI,EAAE;YACjBrC,MAAM,EAAEiC,UAAU,CAACjC,MAAM;YACzBoC,iBAAiB,EAAEH,UAAU,CAACG,iBAAiB;YAC/Cd,OAAO,EAAEW,UAAU,CAACX;UACtB,CAAC,CAAC;UAEFS,eAAe,CAAC,0BAA0B,CAAC;QAC7C,CAAC,CAAC,OAAOQ,KAAK,EAAE;UACdxB,WAAW,CAACT,OAAO,GAAGiC,KAAK,CAAC;UAC5BR,eAAe,CAAC,0BAA0B,CAAC;QAC7C;MACF,CAAC,CAAC;;MAEF;MACA5D,SAAS,CAAC,MAAM;QACd,KAAKyB,oBAAoB,CAACmB,WAAW,CAAC;MACxC,CAAC,EAAE,EAAE,CAAC;;MAEN;MACA5C,SAAS,CAAC,MAAM;QACd6D,cAAc,CAAC,CAAC;MAClB,CAAC,EAAE,EAAE,CAAC;MAEN,MAAMU,OAAO,GACX3B,WAAW,CAAC4B,iBAAiB,IAC7Bb,YAAY,KAAK,0BAA0B,gBACzCjD,IAAA,CAACuC,oBAAoB;QACnBC,QAAQ,EAAEN,WAAW,CAAC4B,iBAAkB;QACxC3C,MAAM,EAAE8B,YAAa;QACrBR,OAAO,EAAEA;MAAQ,CAClB,CAAC,gBAEFzC,IAAA,CAAC8B,gBAAgB;QAAA,GAAKE;MAAK,CAAG,CAC/B;MAEH,IAAI,CAACE,WAAW,CAACE,UAAU,EAAE;QAC3B,OAAOyB,OAAO;MAChB;MAEA,oBACEzD,KAAA,CAAAF,SAAA;QAAA6D,QAAA,GACGF,OAAO,eACR7D,IAAA,CAACmC,gBAAgB;UAACC,UAAU,EAAEF,WAAW,CAACE;QAAW,CAAE,CAAC;MAAA,CACxD,CAAC;IAEP,CAAC;IAED,OAAOW,aAAa;EACtB,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ // @vitest-environment jsdom
4
+
5
+ import { cleanup, render, screen } from "@testing-library/react";
6
+ import { act, createElement } from "react";
7
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
8
+ const mocks = vi.hoisted(() => ({
9
+ listeners: new Map(),
10
+ checkForUpdate: vi.fn()
11
+ }));
12
+ vi.mock("./checkForUpdate", () => ({
13
+ checkForUpdate: mocks.checkForUpdate
14
+ }));
15
+ vi.mock("./native", () => ({
16
+ addListener: vi.fn((eventName, listener) => {
17
+ mocks.listeners.set(eventName, listener);
18
+ return () => {
19
+ mocks.listeners.delete(eventName);
20
+ };
21
+ }),
22
+ getBundleId: vi.fn(() => "bundle-id"),
23
+ notifyAppReady: vi.fn(() => ({
24
+ status: "STABLE"
25
+ })),
26
+ reload: vi.fn()
27
+ }));
28
+ describe("HotUpdater wrap progress subscription", () => {
29
+ let frameCallbacks;
30
+ const flushFrames = async () => {
31
+ await act(async () => {
32
+ await new Promise(resolve => setImmediate(resolve));
33
+ while (frameCallbacks.length > 0) {
34
+ frameCallbacks.shift()?.(0);
35
+ }
36
+ });
37
+ };
38
+ const emitProgress = async progress => {
39
+ await act(async () => {
40
+ mocks.listeners.get("onProgress")?.({
41
+ artifactType: "archive",
42
+ downloadedBytes: progress * 1_000,
43
+ progress,
44
+ totalBytes: 1_000
45
+ });
46
+ });
47
+ await flushFrames();
48
+ };
49
+ const renderWrapped = async (options, onRender) => {
50
+ const {
51
+ wrap
52
+ } = await import("./wrap");
53
+ const App = () => {
54
+ onRender();
55
+ return /*#__PURE__*/createElement("div", null, "app");
56
+ };
57
+ const Wrapped = wrap({
58
+ resolver: {
59
+ checkUpdate: vi.fn().mockResolvedValue(null)
60
+ },
61
+ updateStrategy: "appVersion",
62
+ updateMode: "auto",
63
+ ...options
64
+ })(App);
65
+ render(/*#__PURE__*/createElement(Wrapped));
66
+ await flushFrames();
67
+ };
68
+ beforeEach(() => {
69
+ vi.resetModules();
70
+ mocks.listeners.clear();
71
+ mocks.checkForUpdate.mockReset();
72
+ mocks.checkForUpdate.mockResolvedValue(null);
73
+ frameCallbacks = [];
74
+ vi.stubGlobal("requestAnimationFrame", callback => {
75
+ frameCallbacks.push(callback);
76
+ return frameCallbacks.length;
77
+ });
78
+ });
79
+ afterEach(() => {
80
+ cleanup();
81
+ vi.unstubAllGlobals();
82
+ });
83
+ it("does not re-render the wrapped app on progress updates without fallbackComponent or onProgress", async () => {
84
+ // Given
85
+ const onRender = vi.fn();
86
+ await renderWrapped({}, onRender);
87
+ const rendersBeforeDownload = onRender.mock.calls.length;
88
+
89
+ // When
90
+ for (const progress of [0.1, 0.2, 0.3, 0.4, 0.5]) {
91
+ await emitProgress(progress);
92
+ }
93
+
94
+ // Then
95
+ expect(onRender).toHaveBeenCalledTimes(rendersBeforeDownload);
96
+ });
97
+ it("keeps reporting progress to onProgress without re-rendering the wrapped app", async () => {
98
+ // Given
99
+ const onRender = vi.fn();
100
+ const onProgress = vi.fn();
101
+ await renderWrapped({
102
+ onProgress
103
+ }, onRender);
104
+ const rendersBeforeDownload = onRender.mock.calls.length;
105
+
106
+ // When
107
+ await emitProgress(0.25);
108
+ await emitProgress(0.75);
109
+
110
+ // Then
111
+ expect(onProgress).toHaveBeenLastCalledWith(0.75);
112
+ expect(onProgress).toHaveBeenCalledWith(0.25);
113
+ expect(onRender).toHaveBeenCalledTimes(rendersBeforeDownload);
114
+ });
115
+ it("keeps passing progress to fallbackComponent while the update is in progress", async () => {
116
+ // Given
117
+ mocks.checkForUpdate.mockReturnValue(new Promise(() => {}));
118
+ const Fallback = ({
119
+ progress
120
+ }) => /*#__PURE__*/createElement("div", null, `progress:${progress}`);
121
+ await renderWrapped({
122
+ fallbackComponent: Fallback
123
+ }, vi.fn());
124
+
125
+ // When
126
+ await emitProgress(0.5);
127
+
128
+ // Then
129
+ expect(screen.getByText("progress:0.5")).toBeTruthy();
130
+ });
131
+ });
132
+ //# sourceMappingURL=wrap.progress.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cleanup","render","screen","act","createElement","afterEach","beforeEach","describe","expect","it","vi","mocks","hoisted","listeners","Map","checkForUpdate","fn","mock","addListener","eventName","listener","set","delete","getBundleId","notifyAppReady","status","reload","frameCallbacks","flushFrames","Promise","resolve","setImmediate","length","shift","emitProgress","progress","get","artifactType","downloadedBytes","totalBytes","renderWrapped","options","onRender","wrap","App","Wrapped","resolver","checkUpdate","mockResolvedValue","updateStrategy","updateMode","resetModules","clear","mockReset","stubGlobal","callback","push","unstubAllGlobals","rendersBeforeDownload","calls","toHaveBeenCalledTimes","onProgress","toHaveBeenLastCalledWith","toHaveBeenCalledWith","mockReturnValue","Fallback","fallbackComponent","getByText","toBeTruthy"],"sourceRoot":"../../src","sources":["wrap.progress.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export declare const HOT_UPDATER_SDK_VERSION = "0.36.14";
1
+ export declare const HOT_UPDATER_SDK_VERSION = "0.36.16";
2
2
  //# sourceMappingURL=sdkVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/wrap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/wrap.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const HOT_UPDATER_SDK_VERSION = "0.36.14";
1
+ export declare const HOT_UPDATER_SDK_VERSION = "0.36.16";
2
2
  //# sourceMappingURL=sdkVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/wrap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/wrap.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hot-updater/react-native",
3
- "version": "0.36.14",
3
+ "version": "0.36.16",
4
4
  "description": "React Native OTA solution for self-hosted",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/commonjs/index.js",
@@ -131,14 +131,14 @@
131
131
  "react-native-builder-bob": "0.41.0",
132
132
  "@typescript/native": "npm:typescript@^7.0.2",
133
133
  "typescript": "npm:@typescript/typescript6@^6.0.2",
134
- "hot-updater": "0.36.14"
134
+ "hot-updater": "0.36.16"
135
135
  },
136
136
  "dependencies": {
137
137
  "use-sync-external-store": "1.5.0",
138
- "@hot-updater/cli-tools": "0.36.14",
139
- "@hot-updater/core": "0.36.14",
140
- "@hot-updater/js": "0.36.14",
141
- "@hot-updater/plugin-core": "0.36.14"
138
+ "@hot-updater/cli-tools": "0.36.16",
139
+ "@hot-updater/core": "0.36.16",
140
+ "@hot-updater/js": "0.36.16",
141
+ "@hot-updater/plugin-core": "0.36.16"
142
142
  },
143
143
  "scripts": {
144
144
  "build": "node ./scripts/sync-sdk-version.mjs run -- bob build && tsc -p plugin/tsconfig.build.json",
package/src/sdkVersion.ts CHANGED
@@ -1 +1 @@
1
- export const HOT_UPDATER_SDK_VERSION = "0.36.14";
1
+ export const HOT_UPDATER_SDK_VERSION = "0.36.16";
@@ -0,0 +1,149 @@
1
+ // @vitest-environment jsdom
2
+
3
+ import { cleanup, render, screen } from "@testing-library/react";
4
+ import { act, createElement } from "react";
5
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
6
+
7
+ import type {
8
+ HotUpdaterFallbackComponentProps,
9
+ InternalWrapOptions,
10
+ } from "./wrap";
11
+
12
+ type HotUpdaterWrapOptions = Extract<
13
+ InternalWrapOptions,
14
+ { updateMode: "auto" }
15
+ >;
16
+
17
+ const mocks = vi.hoisted(() => ({
18
+ listeners: new Map<string, (event: Record<string, unknown>) => void>(),
19
+ checkForUpdate: vi.fn(),
20
+ }));
21
+
22
+ vi.mock("./checkForUpdate", () => ({
23
+ checkForUpdate: mocks.checkForUpdate,
24
+ }));
25
+
26
+ vi.mock("./native", () => ({
27
+ addListener: vi.fn(
28
+ (eventName: string, listener: (event: Record<string, unknown>) => void) => {
29
+ mocks.listeners.set(eventName, listener);
30
+ return () => {
31
+ mocks.listeners.delete(eventName);
32
+ };
33
+ },
34
+ ),
35
+ getBundleId: vi.fn(() => "bundle-id"),
36
+ notifyAppReady: vi.fn(() => ({ status: "STABLE" })),
37
+ reload: vi.fn(),
38
+ }));
39
+
40
+ describe("HotUpdater wrap progress subscription", () => {
41
+ let frameCallbacks: ((timestamp: number) => void)[];
42
+
43
+ const flushFrames = async () => {
44
+ await act(async () => {
45
+ await new Promise<void>((resolve) => setImmediate(resolve));
46
+ while (frameCallbacks.length > 0) {
47
+ frameCallbacks.shift()?.(0);
48
+ }
49
+ });
50
+ };
51
+
52
+ const emitProgress = async (progress: number) => {
53
+ await act(async () => {
54
+ mocks.listeners.get("onProgress")?.({
55
+ artifactType: "archive",
56
+ downloadedBytes: progress * 1_000,
57
+ progress,
58
+ totalBytes: 1_000,
59
+ });
60
+ });
61
+ await flushFrames();
62
+ };
63
+
64
+ const renderWrapped = async (
65
+ options: Pick<HotUpdaterWrapOptions, "fallbackComponent" | "onProgress">,
66
+ onRender: () => void,
67
+ ) => {
68
+ const { wrap } = await import("./wrap");
69
+ const App = () => {
70
+ onRender();
71
+ return createElement("div", null, "app");
72
+ };
73
+ const Wrapped = wrap({
74
+ resolver: { checkUpdate: vi.fn().mockResolvedValue(null) },
75
+ updateStrategy: "appVersion",
76
+ updateMode: "auto",
77
+ ...options,
78
+ })(App);
79
+
80
+ render(createElement(Wrapped));
81
+ await flushFrames();
82
+ };
83
+
84
+ beforeEach(() => {
85
+ vi.resetModules();
86
+ mocks.listeners.clear();
87
+ mocks.checkForUpdate.mockReset();
88
+ mocks.checkForUpdate.mockResolvedValue(null);
89
+ frameCallbacks = [];
90
+ vi.stubGlobal(
91
+ "requestAnimationFrame",
92
+ (callback: (timestamp: number) => void) => {
93
+ frameCallbacks.push(callback);
94
+ return frameCallbacks.length;
95
+ },
96
+ );
97
+ });
98
+
99
+ afterEach(() => {
100
+ cleanup();
101
+ vi.unstubAllGlobals();
102
+ });
103
+
104
+ it("does not re-render the wrapped app on progress updates without fallbackComponent or onProgress", async () => {
105
+ // Given
106
+ const onRender = vi.fn();
107
+ await renderWrapped({}, onRender);
108
+ const rendersBeforeDownload = onRender.mock.calls.length;
109
+
110
+ // When
111
+ for (const progress of [0.1, 0.2, 0.3, 0.4, 0.5]) {
112
+ await emitProgress(progress);
113
+ }
114
+
115
+ // Then
116
+ expect(onRender).toHaveBeenCalledTimes(rendersBeforeDownload);
117
+ });
118
+
119
+ it("keeps reporting progress to onProgress without re-rendering the wrapped app", async () => {
120
+ // Given
121
+ const onRender = vi.fn();
122
+ const onProgress = vi.fn();
123
+ await renderWrapped({ onProgress }, onRender);
124
+ const rendersBeforeDownload = onRender.mock.calls.length;
125
+
126
+ // When
127
+ await emitProgress(0.25);
128
+ await emitProgress(0.75);
129
+
130
+ // Then
131
+ expect(onProgress).toHaveBeenLastCalledWith(0.75);
132
+ expect(onProgress).toHaveBeenCalledWith(0.25);
133
+ expect(onRender).toHaveBeenCalledTimes(rendersBeforeDownload);
134
+ });
135
+
136
+ it("keeps passing progress to fallbackComponent while the update is in progress", async () => {
137
+ // Given
138
+ mocks.checkForUpdate.mockReturnValue(new Promise(() => {}));
139
+ const Fallback = ({ progress }: HotUpdaterFallbackComponentProps) =>
140
+ createElement("div", null, `progress:${progress}`);
141
+ await renderWrapped({ fallbackComponent: Fallback }, vi.fn());
142
+
143
+ // When
144
+ await emitProgress(0.5);
145
+
146
+ // Then
147
+ expect(screen.getByText("progress:0.5")).toBeTruthy();
148
+ });
149
+ });
package/src/wrap.tsx CHANGED
@@ -330,11 +330,48 @@ export function wrap(
330
330
 
331
331
  const { reloadOnForceUpdate = true, ...restOptions } = options;
332
332
 
333
+ // Progress is subscribed only where it is rendered or reported, so progress
334
+ // events don't re-render the wrapped app.
335
+ const ProgressReporter = ({
336
+ onProgress,
337
+ }: {
338
+ onProgress: (progress: number) => void;
339
+ }) => {
340
+ const progress = useHotUpdaterStore((state) => state.progress);
341
+
342
+ useEffect(() => {
343
+ onProgress(progress);
344
+ }, [progress]);
345
+
346
+ return null;
347
+ };
348
+
349
+ const FallbackWithProgress = ({
350
+ Fallback,
351
+ status,
352
+ message,
353
+ }: {
354
+ Fallback: React.FC<HotUpdaterFallbackComponentProps>;
355
+ status: HotUpdaterFallbackComponentProps["status"];
356
+ message: string | null;
357
+ }) => {
358
+ const progressState = useHotUpdaterStore((state) => state);
359
+
360
+ return (
361
+ <Fallback
362
+ artifactType={progressState.artifactType}
363
+ details={progressState.details}
364
+ downloadedBytes={progressState.downloadedBytes}
365
+ progress={progressState.progress}
366
+ status={status}
367
+ message={message}
368
+ totalBytes={progressState.totalBytes}
369
+ />
370
+ );
371
+ };
372
+
333
373
  return <P extends object>(WrappedComponent: React.ComponentType<P>) => {
334
374
  const HotUpdaterHOC: React.FC<P> = (props: P) => {
335
- const progressState = useHotUpdaterStore((state) => state);
336
- const progress = progressState.progress;
337
-
338
375
  const [message, setMessage] = useState<string | null>(null);
339
376
  const [updateStatus, setUpdateStatus] =
340
377
  useState<UpdateStatus>("CHECK_FOR_UPDATE");
@@ -406,10 +443,6 @@ export function wrap(
406
443
  }
407
444
  });
408
445
 
409
- useEffect(() => {
410
- restOptions.onProgress?.(progress);
411
- }, [progress]);
412
-
413
446
  // Read the native launch report after the first render commit.
414
447
  useEffect(() => {
415
448
  void handleNotifyAppReady(restOptions);
@@ -420,25 +453,28 @@ export function wrap(
420
453
  initHotUpdater();
421
454
  }, []);
422
455
 
423
- if (
456
+ const content =
424
457
  restOptions.fallbackComponent &&
425
- updateStatus !== "UPDATE_PROCESS_COMPLETED"
426
- ) {
427
- const Fallback = restOptions.fallbackComponent;
428
- return (
429
- <Fallback
430
- artifactType={progressState.artifactType}
431
- details={progressState.details}
432
- downloadedBytes={progressState.downloadedBytes}
433
- progress={progress}
458
+ updateStatus !== "UPDATE_PROCESS_COMPLETED" ? (
459
+ <FallbackWithProgress
460
+ Fallback={restOptions.fallbackComponent}
434
461
  status={updateStatus}
435
462
  message={message}
436
- totalBytes={progressState.totalBytes}
437
463
  />
464
+ ) : (
465
+ <WrappedComponent {...props} />
438
466
  );
467
+
468
+ if (!restOptions.onProgress) {
469
+ return content;
439
470
  }
440
471
 
441
- return <WrappedComponent {...props} />;
472
+ return (
473
+ <>
474
+ {content}
475
+ <ProgressReporter onProgress={restOptions.onProgress} />
476
+ </>
477
+ );
442
478
  };
443
479
 
444
480
  return HotUpdaterHOC as React.ComponentType<P>;