Thanks for the write-up. Generally, Diarium does not work much with time zones, that information is not stored in the database. So when you create an entry on June 23rd at 9 PM, then this entry is always at that time, no matter where you are located / what the system time is.
And I don't know if I want to change that, for a couple of reasons. First, working with time zones makes many things more complex. I don't see what exact problem this would solve but it would make the app's logic much more complex and prone to errors. Also, the apps database would require a migration to support time zones and then the question is: what time zone to pick for existing entries?
I am aware of the sunrise/sunset problem. It's basically the sunrise/sunset of that location "translated" to the local time zone of your device. When I added the sunrise/sunset feature, the issue I was facing was to get time zone / time offset based on a location. This is not a trivial mathematical calculation based on latitude/longitude & date, but also on country borders, laws (which can change over time!) and else. I did found some database that I would have been able to use to translate coordinate to time zone, but it would have significantly increased the app size (because the time zone borders aren't just straight lines, but often follow country borders) and would have eventually become out-of-date (e.g. because changed laws or borders).
And I can't just take the devices current location / time zone because the user might pick another location located in another time zone (even if might not make sense) and then the sunrise/sunset times are wrong again.
I didn't find a good alternative solution...
I am also aware of the Camera Roll problem. To get the Camera Roll suggestions, the app sends a request to the OS requesting photos/videos in a given date/time range. Depending on the operating system, those requests are different. On Windows, they currently don't include any time/time zone information and I don't know if it's possible to add that. I will see if there's something that can be done