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
some events are not displayed in the calendar when offline mode is active #4660
Closed
30 of 42 tasks
Labels
android
issues that concern the android client but not all clients
bug
broken functionality, usability problems, unexpected errors
desktop
Desktop client related issues
state:done
meets our definition of done
state:tested
We tested it and are about to release it
topic: calendar
topic:offline
issues with the offline database of the native clients
Milestone
Comments
ganthern
added
bug
broken functionality, usability problems, unexpected errors
desktop
Desktop client related issues
android
issues that concern the android client but not all clients
topic: calendar
topic:offline
issues with the offline database of the native clients
labels
Oct 11, 2022
nokhub
added a commit
that referenced
this issue
Oct 13, 2022
we use CBOR blobs to encode our entities for storage in the offline DB. This requires to tag items with type information, which was done incorrectly for dates: we always set the type to uint, which is wrong when storing the result of Date.getTime (ms since Jan 1 1970) for dates before 1970 - these are negative. CBORG truncated these to 0, which results in wrong start and end times after deserialization and failure to display the events. fix #4660
We have a bug in the serialization of negative (pre-1970) dates, which would be zeroed out when deserializing. this leads to all manner of broken events like equal start and end time. we need to fix it thusly:
|
nokhub
added a commit
that referenced
this issue
Oct 18, 2022
we opted not to handle pre-1970 dates in the calendar and prevent them from being created through the ui, along some other validation. this commit consolidates these checks into a single location and applies them to events created through the UI and through imports. #4660
nokhub
added a commit
that referenced
this issue
Oct 18, 2022
we have some cases of technically illegal events that got imported into some offline DBs. they were serialized in a lossy way and can be detected by checking for zeroed out start- and end times. this migration deletes the event lists from the offline db that contain such events, they will then be re-downloaded when the calendar is populated in the cache postlogin action. #4660
nokhub
added a commit
that referenced
this issue
Oct 19, 2022
we have some cases of technically illegal events that got imported into some offline DBs. they were serialized in a lossy way and can be detected by checking for zeroed out start- and end times. this migration deletes the event lists from the offline db that contain such events, they will then be re-downloaded when the calendar is populated in the cache postlogin action. we're leaving events belonging to these lists in the cache, they will be overwritten while redownloading because of the use of INSERT OR REPLACE and the way we have set up our primary keys. #4660
charlag
pushed a commit
that referenced
this issue
Oct 27, 2022
we use CBOR blobs to encode our entities for storage in the offline DB. This requires to tag items with type information, which was done incorrectly for dates: we always set the type to uint, which is wrong when storing the result of Date.getTime (ms since Jan 1 1970) for dates before 1970 - these are negative. CBORG truncated these to 0, which results in wrong start and end times after deserialization and failure to display the events. fix #4660
charlag
pushed a commit
that referenced
this issue
Oct 27, 2022
we opted not to handle pre-1970 dates in the calendar and prevent them from being created through the ui, along some other validation. this commit consolidates these checks into a single location and applies them to events created through the UI and through imports. #4660
charlag
pushed a commit
that referenced
this issue
Oct 27, 2022
we have some cases of technically illegal events that got imported into some offline DBs. they were serialized in a lossy way and can be detected by checking for zeroed out start- and end times. this migration deletes the event lists from the offline db that contain such events, they will then be re-downloaded when the calendar is populated in the cache postlogin action. we're leaving events belonging to these lists in the cache, they will be overwritten while redownloading because of the use of INSERT OR REPLACE and the way we have set up our primary keys. #4660
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
android
issues that concern the android client but not all clients
bug
broken functionality, usability problems, unexpected errors
desktop
Desktop client related issues
state:done
meets our definition of done
state:tested
We tested it and are about to release it
topic: calendar
topic:offline
issues with the offline database of the native clients
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
events should be displayed no matter for which date they are originally defined
Additional context
One ical file for reproduction:
Test notes:
Regressions:
Migration:
broken.txt
The text was updated successfully, but these errors were encountered: