[$250] Something went wrong error message displayed upon opening the laptop/app after being inactive for a few hours
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: Reproducible in staging?: Needs reproduction Reproducible in production?: Needs Reproduction If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: If this was caught during regression testing, add the test name, ID and link from TestRail: Email or phone of affected tester (no customers): Logs: https://stackoverflow.com/c/expensify/questions/4856 Expensify/Expensify Issue URL: Issue reported by: @quinthar Slack conversation (hyperlinked to channel name): ts_external_expensify_quality
Action Performed:
- Open the laptop/app after inactive for few hours
- Click refresh
Expected Result:
User able to continue to use the app after being inactive for few hours
Actual Result:
Uh-oh, Something went wrong error message displayed and on clicking refresh first time did not solve the issue and secondtime signin page displayed
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
- [ ] Android: Standalone
- [ ] Android: HybridApp
- [ ] Android: mWeb Chrome
- [ ] iOS: Standalone
- [ ] iOS: HybridApp
- [ ] iOS: mWeb Safari
- [x] MacOS: Chrome / Safari
- [ ] MacOS: Desktop
Screenshots/Videos
Add any screenshot/video evidence
[OnyxUpdateManager] Listening for updates from the server
Log.ts:76 [info] [Onyx] set called for key: logs properties: hasChanged: true - ""
Log.ts:76 [info] Found existing deviceID - "03dd7390-7a0c-0edf-e3f3-cce917181450"
NativeAnimatedHelper.js:410 Animated: `useNativeDriver` is not supported because the native animated module is missing. Falling back to JS-based animation. To resolve this, add `RCTAnimation` module to this app, or remove `useNativeDriver`. Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md
T @ NativeAnimatedHelper.js:410
Z @ AnimatedEvent.js:92
event @ AnimatedImplementation.js:394
(anonymous) @ animated.js:66
useMemo @ react-dom.production.min.js:177
t.useMemo @ react.production.min.js:26
T @ animated.js:66
fo @ react-dom.production.min.js:160
vA @ react-dom.production.min.js:289
Il @ react-dom.production.min.js:279
pl @ react-dom.production.min.js:279
fl @ react-dom.production.min.js:279
al @ react-dom.production.min.js:267
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
e.exports @ _invoke.js:5
p.<computed> @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 19 more frames
Show lessUnderstand this warningAI
Log.ts:76 [info] [Onyx] set called for key: activeClients properties: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 hasChanged: true - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: true - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: false - ""
Log.ts:76 [info] App launched - {"Platform":{"OS":"web","isTesting":false},"CONFIG":{"default":{"APP_NAME":"NewExpensify","AUTH_TOKEN_EXPIRATION_TIME":5400000,"ENVIRONMENT":"staging","EXPENSIFY":{"EXPENSIFY_URL":"https://www.expensify.com/","SECURE_EXPENSIFY_URL":"https://secure.expensify.com/","NEW_EXPENSIFY_URL":"https://staging.new.expensify.com/","DEFAULT_API_ROOT":"https://www.expensify.com/","DEFAULT_SECURE_API_ROOT":"https://secure.expensify.com/","STAGING_API_ROOT":"https://staging.expensify.com/","STAGING_SECURE_API_ROOT":"https://staging-secure.expensify.com/","PARTNER_NAME":"chat-expensify-com","PARTNER_PASSWORD":"e21965746fd75f82bb66","EXPENSIFY_CASH_REFERER":"ecash","CONCIERGE_URL_PATHNAME":"concierge/","DEVPORTAL_URL_PATHNAME":"_devportal/","CONCIERGE_URL":"https://www.expensify.com/concierge/","SAML_URL":"https://www.expensify.com/authentication/saml/login"},"IS_IN_PRODUCTION":true,"IS_IN_STAGING":true,"IS_USING_LOCAL_WEB":false,"PUSHER":{"APP_KEY":"268df511a204fbb60884","SUFFIX":"","CLUSTER":"mt1"},"SITE_TITLE":"New Expensify","FAVICON":{"DEFAULT":"/favicon.png","UNREAD":"/favicon-unread.png"},"CAPTURE_METRICS":false,"ONYX_METRICS":false,"DEV_PORT":8082,"E2E_TESTING":false,"SEND_CRASH_REPORTS":true,"IS_USING_WEB_PROXY":false,"APPLE_SIGN_IN":{"SERVICE_ID":"com.chat.expensify.chat.AppleSignIn","REDIRECT_URI":"https://staging.new.expensify.com/appleauth"},"GOOGLE_SIGN_IN":{"WEB_CLIENT_ID":"921154746561-gpsoaqgqfuqrfsjdf8l7vohfkfj7b9up.apps.googleusercontent.com","IOS_CLIENT_ID":"921154746561-s3uqn2oe4m85tufi6mqflbfbuajrm2i3.apps.googleusercontent.com"},"GCP_GEOLOCATION_API_KEY":"","FIREBASE_WEB_CONFIG":{"apiKey":"AIzaSyBrLKgCuo6Vem6Xi5RPokdumssW8HaWBow","appId":"1:1008697809946:web:ca25268d2645fc285445a3","projectId":"expensify-mobile-app"},"USE_REACT_STRICT_MODE_IN_DEV":false}}}
Log.ts:76 [info] [Migrate Onyx] start - ""
Log.ts:76 [info] [API] Called API.paginate - {"command":"OpenReport","reportID":"74050707","reportActionID":"","emailList":"","accountIDList":"","parentReportActionID":"0","shouldRetry":false,"clientLastReadTime":""}
Log.ts:76 [info] [API] Preparing request - {"command":"OpenReport","type":"makeRequestWithSideEffects"}
Log.ts:76 [info] [API] Applying optimistic data - {"command":"OpenReport","type":"makeRequestWithSideEffects"}
Log.ts:76 [info] [Network] Making API request - {"command":"OpenReport"} Object
Log.ts:76 [info] [Migrate Onyx] Skipped migration RenameCardIsVirtual because there are no cards linked to the account - ""
Log.ts:76 [info] [Migrate Onyx] Skipped migration RenameReceiptFilename because there are no transactions - ""
Log.ts:76 [info] [Migrate Onyx] Skipped migration KeyReportActionsDraftByReportActionID because there were no reportActionsDrafts - ""
Log.ts:76 [info] [Migrate Onyx] Skipped TransactionBackupsToCollection migration because there are no transactions - ""
Log.ts:76 [info] [Migrate Onyx] Skipped migration RemoveEmptyReportActionsDrafts because there were no reportActionsDrafts - ""
Log.ts:76 [info] [Migrate Onyx] finished in 6ms - ""
Log.ts:76 [info] [PersistedRequests] hit Onyx connect callback - {"isValNullish":false}
Log.ts:76 [info] [BootSplash] hiding splash screen - ""
Log.ts:76 [info] [Onyx] merge called for key: modal properties: willAlertModalBecomeVisible,isPopover hasChanged: true - ""
Log.ts:76 [info] [SequentialQueue] Unable to flush. No requests to process. - ""
Log.ts:76 [info] [Onyx] merge called for key: report_74050707 properties: reportName hasChanged: true - ""
Log.ts:76 [info] [Onyx] merge called for key: reportMetadata_74050707 properties: isLoadingInitialReportActions,isLoadingOlderReportActions,hasLoadingOlderReportActionsError,isLoadingNewerReportActions,hasLoadingNewerReportActionsError,lastVisitTime hasChanged: true - ""
Log.ts:76 [alrt] Unhandled Promise Rejection: Loading chunk 837 failed.
(error: https://staging.new.expensify.com/837-faf8b9e6f2b9cda4a9ca.bundle.js)
Stack: ChunkLoadError
at f.f.j (https://staging.new.expensify.com/runtime-78717ce0e436e57c378e.bundle.js:1:2916)
at https://staging.new.expensify.com/runtime-78717ce0e436e57c378e.bundle.js:1:1228
at Array.reduce (<anonymous>)
at f.e (https://staging.new.expensify.com/runtime-78717ce0e436e57c378e.bundle.js:1:1206)
at N (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:103641)
at callback (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:3695680)
at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3410898
at Map.forEach (<anonymous>)
at Object.fireCallbacks (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3410885)
at Object.t [as fireCallbacks] (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:6672200) - {}
jsonp chunk loading:27 Uncaught (in promise) ChunkLoadError: Loading chunk 837 failed.
(error: https://staging.new.expensify.com/837-faf8b9e6f2b9cda4a9ca.bundle.js)
at f.f.j (jsonp chunk loading:27:18)
at ensure chunk:6:25
at Array.reduce (<anonymous>)
at f.e (ensure chunk:5:56)
at N (index.ts:38:64)
at callback (App.ts:64:13)
at OnyxConnectionManager.js:73:13
at Map.forEach (<anonymous>)
at Object.fireCallbacks (OnyxConnectionManager.js:72:86)
at Object.t [as fireCallbacks] (_createBind.js:23:15)
f.f.j @ jsonp chunk loading:27
(anonymous) @ ensure chunk:6
f.e @ ensure chunk:5
N @ index.ts:38
callback @ App.ts:64
(anonymous) @ OnyxConnectionManager.js:73
fireCallbacks @ OnyxConnectionManager.js:72
t @ _createBind.js:23
a @ OnyxConnectionManager.js:101
W @ OnyxUtils.js:813
(anonymous) @ OnyxUtils.js:1085
Show 6 more frames
Show lessUnderstand this errorAI
lazyRetry.ts:34 Failed to lazily import a React component after the retry operation! ChunkLoadError: Loading chunk 246 failed.
(error: https://staging.new.expensify.com/246-151b9e8ea012c5f6945a.bundle.js)
at f.f.j (jsonp chunk loading:27:18)
at ensure chunk:6:25
at Array.reduce (<anonymous>)
at f.e (ensure chunk:5:56)
at index.tsx:5:50
at lazyRetry.ts:21:9
at new Promise (<anonymous>)
at zo (lazyRetry.ts:17:12)
at index.tsx:5:34
at D (react.production.min.js:18:161)
(anonymous) @ lazyRetry.ts:34Understand this errorAI
react-dom.production.min.js:188 ChunkLoadError: Loading chunk 246 failed.
(error: https://staging.new.expensify.com/246-151b9e8ea012c5f6945a.bundle.js)
at f.f.j (jsonp chunk loading:27:18)
at ensure chunk:6:25
at Array.reduce (<anonymous>)
at f.e (ensure chunk:5:56)
at index.tsx:5:50
at lazyRetry.ts:21:9
at new Promise (<anonymous>)
at zo (lazyRetry.ts:17:12)
at index.tsx:5:34
at D (react.production.min.js:18:161)
us @ react-dom.production.min.js:188
Cs.i.componentDidCatch.n.callback @ react-dom.production.min.js:189
ji @ react-dom.production.min.js:156
yA @ react-dom.production.min.js:260
IA @ react-dom.production.min.js:259
mA @ react-dom.production.min.js:258
(anonymous) @ react-dom.production.min.js:282
El @ react-dom.production.min.js:280
al @ react-dom.production.min.js:269
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
e.exports @ _invoke.js:5
p.<computed> @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 15 more frames
Show lessUnderstand this errorAI
Log.ts:76 [alrt] NewExpensify crash caught by error boundary - Loading chunk 246 failed.
(error: https://staging.new.expensify.com/246-151b9e8ea012c5f6945a.bundle.js) - {"errorInfo":"{\"componentStack\":\"\\n at Lazy\\n at Suspense\\n at Fo (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:177004)\\n at h (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:765656)\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:769431\\n at l (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:809354)\\n at I (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:811878)\\n at jo (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:177464)\\n at qa (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:146138)\\n at Or (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:186213)\\n at div\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2331299\\n at i (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:719082)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3372162)\\n at ae (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:111295)\\n at ce (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:112284)\\n at i (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2430981)\\n at div\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2331299\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2206138\\n at n (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:1713725)\\n at T (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3392317)\\n at u (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2495279)\\n at c (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2496770)\\n at s (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2491662)\\n at l (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2492541)\\n at p (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2509784)\\n at h (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:104196)\\n at s (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:458122)\\n at v (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:104791)\\n at i (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2499023)\\n at D (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:1379290)\\n at c (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:4071983)\\n at https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2429027\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at l (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2497573)\\n at s (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2396643)\\n at c (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2499706)\\n at t.default (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3476752)\\n at t.default (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3473783)\\n at t.default (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3478123)\\n at t.default (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3475529)\\n at y (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3458411)\\n at C (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3472250)\\n at ma (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:140060)\\n at Oa (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:144992)\\n at https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2348916\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at t (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2498536)\\n at Ra (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:145275)\\n at I (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:703420)\\n at div\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2331299\\n at A (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3621994)\\n at f (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3623650)\\n at Da (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:145376)\\n at i (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2450417)\\n at d (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2449765)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at a (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2381096)\\n at o (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3441295)\\n at o (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:719489)\\n at L (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2382199)\\n at o (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:719489)\\n at div\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2331299\\n at vr (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:1288353)\\n at d (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:2347416)\\n at c (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:445387)\\n at Pr (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:192704)\\n at br (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:192741)\\n at div\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2331299\\n at div\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2331299\\n at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:2230264\"}"}
Log.ts:76 [info] [BootSplash] hiding splash screen - ""
Log.ts:76 [hmmm] [Network] API request error: Failed to fetch - {"message":"Failed to fetch","request":{"command":"OpenReport","data":{"reportID":"74050707","reportActionID":"","emailList":"","accountIDList":"","parentReportActionID":"0","shouldRetry":false,"clientLastReadTime":"","apiRequestType":"makeRequestWithSideEffects"},"successData":[{"onyxMethod":"merge","key":"report_74050707","value":{"errorFields":{"notFound":null}}},{"onyxMethod":"merge","key":"reportMetadata_74050707","value":{"isLoadingInitialReportActions":false}}],"failureData":[{"onyxMethod":"merge","key":"reportMetadata_74050707","value":{"isLoadingInitialReportActions":false}}],"resourceID":"74050707","cursorID":"","isPaginated":true}}
Log.ts:76 [info] [NetworkConnection] recheck NetInfo - ""
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"OpenReport"}
Log.ts:76 [info] [Onyx] merge called for key: reportMetadata_74050707 properties: isLoadingInitialReportActions hasChanged: true - ""
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] [Onyx] set called for key: isCheckingPublicRoom hasChanged: true - ""
index.esm2017.js:78 [2024-11-10T16:32:27.658Z] Performance: Could not fetch config, will use default configs
Log.ts:76 [info] Previous log requestID - {"requestID":"8e077053f95deb53-SEA"}
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"Log"}
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] Previous log requestID - {"requestID":"8e077053f95aeb53-SEA"}
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"Log"}
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] [BootSplash] splash screen status - {"appState":"background","splashScreenState":"visible"}
Log.ts:76 [alrt] [BootSplash] splash screen is still visible - {"propsToLog":{"isSidebarLoaded":false,"isAuthenticated":false}}
Log.ts:76 [info] Previous log requestID - {"requestID":"8e07f253df6eeb53-SEA"}
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"Log"}
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] [Onyx] set called for key: currentDate hasChanged: true - ""
ResponderTouchHistoryStore.js:104 Cannot record touch end without a touch start.
Touch End: {"identifier":0,"pageX":1204,"pageY":352,"timestamp":274855.09999999404}
Touch Bank: []
(anonymous) @ ResponderTouchHistoryStore.js:104
Show 1 more frame
Show lessUnderstand this warningAI
Log.ts:76 [info] Flushing logs as app is going inactive - {}
Log.ts:76 [info] Previous log requestID - {"requestID":"8e081cf60f8defce-PDX"}
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"Log"}
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
[info] [Onyx] set called for key: logs properties: hasChanged: true - ""
index.ts:148 [OnyxUpdateManager] Listening for updates from the server
Log.ts:76 [info] [Onyx] set called for key: currentDate hasChanged: true - ""
Log.ts:76 [info] [PersistedRequests] hit Onyx connect callback - {"isValNullish":false}
Log.ts:76 [info] Found existing deviceID - "03dd7390-7a0c-0edf-e3f3-cce917181450"
NativeAnimatedHelper.js:410 Animated: `useNativeDriver` is not supported because the native animated module is missing. Falling back to JS-based animation. To resolve this, add `RCTAnimation` module to this app, or remove `useNativeDriver`. Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md
T @ NativeAnimatedHelper.js:410
Z @ AnimatedEvent.js:92
event @ AnimatedImplementation.js:394
(anonymous) @ animated.js:66
useMemo @ react-dom.production.min.js:177
(anonymous) @ react.production.min.js:26
T @ animated.js:66
fo @ react-dom.production.min.js:160
vA @ react-dom.production.min.js:289
Il @ react-dom.production.min.js:279
pl @ react-dom.production.min.js:279
fl @ react-dom.production.min.js:279
al @ react-dom.production.min.js:267
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
(anonymous) @ _invoke.js:5
(anonymous) @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 19 more frames
Show lessUnderstand this warningAI
Log.ts:76 [info] [Onyx] set called for key: activeClients properties: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 hasChanged: true - ""
Log.ts:76 [info] App launched - {"Platform":{"OS":"web","isTesting":false},"CONFIG":{"default":{"APP_NAME":"NewExpensify","AUTH_TOKEN_EXPIRATION_TIME":5400000,"ENVIRONMENT":"staging","EXPENSIFY":{"EXPENSIFY_URL":"https://www.expensify.com/","SECURE_EXPENSIFY_URL":"https://secure.expensify.com/","NEW_EXPENSIFY_URL":"https://staging.new.expensify.com/","DEFAULT_API_ROOT":"https://www.expensify.com/","DEFAULT_SECURE_API_ROOT":"https://secure.expensify.com/","STAGING_API_ROOT":"https://staging.expensify.com/","STAGING_SECURE_API_ROOT":"https://staging-secure.expensify.com/","PARTNER_NAME":"chat-expensify-com","PARTNER_PASSWORD":"e21965746fd75f82bb66","EXPENSIFY_CASH_REFERER":"ecash","CONCIERGE_URL_PATHNAME":"concierge/","DEVPORTAL_URL_PATHNAME":"_devportal/","CONCIERGE_URL":"https://www.expensify.com/concierge/","SAML_URL":"https://www.expensify.com/authentication/saml/login"},"IS_IN_PRODUCTION":true,"IS_IN_STAGING":true,"IS_USING_LOCAL_WEB":false,"PUSHER":{"APP_KEY":"268df511a204fbb60884","SUFFIX":"","CLUSTER":"mt1"},"SITE_TITLE":"New Expensify","FAVICON":{"DEFAULT":"/favicon.png","UNREAD":"/favicon-unread.png"},"CAPTURE_METRICS":false,"ONYX_METRICS":false,"DEV_PORT":8082,"E2E_TESTING":false,"SEND_CRASH_REPORTS":true,"IS_USING_WEB_PROXY":false,"APPLE_SIGN_IN":{"SERVICE_ID":"com.chat.expensify.chat.AppleSignIn","REDIRECT_URI":"https://staging.new.expensify.com/appleauth"},"GOOGLE_SIGN_IN":{"WEB_CLIENT_ID":"921154746561-gpsoaqgqfuqrfsjdf8l7vohfkfj7b9up.apps.googleusercontent.com","IOS_CLIENT_ID":"921154746561-s3uqn2oe4m85tufi6mqflbfbuajrm2i3.apps.googleusercontent.com"},"GCP_GEOLOCATION_API_KEY":"","FIREBASE_WEB_CONFIG":{"apiKey":"AIzaSyBrLKgCuo6Vem6Xi5RPokdumssW8HaWBow","appId":"1:1008697809946:web:ca25268d2645fc285445a3","projectId":"expensify-mobile-app"},"USE_REACT_STRICT_MODE_IN_DEV":false}}}
Log.ts:76 [info] [Migrate Onyx] start - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [API] Called API.paginate - {"command":"OpenReport","reportID":"74050707","reportActionID":"","emailList":"","accountIDList":"","parentReportActionID":"0","shouldRetry":false,"clientLastReadTime":""}
Log.ts:76 [info] [API] Preparing request - {"command":"OpenReport","type":"makeRequestWithSideEffects"}
Log.ts:76 [info] [API] Applying optimistic data - {"command":"OpenReport","type":"makeRequestWithSideEffects"}
Log.ts:76 [info] [Network] Making API request - {"command":"OpenReport"} {request: {…}, response: undefined}
Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: false - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to false with network state: {"isInternetReachable":null,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [Migrate Onyx] Skipped migration RenameCardIsVirtual because there are no cards linked to the account - ""
Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: false - ""
Log.ts:76 [info] [Onyx] merge called for key: report_74050707 properties: reportName hasChanged: false - ""
Log.ts:76 [info] [Onyx] merge called for key: reportMetadata_74050707 properties: isLoadingInitialReportActions,isLoadingOlderReportActions,hasLoadingOlderReportActionsError,isLoadingNewerReportActions,hasLoadingNewerReportActionsError,lastVisitTime hasChanged: true - ""
Log.ts:76 [info] [Migrate Onyx] Skipped migration RenameReceiptFilename because there are no transactions - ""
Log.ts:76 [info] [Migrate Onyx] Skipped migration KeyReportActionsDraftByReportActionID because there were no reportActionsDrafts - ""
Log.ts:76 [info] [Migrate Onyx] Skipped TransactionBackupsToCollection migration because there are no transactions - ""
Log.ts:76 [info] [Migrate Onyx] Skipped migration RemoveEmptyReportActionsDrafts because there were no reportActionsDrafts - ""
Log.ts:76 [info] [Migrate Onyx] finished in 4ms - ""
rocket-loader.min.js:1 [Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
(anonymous) @ rocket-loader.min.js:1
registerListeners @ TouchEventManager.ts:136
attachEventManager @ GestureHandler.ts:78
(anonymous) @ GestureHandlerWebDelegate.ts:51
init @ GestureHandlerWebDelegate.ts:50
init @ GestureHandler.ts:62
init @ FlingGestureHandler.ts:30
attachGestureHandler @ RNGestureHandlerModule.web.ts:71
Na @ attachHandlers.ts:82
(anonymous) @ index.tsx:154
rA @ react-dom.production.min.js:243
yA @ react-dom.production.min.js:260
IA @ react-dom.production.min.js:259
mA @ react-dom.production.min.js:258
(anonymous) @ react-dom.production.min.js:282
El @ react-dom.production.min.js:280
al @ react-dom.production.min.js:269
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
(anonymous) @ _invoke.js:5
(anonymous) @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 13 more frames
Show less
rocket-loader.min.js:1 [Violation] Added non-passive event listener to a scroll-blocking 'touchmove' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
(anonymous) @ rocket-loader.min.js:1
registerListeners @ TouchEventManager.ts:137
attachEventManager @ GestureHandler.ts:78
(anonymous) @ GestureHandlerWebDelegate.ts:51
init @ GestureHandlerWebDelegate.ts:50
init @ GestureHandler.ts:62
init @ FlingGestureHandler.ts:30
attachGestureHandler @ RNGestureHandlerModule.web.ts:71
Na @ attachHandlers.ts:82
(anonymous) @ index.tsx:154
rA @ react-dom.production.min.js:243
yA @ react-dom.production.min.js:260
IA @ react-dom.production.min.js:259
mA @ react-dom.production.min.js:258
(anonymous) @ react-dom.production.min.js:282
El @ react-dom.production.min.js:280
al @ react-dom.production.min.js:269
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
(anonymous) @ _invoke.js:5
(anonymous) @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 13 more frames
Show less
Log.ts:76 [info] [BootSplash] hiding splash screen - ""
Log.ts:76 [info] [Onyx] merge called for key: modal properties: willAlertModalBecomeVisible,isPopover hasChanged: false - ""
Log.ts:76 [info] [SequentialQueue] Unable to flush. No requests to process. - ""
Log.ts:76 [info] [Onyx] merge called for key: modal properties: willAlertModalBecomeVisible,isPopover hasChanged: false - ""
Timing.ts:54 Timing:staging.new.expensify.trie_initialization 20
Log.ts:76 [info] [API] Called API.read - {"command":"SendPerformanceTiming","name":"staging.new.expensify.trie_initialization","value":20,"platform":"web"}
Log.ts:76 [info] [API] Preparing request - {"command":"SendPerformanceTiming","type":"read"}
Log.ts:76 [info] [Network] Making API request - {"command":"SendPerformanceTiming"} {request: {…}, response: undefined}
Log.ts:76 [info] [Onyx] merge called for key: account properties: success,errors,message,isLoading hasChanged: false - ""
Log.ts:76 [info] Navigating to route - {"path":"/"}
Log.ts:76 [info] [Network] Finished API request in 110ms - {"command":"SendPerformanceTiming","jsonCode":200,"requestID":"8e081ef559c6efce-PDX"} {request: {…}, response: {…}}
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"SendPerformanceTiming"}
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] [Onyx] merge called for key: lastVisitedPath hasChanged: true - ""
Log.ts:76 [info] [Onyx] merge called for key: network properties: timeSkew hasChanged: false - ""
Log.ts:76 [info] [Network] Finished API request in 463ms - {"command":"OpenReport","jsonCode":404,"requestID":"8e081ef51974efce-PDX"} {request: {…}, response: {…}}
Log.ts:76 [hmmm] [Pagination] Did not receive any items in the response to OpenReport - ""
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"OpenReport"}
Log.ts:76 [info] [Onyx] set called for key: isCheckingPublicRoom hasChanged: true - ""
Log.ts:76 [info] [Onyx] merge called for key: reportMetadata_74050707 properties: isLoadingInitialReportActions hasChanged: true - ""
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] [Onyx] set called for key: isCheckingPublicRoom hasChanged: false - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":true,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to true with network state: {"isInternetReachable":true,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: true - ""
client:168 [GSI_LOGGER]: Failed to render button because there is no parent or options set.
_.R @ client:168
qr @ client:282
g @ index.tsx:48
c @ rocket-loader.min.js:1
load
(anonymous) @ rocket-loader.min.js:1
M @ index.tsx:61
rA @ react-dom.production.min.js:243
bl @ react-dom.production.min.js:285
Al @ react-dom.production.min.js:272
Ua @ react-dom.production.min.js:127
(anonymous) @ react-dom.production.min.js:282
El @ react-dom.production.min.js:280
al @ react-dom.production.min.js:269
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
(anonymous) @ _invoke.js:5
(anonymous) @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 13 more frames
Show lessUnderstand this warningAI
Log.ts:76 [info] Previous log requestID - {"requestID":"8e081efbf89befce-PDX"}
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"Log"}
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] [Onyx] set called for key: activeClients properties: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 hasChanged: false - ""
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":true,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to true with network state: {"isInternetReachable":true,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: false - ""
Log.ts:76 [info] Flushing logs as app is going inactive - {}
Log.ts:76 [info] Previous log requestID - {"requestID":"8e081f7319deefce-PDX"}
OnyxUpdates.ts:29 [OnyxUpdateManager] Applying https update
Log.ts:76 [info] [OnyxUpdateManager] Applying update type: https with lastUpdateID: 0 - {"command":"Log"}
OnyxUpdates.ts:64 [OnyxUpdateManager] Done applying HTTPS update
Log.ts:76 [info] [NetworkConnection] NetInfo state change - {"isInternetReachable":true,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}}
Log.ts:76 [info] [Network] Client is back online because: NetInfo received a state change event - ""
Log.ts:76 [info] [NetworkStatus] NetInfo.addEventListener event coming, setting "offlineStatus" to true with network state: {"isInternetReachable":true,"isConnected":true,"type":"other","details":{"isConnectionExpensive":false}} - ""
Log.ts:76 [info] [Onyx] merge called for key: network properties: isOffline,networkStatus hasChanged: false - ""
Log.ts:76 [info] [Onyx] set called for key: activeClients properties: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 hasChanged: false - ""
Log.ts:76 [info] [BootSplash] splash screen status - {"appState":"active","splashScreenState":"visible"}
Log.ts:76 [alrt] [BootSplash] splash screen is still visible - {"propsToLog":{"isSidebarLoaded":false,"isAuthenticated":false}}
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~021858612609610396238
- Upwork Job ID: 1858612609610396238
- Last Price Increase: 2024-11-18
- Automatic offers:
- ahmedGaber93 | Reviewer | 104967842
Issue Owner
Current Issue Owner: @ahmedGaber93
This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989
Triggered auto assignment to @marcaaron (AutoAssignerNewDotQuality)
Triggered auto assignment to @RachCHopkins (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.
I leave my laptop running with newdot open every night and weekend, and I have never had this happen.
@m-natarajan it looks like your team were unable to reproduce this?
@marcaaron do you know what could cause such a thing? Seems to me it's likely unrelated to just wandering off and leaving the laptop open.
Let's make this external and see if anyone has any ideas? I think this is the relevant part of the logs. It was a ChunkLoadError so seems like we may have been trying to lazily load a resource and it failed or something like that. Though I checked in on the file that we were trying to load and it is there: https://staging.new.expensify.com/246-151b9e8ea012c5f6945a.bundle.js. So, my random guess would be that there was a temporary situation that caused this and we are maybe not retrying or handling the failure when this happens. I think Margelo team has been doing some JS bundle optimizations so asked in their Slack channel.
Log.ts:76 [alrt] Unhandled Promise Rejection: Loading chunk 837 failed.
(error: https://staging.new.expensify.com/837-faf8b9e6f2b9cda4a9ca.bundle.js)
Stack: ChunkLoadError
at f.f.j (https://staging.new.expensify.com/runtime-78717ce0e436e57c378e.bundle.js:1:2916)
at https://staging.new.expensify.com/runtime-78717ce0e436e57c378e.bundle.js:1:1228
at Array.reduce (<anonymous>)
at f.e (https://staging.new.expensify.com/runtime-78717ce0e436e57c378e.bundle.js:1:1206)
at N (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:103641)
at callback (https://staging.new.expensify.com/main-5e47e37b8b5a57b08485.bundle.js:1:3695680)
at https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3410898
at Map.forEach (<anonymous>)
at Object.fireCallbacks (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:3410885)
at Object.t [as fireCallbacks] (https://staging.new.expensify.com/vendors-37331b14a5c91817d90c.bundle.js:2:6672200) - {}
jsonp chunk loading:27 Uncaught (in promise) ChunkLoadError: Loading chunk 837 failed.
(error: https://staging.new.expensify.com/837-faf8b9e6f2b9cda4a9ca.bundle.js)
at f.f.j (jsonp chunk loading:27:18)
at ensure chunk:6:25
at Array.reduce (<anonymous>)
at f.e (ensure chunk:5:56)
at N (index.ts:38:64)
at callback (App.ts:64:13)
at OnyxConnectionManager.js:73:13
at Map.forEach (<anonymous>)
at Object.fireCallbacks (OnyxConnectionManager.js:72:86)
at Object.t [as fireCallbacks] (_createBind.js:23:15)
f.f.j @ jsonp chunk loading:27
(anonymous) @ ensure chunk:6
f.e @ ensure chunk:5
N @ index.ts:38
callback @ App.ts:64
(anonymous) @ OnyxConnectionManager.js:73
fireCallbacks @ OnyxConnectionManager.js:72
t @ _createBind.js:23
a @ OnyxConnectionManager.js:101
W @ OnyxUtils.js:813
(anonymous) @ OnyxUtils.js:1085
Show 6 more frames
Show lessUnderstand this errorAI
lazyRetry.ts:34 Failed to lazily import a React component after the retry operation! ChunkLoadError: Loading chunk 246 failed.
(error: https://staging.new.expensify.com/246-151b9e8ea012c5f6945a.bundle.js)
at f.f.j (jsonp chunk loading:27:18)
at ensure chunk:6:25
at Array.reduce (<anonymous>)
at f.e (ensure chunk:5:56)
at index.tsx:5:50
at lazyRetry.ts:21:9
at new Promise (<anonymous>)
at zo (lazyRetry.ts:17:12)
at index.tsx:5:34
at D (react.production.min.js:18:161)
(anonymous) @ lazyRetry.ts:34Understand this errorAI
react-dom.production.min.js:188 ChunkLoadError: Loading chunk 246 failed.
(error: https://staging.new.expensify.com/246-151b9e8ea012c5f6945a.bundle.js)
at f.f.j (jsonp chunk loading:27:18)
at ensure chunk:6:25
at Array.reduce (<anonymous>)
at f.e (ensure chunk:5:56)
at index.tsx:5:50
at lazyRetry.ts:21:9
at new Promise (<anonymous>)
at zo (lazyRetry.ts:17:12)
at index.tsx:5:34
at D (react.production.min.js:18:161)
us @ react-dom.production.min.js:188
Cs.i.componentDidCatch.n.callback @ react-dom.production.min.js:189
ji @ react-dom.production.min.js:156
yA @ react-dom.production.min.js:260
IA @ react-dom.production.min.js:259
mA @ react-dom.production.min.js:258
(anonymous) @ react-dom.production.min.js:282
El @ react-dom.production.min.js:280
al @ react-dom.production.min.js:269
b @ scheduler.production.min.js:13
k @ scheduler.production.min.js:14
e.exports @ _invoke.js:5
p.<computed> @ _task.js:35
I @ _task.js:21
y @ _task.js:25
Show 15 more frames
Show lessUnderstand this errorAI
Log.ts:76 [alrt] NewExpensify crash caught by error boundary - Loading chunk 246 failed.
The only thing I changed recently is to make the map load lazily. What I can see that could happen is the app is loaded, then we make an update and the js files change since they use a content hash in the name, then the old version of the app tries to load a chunk that no longer exists.
If that is the case we could either try to catch these bundle load errors and do a full app reload or have some way to keep old versions of the files available once we deploy an update.
try to catch these bundle load errors and do a full app reload
That solution sounds good to me. I'd think this should be fairly rare occurrence in any case.
have some way to keep old versions of the files available once we deploy an update
This sounds better, but I'm unsure what it would take and it sounds easier to do the first idea.
I think so too, I have pretty low availability in the next few weeks if anyone wants to pick this up, otherwise I can have a look as soon as I can.
@RachCHopkins, @marcaaron Whoops! This issue is 2 days overdue. Let's get this updated quick!
I'm going to make this External since it sounds like there is a more or less rough idea for how to address and we just need someone to step up and do it.
Job added to Upwork: https://www.upwork.com/jobs/~021858612609610396238
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ahmedGaber93 (External)
Hi, I'm Nicolay from Callstack - expert contributor group - and I would like to work on this issue.
📣 @ahmedGaber93 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app!
still investigating the issue
Not overdue https://github.com/Expensify/App/issues/52312#issuecomment-2490981744
After checking existing code and example above - what definitely happened:
User inactive for some hours - some chunks started to be out-of-date.
App tries first time to get a existing chunk - and failed:
Seems like next chunk if failed immediately as well - because we see this else block executed:
Interesting that chunks are different in both console.logs - seems like either we do not wait a new chunk after reload (which is really strange)
But seems like - that maybe happened due to Chrome automatically put not active tab in sleep mode:
https://docs.skyswitch.com/en/articles/1048-prevent-browser-tabs-going-to-sleep#:~:text=By%20default%2C%20the%20Google%20Chrome,all%20activity%20for%20that%20tab.
And window.location.reload() will not happened. That's why
hasRefreshed variable will be "true" - because we do not successfully fire refresh and did not get correct chunk.
One more problem related to click Refresh - add user sees the same Error page:
It was done here https://github.com/Expensify/App/pull/49341/files - when user first time sees Error page (probably user does not have stored key CONST.SESSION_STORAGE_KEYS.LAST_REFRESH_TIMESTAMP yet).
After first click we are getting inside first if loop (because CONST.SESSION_STORAGE_KEYS.LAST_REFRESH_TIMESTAMP will be null):
And after second attempt we will fully reload the page - and user will see login page.
What we can probably do here - tricky question. We could not force Chrome to not put inactive tab to sleep from code. Also there is no reason to remove logic for Reload when the "Something's wrong" view shows twice a minute. We can try to find a way to check user activity with tab. For example we can have one more variable to store user movement to other tab: https://developer.mozilla.org/en-US/docs/Web/API/Window/blur_event And when user comes back - we will check how much time tab was in inactive state. And if passes more than 1 hour - we will immediately do window.location.reload() - when user will press Refresh button.
@ahmedGaber93 let me know wdyt
@narefyev91 @RachCHopkins @marcaaron @ahmedGaber93 this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!
checking...
@narefyev91, @RachCHopkins, @marcaaron, @ahmedGaber93 Whoops! This issue is 2 days overdue. Let's get this updated quick!
@narefyev91 thanks for the investigation.
that maybe happened due to Chrome automatically put not active tab in sleep mode, And window.location.reload() will not happened.
If tab on sleep mode, whywindow.location.reload() was invoked in the first place?
Also, could you please explain what happened when the inactive tab come from sleep? Shouldn't be reloaded by itself or what?
Is there is any way can help us to force sleep the tab? I think this can help us for reproducing the issue, I'm trying to find away, but I haven't found anyway yet.
@narefyev91 thanks for the investigation.
that maybe happened due to Chrome automatically put not active tab in sleep mode, And window.location.reload() will not happened.
If tab on sleep mode, why
window.location.reload()was invoked in the first place?Also, could you please explain what happened when the inactive tab come from sleep? Shouldn't be reloaded by itself or what?
Not really get the first question - reload will not be executed - because tab is in the sleep mode - and no events can be fired from it. Which mean that React code in that block - console.log().... sessionStorage.setItem - will work. But reload line will be skipped.
I think that tab does not reload automatically - when you come to it after long period of time - have never seen such behaviour in chrome
Is there is any way can help us to force sleep the tab? I think this can help us for reproducing the issue, I'm trying to find away, but I haven't found anyway yet.
I also did not find such way
Not really get the first question .... Which mean that React code in that block - console.log().... sessionStorage.setItem - will work. But reload line will be skipped.
I mean here, why console.log().... sessionStorage.setItem executed while tab is sleep, shouldn't sleep stop all CPU works, or I misunderstand?
for testing i think we can try this: https://www.reddit.com/r/chrome/comments/10fzzht/just_like_edge_with_sleeping_tabs_chromes_memory/?utm_source=share&utm_medium=web2x&context=3
Not really get the first question .... Which mean that React code in that block - console.log().... sessionStorage.setItem - will work. But reload line will be skipped.
I mean here, why
console.log().... sessionStorage.setItemexecuted while tab is sleep, shouldn't sleep stop all CPU works, or I misunderstand?
It's really hard to say which part of the JS inactive tab may suspend. For sure - i did not see anywhere - that tab was reloading by itself. Probably it can be some sort of inactive limits - for example let to interact with simple items - like console, storage - which cost less CPU. Reload will fully re-build the page - and why should chrome allow it - if page was inactive for long time. Good deep way to investigate as well
Agreed, it seems tab sleeping will minimize the CPU usage to the bare minimum but not stop all CPU resources as edge docs says.
But It's still really hard to reproduce this, I have downloaded the edge browser, and set the sleep time to 30 sec, and still not able to reproduce.
And when user comes back - we will check how much time tab was in inactive state. And if passes more than 1 hour - we will immediately do window.location.reload() - when user will press Refresh button.
@narefyev91 Reload from the second click was added intentionally here for similar issue https://github.com/Expensify/App/pull/49341#issuecomment-2398769739, and I think it is not a good idea.
You suggest using leaving time (1 hour) to do the reload from the first click, and it seems better, but what do you think about using the error type, if error type is ChunkLoadError do window.location.reload() else resetBoundary(), the ErrorBoundary FallbackComponent already pass the error, and we can handle and check it GenericErrorPage. WDYT?
And do you have any idea why second click on refresh button logout the user?
And when user comes back - we will check how much time tab was in inactive state. And if passes more than 1 hour - we will immediately do window.location.reload() - when user will press Refresh button.
@narefyev91 Reload from the second click was added intentionally here for similar issue #49341 (comment), and I think it is not a good idea.
You suggest using leaving time (1 hour) to do the reload from the first click, and it seems better, but what do you think about using the error type, if error type is
ChunkLoadErrordowindow.location.reload()elseresetBoundary(), theErrorBoundaryFallbackComponentalready pass the error, and we can handle and check it GenericErrorPage. WDYT?And do you have any idea why second click on refresh button logout the user?
Yeah agree - we will know for sure that error will be related to chuck load - we can change the logic - to remove second click in that case. Regarding logout - probably token was dead or something else - needs to find all possible logic which related to logout in this case. But we can move based on iteration - fix correctly reload and in the mean time trying to investigate why do we logout user. wdyt @ahmedGaber93