-
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
[HOLD for payment 2024-05-16] ][HIGH] [Debugability] [$500] Save client-side logs and profile traces to the Downloads folder #40213
Comments
Job added to Upwork: https://www.upwork.com/jobs/~0143be8cb9f6347710 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @ishpaul777 ( |
Triggered auto assignment to @stephanieelliott ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.We need to save logs in downloads folder on android What is the root cause of that problem?Feature requests What changes do you think we should make in order to solve the problem?We need to update the native files below:
In here, we can use the function RNFetchBlob.fs.exists(RNFetchBlob.fs.dirs.DownloadDir)
.then(() => {
i
const destinationPath = `${RNFetchBlob.fs.dirs.DownloadDir}/${newFileName}`;
RNFetchBlob.fs.cp(path, destinationPath)
.then(() => { What alternative solutions did you explore? (Optional) |
ProposalPlease re-state the problem that we are trying to solve in this issue.Show meaningful path of saved logs. What is the root cause of that problem?New change. What changes do you think we should make in order to solve the problem?Since files are already there in public folders, we can just show a meaningful path. Instead of using
Same changes are needed for profiling path.
Also, change the |
ProposalPlease re-state the problem that we are trying to solve in this issue.We want to save client side logging and profile trace files to the /Downloads folder on Android (and whatever similarly accessible folder is generally accessible on iOS. What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?
In here, set the
Then in here, use the (Since the device-download path looks cryptic, we maybe should instead show to the users the readable file name instead so they know how to access the file, something like
What alternative solutions did you explore? (Optional)NA |
ProposalPlease re-state the problem that we are trying to solve in this issue.New feature to save app logs to Downloads instead of default app private folder. What is the root cause of that problem?This is a new feature. What changes do you think we should make in order to solve the problem?Before suggesting my solution, @quinthar / @ishpaul777 I would like to bring 2 points to think about and consider before proceeding with the solution.
I propose to have some or all of these logs centralized and collected to one of the cloud service provider data stores location so that the same can be used for big data analytics and even for supporting in troubleshooting purposes. This must give a great insight into how the user is using the application and will also give insight into how we can improve our application and its user interface to provide better service to the user. Of course, this essentially means that we must get user consent (maybe as an optional service) at the time of installation and have these uploaded to data stores at regular intervals.
Having a log available in @quinthar / @ishpaul777 : If my above thoughts make sense, I would like to work on this from backend as well as front end (from a full stack capacity) to architect, design and implement the solution. What alternative solutions did you explore? (Optional)N.A. |
@brkdavis - Good questions! We already centrally aggregate these logs. They are just inconvenient to access, and only by a limited set of people (given all the concerns you raised). The point of local log capture is to make someone's own logs much easier for them to access. By capturing local logs into the Download folder, we make someone's own logs easier for them to access for whatever purpose they want. So, good questions, but I still would like to go ahead with this issue as stated. |
@quinthar : thanks a lot for the clarifications. Couple of questions in direction of logs in
|
Yes, in
This issue is just about changing where it's logged, not when. So it's currently logged when you enable via 4-finger tap, or via |
What are the next steps here; are we waiting on @ishpaul777 to pick a proposal? What's the ETA? |
Hey @ishpaul777 we have a couple proposals here -- can you please review ASAP? |
Hey Thanks for bump i have this planned for today : ) |
Started android build to test existing proposals, i'll test and update in a while |
Thanks for your proposals everyone!
This seems correct we are just not showing the correct path but we do save logs in
so first we need to fix it to save in downloads then we need to fix path shown for profile trace to downloads path I'd like to see a proposal that fixes this
i dont this we need fix the destination for ios, i think we already save it in a accessible folder i.e On my iphone -> New expensify, @quinthar Do you think we need to change this one? Also as part of proposal please include how you plan to clean the path shown to user as most time its cryptic |
Great, we're 3 weeks into this issue, so super eager to get it done. |
@stephanieelliott This is marked as HIGH but it is missing the high priority label. Can you check it? |
What are the next steps here, who is doing them, and what is the ETA? This feels like a one-line change, can you help me understand why it's taking so long? |
Hey 👋 the Pr is merged for this, we'll have it on staging after next depoloy |
Sure @ShridharGoel, we can add the |
Upwork job price has been updated to $500 |
This was deployed to prod earlier today |
Woohoo, this is great!! |
Summarizing payment on this issue:
Heads up since this job was already set at $250, the payment was issued as $250 milestone payment + $250 bonus for a total of $500. Upwork job is here: https://www.upwork.com/jobs/~0143be8cb9f6347710 |
Problem:
We have a great system in place to enable client-side logging and profile tracing with a four-finger tap. This allows for really fantastic debugging on production devices out in the real world. However, the files are saved in a private folder that -- so far as I can tell -- is impossible for a user on a non-rooted device to access. So after getting the logs and profile traces, if they don't share them at that exact moment, there's no way to get them in the future.
Solution:
Save client side logging and profile trace files to the
/Downloads
folder on Android (and whatever similarly accessible folder is generally accessible on iOS.Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: