-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[$250] iOS Hybrid - Lack of debug mode in the settings - Troubleshoot for IOS Hybrid app #50843
Comments
Triggered auto assignment to @greg-schroeder ( |
@greg-schroeder FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors |
Job added to Upwork: https://www.upwork.com/jobs/~021846335027010160243 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @situchan ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.Lack of debug mode in the settings - Troubleshoot for IOS Hybrid app What is the root cause of that problem?We always return App/src/libs/Environment/getEnvironment/index.native.ts Lines 33 to 36 in d77a4fd
That's the RCA. What changes do you think we should make in order to solve the problem?We should remove this block of code:
What alternative solutions did you explore? (Optional)N/A |
can we allow debug mode in hybrid app? |
I believe we can, but let's confirm with @staszekscp and @mateuuszzzzz |
App/src/libs/Environment/getEnvironment/index.native.ts Lines 32 to 36 in 04214cd
@staszekscp @AndrewGable are we fine to remove this block, which reverts this PR? |
@situchan We'll have to remove this code in order to fix the issue, but I think we'll have to do one more thing on the OldDot side of things to make it work correctly, I'll come back to you with an update |
So, I'm back with an update 😄 On the Nevertheless we'll have a problem with Android. Currently we base our beta check on this line: https://github.com/Expensify/App/blob/main/src/libs/Environment/betaChecker/index.android.ts#L27. We get the latest release tag, and compare it with the version in The problem is that the HybridApp's production version is different than the release NewDot version. Eg. currently we're on 9.0.47 on HybridApp, and 9.0.51 on NewDot. We cannot simply swap cc: @Julesssss |
Thanks for the detailed explanation. I wonder why the debug tool is restricted by version instead of email, internal beta, etc... It seems necessarily complex, and restricts us from debugging prod. Though I suppose with external contributors its better to keep access open rather than locked down... What if we locked the beta tools behind a hidden menu? For example, 8 taps of the version code could set an Onyx key that unlocks the debug menu. One bad alternative might be to query the Google Play Store API and provide the Mobile-Expensify version via a backend command, though I recall the API being pretty bad and undocumented... |
Yep, as far as I know there is no reliable way to check if a specific build is an Android Play Store Beta build 😢 I suppose that's the reason why the whole version checker tool has been implemented. I'd like to keep using this mechanism in order to introduce less changes on the NewDot side - the hidden menu may expose some options to regular users, that we would like to keep unavailable 😄 I'm not familiar with the whole debugging tools code, but we would have to revise it thoroughly first Maybe we could change the release tag logic on GitHub so it would match only the HybridApp version, since we're going to deprecate NewDot in the nearest future? |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
I think we are planning on having them be in sync, but we need to change some processes internally before we can do so. |
In this case should we wait until it's changed? I suppose we could easily enable debug mode for iOS (since it's based on a TestFlight link, not the version in |
It could be a while though. I would vote for simplify access to the HybridApp debug tools in the meantime. |
@puneetlath - Do you think we could solve this in a different way than looking at the versioning for the time being? Maybe we can include the debug tools for certain domains using the beta manager? |
One concern about a beta is that it'll be a barrier that might prevent users/qa from providing logs due to the extra step. Also we'll have to constantly be adding contributors to the beta. |
Do you have any ideas for alternative solutions? My thought was we could use Beta manager as an additional way to add SWM + Callstack + Expensify domains to the beta manager for those who use HybridApp. Not necessarily just use beta manager exclusively. |
Perhaps we can just make it available via the four-finger-tap/cmd+d on production. That way there's still a way to get to it on Android. Or if we ever wanted someone to on production for whatever reason. |
I think 4 finger tap or unlocking the menu item after x taps are both good simple solutions. I don't think we should care about users accidentally discovering these tools (granted with the open repo, its pretty easy for users to discover if they really wanted to). |
I like this 👍 |
I agree with that @Julesssss |
Ok, cool! In that case the implementation will be HybridApp agnostic, and it can be done entirely on standalone NewDot. I suppose this kind of work will require some proposal, and general agreement on the solution, so I'll try to find someone on our side to take care of it! 😄 |
Sounds good @staszekscp, let's open a new issue rather than modifying this one. Let me know when you find someone to work on the task and I'll create one for you. |
Hey @Julesssss! I'm going to work on it. Tag me in the issue, and I'll start tomorrow morning 😄 |
Hey @blazejkustra could you comment here and I'll assign you, thanks! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Okay I'm a bit confused on this one - who is going to take this one on? Or are we still waiting for a valid proposal? |
I think we can close this once this issue is completed (its awaiting testing on prod) |
Held til 2024-11-07 |
@Julesssss, @greg-schroeder, @situchan Whoops! This issue is 2 days overdue. Let's get this updated quick! |
Still held |
The linked issue is closed. We didn't end up needing C+ review here. |
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: 9.0.49-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause - Internal Team
Issue found when executing PR #50519
Action Performed:
Expected Result:
User expects to see the Debug option
Actual Result:
No Debug option is shown
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6635787_1729028252122.No_Debug_option_in_Troubleshoot_menu_.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @situchanThe text was updated successfully, but these errors were encountered: