Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
921a4c2
Remove Console entry points from TroubleshootPage and TestToolsModalPage
roryabraham Feb 13, 2026
9480ae4
Remove Console routes and screens from SCREENS, ROUTES, and navigatio…
roryabraham Feb 13, 2026
f8b456a
Delete Console and ShareLogList UI components
roryabraham Feb 13, 2026
64de2ce
Remove Console lib and actions
roryabraham Feb 13, 2026
3abcdaa
Remove Console types from types/onyx
roryabraham Feb 13, 2026
b115fb7
Remove DEBUG_CONSOLE constants and Console Onyx keys
roryabraham Feb 13, 2026
8d06cb3
Remove Console dependencies from Log.ts and Troubleshoot.ts
roryabraham Feb 13, 2026
bfb90a9
Remove Console translation keys from language files
roryabraham Feb 13, 2026
ddbdf9e
Remove Console/LOGS usage from RecordTroubleshootDataToolMenu
roryabraham Feb 13, 2026
8dcf74a
Remove logs from troubleshoot export and rename onDisableLogging to o…
roryabraham Feb 13, 2026
d160895
Fix tsc
roryabraham Feb 13, 2026
d53647d
Fix lint and TypeScript errors: remove logsWithParsedMessages from na…
roryabraham Feb 13, 2026
108e71d
Remove RecordTroubleshootDataToolMenu component and update consumers
roryabraham Feb 13, 2026
900ea33
Remove Troubleshoot/ProfilingTool actions and clean up Onyx keys
roryabraham Feb 13, 2026
95d42e1
Remove recordTroubleshootData translation key from all locale files
roryabraham Feb 13, 2026
b4ebc3f
Remove jszip, react-native-blob-util, and react-native-release-profil…
roryabraham Feb 13, 2026
4ed1344
Remove React Native Release Profiler section from PERFORMANCE.md
roryabraham Feb 13, 2026
4b7637a
Fix formatting: remove extra blank lines in ONYXKEYS.ts
roryabraham Feb 13, 2026
d21901e
Restore react-native-blob-util and react-native-release-profiler depe…
roryabraham Feb 13, 2026
5ca7553
Remove Firebase Crashlytics dSYM upload lanes and deploy step
roryabraham Feb 13, 2026
1bb70b4
Remove react-native-release-profiler and associated symbolication scr…
roryabraham Feb 13, 2026
fcd832b
Revert Crashlytics dSYM removal and clean up orphaned constants
roryabraham Feb 13, 2026
a25d77b
Remove react-native-release-profiler from Pods
roryabraham Feb 13, 2026
828e66c
Merge remote-tracking branch 'origin/main' into Rory-RemoveConsolePage
roryabraham Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions contributingGuides/PERFORMANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,46 +110,6 @@ https://github.com/user-attachments/assets/fe00da26-af07-4ea1-bd92-2dbe06c4bdad
- For more accurate performance data, prefer release builds when possible
- The generated traces require symbolication to show meaningful function names in release builds

### React Native Release Profiler

For more advanced JavaScript profiling on native devices, [`react-native-release-profiler`](https://github.com/margelo/react-native-release-profiler) provides programmatic profiling capabilities that work on both development and release builds.

#### Setup:
The profiler is already integrated into our debugging console. See the [App README](https://github.com/Expensify/App?tab=readme-ov-file#release-profiler) for detailed setup instructions.

#### Steps to Profile:

1. **Start Profiling:**
- Open the debugging console (four-finger tap)
- Press "Record Troubleshoot Data"
- Perform the actions you want to profile
- Press "Record Troubleshoot Data" again

2. **Retrieve Profile:**
- The profile is saved to the device's Documents folder

3. **Symbolicate Profile:**
- Download source maps from the GitHub release. Each release contains source maps for Android, iOS and Web.
- Copy the recorded profile to the root folder of the E/App repository
- Copy the source maps to the specific paths:
- **Android:** `android/app/build/generated/sourcemaps/react/productionRelease/` and rename file to `index.android.bundle.map`
- **iOS:** root folder and rename file to `main.jsbundle.map`
- **Web:** `dist` and run `npm run combine-web-sourcemaps` to generate merged sourcemaps
- Run the appropriate symbolication command:
```bash
# iOS
npm run symbolicate-release:ios
Comment thread
roryabraham marked this conversation as resolved.
# Android
npm run symbolicate-release:android
# Web
npm run symbolicate-release:web
```
- This converts the raw profile into a format with readable function names

4. **Analyze:**
- Upload the symbolicated profile to [Speedscope](https://www.speedscope.app/)
- Or use Chrome DevTools Performance tab

### Flashlight

[Flashlight](https://github.com/bamlab/flashlight) is a tool for measuring React Native app performance with quantifiable metrics. It provides automated performance testing and can generate consistent baseline measurements.
Expand Down
32 changes: 0 additions & 32 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2662,34 +2662,6 @@ PODS:
- ReactCommon/turbomodule/core
- SocketRocket
- Yoga
- react-native-release-profiler (0.4.2):
- boost
- DoubleConversion
- fast_float
- fmt
- glog
- hermes-engine
- RCT-Folly
- RCT-Folly/Fabric
- RCTRequired
- RCTTypeSafety
- React-Core
- React-debug
- React-Fabric
- React-featureflags
- React-graphics
- React-ImageManager
- React-jsi
- React-NativeModulesApple
- React-RCTFabric
- React-renderercss
- React-rendererdebug
- React-utils
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- SocketRocket
- Yoga
- react-native-safe-area-context (5.6.2):
- boost
- DoubleConversion
Expand Down Expand Up @@ -4197,7 +4169,6 @@ DEPENDENCIES:
- react-native-pdf (from `../node_modules/react-native-pdf`)
- react-native-performance (from `../node_modules/react-native-performance`)
- react-native-plaid-link-sdk (from `../node_modules/react-native-plaid-link-sdk`)
- react-native-release-profiler (from `../node_modules/react-native-release-profiler`)
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- "react-native-skia (from `../node_modules/@shopify/react-native-skia`)"
- react-native-view-shot (from `../node_modules/react-native-view-shot`)
Expand Down Expand Up @@ -4474,8 +4445,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-performance"
react-native-plaid-link-sdk:
:path: "../node_modules/react-native-plaid-link-sdk"
react-native-release-profiler:
:path: "../node_modules/react-native-release-profiler"
react-native-safe-area-context:
:path: "../node_modules/react-native-safe-area-context"
react-native-skia:
Expand Down Expand Up @@ -4722,7 +4691,6 @@ SPEC CHECKSUMS:
react-native-pdf: 6a09a9be0e7ee954ea671437483316f9a28f8572
react-native-performance: a7a65d0b0f3055c5db33e1433e4345143ef6a100
react-native-plaid-link-sdk: 425c0a3a923310fcd8489142209ff1508372a7bf
react-native-release-profiler: 6c3ed1765fee48e869170e4af339c838a747eaee
react-native-safe-area-context: 0a3b034bb63a5b684dd2f5fffd3c90ef6ed41ee8
react-native-skia: 51f30133876025c83e933f4f7253479e6de5d937
react-native-view-shot: 28aca10c6c6e5331959ba4b6cb2fced572f88af3
Expand Down
72 changes: 7 additions & 65 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 0 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,6 @@
"analyze-packages": "ANALYZE_BUNDLE=true tsx ./node_modules/.bin/webpack-cli --config config/webpack/webpack.common.ts --env file=.env.production",
"symbolicate:android": "npx metro-symbolicate android/app/build/generated/sourcemaps/react/release/index.android.bundle.map",
"symbolicate:ios": "npx metro-symbolicate main.jsbundle.map",
"symbolicate-release:ios": "./scripts/release-profile.ts --platform=ios",
"symbolicate-release:android": "./scripts/release-profile.ts --platform=android",
"symbolicate-release:web": "./scripts/release-profile.ts --platform=web",
"symbolicate-profile": "./scripts/symbolicate-profile.ts",
"combine-web-sourcemaps": "./scripts/combine-web-sourcemaps.ts",
"test:e2e": "ts-node tests/e2e/testRunner.ts --config ./config.local.ts",
"test:e2e:dev": "ts-node tests/e2e/testRunner.ts --config ./config.dev.ts",
Expand Down Expand Up @@ -152,7 +148,6 @@
"howler": "^2.2.4",
"htmlparser2": "10.0.0",
"idb-keyval": "^6.2.1",
"jszip": "^3.10.1",
"lodash-es": "4.17.21",
"lottie-react-native": "6.5.1",
"mapbox-gl": "^2.15.0",
Expand Down Expand Up @@ -198,7 +193,6 @@
"react-native-plaid-link-sdk": "12.5.3",
"react-native-qrcode-svg": "6.3.21",
"react-native-reanimated": "4.2.1",
"react-native-release-profiler": "0.4.2",
"react-native-render-html": "6.3.1",
"react-native-safe-area-context": "5.6.2",
"react-native-screens": "4.15.4",
Expand Down
54 changes: 0 additions & 54 deletions scripts/release-profile.ts

This file was deleted.

Loading
Loading