Days are off by one after Symbian Belle Refresh update
ComingNext is a calendar homescreen widget for the Symbian smartphones
Brought to you by:
michaelprager
After the new Symbian Belle Refresh update for Nokia N8, E7, C7, C6-01, X7 and Oro, there are reports that events are off by one day. Example:
buildin calendar:
"Thu 06.09. Description"
what comingnext displays:
"Wed 06.09. Description"
Another result is that TODAY and TOMORROW tags are not matching any more. Obviously something changed in Nokia's web browser which causes this bug.
List of known affected firmware versions:
N8: 111.040.151
E7: ?
C6-01: ?
X7: ?
Oro: ?
Please note: I currently don't have physical access to a device with that update. I'll have to wait until Nokia's RDA service (http://rda.cellulardata.com/devices) updates their devices before I can investigate the issue.
Just a small update: Nokia has updated some devices available via RDA with the new firmware. However I was not able to access the service since, some weird java crashing problem. I'm waiting for Nokia's feedback on the issue.
Same problem here.
c6-01 111.040.1511
@jcn9000: I'm currently trying to narrow the problem down and it seems to be related to timezones. Wwhat timezone is your phone set to? Could you check "settings->phone->date and time" for me? Thanks!
Same problem here.
N8 - Nokia Belle Refresh - 111.040.1511
My timezone is GMT -3:00
Any chance to have a new version without the bug ?
Please be patient, this is non-trivial issue. Theoretically, a solution should be possible, however there is no easy fix. This issue needs to be dealt with care to not break the app on different firmwares.
This problem is getting more and more serious. It appears to as if date/time handling is completely broken in Nokia's web browser now. For example, open
http://comingnext.sourceforge.net/drupal7/localtime
on your device. This should display your local system time. This works fine on desktop browsers and also on old nokia browser versions, but on the recent belle refresh update, the browser is reporting WRONG local time if your phone's timezone is set to Brazil/Sao Paulo or Australia/Sidney. But without knowing what exact date and time is right now, it's impossible to display a correct agenda...
You are right.
My phone date/time now is Tuesday October 02 2012 - 11:08 am - Timezone is GMT -3:00 Argentina.
- My nokia browser shows "Wed OCt 03 2012 - 11:08 GMT +21 (WILDABBR)" (WRONG)
- The Opera browser shows the correct date time.
It's possible to use a system datetime function in the program ?
(rather than a browser function.)
Thanks a lot.
Not directly. Since a widget is nothing else than a website, there is no access to the usual system functions. It may be possible to use the calendar api for a workaround though. The idea is to create a calendar event for what the phone reports as today and then query the calendar for this new entry. That way the offset between the time reported by the browser and the actual system time could be determined. The problem here is the change from summer and winter time. Because the offset will be different for each. I'd need some way to determine at what exact date the clock is changed. As far as I know this is different for some timezones.
I have a fix. Please see http://delx.net.au/git/comingnext/commitdiff/59b781af1f1c364dcf85c0ca1032998945b9433e
You can pull directly from http://delx.net.au/git/comingnext
I've tested this on a Nokia E7 running Belle and another running Belle Refresh. It works fine on both.
Thanks for your fix delx, I really appreciate it!
I've tested it on an N8, however some issues still remain. For one, the weekday displayed does not match the real one. E.g. it displays "saturay" instead of "sunday". Also, when changing the current date on the device back to feb. 2012, the weekdays display properly, but the event start times are off by 2 hours for events which are in october.
I think we need different offsets for dates with and without daylight savings time.
oh forgot to mention: I was testing with timezone Brazil/Sao Paulo.
I've added another commit which should fix these issues. I tested in and out of DST in my local timezone and it seems that 24 hours is a constant offset. Looks like it works fine in other timezones too. Could you try it now?
Looks very good, the issue is resolved. Will do some testing on older devices to make sure this doesn't break anything. If everything checks out okay, I'll merge your commits and add some more stuff to get this daylight saving offsets correct once and for all. :-)
I've merged your commits and also did some more work on the daylight saving handling. Should work fine on all firmwares now.
An updated preview package for 1.37 release with all fixes included can be found here:
http://comingnext.sf.net/comingNext_v1.37_preview2.zip
Problems:
Have uninstalled version 1.36 and then installed new version. Added the widget.
At first run the widget works good, displaying the entries with correct dates.
When I try to open the widget (tap on it), the window shows: "Error: displaying list: TypeError: 'undefined' is not an object, line undefined". Then returning to the homescreen the widget shows the same error.
After that, i've uninstalled version 1.37 and then installed old version 1.36.
The problem dissapears, and everything went back to normal.
Any help on the issue ? Thanks.
Did some testing. With version 1.37 installed.
Reboot the phone after the error and 'surprise' the widget displays without errors.
But, again, when I try to open the widget (tap on it), the window shows: "Error:
displaying list: TypeError: 'undefined' is not an object, line undefined".
Then returning to the homescreen the widget shows the same error.
Could you attach a logfile? Instructions on how to create one can be found here:
http://comingnext.sourceforge.net/drupal7/report_a_bug
Michael, sorry, I dont know how to add a file to this thread.
I have opened a new bug tracker: "Error opening widget version 1.37"
Please confirm if it's ok.
Got another report of probably the same issue here: http://comingnext.sourceforge.net/drupal7/comment/75#comment-75
"I am running Widget 1 of Ver. 1.37 on an E7. The date shown on both the widget and the full screen display is one day out: Calendar events which occur "Today" are shown as "Tomorrow" on CN, and future dates are given for a day one day after the due date (i.e. events scheduled for 13 February show with a date of 14 February on CN. The Calendar shows the correct date.
I am located in New Zealand, which is 13 hours ahead of GMT. I understand CN is a "web" widget, so this may be related to an error in adjusting for the New Zealand time zone.
Earlier versions of CN did not display this problem"
Workaround until a fix is available:
Change timezone in your phone settings to a timezone that does not have daylight saving times. See http://comingnext.sourceforge.net/drupal7/comment/89#comment-89