-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Improve app log to provide better user support #9465
Comments
Possible solution: Add a
|
Hmm, at this point, I'd prefer we don't focus on whether it's sensitive data or not - we can deal with this in a separate pull request and look into ways for users to share log without sharing private data. Also I don't feel it should be a log level? A debug or info log statement can also have sensitive information, so it's more a separate property of the statement. However that's not what we need to focus on for now. We can always ask the user to search by themselves and tell us for example how a particular was deleted or created, without having to tell us the note title. And I prefer if everything goes in the same log. I thought too about having a separate log but the problem is that we lose context and what other actions were performed before and after the note action happened. Once it's in the log we can always filter to get out only what's needed. So to be clear, we should see something like this in the log:
etc. And to find back these log statements, we should prefix them with something. For example, "NoteAction: ......" I think in your plan is missing how you're going to get the context information("From the synchronizer", etc.), which I feel is where most of the work is :) |
Possible solution: Include a
|
Yes we'll keep the sync log, even if it means slightly redundant information.
All save and delete calls have options I believe, so indeed anything we add should go in that option object.
Ok, but that should be an object with plain properties, not a class instance, right? And I'm not sure the "step" parameter is necessary, since there won't be that many variations for a given source. And if there are some variations, you can make different sources. For example |
Currently it is difficult to help with this kind of support request:
https://discourse.joplinapp.org/t/new-notes-disappeared/34162?u=laurent
Because we don't know when and how that particular note got deleted - it could be via sync, it could be a user action, and maybe the note is in the conflict folder. For deletion, we need the log to be as precise as possible: was it deleted by selecting and pressing the delete button, or by right-clicking and deleting, or by press "delete" on the keyboard, or via an API action, etc. It means including some context when we call
Note.delete()
We should have maybe a separate "note log" that records everything that happened to notes, with the actual note title + ID. This log can't be shared easily for privacy reasons but at least we can potentially ask the user to send it via PM.
Or we can explain the user how to open this log, and search for the note title, then tell us what was found.
We should only record Creation and Deletion of notes. Recording all updates would be useful but would probably generate too much data. Unless we only record one change every x minutes.
Basically anything that allows us to answer the question "Where's my note??"
Implementation
(To be completed)
Perhaps we should just use the existing log for this, but use a specific prefix such as "notelog" (or something better), so that we can filter easily to just the note log. It may mean that in addition to this task we should implement a way to filter the log (in mobile in particular). Perhaps in desktop too? For example a way to generate a second file from the main log that includes only the note log.
Note updates
We probably shouldn't keep a log entry for each note body update as there will be too many of them. But maybe we could keep one when a note property is changed - in particular it would be useful to know when the parent ID, to-do status, or title is changed as all this can affect the visibility of the note.
The text was updated successfully, but these errors were encountered: