Commit 101bf75
authored
feat(device-utils): iOS cold-start local notification deep-link support (OK-55681) (#61)
* feat(device-utils): add getAndClearColdStartLocalNotification for iOS cold-start deep-link (OK-55681)
LaunchOptionsStore gains an in-memory coldStartLocalNotification slot
(JSON userInfo of a tapped LOCAL notification) plus a read-once
takeColdStartLocalNotification(). The new Nitro method
getAndClearColdStartLocalNotification() returns it and clears it; the host
AppDelegate writes the slot via KVC on a killed-app notification tap.
In-memory only (no NSUserDefaults): a new process = fresh nil, so it is
launch-scoped and cannot replay a stale tap. Android returns "" (taps
arrive via Intent extras there). Run yarn nitrogen + yarn prepare before
publishing 3.0.54.
* chore: bump version to 3.0.55
* feat(chart-webview): warm-driver + offline chart instrumentation
- iOS/Android: warm-boot the shared offline page + route page->native
callbacks to owner ?? warmDriver so bars-state/load-end aren't dropped
while the host that owns the WebView is the offscreen prewarm
- source/bridge setters apply synchronously (drop scheduleReconcile, which
caused an infinite reconcile loop on Android)
- add ChartWV diagnostics via OneKeyLog (depend on ReactNativeNativeLogger)
- fix Android compileReleaseKotlin: dispose() needs override
* feat(chart-webview): Android pause-when-idle + debug toggle + attach retries
- Android: pause the pooled WebView's renderer (onPause) when no host owns it and
resume on claim — Android (unlike iOS WKWebView) never throttles an offscreen
WebView, so the warm page burned a CPU core + grew RAM to OOM after leaving the
chart. Per-instance onPause (NOT process-global pauseTimers).
- attachToContainer: retry reparent up to 12 frames instead of giving up after 1
(a single retry stranded the WebView in the old container -> blank chart slot)
- webviewDebuggingEnabled Nitro prop (iOS isInspectable / Android
setWebContentsDebuggingEnabled) following the dev-mode toggle (Agent B)
* fix(chart-webview): parent-checked forceDetach on pooled dispose (Android re-entry white-screen/stuck-loading)
Pooled WebView re-parented across hosts left a stale parent on dispose, so
re-entering a chart showed a white screen / infinite loading (issues 1 & 2).
- forceDetach(): endViewTransition + removeView, fallback removeViewInLayout +
requestLayout, so the parent is cleared synchronously even on a dead container.
- detachFrom(): parent-checked, used by ChartWebview.dispose() for pooled hosts.
- attachToContainer(): uses forceDetach, retries via container.post.
Retains ChartDBG diagnostic counters (warmDriver/owner setters, throttled
per-3s msgIn/native->page RATE, pauseIfIdle SKIP/PAUSE/RESUME) for ongoing
on-device verification; to be removed before merge.
* chore(chart-webview): drop debug instrumentation, keep necessary native logs
Remove the ChartDBG diagnostic layer added for the Android root-cause work:
- DBG tag, owner/warmDriver transition logs, dbgId getter
- throttled msgIn/native->page rate counters + rateLogger handler
- pauseIfIdle SKIP verbose log
Keep only operational logs under the ChartWebviewPool tag: WebView
CREATED/DESTROYED (singleton verification), renderer PAUSE/RESUME, and the
attach-failed-after-retries warning. Logging-only change; behavior unchanged.
* chore: bump version to 3.0.561 parent 9a53849 commit 101bf75
41 files changed
Lines changed: 479 additions & 93 deletions
File tree
- native-modules
- native-logger
- react-native-aes-crypto
- react-native-app-update
- react-native-async-storage
- react-native-background-thread
- react-native-bundle-crypto
- react-native-bundle-update
- react-native-check-biometric-auth-changed
- react-native-cloud-fs
- react-native-cloud-kit-module
- react-native-device-utils
- android/src/main/java/com/margelo/nitro/reactnativedeviceutils
- ios
- src
- react-native-dns-lookup
- react-native-get-random-values
- react-native-keychain-module
- react-native-lite-card
- react-native-network-info
- react-native-pbkdf2
- react-native-perf-memory
- react-native-perf-stats
- react-native-ping
- react-native-range-downloader
- react-native-splash-screen
- react-native-split-bundle-loader
- react-native-tcp-socket
- react-native-zip-archive
- native-views
- react-native-auto-size-input
- react-native-chart-webview
- android/src/main/java/com/margelo/nitro/chartwebview
- ios
- src
- react-native-pager-view
- react-native-perp-depth-bar
- react-native-scroll-guard
- react-native-segment-slider
- react-native-skeleton
- react-native-tab-view
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments