@hot-updater/react-native 1.0.0-rc.1 → 1.0.0-rc.14

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 (143) hide show
  1. package/android/proguard-rules.pro +15 -0
  2. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +1 -1
  3. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +7 -0
  4. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +37 -54
  5. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
  6. package/android/src/test/java/com/hotupdater/HotUpdaterRecoveryStateTest.kt +97 -0
  7. package/android/src/test/java/com/hotupdater/PendingCrashRecoveryTest.kt +44 -0
  8. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +102 -20
  9. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
  10. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
  11. package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
  12. package/lib/commonjs/checkForUpdate.js +25 -13
  13. package/lib/commonjs/checkForUpdate.js.map +1 -1
  14. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +88 -24
  15. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -1
  16. package/lib/commonjs/httpClient.js +2 -2
  17. package/lib/commonjs/httpClient.js.map +1 -1
  18. package/lib/commonjs/index.js +30 -9
  19. package/lib/commonjs/index.js.map +1 -1
  20. package/lib/commonjs/index.spec.js +56 -11
  21. package/lib/commonjs/index.spec.js.map +1 -1
  22. package/lib/commonjs/native.js +8 -6
  23. package/lib/commonjs/native.js.map +1 -1
  24. package/lib/commonjs/native.spec.js +107 -6
  25. package/lib/commonjs/native.spec.js.map +1 -1
  26. package/lib/commonjs/{notifyAppReadyAnalytics.boundary.spec.js → notifyAppReadyInsights.boundary.spec.js} +21 -21
  27. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +1 -0
  28. package/lib/commonjs/notifyAppReadyInsights.js +185 -0
  29. package/lib/commonjs/notifyAppReadyInsights.js.map +1 -0
  30. package/lib/commonjs/{notifyAppReadyAnalytics.spec.js → notifyAppReadyInsights.spec.js} +102 -29
  31. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +1 -0
  32. package/lib/commonjs/{notifyAppReadyAnalytics.test-utils.js → notifyAppReadyInsights.test-utils.js} +3 -3
  33. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +1 -0
  34. package/lib/commonjs/{notifyAppReadyAnalytics.transport.spec.js → notifyAppReadyInsights.transport.spec.js} +7 -7
  35. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +1 -0
  36. package/lib/commonjs/sdkVersion.js +1 -1
  37. package/lib/commonjs/sdkVersion.js.map +1 -1
  38. package/lib/commonjs/wrap.js +10 -9
  39. package/lib/commonjs/wrap.js.map +1 -1
  40. package/lib/commonjs/wrap.spec.js +90 -25
  41. package/lib/commonjs/wrap.spec.js.map +1 -1
  42. package/lib/module/checkForUpdate.js +25 -13
  43. package/lib/module/checkForUpdate.js.map +1 -1
  44. package/lib/module/checkForUpdate.releaseCatalog.spec.js +88 -24
  45. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -1
  46. package/lib/module/httpClient.js +2 -2
  47. package/lib/module/httpClient.js.map +1 -1
  48. package/lib/module/index.js +31 -10
  49. package/lib/module/index.js.map +1 -1
  50. package/lib/module/index.spec.js +56 -11
  51. package/lib/module/index.spec.js.map +1 -1
  52. package/lib/module/native.js +6 -4
  53. package/lib/module/native.js.map +1 -1
  54. package/lib/module/native.spec.js +107 -6
  55. package/lib/module/native.spec.js.map +1 -1
  56. package/lib/module/{notifyAppReadyAnalytics.boundary.spec.js → notifyAppReadyInsights.boundary.spec.js} +16 -16
  57. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +1 -0
  58. package/lib/module/notifyAppReadyInsights.js +178 -0
  59. package/lib/module/notifyAppReadyInsights.js.map +1 -0
  60. package/lib/module/{notifyAppReadyAnalytics.spec.js → notifyAppReadyInsights.spec.js} +94 -21
  61. package/lib/module/notifyAppReadyInsights.spec.js.map +1 -0
  62. package/lib/module/{notifyAppReadyAnalytics.test-utils.js → notifyAppReadyInsights.test-utils.js} +3 -3
  63. package/lib/module/notifyAppReadyInsights.test-utils.js.map +1 -0
  64. package/lib/module/{notifyAppReadyAnalytics.transport.spec.js → notifyAppReadyInsights.transport.spec.js} +4 -4
  65. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +1 -0
  66. package/lib/module/sdkVersion.js +1 -1
  67. package/lib/module/sdkVersion.js.map +1 -1
  68. package/lib/module/wrap.js +10 -9
  69. package/lib/module/wrap.js.map +1 -1
  70. package/lib/module/wrap.spec.js +92 -25
  71. package/lib/module/wrap.spec.js.map +1 -1
  72. package/lib/typescript/commonjs/checkForUpdate.d.ts +1 -1
  73. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/httpClient.d.ts +6 -6
  75. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/index.d.ts +4 -5
  77. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/native.d.ts +4 -3
  79. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +25 -0
  81. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +1 -0
  82. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +8 -0
  83. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +1 -0
  84. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  85. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  87. package/lib/typescript/commonjs/wrap.types.d.ts +5 -6
  88. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  89. package/lib/typescript/module/checkForUpdate.d.ts +1 -1
  90. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  91. package/lib/typescript/module/httpClient.d.ts +6 -6
  92. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  93. package/lib/typescript/module/index.d.ts +4 -5
  94. package/lib/typescript/module/index.d.ts.map +1 -1
  95. package/lib/typescript/module/native.d.ts +4 -3
  96. package/lib/typescript/module/native.d.ts.map +1 -1
  97. package/lib/typescript/module/notifyAppReadyInsights.d.ts +25 -0
  98. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +1 -0
  99. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +8 -0
  100. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +1 -0
  101. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  102. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  103. package/lib/typescript/module/wrap.d.ts.map +1 -1
  104. package/lib/typescript/module/wrap.types.d.ts +5 -6
  105. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  106. package/package.json +3 -3
  107. package/src/checkForUpdate.releaseCatalog.spec.ts +127 -57
  108. package/src/checkForUpdate.ts +30 -18
  109. package/src/httpClient.ts +11 -11
  110. package/src/index.spec.ts +59 -11
  111. package/src/index.ts +41 -13
  112. package/src/native.spec.ts +110 -6
  113. package/src/native.ts +9 -8
  114. package/src/{notifyAppReadyAnalytics.boundary.spec.ts → notifyAppReadyInsights.boundary.spec.ts} +17 -17
  115. package/src/{notifyAppReadyAnalytics.spec.ts → notifyAppReadyInsights.spec.ts} +81 -22
  116. package/src/{notifyAppReadyAnalytics.test-utils.ts → notifyAppReadyInsights.test-utils.ts} +4 -4
  117. package/src/{notifyAppReadyAnalytics.transport.spec.ts → notifyAppReadyInsights.transport.spec.ts} +5 -5
  118. package/src/notifyAppReadyInsights.ts +281 -0
  119. package/src/sdkVersion.ts +1 -1
  120. package/src/wrap.spec.ts +101 -31
  121. package/src/wrap.tsx +11 -9
  122. package/src/wrap.types.ts +5 -6
  123. package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js.map +0 -1
  124. package/lib/commonjs/notifyAppReadyAnalytics.js +0 -133
  125. package/lib/commonjs/notifyAppReadyAnalytics.js.map +0 -1
  126. package/lib/commonjs/notifyAppReadyAnalytics.spec.js.map +0 -1
  127. package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js.map +0 -1
  128. package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js.map +0 -1
  129. package/lib/module/notifyAppReadyAnalytics.boundary.spec.js.map +0 -1
  130. package/lib/module/notifyAppReadyAnalytics.js +0 -128
  131. package/lib/module/notifyAppReadyAnalytics.js.map +0 -1
  132. package/lib/module/notifyAppReadyAnalytics.spec.js.map +0 -1
  133. package/lib/module/notifyAppReadyAnalytics.test-utils.js.map +0 -1
  134. package/lib/module/notifyAppReadyAnalytics.transport.spec.js.map +0 -1
  135. package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts +0 -13
  136. package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts.map +0 -1
  137. package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts +0 -8
  138. package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts.map +0 -1
  139. package/lib/typescript/module/notifyAppReadyAnalytics.d.ts +0 -13
  140. package/lib/typescript/module/notifyAppReadyAnalytics.d.ts.map +0 -1
  141. package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts +0 -8
  142. package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts.map +0 -1
  143. package/src/notifyAppReadyAnalytics.ts +0 -194
@@ -1,128 +0,0 @@
1
- "use strict";
2
-
3
- import { Platform } from "react-native";
4
- import { getAppVersion, getBundleId, getChannel, getCohort, getFingerprintHash, getInstallId, getPersistedUserIdentity, readNotifyAppReady } from "./native.js";
5
- let didAttemptAutomaticAnalytics = false;
6
- const waitForNextFrame = () => new Promise(resolve => {
7
- const requestAnimationFrame = globalThis?.requestAnimationFrame;
8
- if (requestAnimationFrame) {
9
- requestAnimationFrame(() => resolve());
10
- return;
11
- }
12
- void Promise.resolve().then(resolve);
13
- });
14
- const assertNever = value => {
15
- throw new Error(`[HotUpdater] Unexpected notifyAppReady status: ${value}`);
16
- };
17
- const buildNotifyAppReadyAnalyticsParams = (nativeResult, analyticsEvent, options) => {
18
- const appVersion = getAppVersion();
19
- if (!appVersion) {
20
- throw new Error("[HotUpdater] Automatic analytics requires a non-null native app version.");
21
- }
22
- const {
23
- userId,
24
- username
25
- } = getPersistedUserIdentity();
26
- const installId = getInstallId();
27
- if (!installId) {
28
- throw new Error("[HotUpdater] Automatic analytics requires a non-null native install id.");
29
- }
30
- const platform = Platform.OS === "android" ? "android" : "ios";
31
- const commonParams = {
32
- appVersion,
33
- channel: getChannel(),
34
- cohort: getCohort(),
35
- fingerprintHash: getFingerprintHash(),
36
- fromReleaseId: analyticsEvent?.fromReleaseId ?? null,
37
- installId,
38
- platform,
39
- requestHeaders: options.requestHeaders,
40
- requestTimeout: options.requestTimeout,
41
- toReleaseId: analyticsEvent?.toReleaseId ?? null,
42
- ...(userId != null ? {
43
- userId
44
- } : {}),
45
- ...(username != null ? {
46
- username
47
- } : {})
48
- };
49
- switch (nativeResult.status) {
50
- case "UNCHANGED":
51
- {
52
- const bundleId = getBundleId();
53
- if (!bundleId) {
54
- throw new Error("[HotUpdater] Automatic analytics requires a non-null current bundle id.");
55
- }
56
- return {
57
- ...commonParams,
58
- fromBundleId: null,
59
- toBundleId: bundleId,
60
- type: "UNCHANGED",
61
- updateStrategy: null
62
- };
63
- }
64
- case "UPDATE_APPLIED":
65
- case "RECOVERED":
66
- if (!analyticsEvent) {
67
- throw new Error("[HotUpdater] Native launch report is missing persisted metadata required for automatic analytics.");
68
- }
69
- switch (analyticsEvent.type) {
70
- case "UPDATE_APPLIED":
71
- return {
72
- ...commonParams,
73
- fromBundleId: analyticsEvent.fromBundleId,
74
- toBundleId: analyticsEvent.toBundleId,
75
- type: "UPDATE_APPLIED",
76
- updateStrategy: analyticsEvent.updateStrategy
77
- };
78
- case "RECOVERED":
79
- return {
80
- ...commonParams,
81
- fromBundleId: analyticsEvent.fromBundleId,
82
- toBundleId: analyticsEvent.toBundleId,
83
- type: "RECOVERED",
84
- updateStrategy: analyticsEvent.updateStrategy
85
- };
86
- default:
87
- return assertNever(analyticsEvent.type);
88
- }
89
- default:
90
- return assertNever(nativeResult);
91
- }
92
- };
93
- const maybeSendAutomaticAnalytics = async (options, nativeResult, analyticsEvent) => {
94
- if (!options.analytics || didAttemptAutomaticAnalytics) {
95
- return;
96
- }
97
- didAttemptAutomaticAnalytics = true;
98
- if (nativeResult.status !== "UNCHANGED" && !analyticsEvent) {
99
- throw new Error("[HotUpdater] Native launch report is missing persisted metadata required for automatic analytics.");
100
- }
101
- const session = await options.client.createSession();
102
- await session.sendAnalyticsEvent(buildNotifyAppReadyAnalyticsParams(nativeResult, analyticsEvent, options));
103
- };
104
- export const handleNotifyAppReady = async options => {
105
- try {
106
- let nativeReadResult;
107
- do {
108
- await waitForNextFrame();
109
- nativeReadResult = readNotifyAppReady();
110
- } while (nativeReadResult.pending);
111
- const {
112
- analyticsEvent,
113
- result: nativeResult
114
- } = nativeReadResult;
115
- try {
116
- await maybeSendAutomaticAnalytics(options, nativeResult, analyticsEvent);
117
- } catch (error) {
118
- const warning = error instanceof Error ? error : new Error(String(error));
119
- console.warn("[HotUpdater] Automatic notifyAppReady analytics failed:", warning);
120
- }
121
- options.onNotifyAppReady?.(nativeResult);
122
- } catch (error) {
123
- const normalizedError = error instanceof Error ? error : new Error(String(error));
124
- options.onError?.(error);
125
- console.warn("[HotUpdater] Failed to notify app ready:", normalizedError);
126
- }
127
- };
128
- //# sourceMappingURL=notifyAppReadyAnalytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Platform","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","didAttemptAutomaticAnalytics","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","assertNever","value","Error","buildNotifyAppReadyAnalyticsParams","nativeResult","analyticsEvent","options","appVersion","userId","username","installId","platform","OS","commonParams","channel","cohort","fingerprintHash","fromReleaseId","requestHeaders","requestTimeout","toReleaseId","status","bundleId","fromBundleId","toBundleId","type","updateStrategy","maybeSendAutomaticAnalytics","analytics","session","client","createSession","sendAnalyticsEvent","handleNotifyAppReady","nativeReadResult","pending","result","error","warning","String","console","warn","onNotifyAppReady","normalizedError","onError"],"sourceRoot":"../../src","sources":["notifyAppReadyAnalytics.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","createNotifyReadResult","stubNotifyFrame","mock","Platform","OS","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","createClient","sendAnalyticsEvent","mockResolvedValue","undefined","client","createSession","fetchReleaseCatalog","resolveArtifact","resetModules","unstubAllGlobals","useRealTimers","Object","values","mockReset","mockReturnValue","userId","username","fromBundleId","status","toBundleId","type","updateStrategy","onNotifyAppReady","init","analytics","requestHeaders","Authorization","requestTimeout","runOnlyPendingTimersAsync","toHaveBeenCalledWith","appVersion","channel","cohort","fingerprintHash","fromReleaseId","installId","platform","toReleaseId","toHaveBeenCalledTimes","toHaveBeenNthCalledWith","not","toHaveBeenCalled"],"sourceRoot":"../../src","sources":["notifyAppReadyAnalytics.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["vi","createNotifyReadResult","result","status","analyticsEvent","pending","stubNotifyFrame","useFakeTimers","stubGlobal","fn","callback","setTimeout"],"sourceRoot":"../../src","sources":["notifyAppReadyAnalytics.test-utils.ts"],"mappings":";;AAAA,SAASA,EAAE,QAAQ,QAAQ;AAO3B,OAAO,MAAMC,sBAAsB,GAAGA,CACpCC,MAA4B,GAAG;EAAEC,MAAM,EAAE;AAAY,CAAC,EACtDC,cAAmD,GAAG,IAAI,EAC1DC,OAAO,GAAG,KAAK,MAKX;EACJD,cAAc;EACdC,OAAO;EACPH;AACF,CAAC,CAAC;AAEF,OAAO,MAAMI,eAAe,GAAGA,CAAA,KAAM;EACnCN,EAAE,CAACO,aAAa,CAAC,CAAC;EAClBP,EAAE,CAACQ,UAAU,CACX,uBAAuB,EACvBR,EAAE,CAACS,EAAE,CAAEC,QAAqC,IAAK;IAC/CC,UAAU,CAAC,MAAMD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChC,OAAO,CAAC;EACV,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","createNotifyReadResult","stubNotifyFrame","mock","Platform","OS","failureCases","label","responseStatus","error","Object","assign","Error","name","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","resetModules","unstubAllGlobals","useRealTimers","values","mockReset","mockReturnValue","each","failureCase","warn","spyOn","console","mockImplementation","onError","onNotifyAppReady","fetchMock","Response","status","stubGlobal","Reflect","set","globalThis","SDK_VERSION","createHttpClient","init","Promise","all","client","analytics","runOnlyPendingTimersAsync","toHaveBeenCalledTimes","not","toHaveBeenCalled","toHaveBeenCalledWith","any","mockRestore"],"sourceRoot":"../../src","sources":["notifyAppReadyAnalytics.transport.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- import type { HotUpdaterError } from "./error";
2
- import type { HotUpdaterHttpClient } from "./httpClient";
3
- import { type NotifyAppReadyResult } from "./native";
4
- export type NotifyAppReadyOptions = {
5
- analytics?: boolean;
6
- client: HotUpdaterHttpClient;
7
- requestHeaders?: Record<string, string>;
8
- requestTimeout?: number;
9
- onNotifyAppReady?: (result: NotifyAppReadyResult) => void;
10
- onError?: (error: HotUpdaterError | Error | unknown) => void;
11
- };
12
- export declare const handleNotifyAppReady: (options: NotifyAppReadyOptions) => Promise<void>;
13
- //# sourceMappingURL=notifyAppReadyAnalytics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifyAppReadyAnalytics.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyAnalytics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAwB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EASL,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;CAC9D,CAAC;AA4IF,eAAO,MAAM,oBAAoB,YACtB,qBAAqB,KAC7B,OAAO,CAAC,IAAI,CA2Bd,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { NotifyAppReadyAnalyticsEvent, NotifyAppReadyResult } from "./native";
2
- export declare const createNotifyReadResult: (result?: NotifyAppReadyResult, analyticsEvent?: NotifyAppReadyAnalyticsEvent | null, pending?: boolean) => {
3
- analyticsEvent: NotifyAppReadyAnalyticsEvent | null;
4
- pending: boolean;
5
- result: NotifyAppReadyResult;
6
- };
7
- export declare const stubNotifyFrame: () => void;
8
- //# sourceMappingURL=notifyAppReadyAnalytics.test-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifyAppReadyAnalytics.test-utils.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyAnalytics.test-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,sBAAsB,YACzB,oBAAoB,mBACZ,4BAA4B,GAAG,IAAI,wBAElD;IACD,cAAc,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;CAK7B,CAAC;AAEH,eAAO,MAAM,eAAe,YAS3B,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { HotUpdaterError } from "./error";
2
- import type { HotUpdaterHttpClient } from "./httpClient";
3
- import { type NotifyAppReadyResult } from "./native";
4
- export type NotifyAppReadyOptions = {
5
- analytics?: boolean;
6
- client: HotUpdaterHttpClient;
7
- requestHeaders?: Record<string, string>;
8
- requestTimeout?: number;
9
- onNotifyAppReady?: (result: NotifyAppReadyResult) => void;
10
- onError?: (error: HotUpdaterError | Error | unknown) => void;
11
- };
12
- export declare const handleNotifyAppReady: (options: NotifyAppReadyOptions) => Promise<void>;
13
- //# sourceMappingURL=notifyAppReadyAnalytics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifyAppReadyAnalytics.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyAnalytics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAwB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EASL,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;CAC9D,CAAC;AA4IF,eAAO,MAAM,oBAAoB,YACtB,qBAAqB,KAC7B,OAAO,CAAC,IAAI,CA2Bd,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { NotifyAppReadyAnalyticsEvent, NotifyAppReadyResult } from "./native";
2
- export declare const createNotifyReadResult: (result?: NotifyAppReadyResult, analyticsEvent?: NotifyAppReadyAnalyticsEvent | null, pending?: boolean) => {
3
- analyticsEvent: NotifyAppReadyAnalyticsEvent | null;
4
- pending: boolean;
5
- result: NotifyAppReadyResult;
6
- };
7
- export declare const stubNotifyFrame: () => void;
8
- //# sourceMappingURL=notifyAppReadyAnalytics.test-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifyAppReadyAnalytics.test-utils.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyAnalytics.test-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,sBAAsB,YACzB,oBAAoB,mBACZ,4BAA4B,GAAG,IAAI,wBAElD;IACD,cAAc,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;CAK7B,CAAC;AAEH,eAAO,MAAM,eAAe,YAS3B,CAAC"}
@@ -1,194 +0,0 @@
1
- import { Platform } from "react-native";
2
-
3
- import type { HotUpdaterError } from "./error";
4
- import type { AnalyticsEventParams, HotUpdaterHttpClient } from "./httpClient";
5
- import {
6
- getAppVersion,
7
- getBundleId,
8
- getChannel,
9
- getCohort,
10
- getFingerprintHash,
11
- getInstallId,
12
- getPersistedUserIdentity,
13
- type NotifyAppReadyAnalyticsEvent,
14
- type NotifyAppReadyResult,
15
- readNotifyAppReady,
16
- } from "./native";
17
-
18
- export type NotifyAppReadyOptions = {
19
- analytics?: boolean;
20
- client: HotUpdaterHttpClient;
21
- requestHeaders?: Record<string, string>;
22
- requestTimeout?: number;
23
- onNotifyAppReady?: (result: NotifyAppReadyResult) => void;
24
- onError?: (error: HotUpdaterError | Error | unknown) => void;
25
- };
26
-
27
- type RequestAnimationFrame = (callback: (timestamp: number) => void) => number;
28
-
29
- let didAttemptAutomaticAnalytics = false;
30
-
31
- const waitForNextFrame = () =>
32
- new Promise<void>((resolve) => {
33
- const requestAnimationFrame = (
34
- globalThis as typeof globalThis & {
35
- requestAnimationFrame?: RequestAnimationFrame;
36
- }
37
- )?.requestAnimationFrame;
38
-
39
- if (requestAnimationFrame) {
40
- requestAnimationFrame(() => resolve());
41
- return;
42
- }
43
-
44
- void Promise.resolve().then(resolve);
45
- });
46
-
47
- const assertNever = (value: never): never => {
48
- throw new Error(`[HotUpdater] Unexpected notifyAppReady status: ${value}`);
49
- };
50
-
51
- const buildNotifyAppReadyAnalyticsParams = (
52
- nativeResult: NotifyAppReadyResult,
53
- analyticsEvent: NotifyAppReadyAnalyticsEvent | null,
54
- options: Pick<NotifyAppReadyOptions, "requestHeaders" | "requestTimeout">,
55
- ): AnalyticsEventParams => {
56
- const appVersion = getAppVersion();
57
-
58
- if (!appVersion) {
59
- throw new Error(
60
- "[HotUpdater] Automatic analytics requires a non-null native app version.",
61
- );
62
- }
63
-
64
- const { userId, username } = getPersistedUserIdentity();
65
- const installId = getInstallId();
66
-
67
- if (!installId) {
68
- throw new Error(
69
- "[HotUpdater] Automatic analytics requires a non-null native install id.",
70
- );
71
- }
72
-
73
- const platform: "ios" | "android" =
74
- Platform.OS === "android" ? "android" : "ios";
75
-
76
- const commonParams = {
77
- appVersion,
78
- channel: getChannel(),
79
- cohort: getCohort(),
80
- fingerprintHash: getFingerprintHash(),
81
- fromReleaseId: analyticsEvent?.fromReleaseId ?? null,
82
- installId,
83
- platform,
84
- requestHeaders: options.requestHeaders,
85
- requestTimeout: options.requestTimeout,
86
- toReleaseId: analyticsEvent?.toReleaseId ?? null,
87
- ...(userId != null ? { userId } : {}),
88
- ...(username != null ? { username } : {}),
89
- };
90
-
91
- switch (nativeResult.status) {
92
- case "UNCHANGED": {
93
- const bundleId = getBundleId();
94
-
95
- if (!bundleId) {
96
- throw new Error(
97
- "[HotUpdater] Automatic analytics requires a non-null current bundle id.",
98
- );
99
- }
100
-
101
- return {
102
- ...commonParams,
103
- fromBundleId: null,
104
- toBundleId: bundleId,
105
- type: "UNCHANGED",
106
- updateStrategy: null,
107
- };
108
- }
109
- case "UPDATE_APPLIED":
110
- case "RECOVERED":
111
- if (!analyticsEvent) {
112
- throw new Error(
113
- "[HotUpdater] Native launch report is missing persisted metadata required for automatic analytics.",
114
- );
115
- }
116
-
117
- switch (analyticsEvent.type) {
118
- case "UPDATE_APPLIED":
119
- return {
120
- ...commonParams,
121
- fromBundleId: analyticsEvent.fromBundleId,
122
- toBundleId: analyticsEvent.toBundleId,
123
- type: "UPDATE_APPLIED",
124
- updateStrategy: analyticsEvent.updateStrategy,
125
- };
126
- case "RECOVERED":
127
- return {
128
- ...commonParams,
129
- fromBundleId: analyticsEvent.fromBundleId,
130
- toBundleId: analyticsEvent.toBundleId,
131
- type: "RECOVERED",
132
- updateStrategy: analyticsEvent.updateStrategy,
133
- };
134
- default:
135
- return assertNever(analyticsEvent.type);
136
- }
137
- default:
138
- return assertNever(nativeResult);
139
- }
140
- };
141
-
142
- const maybeSendAutomaticAnalytics = async (
143
- options: NotifyAppReadyOptions,
144
- nativeResult: NotifyAppReadyResult,
145
- analyticsEvent: NotifyAppReadyAnalyticsEvent | null,
146
- ): Promise<void> => {
147
- if (!options.analytics || didAttemptAutomaticAnalytics) {
148
- return;
149
- }
150
-
151
- didAttemptAutomaticAnalytics = true;
152
-
153
- if (nativeResult.status !== "UNCHANGED" && !analyticsEvent) {
154
- throw new Error(
155
- "[HotUpdater] Native launch report is missing persisted metadata required for automatic analytics.",
156
- );
157
- }
158
-
159
- const session = await options.client.createSession();
160
- await session.sendAnalyticsEvent(
161
- buildNotifyAppReadyAnalyticsParams(nativeResult, analyticsEvent, options),
162
- );
163
- };
164
-
165
- export const handleNotifyAppReady = async (
166
- options: NotifyAppReadyOptions,
167
- ): Promise<void> => {
168
- try {
169
- let nativeReadResult: ReturnType<typeof readNotifyAppReady>;
170
- do {
171
- await waitForNextFrame();
172
- nativeReadResult = readNotifyAppReady();
173
- } while (nativeReadResult.pending);
174
-
175
- const { analyticsEvent, result: nativeResult } = nativeReadResult;
176
-
177
- try {
178
- await maybeSendAutomaticAnalytics(options, nativeResult, analyticsEvent);
179
- } catch (error) {
180
- const warning = error instanceof Error ? error : new Error(String(error));
181
- console.warn(
182
- "[HotUpdater] Automatic notifyAppReady analytics failed:",
183
- warning,
184
- );
185
- }
186
-
187
- options.onNotifyAppReady?.(nativeResult);
188
- } catch (error) {
189
- const normalizedError =
190
- error instanceof Error ? error : new Error(String(error));
191
- options.onError?.(error);
192
- console.warn("[HotUpdater] Failed to notify app ready:", normalizedError);
193
- }
194
- };