-
-
Notifications
You must be signed in to change notification settings - Fork 669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blank screen on MessageReactionList when returning to app after 10 minutes #3803
Comments
(This is most likely because something went wrong when uploading the source map for the iOS build to Sentry, at build time.) |
Hmm, and that was on v26.20.143 -- the latest version. So that seems like something we should debug. I went and filed #3809 for it. |
Ah, I incorrectly assumed that the proposed fix for #3802 would also fix this issue. From the chat:
|
Never mind |
Actually doing |
… REALM_INIT. Gracefully render a blank screen and navigate back. Fixes: zulip#3803.
… REALM_INIT. Gracefully render a blank screen and navigate back. Fixes: zulip#3803.
… REALM_INIT. Gracefully render a blank screen and navigate back. Fixes: zulip#3803.
… REALM_INIT. Gracefully render a blank screen and navigate back. Fixes: zulip#3803.
… REALM_INIT. Gracefully render a blank screen and navigate back. Fixes: zulip#3803.
There's a scenario on the 'message-reactions' route (MessageReactionList.js) in which
state.messages[props.navigation.state.params.messageId]
is undefined, resulting in a crash. Concretely, this means that the messageId param (passed either from a long-press on an existing reaction in the MessageList, or from tapping "See who reacted" from the message action sheet) refers to a message that is not in state.messages at that time.This can be reproduced by going to that screen, putting the app in the background for 10 minutes or so -- as long as it takes for the BAD_EVENT_QUEUE_ID error to appear, indicating that the app has stale data that needs to be discarded -- and returning to the app. The DEAD_QUEUE action discards all messages from state, so no message is found for the messageId param and the
TypeError: undefined is not an object (evaluating 'n.reactions')
error occurs.This will likely be mostly fixed with a fix for #3802. It's hoped that we can avoid a period when state.messages is empty following the BAD_EVENT_QUEUE_ID error; perhaps this can be done by discarding and repopulating the messages in the same action, REALM_INIT, as mentioned in that issue, instead of discarding in DEAD_QUEUE. A fix for the MessageReactionList problem (the present issue) would depend on the selected message still being present after the repopulation. There may be a case or two where this would be a concern.
We've identified this as the cause of 9 bug reports in Sentry affecting 7 users at https://sentry.io/organizations/zulip/issues/1390866965/?project=191284 and https://sentry.io/organizations/zulip/issues/1445808226/?project=191284 (the latter is affected by the "Source code was not found" error; not sure why that's been happening).
The text was updated successfully, but these errors were encountered: