Skip to content

SessionReplay: Webview is empty on replay while RUM is instrumented on browser #1022

@kimwonj77

Description

@kimwonj77

Describe the bug

We have some webview-wrapped Hybrid web app with expo. Both Expo side and Browser-side RUM instrumentation is installed.

But with import { WebView } from "@datadog/mobile-react-native-webview";. WebView is rendered as empty on SessionReplay.

Image

Using standard Webview(from react-native-webview) makes Data is not being connected between Native and Webview but Web-Content RUM is shown on WebView-app.
(Note that when using Webview from DataDog, Browser RUM is not showing up but only click events on Native RUM Logs)

Reproduction steps

Bare minimum:

export default function App() {
  // .... some datadog RUM sdk init with sessionReplay with all sample rate to 100,

  return (
    <View style={containerStyle}>
      <ProgressBar isLoading={isLoading} progress={loadingProgress} />
      <WebView
        {...webViewProps}
        allowsBackForwardNavigationGestures={true}
        pullToRefreshEnabled={true}
        decelerationRate="normal"
        bounces={true}
        scrollEnabled={true}
        directionalLockEnabled={false}
        showsVerticalScrollIndicator={false}
        showsHorizontalScrollIndicator={false}
        // allowedHosts={ALLOWED_HOSTS}
      />
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  scrollViewContent: {
    flex: 1,
  },
  webview: {
    flex: 1,
  },
});
datadogRum.init({
  // ...
  sessionSampleRate: 100,
  sessionReplaySampleRate: 100,
});

SDK logs

No response

Expected behavior

WebView content is rendered, at least seperated RUM session data showing up with connected-data

Affected SDK versions

2.12.4

Latest working SDK version

no

Did you confirm if the latest SDK version fixes the bug?

Yes

Integration Methods

NPM

React Native Version

0.81.5

Package.json Contents

{
"name": "private",
"version": "1.0.0",
"main": "index.ts",
"scripts": {
"start": "expo start",
"android": "expo run:android",
"ios": "expo run:ios",
"web": "expo start --web",
"lint": "eslint . --ext .ts,.tsx",
"postinstall": "patch-package"
},
"dependencies": {
"@datadog/mobile-react-native": "^2.12.4",
"@datadog/mobile-react-native-session-replay": "^2.12.4",
"@datadog/mobile-react-native-webview": "^2.12.4",
"@datadog/mobile-react-navigation": "^2.12.4",
"@react-native-firebase/analytics": "^23.4.0",
"@react-native-firebase/app": "^23.4.0",
"@react-native-firebase/crashlytics": "^23.4.0",
"@react-native-firebase/messaging": "^23.4.0",
"@react-native-seoul/kakao-login": "^5.4.1",
"@react-native-seoul/naver-login": "^4.2.2",
"@tosspayments/widget-sdk-react-native": "^1.5.0",
"expo": "54.0.17",
"expo-apple-authentication": "~8.0.7",
"expo-application": "^7.0.7",
"expo-build-properties": "~1.0.9",
"expo-constants": "~18.0.10",
"expo-datadog": "^54.0.0",
"expo-dev-client": "~6.0.16",
"expo-device": "~8.0.9",
"expo-haptics": "^15.0.7",
"expo-image-picker": "^17.0.8",
"expo-localization": "^17.0.7",
"expo-navigation-bar": "~5.0.9",
"expo-notifications": "~0.32.12",
"expo-sensors": "^15.0.7",
"expo-splash-screen": "^31.0.10",
"expo-status-bar": "~3.0.8",
"expo-tracking-transparency": "^6.0.7",
"expo-updates": "~29.0.12",
"expo-web-browser": "~15.0.8",
"i": "^0.3.7",
"patch-package": "^8.0.0",
"react": "19.1.0",
"react-native": "0.81.5",
"react-native-safe-area-context": "^5.6.1",
"react-native-webview": "13.15.0"
},
"devDependencies": {
"@datadog/datadog-ci": "^3.21.4",
"@types/react": "~19.1.0",
"@typescript-eslint/eslint-plugin": "^8.44.0",
"@typescript-eslint/parser": "^8.44.0",
"eslint": "^9.36.0",
"eslint-plugin-expo": "^1.0.0",
"typescript": "~5.9.2"
},
"private": true
}

....

"@datadog/browser-logs": "^6.19.0",
"@datadog/browser-rum": "^6.19.0",
"@datadog/browser-rum-react": "^6.19.0",

iOS Setup

No response

Android Setup

No response

Device Information

Both android and iOS

Other relevant information

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions