-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[HybridApp] Clicking expense violation notifications cause the iOS app to crash #50423
Comments
I'm struggling to locate the crash in Firebase. The higher frequency crashes exist in pre-hybrid releases, or seem very unrelated (shadowview example). |
I have been reporting this via the TestFlight crash dialog, I am not sure Firebase is initialized yet |
So for now would our desired solution to be stop sending the notification for NewDot violations, rather than implementing NewDot violation handling? Secondly, is the desired behaviour to only send push notifications for the experience the user is set to? For example, a NewDot user would not receive a notification for an OldDot violation, and a NewDot user would not (currently) receive any violation notification. |
I think we want to stop sending and we will figure out how to handle violation push notifications in a different solution. I think we are discussing them here: https://expensify.slack.com/archives/C06ML6X0W9L/p1728408150428299 |
Can you confirm the second paragraph here @trjExpensify? |
What's a "NewDot violation", and what's an "OldDot violation", just so I'm clear? I'm not aware of a system message to notify when a receipt upload contains workspace violations in NewDot. @JmillsExpensify is this supposed to exist? I know there's a system message for a failed SmartScan that should be added to the transaction thread that would notify the submitter when it fails. It looks like this: ![]() But interestingly, I just tested that, and it seems to not be added anymore? 🤔 ![]()
On this, yes.. if you're set to the NewDot experience you shouldn't receive push notifications for the OldDot experience and the same the other way around. Otherwise, you would get pulled into the wrong experience when tapping the notification. |
Code for SmartScan failure is here, I believe: https://github.com/Expensify/Auth/blob/44606fb94035b15742c95973346b3d468269e4bc/auth/command/EditMoneyRequest.cpp#L431-L445 |
I wasn't sure where they originated from (are the OldDot notifications coming from a NewDot violation request?) -- but your answer has cleared this up.
Okay thanks. Our logic assumes otherwise as I thought we wanted to avoid dropping OldDot notifications when users first switch to NewDot. Currently we'll send OldDot styled notifications (receipt needs approval, violation) to NewDot users and we can simply switch this off. Do we have any issues or plans to re-introduce NewDot notifications though? As we ramp up NewDot redirection users are going to be blissfully unaware of violations, ect. |
Yeah, I can't see any. So I think what we need to do is:
Do you guys agree with that? |
That sounds good to me as a starting point. |
Alright, so what's the next step here and who's taking it on? |
First lets solve the crash:
I'll happily do this, but need to finish up attendee tracking first. |
Okay, does that block defaulting new sign-ups to the NewDot experience though? If so, I think it's higher priority than attendee tracking in terms of priority, as these final issues to get this done come into #convert now. |
Yeah, it probably should. But as both are critical WhatsNext tasks associated with deadlines, I think I should finish what I started before picking up this task -- attendee tracking has already missed one deadline, and this would risk missing a second. |
After catching up with the new prioritisations, I can pick this up once I have wound down attendee tracking and left it in a good place. |
Great stuff! |
Jules, are you good with the plan of action here? Which I think is:
SmartScan failure:
Violation on receipt upload:
|
Yeah, this all seems fine. I would prefer to solve the crash first (1), and plan the remaining tasks (2,3) for later (after or during DevX). But I could continue to working on these if we're okay delaying DevX/making HybridApp external. A couple of clarifications:
I might have to configure the notification title/grouping. This would be minor text formatting though.
To be 100% sure, we still will send the OldDot POS notification to users on NewDot but won't yet build out the NewDot POS notifications. Notes:
|
We had a system message for SmartScan failures already that we should bring back (or figure out why it's not there anymore), so I don't think this would be too hard to follow for this NewDot paradigm.
I think these items are probably more important as they impact customers using the NewDot experience on HybridApp. Ecard transactions POS notifications have a fraud component to them as well really, so I think this is the right priority personally. 👍
Yeah, I view the Expensify Card POS notifications as being a feature of the Expensify Card not OldDot specifically. If you receive one, it should open in the right experience depending on which one that is. |
Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Focusing on a more critical HybridApp issue first. |
I'll need to try again, but I believe I tried both cases -- Initially I wasn't receiving the notification when set to NewDot, so I switched to these steps. |
Thanks @kavimuru. So as of right now the crash isn't reproducable. Please anyone correct me if they disagree. I'm too busy with daily App Deploy to pick this up yet but I my next step will be to make sure NewDot users aren't sent OldDot violation notifications.
@trjExpensify if the crash isn't occurring then there's nothing blocking our *final HybridApp production deploy. |
That's awesome news, let's confirm and ship! |
I confirmed that this is no longer crashing for Andrew or myself. Here's the final HybridApp release for reference. |
@Julesssss Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Finishing up other tasks. The priority might come below other tasks now that the crash isn't occurring. |
@Julesssss Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@Julesssss Still overdue 6 days?! Let's take care of this! |
Unassigning for now, while I work on other issues. |
Eep! 4 days overdue now. Issues have feelings too... |
6 days overdue. This is scarier than being forced to listen to Vogon poetry! |
10 days overdue. I'm getting more depressed than Marvin. |
12 days overdue now... This issue's end is nigh! |
This issue has not been updated in over 14 days. eroding to Weekly issue. |
This issue has not been updated in over 15 days. eroding to Monthly issue. P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do! |
This can be closed now. The crash was fixed. Jason is progressing Ecard notifications elsewhere. |
@AndrewGable @trjExpensify
Problem
Clicking expense violation notifications cause the iOS HybridApp to crash. NewDot users should not be receiving OldDot notifications.
Reproduction
I only have HybridApp installed, I think it’s:
Solution
Figure out if this should block the upcoming HybridApp release.
Fix.
The text was updated successfully, but these errors were encountered: