@aguacerowx/react-native 0.0.49 → 0.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +36 -0
- package/ios/WeatherFrameProcessorModule.swift +33 -2
- package/lib/commonjs/WeatherLayerManager.js +54 -6
- package/lib/commonjs/WeatherLayerManager.js.map +1 -1
- package/lib/commonjs/aguaceroCoreDebugHooks.js +144 -0
- package/lib/commonjs/aguaceroCoreDebugHooks.js.map +1 -0
- package/lib/commonjs/aguaceroRnDebug.js +351 -0
- package/lib/commonjs/aguaceroRnDebug.js.map +1 -0
- package/lib/commonjs/index.js +37 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/nexrad/nexradAndroidController.js +13 -0
- package/lib/commonjs/nexrad/nexradAndroidController.js.map +1 -1
- package/lib/commonjs/nexrad/nexradDiag.js +7 -1
- package/lib/commonjs/nexrad/nexradDiag.js.map +1 -1
- package/lib/commonjs/nexrad/radarArchiveCore.bundled.js +15 -14
- package/lib/commonjs/nexrad/radarArchiveCore.bundled.js.map +1 -1
- package/lib/commonjs/satellite/satelliteAndroidController.js +9 -0
- package/lib/commonjs/satellite/satelliteAndroidController.js.map +1 -1
- package/lib/module/WeatherLayerManager.js +54 -6
- package/lib/module/WeatherLayerManager.js.map +1 -1
- package/lib/module/aguaceroCoreDebugHooks.js +136 -0
- package/lib/module/aguaceroCoreDebugHooks.js.map +1 -0
- package/lib/module/aguaceroRnDebug.js +334 -0
- package/lib/module/aguaceroRnDebug.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/nexrad/nexradAndroidController.js +13 -0
- package/lib/module/nexrad/nexradAndroidController.js.map +1 -1
- package/lib/module/nexrad/nexradDiag.js +7 -1
- package/lib/module/nexrad/nexradDiag.js.map +1 -1
- package/lib/module/nexrad/radarArchiveCore.bundled.js +15 -14
- package/lib/module/nexrad/radarArchiveCore.bundled.js.map +1 -1
- package/lib/module/satellite/satelliteAndroidController.js +9 -0
- package/lib/module/satellite/satelliteAndroidController.js.map +1 -1
- package/lib/typescript/WeatherLayerManager.d.ts.map +1 -1
- package/lib/typescript/aguaceroCoreDebugHooks.d.ts +10 -0
- package/lib/typescript/aguaceroCoreDebugHooks.d.ts.map +1 -0
- package/lib/typescript/aguaceroRnDebug.d.ts +97 -0
- package/lib/typescript/aguaceroRnDebug.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/nexrad/nexradAndroidController.d.ts.map +1 -1
- package/lib/typescript/nexrad/nexradDiag.d.ts.map +1 -1
- package/lib/typescript/nexrad/radarArchiveCore.bundled.d.ts.map +1 -1
- package/lib/typescript/satellite/satelliteAndroidController.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/WeatherLayerManager.js +78 -21
- package/src/aguaceroCoreDebugHooks.js +142 -0
- package/src/aguaceroRnDebug.js +328 -0
- package/src/index.js +8 -0
- package/src/nexrad/nexradAndroidController.js +11 -1
- package/src/nexrad/nexradDiag.js +7 -1
- package/src/nexrad/radarArchiveCore.bundled.js +7085 -7084
- package/src/satellite/satelliteAndroidController.js +9 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-core hooks for {@link AguaceroCore} when RN debug is enabled.
|
|
3
|
+
*/
|
|
4
|
+
import { aguaceroDebug, aguaceroDebugWarn, getAguaceroAuthDiagnosticSnapshot, isAguaceroRnDebugEnabled, redactApiKeyFromUrl } from './aguaceroRnDebug';
|
|
5
|
+
const HOOK_FLAG = '__aguaceroRnDebugHooksInstalled';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @param {import('@aguacerowx/javascript-sdk').AguaceroCore} core
|
|
9
|
+
* @param {Record<string, unknown>} [extra]
|
|
10
|
+
*/
|
|
11
|
+
export function installAguaceroCoreDebugHooks(core, extra = {}) {
|
|
12
|
+
if (!core || !isAguaceroRnDebugEnabled() || core[HOOK_FLAG]) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
core[HOOK_FLAG] = true;
|
|
16
|
+
aguaceroDebug('core.created', getAguaceroAuthDiagnosticSnapshot(core, extra));
|
|
17
|
+
if (typeof core.initialize === 'function' && !core.__aguaceroOrigInitialize) {
|
|
18
|
+
core.__aguaceroOrigInitialize = core.initialize.bind(core);
|
|
19
|
+
core.initialize = async function aguaceroDebugInitialize(options) {
|
|
20
|
+
aguaceroDebug('core.initialize.start', {
|
|
21
|
+
stateMode: {
|
|
22
|
+
isMRMS: core.state?.isMRMS,
|
|
23
|
+
isSatellite: core.state?.isSatellite,
|
|
24
|
+
isNexrad: core.state?.isNexrad,
|
|
25
|
+
model: core.state?.model,
|
|
26
|
+
variable: core.state?.variable
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
try {
|
|
30
|
+
await core.__aguaceroOrigInitialize(options);
|
|
31
|
+
aguaceroDebug('core.initialize.done', {
|
|
32
|
+
hasModelStatus: Boolean(core.modelStatus),
|
|
33
|
+
hasMrmsStatus: Boolean(core.mrmsStatus),
|
|
34
|
+
hasSatelliteListing: Boolean(core.satelliteListing),
|
|
35
|
+
mrmsVariableCount: core.mrmsStatus ? Object.keys(core.mrmsStatus).length : 0
|
|
36
|
+
});
|
|
37
|
+
} catch (err) {
|
|
38
|
+
aguaceroDebugWarn('core.initialize.error', {
|
|
39
|
+
message: err?.message || String(err)
|
|
40
|
+
});
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (typeof core._loadGridData === 'function' && !core.__aguaceroOrigLoadGridData) {
|
|
46
|
+
core.__aguaceroOrigLoadGridData = core._loadGridData.bind(core);
|
|
47
|
+
core._loadGridData = async function aguaceroDebugLoadGridData(state) {
|
|
48
|
+
const tag = 'core._loadGridData';
|
|
49
|
+
aguaceroDebug(`${tag}.start`, {
|
|
50
|
+
isMRMS: state?.isMRMS,
|
|
51
|
+
model: state?.model,
|
|
52
|
+
variable: state?.variable,
|
|
53
|
+
mrmsTimestamp: state?.mrmsTimestamp,
|
|
54
|
+
forecastHour: state?.forecastHour,
|
|
55
|
+
auth: getAguaceroAuthDiagnosticSnapshot(core)
|
|
56
|
+
});
|
|
57
|
+
const result = await core.__aguaceroOrigLoadGridData(state);
|
|
58
|
+
if (result == null) {
|
|
59
|
+
aguaceroDebugWarn(`${tag}.null`, {
|
|
60
|
+
hint: 'Grid load returned null — often failed fetch (check fetch.httpError above) or missing apiKey'
|
|
61
|
+
});
|
|
62
|
+
} else {
|
|
63
|
+
aguaceroDebug(`${tag}.ok`, {
|
|
64
|
+
hasData: Boolean(result?.data),
|
|
65
|
+
encodingKeys: result?.encoding ? Object.keys(result.encoding) : []
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (typeof core.refreshNexradTimes === 'function' && !core.__aguaceroOrigRefreshNexradTimes) {
|
|
72
|
+
core.__aguaceroOrigRefreshNexradTimes = core.refreshNexradTimes.bind(core);
|
|
73
|
+
core.refreshNexradTimes = async function aguaceroDebugRefreshNexradTimes() {
|
|
74
|
+
aguaceroDebug('core.refreshNexradTimes.start', {
|
|
75
|
+
site: core.state?.nexradSite,
|
|
76
|
+
product: core.state?.nexradProduct,
|
|
77
|
+
dataSource: core.state?.nexradDataSource
|
|
78
|
+
});
|
|
79
|
+
try {
|
|
80
|
+
const out = await core.__aguaceroOrigRefreshNexradTimes();
|
|
81
|
+
aguaceroDebug('core.refreshNexradTimes.done', {
|
|
82
|
+
timesCount: out?.unixTimes?.length ?? 0
|
|
83
|
+
});
|
|
84
|
+
return out;
|
|
85
|
+
} catch (err) {
|
|
86
|
+
aguaceroDebugWarn('core.refreshNexradTimes.error', {
|
|
87
|
+
message: err?.message || String(err)
|
|
88
|
+
});
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (typeof core.setState === 'function' && !core.__aguaceroOrigSetState) {
|
|
94
|
+
core.__aguaceroOrigSetState = core.setState.bind(core);
|
|
95
|
+
core.setState = async function aguaceroDebugSetState(patch) {
|
|
96
|
+
const modeChange = patch && ('isMRMS' in patch || 'isSatellite' in patch || 'isNexrad' in patch || 'variable' in patch);
|
|
97
|
+
if (modeChange) {
|
|
98
|
+
aguaceroDebug('core.setState.modePatch', {
|
|
99
|
+
keys: Object.keys(patch || {}),
|
|
100
|
+
patch: {
|
|
101
|
+
...patch,
|
|
102
|
+
apiKey: undefined
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return core.__aguaceroOrigSetState(patch);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @param {import('@aguacerowx/javascript-sdk').AguaceroCore} core
|
|
113
|
+
*/
|
|
114
|
+
export function logProcessFrameAuthMismatch(core, options, context = {}) {
|
|
115
|
+
if (!isAguaceroRnDebugEnabled() || !core || !options) return;
|
|
116
|
+
const mismatches = [];
|
|
117
|
+
if (options.apiKey && core.apiKey && options.apiKey !== core.apiKey) {
|
|
118
|
+
mismatches.push('processFrame.apiKey !== core.apiKey');
|
|
119
|
+
}
|
|
120
|
+
if (options.bundleId !== undefined && options.bundleId !== core.bundleId) {
|
|
121
|
+
mismatches.push('processFrame.bundleId !== core.bundleId');
|
|
122
|
+
}
|
|
123
|
+
const optOrigin = options.gridRequestSiteOrigin || '';
|
|
124
|
+
const coreOrigin = core.gridRequestSiteOrigin || '';
|
|
125
|
+
if (String(optOrigin) !== String(coreOrigin)) {
|
|
126
|
+
mismatches.push('processFrame.gridRequestSiteOrigin !== core.gridRequestSiteOrigin');
|
|
127
|
+
}
|
|
128
|
+
if (mismatches.length > 0) {
|
|
129
|
+
aguaceroDebugWarn('auth.mismatch', {
|
|
130
|
+
mismatches,
|
|
131
|
+
processFrameUrl: redactApiKeyFromUrl(options.url),
|
|
132
|
+
...context
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=aguaceroCoreDebugHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["aguaceroDebug","aguaceroDebugWarn","getAguaceroAuthDiagnosticSnapshot","isAguaceroRnDebugEnabled","redactApiKeyFromUrl","HOOK_FLAG","installAguaceroCoreDebugHooks","core","extra","initialize","__aguaceroOrigInitialize","bind","aguaceroDebugInitialize","options","stateMode","isMRMS","state","isSatellite","isNexrad","model","variable","hasModelStatus","Boolean","modelStatus","hasMrmsStatus","mrmsStatus","hasSatelliteListing","satelliteListing","mrmsVariableCount","Object","keys","length","err","message","String","_loadGridData","__aguaceroOrigLoadGridData","aguaceroDebugLoadGridData","tag","mrmsTimestamp","forecastHour","auth","result","hint","hasData","data","encodingKeys","encoding","refreshNexradTimes","__aguaceroOrigRefreshNexradTimes","aguaceroDebugRefreshNexradTimes","site","nexradSite","product","nexradProduct","dataSource","nexradDataSource","out","timesCount","unixTimes","setState","__aguaceroOrigSetState","aguaceroDebugSetState","patch","modeChange","apiKey","undefined","logProcessFrameAuthMismatch","context","mismatches","push","bundleId","optOrigin","gridRequestSiteOrigin","coreOrigin","processFrameUrl","url"],"sourceRoot":"..\\..\\src","sources":["aguaceroCoreDebugHooks.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Native SDK auth / HTTP diagnostics.
|
|
3
|
+
*
|
|
4
|
+
* Enable in your app (pick one):
|
|
5
|
+
*
|
|
6
|
+
* 1. **Recommended** — pass `debug={true}` on {@link WeatherLayerManager}:
|
|
7
|
+
* ```jsx
|
|
8
|
+
* <WeatherLayerManager apiKey={key} debug gridRequestSiteOrigin="https://your-allowed-origin.com" />
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* 2. **Global** — before rendering weather (works in release builds):
|
|
12
|
+
* ```js
|
|
13
|
+
* import { configureAguaceroRnDebug } from '@aguacerowx/react-native';
|
|
14
|
+
* configureAguaceroRnDebug({ enabled: true });
|
|
15
|
+
* ```
|
|
16
|
+
* or: `globalThis.__AGUACERO_DEBUG__ = true` in your entry file.
|
|
17
|
+
*
|
|
18
|
+
* Logs use the prefix `[AguaceroRN][debug]` (Metro, Xcode, Logcat).
|
|
19
|
+
* API keys are never printed in full — only length, fingerprint, and whitespace hints.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
import { Platform } from 'react-native';
|
|
23
|
+
const LOG_PREFIX = '[AguaceroRN][debug]';
|
|
24
|
+
|
|
25
|
+
/** @type {boolean | null} */
|
|
26
|
+
let _explicitEnabled = null;
|
|
27
|
+
let _fetchLoggerInstalled = false;
|
|
28
|
+
let _fetchSeq = 0;
|
|
29
|
+
const AGUACERO_URL_MARKERS = ['cloudfront.net', 'lambda-url.us-east-2.on.aws', 'amazonaws.com', 'noaa.gov'];
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @param {boolean} enabled
|
|
33
|
+
*/
|
|
34
|
+
export function setAguaceroRnDebugEnabled(enabled) {
|
|
35
|
+
configureAguaceroRnDebug({
|
|
36
|
+
enabled: Boolean(enabled)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @param {{ enabled?: boolean }} opts
|
|
42
|
+
*/
|
|
43
|
+
export function configureAguaceroRnDebug(opts = {}) {
|
|
44
|
+
if (opts && typeof opts.enabled === 'boolean') {
|
|
45
|
+
_explicitEnabled = opts.enabled;
|
|
46
|
+
}
|
|
47
|
+
const on = isAguaceroRnDebugEnabled();
|
|
48
|
+
try {
|
|
49
|
+
if (typeof globalThis !== 'undefined') {
|
|
50
|
+
globalThis.__AGUACERO_DEBUG__ = on;
|
|
51
|
+
globalThis.__AGUACERO_WX_GRID_DEBUG__ = on;
|
|
52
|
+
globalThis.__AGUACERO_NEXRAD_DEBUG__ = on;
|
|
53
|
+
}
|
|
54
|
+
} catch {
|
|
55
|
+
/* ignore */
|
|
56
|
+
}
|
|
57
|
+
if (on) {
|
|
58
|
+
installGlobalFetchLogger();
|
|
59
|
+
aguaceroDebug('debug.enabled', {
|
|
60
|
+
platform: Platform.OS,
|
|
61
|
+
explicitFlag: _explicitEnabled,
|
|
62
|
+
globalFlag: safeGlobalDebugFlag()
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* True when `debug={true}`, {@link configureAguaceroRnDebug}, or `globalThis.__AGUACERO_DEBUG__ === true`.
|
|
69
|
+
* @returns {boolean}
|
|
70
|
+
*/
|
|
71
|
+
export function isAguaceroRnDebugEnabled() {
|
|
72
|
+
if (_explicitEnabled === true) return true;
|
|
73
|
+
if (_explicitEnabled === false) {
|
|
74
|
+
try {
|
|
75
|
+
return typeof globalThis !== 'undefined' && globalThis.__AGUACERO_DEBUG__ === true;
|
|
76
|
+
} catch {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
if (typeof __DEV__ !== 'undefined' && __DEV__) return false;
|
|
82
|
+
} catch {
|
|
83
|
+
/* ignore */
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
return typeof globalThis !== 'undefined' && globalThis.__AGUACERO_DEBUG__ === true;
|
|
87
|
+
} catch {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function safeGlobalDebugFlag() {
|
|
92
|
+
try {
|
|
93
|
+
return typeof globalThis !== 'undefined' ? globalThis.__AGUACERO_DEBUG__ === true : false;
|
|
94
|
+
} catch {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @param {string | null | undefined} secret
|
|
101
|
+
* @returns {Record<string, unknown>}
|
|
102
|
+
*/
|
|
103
|
+
export function describeSecret(secret) {
|
|
104
|
+
if (secret == null || secret === '') {
|
|
105
|
+
return {
|
|
106
|
+
present: false,
|
|
107
|
+
length: 0
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const s = String(secret);
|
|
111
|
+
const trimmed = s.trim();
|
|
112
|
+
return {
|
|
113
|
+
present: true,
|
|
114
|
+
length: s.length,
|
|
115
|
+
trimmedLength: trimmed.length,
|
|
116
|
+
hasLeadingWhitespace: s.length > 0 && s !== trimmed && /^\s/.test(s),
|
|
117
|
+
hasTrailingWhitespace: s.length > 0 && s !== trimmed && /\s$/.test(s),
|
|
118
|
+
hasInternalWhitespace: /\s/.test(trimmed) && trimmed.indexOf(' ') >= 0,
|
|
119
|
+
fingerprint: fingerprintSecret(trimmed || s),
|
|
120
|
+
looksLikePlaceholder: /^(your[-_]?)?api[-_]?key|xxx+|test+$/i.test(trimmed)
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* @param {string} s
|
|
126
|
+
* @returns {string}
|
|
127
|
+
*/
|
|
128
|
+
export function fingerprintSecret(s) {
|
|
129
|
+
if (!s) return '(empty)';
|
|
130
|
+
if (s.length <= 8) return `len${s.length}`;
|
|
131
|
+
return `${s.slice(0, 4)}…${s.slice(-4)} (len=${s.length})`;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* @param {string} u
|
|
136
|
+
* @returns {string}
|
|
137
|
+
*/
|
|
138
|
+
export function redactApiKeyFromUrl(u) {
|
|
139
|
+
if (!u || typeof u !== 'string') return String(u);
|
|
140
|
+
return u.replace(/([?&])apiKey=[^&]*/gi, '$1apiKey=(redacted)');
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* @param {string} url
|
|
145
|
+
* @returns {boolean}
|
|
146
|
+
*/
|
|
147
|
+
export function shouldLogAguaceroUrl(url) {
|
|
148
|
+
if (!url || typeof url !== 'string') return false;
|
|
149
|
+
const lower = url.toLowerCase();
|
|
150
|
+
return AGUACERO_URL_MARKERS.some(m => lower.includes(m));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* @param {string} tag
|
|
155
|
+
* @param {Record<string, unknown> | undefined} detail
|
|
156
|
+
*/
|
|
157
|
+
export function aguaceroDebug(tag, detail) {
|
|
158
|
+
if (!isAguaceroRnDebugEnabled()) return;
|
|
159
|
+
if (detail !== undefined) {
|
|
160
|
+
console.warn(`${LOG_PREFIX}[${tag}]`, detail);
|
|
161
|
+
} else {
|
|
162
|
+
console.warn(`${LOG_PREFIX}[${tag}]`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Auth / HTTP failures: logged when debug is on (same prefix).
|
|
168
|
+
* @param {string} tag
|
|
169
|
+
* @param {Record<string, unknown> | undefined} detail
|
|
170
|
+
*/
|
|
171
|
+
export function aguaceroDebugWarn(tag, detail) {
|
|
172
|
+
if (!isAguaceroRnDebugEnabled()) return;
|
|
173
|
+
if (detail !== undefined) {
|
|
174
|
+
console.warn(`${LOG_PREFIX}[WARN][${tag}]`, detail);
|
|
175
|
+
} else {
|
|
176
|
+
console.warn(`${LOG_PREFIX}[WARN][${tag}]`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @param {import('@aguacerowx/javascript-sdk').AguaceroCore | { apiKey?: string; bundleId?: string | null; gridRequestSiteOrigin?: string | null; baseGridUrl?: string; isReactNative?: boolean }} core
|
|
182
|
+
* @param {Record<string, unknown>} [extra]
|
|
183
|
+
*/
|
|
184
|
+
export function getAguaceroAuthDiagnosticSnapshot(core, extra = {}) {
|
|
185
|
+
const apiKey = core?.apiKey;
|
|
186
|
+
const bundleId = core?.bundleId;
|
|
187
|
+
const origin = core?.gridRequestSiteOrigin;
|
|
188
|
+
return {
|
|
189
|
+
platform: Platform.OS,
|
|
190
|
+
isReactNative: Boolean(core?.isReactNative),
|
|
191
|
+
baseGridUrl: core?.baseGridUrl ?? null,
|
|
192
|
+
apiKey: describeSecret(apiKey),
|
|
193
|
+
bundleId: bundleId ? {
|
|
194
|
+
present: true,
|
|
195
|
+
value: String(bundleId),
|
|
196
|
+
length: String(bundleId).length
|
|
197
|
+
} : {
|
|
198
|
+
present: false,
|
|
199
|
+
hint: 'Install react-native-device-info for x-app-identifier on CDN requests'
|
|
200
|
+
},
|
|
201
|
+
gridRequestSiteOrigin: origin ? {
|
|
202
|
+
present: true,
|
|
203
|
+
value: String(origin),
|
|
204
|
+
length: String(origin).length
|
|
205
|
+
} : {
|
|
206
|
+
present: false,
|
|
207
|
+
hint: 'Pass gridRequestSiteOrigin on WeatherLayerManager — many CloudFront rules require Origin + Referer'
|
|
208
|
+
},
|
|
209
|
+
willSendAppIdentifier: Boolean(bundleId && core?.isReactNative),
|
|
210
|
+
willSendOriginHeaders: Boolean(origin && String(origin).trim()),
|
|
211
|
+
...extra
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* @param {Record<string, unknown>} options - {@link buildGridFrameProcessOptions} output
|
|
217
|
+
* @param {import('@aguacerowx/javascript-sdk').AguaceroCore} [core]
|
|
218
|
+
* @returns {Record<string, unknown>}
|
|
219
|
+
*/
|
|
220
|
+
export function augmentProcessFrameOptionsForDebug(options, core) {
|
|
221
|
+
const out = {
|
|
222
|
+
...options
|
|
223
|
+
};
|
|
224
|
+
if (!isAguaceroRnDebugEnabled()) {
|
|
225
|
+
return out;
|
|
226
|
+
}
|
|
227
|
+
out.debug = true;
|
|
228
|
+
aguaceroDebug('processFrame.options', {
|
|
229
|
+
url: redactApiKeyFromUrl(out.url),
|
|
230
|
+
hasApiKeyInQuery: typeof out.url === 'string' && /[?&]apiKey=/i.test(out.url),
|
|
231
|
+
apiKey: describeSecret(out.apiKey),
|
|
232
|
+
bundleId: out.bundleId ? {
|
|
233
|
+
present: true,
|
|
234
|
+
value: String(out.bundleId)
|
|
235
|
+
} : {
|
|
236
|
+
present: false
|
|
237
|
+
},
|
|
238
|
+
gridRequestSiteOrigin: out.gridRequestSiteOrigin ?? null,
|
|
239
|
+
coreSnapshot: core ? getAguaceroAuthDiagnosticSnapshot(core) : undefined
|
|
240
|
+
});
|
|
241
|
+
return out;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* @param {string | Request} input
|
|
246
|
+
* @param {RequestInit | undefined} init
|
|
247
|
+
*/
|
|
248
|
+
function summarizeFetchRequest(input, init) {
|
|
249
|
+
const url = typeof input === 'string' ? input : input?.url;
|
|
250
|
+
const headers = new Headers(typeof input !== 'string' && input?.headers || init?.headers || undefined);
|
|
251
|
+
const headerRecord = {};
|
|
252
|
+
headers.forEach((v, k) => {
|
|
253
|
+
const lk = k.toLowerCase();
|
|
254
|
+
if (lk === 'x-api-key' || lk === 'authorization') {
|
|
255
|
+
headerRecord[k] = describeSecret(v);
|
|
256
|
+
} else {
|
|
257
|
+
headerRecord[k] = v;
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
return {
|
|
261
|
+
url: redactApiKeyFromUrl(url || ''),
|
|
262
|
+
method: init?.method || (typeof input !== 'string' ? input?.method : undefined) || 'GET',
|
|
263
|
+
headers: headerRecord,
|
|
264
|
+
hasApiKeyQuery: typeof url === 'string' && /[?&]apiKey=/i.test(url)
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Patches `global.fetch` once to log Aguacero CDN / API traffic when debug is enabled.
|
|
270
|
+
*/
|
|
271
|
+
export function installGlobalFetchLogger() {
|
|
272
|
+
if (_fetchLoggerInstalled || !isAguaceroRnDebugEnabled()) return;
|
|
273
|
+
if (typeof globalThis === 'undefined' || typeof globalThis.fetch !== 'function') return;
|
|
274
|
+
const originalFetch = globalThis.fetch.bind(globalThis);
|
|
275
|
+
_fetchLoggerInstalled = true;
|
|
276
|
+
globalThis.fetch = async function aguaceroInstrumentedFetch(input, init) {
|
|
277
|
+
const url = typeof input === 'string' ? input : input?.url;
|
|
278
|
+
const shouldLog = shouldLogAguaceroUrl(url || '');
|
|
279
|
+
const reqId = shouldLog ? `f${++_fetchSeq}` : null;
|
|
280
|
+
const started = Date.now();
|
|
281
|
+
if (shouldLog) {
|
|
282
|
+
aguaceroDebug('fetch.start', {
|
|
283
|
+
reqId,
|
|
284
|
+
...summarizeFetchRequest(input, init)
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
try {
|
|
288
|
+
const response = await originalFetch(input, init);
|
|
289
|
+
if (shouldLog) {
|
|
290
|
+
const elapsedMs = Date.now() - started;
|
|
291
|
+
const base = {
|
|
292
|
+
reqId,
|
|
293
|
+
status: response.status,
|
|
294
|
+
statusText: response.statusText,
|
|
295
|
+
ok: response.ok,
|
|
296
|
+
elapsedMs,
|
|
297
|
+
url: redactApiKeyFromUrl(url || '')
|
|
298
|
+
};
|
|
299
|
+
if (!response.ok) {
|
|
300
|
+
let bodySnippet = null;
|
|
301
|
+
try {
|
|
302
|
+
const clone = response.clone();
|
|
303
|
+
const text = await clone.text();
|
|
304
|
+
bodySnippet = text.length > 600 ? `${text.slice(0, 600)}…` : text;
|
|
305
|
+
} catch {
|
|
306
|
+
bodySnippet = '(could not read body)';
|
|
307
|
+
}
|
|
308
|
+
aguaceroDebugWarn('fetch.httpError', {
|
|
309
|
+
...base,
|
|
310
|
+
bodySnippet,
|
|
311
|
+
hint403: response.status === 403 ? '403 usually means: invalid/disabled API key, bundleId not allowlisted (x-app-identifier), or missing/wrong gridRequestSiteOrigin (Origin/Referer). Compare snapshot at core.created / processFrame.options.' : undefined
|
|
312
|
+
});
|
|
313
|
+
} else {
|
|
314
|
+
aguaceroDebug('fetch.ok', base);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return response;
|
|
318
|
+
} catch (err) {
|
|
319
|
+
if (shouldLog) {
|
|
320
|
+
aguaceroDebugWarn('fetch.throw', {
|
|
321
|
+
reqId,
|
|
322
|
+
message: err?.message || String(err),
|
|
323
|
+
elapsedMs: Date.now() - started,
|
|
324
|
+
url: redactApiKeyFromUrl(url || '')
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
throw err;
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
aguaceroDebug('fetch.hookInstalled', {
|
|
331
|
+
platform: Platform.OS
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=aguaceroRnDebug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","LOG_PREFIX","_explicitEnabled","_fetchLoggerInstalled","_fetchSeq","AGUACERO_URL_MARKERS","setAguaceroRnDebugEnabled","enabled","configureAguaceroRnDebug","Boolean","opts","on","isAguaceroRnDebugEnabled","globalThis","__AGUACERO_DEBUG__","__AGUACERO_WX_GRID_DEBUG__","__AGUACERO_NEXRAD_DEBUG__","installGlobalFetchLogger","aguaceroDebug","platform","OS","explicitFlag","globalFlag","safeGlobalDebugFlag","__DEV__","describeSecret","secret","present","length","s","String","trimmed","trim","trimmedLength","hasLeadingWhitespace","test","hasTrailingWhitespace","hasInternalWhitespace","indexOf","fingerprint","fingerprintSecret","looksLikePlaceholder","slice","redactApiKeyFromUrl","u","replace","shouldLogAguaceroUrl","url","lower","toLowerCase","some","m","includes","tag","detail","undefined","console","warn","aguaceroDebugWarn","getAguaceroAuthDiagnosticSnapshot","core","extra","apiKey","bundleId","origin","gridRequestSiteOrigin","isReactNative","baseGridUrl","value","hint","willSendAppIdentifier","willSendOriginHeaders","augmentProcessFrameOptionsForDebug","options","out","debug","hasApiKeyInQuery","coreSnapshot","summarizeFetchRequest","input","init","headers","Headers","headerRecord","forEach","v","k","lk","method","hasApiKeyQuery","fetch","originalFetch","bind","aguaceroInstrumentedFetch","shouldLog","reqId","started","Date","now","response","elapsedMs","base","status","statusText","ok","bodySnippet","clone","text","hint403","err","message"],"sourceRoot":"..\\..\\src","sources":["aguaceroRnDebug.js"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { MapManager } from './MapManager';
|
|
2
2
|
export { WeatherLayerManager } from './WeatherLayerManager';
|
|
3
|
+
export { configureAguaceroRnDebug, setAguaceroRnDebugEnabled, isAguaceroRnDebugEnabled, getAguaceroAuthDiagnosticSnapshot, aguaceroDebug, aguaceroDebugWarn } from './aguaceroRnDebug';
|
|
3
4
|
export { default as GridRenderLayer } from './GridRenderLayerNativeComponent';
|
|
4
5
|
export { AGUACERO_NEXRAD_MAP_LAYER_ID, AGUACERO_SATELLITE_MAP_LAYER_ID } from './nws/nwsAndroidConstants';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MapManager","WeatherLayerManager","default","GridRenderLayer","AGUACERO_NEXRAD_MAP_LAYER_ID","AGUACERO_SATELLITE_MAP_LAYER_ID"],"sourceRoot":"..\\..\\src","sources":["index.js"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,OAAO,IAAIC,eAAe,QAAQ,kCAAkC;AAC7E,SACEC,4BAA4B,EAC5BC,+BAA+B,QAC1B,2BAA2B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MapManager","WeatherLayerManager","configureAguaceroRnDebug","setAguaceroRnDebugEnabled","isAguaceroRnDebugEnabled","getAguaceroAuthDiagnosticSnapshot","aguaceroDebug","aguaceroDebugWarn","default","GridRenderLayer","AGUACERO_NEXRAD_MAP_LAYER_ID","AGUACERO_SATELLITE_MAP_LAYER_ID"],"sourceRoot":"..\\..\\src","sources":["index.js"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SACIC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACxBC,iCAAiC,EACjCC,aAAa,EACbC,iBAAiB,QACd,mBAAmB;AAC1B,SAASC,OAAO,IAAIC,eAAe,QAAQ,kCAAkC;AAC7E,SACEC,4BAA4B,EAC5BC,+BAA+B,QAC1B,2BAA2B","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ import { sampleNexradFrameAtLatLon } from './nexradCrossSectionSampleAtLatLon.bu
|
|
|
10
10
|
import { buildNexradLutRgba } from './nexradLutBuild.js';
|
|
11
11
|
import { Platform } from 'react-native';
|
|
12
12
|
import { nexradDiagBootSnapshot, nexradDiagGateTextureSummary, nexradPerfSpan } from './nexradDiag.js';
|
|
13
|
+
import { aguaceroDebug, getAguaceroAuthDiagnosticSnapshot, isAguaceroRnDebugEnabled } from '../aguaceroRnDebug';
|
|
13
14
|
nexradDiagBootSnapshot({
|
|
14
15
|
archiveExports: {
|
|
15
16
|
setNexradArchiveApiKey: typeof setNexradArchiveApiKey,
|
|
@@ -213,6 +214,11 @@ export class NexradAndroidController {
|
|
|
213
214
|
setNexradSitesFetchAuth(core.apiKey || '', core.bundleId || '');
|
|
214
215
|
}
|
|
215
216
|
setNexradArchiveSiteOrigin(core.gridRequestSiteOrigin || '');
|
|
217
|
+
if (isAguaceroRnDebugEnabled()) {
|
|
218
|
+
aguaceroDebug('nexrad.authConfigured', getAguaceroAuthDiagnosticSnapshot(core, {
|
|
219
|
+
phase: 'NexradAndroidController.constructor'
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
216
222
|
}
|
|
217
223
|
_trimNativeGpuReadyKeys(max) {
|
|
218
224
|
while (this._nativeGpuReadyKeys.size > max) {
|
|
@@ -676,6 +682,13 @@ export class NexradAndroidController {
|
|
|
676
682
|
setNexradArchiveBundleId(this.core.bundleId || '');
|
|
677
683
|
setNexradArchiveSiteOrigin(this.core.gridRequestSiteOrigin || '');
|
|
678
684
|
setNexradSitesFetchAuth(this.core.apiKey || '', this.core.bundleId || '');
|
|
685
|
+
if (isAguaceroRnDebugEnabled()) {
|
|
686
|
+
aguaceroDebug('nexrad.authConfigured', getAguaceroAuthDiagnosticSnapshot(this.core, {
|
|
687
|
+
phase: 'NexradAndroidController.preload',
|
|
688
|
+
site: state.nexradSite,
|
|
689
|
+
product: state.nexradProduct
|
|
690
|
+
}));
|
|
691
|
+
}
|
|
679
692
|
const snapshot = {
|
|
680
693
|
...state
|
|
681
694
|
};
|