-
Notifications
You must be signed in to change notification settings - Fork 9
DRAFT Post mortem for annotations issue #34
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making a start on this!
The whys and other follow up we can add tomorrow.
* -22 (Thursday) 18:25 after discussion with MP, AL confirms his understanding of auto-save | ||
* When the user loads the platform in their browser it makes a GET request to the annotations API to get their current comments. | ||
* From this point on, comment state is tracked internally to the app, with no further GET request to the server. | ||
* The app has a boolean that says "Has my comments state changed since the last time I pushed comments to the server y/n"? | ||
* This boolean is checked every 15 seconds. | ||
* If the boolean is true (i.e. comments have been made or updated), a POST request is made to the annotations API to save the user's new comments state as a new annotations bag object. | ||
* The boolean is then set back to false. We think this might happen regardless of whether or not the POST request to save the new comments state was actually successful, and there are no retries in the event of failure. | ||
* Therefore, it is possible that if a user loses internet connection while they're making comments, and doesn't re-establish that connection until 15 seconds after they've made their last comment, all comments made within that period would not be saved. | ||
* If they then closed/navigated away from the site without making further changes to their comments, the comments would be lost. | ||
* -22 (Thursday) 18:44 MP add that as soon as an edit is made we create a promise on a (30 not 15, it turns out) timeout, and any future edits cancel out the old one and make a new one however, we do also have a visibilitychange listener that fires immediately if you eg tab away. There is no re-fire on hgttp error or timeout, which there would ideally be" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest collapsing this entry to just one short bit about cause speculation for timeline parsability. Can move the details about being unsure on behaviour/edge cases to they whys block.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure how best to do that @bz2
|
||
2023-02 (all times UTC) | ||
|
||
* -19 (Monday) 15:24 CLient user begins recording comments using annotation feature - records 63 comments, can only see record of 45 comments after page refresh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd generally assign an initial to the specific client, as it can be unclear with multiple correspondence. There's also a facts-at-the-time vs known-at-the time thing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
* -23 (Friday) 16:57 User loses comments a third time. Consultant updates second report and provides records of discussion with user. | ||
* -24 (Saturday) 14:19 RT QA is able to manually reproduce error in Google Chrome with varying number of limts on comments (35 - 45) depending on the map and comment length - AL is able to establish that limit is 64kb. Error is not reproducable in Firefox. Error is reproducable in Safari. | ||
* -26 (Monday) 10:29 MP is able to implement fix to staging | ||
* -27 (Tuesday) ? Fix is deployed to production. Some limitations remain - Google Chrome is only saving every 30 seconds, and closing the broswer tab during the save can cause comments to be lost. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From heroku deploy logs:
=== shared-meaning Releases - Current: v155
v155 Deplo… 2024/02/29 15:44:44 +0000 (~ 7h ago)
v154 Deplo… 2024/02/27 13:09:33 +0000
Worth including the Thursday release too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@bz2 - I can't merge in this repo. I don't think there are any further changes I can make. Please can you take this to completion? |
Annotations feature did not record all comments provided for client - post mortem of issue and response
https://visual-meaning.atlassian.net/browse/SMP-2222