Tuesday, 2019-11-19

*** zbenjamin is now known as Guest1135402:34
*** zbenjamin_ is now known as zbenjamin02:34
*** frinring_ is now known as frinring07:02
dcalisteHello chriadam, I hope you're fine.07:56
chriadamhi dcaliste07:56
chriadamI'm well, thanks.  how are you?07:56
dcalisteI'm fine, thank you. I guess you've been busy with debugging recently ?07:57
chriadambusy with a task related to contact search sorting07:58
chriadamiterated 2 separate prototypes which I threw away for various reasons before settling on the final solution07:58
chriadamresult can be foudn in nemo-qml-plugin-contacts07:58
chriadamPR07:58
chriadamI haven't really had a chance to switch back to the mkcal/kcalcore thing in the last few days unfortunately07:59
chriadamI agree with your comment (that we shouldn't have one behaviour for one codepath, and different behaviour for the other)07:59
chriadambut wondering whether we can just identify those other cases and fix those also07:59
chriadamor whether, as you say, since we only call it from localtimezone perspective in calendar anyway, whether we should just ignore that complexity08:00
chriadamI've asked flypig whether he might not have time to take a look also, while I finish off that contact search sorting task08:00
flypigI'll take another look today. It takes me a while to get my head around it though.08:01
dcalisteI don't know, I'm also wondering how this can go with upstream also where there is no ClockTime thingies, just a LocalTime zone. It seems to me that what we're trying to fix is coming fropm tests only but as I said won't happen i practice.08:02
dcalisteWe should rewrite the tests we have with expansion time zone as local zone and see what is breaking.08:02
chriadamhmm, but then we risk having tests fail or pass depending on which timezone they are run in, doesn't it?08:03
Aards08:03
dcalisteIt makes the writing of the tests a bit flacky, because we never know where the tests will be run.08:04
dcaliste;)08:04
dcalisteIndeed, we need to design the test with the idea in mind that it may be run in a different timezone.08:04
chriadamI guess so long as we run them in enough timezones (e.g. Pacific/Midway + France/Paris + Europe/Helsinki + Australia/Brisbane) then we can be "reasonably sure"08:04
chriadamAmerica/Toronto08:05
dcalisteTesting it is quite easy, just switch the device in a different time zone.08:05
chriadamyes08:05
dcalisteAnd when switching to QDateTime, just adjust the env variable TZ=08:05
dcalisteWhich will make the tests to be run in different time zones at once with qsetenv().08:06
chriadamwhat is the env var for?08:06
chriadamah..08:06
dcalisteDoesn't work with KDateTime :(08:06
chriadamtrue08:06
dcalisteI'm trying to push https://phabricator.kde.org/D25289 upstream, to avoid the regression of floating time events to be read as systemTimeZone.08:08
chriadamdcaliste: I saw that, hopefully there is fruitful conclusion08:08
chriadamthanks for doing that!08:08
dcalisteYeh, I'm wondering how korganizer is handling such events currently…08:08
dcalisteTrying to prepare the transition to upstream, checking that every piece can match…08:09
chriadamno idea... I suspect it's just broken, and some client (maybe akonadi or so) has workarounds08:09
dcalisteSpeaking about workaround…08:09
chriadamhuge amount of work you've been doing, I am very grateful.08:09
dcaliste…why in icalformat_p.cpp in kcalcore we have this define at line 302 ?08:10
dcaliste#if !defined(KCALCORE_FOR_MEEGO)08:10
dcaliste      // +1 day because end date is non-inclusive.08:10
chriadamoh gawd08:11
chriadamnfi08:11
chriadamI guess it's trying to match rfc semantics08:11
dcalisteIt is not symmetric, on read we're not substracting one, but on write we're adding one.08:11
chriadamwhere an all-day event's dtend is +1 or something08:11
dcalisteIt is adding a lot of confusion a(and code) in Caldav plugin.08:11
chriadamyeah08:11
chriadamso many things like that where I should have fixed mkcal / stack, but instead I just added workarounds in plugins08:12
dcalisteSorry, reverse :08:12
chriadambecause I didn't want to touch the underlying stack code if I could avoid it.  in retrospect, was definitely a mistake08:12
dcalistewe're substracting one when reading…08:12
dcaliste… but _not_ adding one when writing.08:12
dcalisteSo Caldav needs to add one by hand…08:13
chriadamdcaliste: that makes more sense.  we get the +1 date from the ics (due to rfc semantics)08:13
chriadamoh wait... although surprised that we have to add one in caldav case, unless we already 'accounted' for the rfc exclusive dtend semantics, somewhere else in code08:13
dcalisteConfusion : here it's a _!_defined08:14
chriadamoh08:14
dcalisteSo currently, kcalcore is _not_ adding one and thus is violating semantics.08:14
chriadamsigh.08:14
dcalisteSo, Caldav fix it by adding one itself.08:14
dcalisteWhat about killing this #if !defined and fix Caldav and probably exchange or google sync plugins ?08:15
chriadamyes, I think we should08:15
chriadambut... not this week08:15
dcaliste;)08:15
dcalisteNo problem.08:15
chriadamlet's discuss again next week ;-)08:15
dcalisteI'm cleaning incidencehandler in Caldav and removing all code for fixes that have been already implemented in mkcal or kcalcore.08:16
dcalisteDid you remember why a copy was implemented there, and why not use the Incdence::assign() or operator=() ?08:17
chriadamI don't...08:17
dcalisteWas it because it is also copying the UID and we should keep our NBUID stuff ?08:18
chriadampossibly?  I don't remember any of that stuff honestly.08:18
dcalisteBecause I didn't see any difference beside this one, but I may have miss something, because many members values are copied.08:18
dcalisteOk, so I'll continue to replace it with operator=() and see if it breaks somewhere.08:19
chriadamsounds good08:19
dcaliste(I'm copying NBUID before so this is not an issue per se).08:19
dcalisteI knwo you're busy, and of course we can discuss further next week, but I've finally settle myself with an API change for real deletion in storage : https://git.sailfishos.org/mer-core/mkcal/merge_requests/3008:20
chriadamI haven't looked at that one, but I'm all for it08:21
dcalisteIt is basically adding two methods depending what you want to purge from the database :08:21
dcaliste- remove incidences that hjave been marked as deleted when calling save().08:21
chriadamstorage->save() now takes a "purge deleted" flag, right?08:22
dcalisteExactly.08:22
chriadamyup, makes sense08:22
dcalisteIt is working only for incidences that have been marked as deleted in "this session".08:22
dcalisteNot incidences that are already marked as deleted in the database.08:22
chriadamah, interesting..08:23
chriadameven if you load incidences into the calendar?08:23
dcalisteYes, because deleted incidences cannot be loaded in a calendar.08:23
chriadamagh08:23
dcalisteWe can only list them with deletedIncidences().08:23
dcalisteThus the second function :08:23
dcalisteto purge a list of already deleted incidences.08:24
dcalisteThis list can be easily built from the return of deletedIncidences().08:24
chriadamcool08:24
dcalisteYeh, I think it is covering well the need in caldav plugin (and webcal also) :08:25
dcaliste- mark as deleted and purge the incidences that have been deleted on server.08:25
chriadamgreat08:25
dcaliste- list deleted incidences and purge the ones that the server aknowledge deletion.08:25
dcalisteAnd the db stay clean ;)08:26
dcalisteThe calendar UI is marking the incidences as deleted as usual without code change.08:26
dcalisteAnd as a bonus, the custom properties are not deleted when an incidence is marked as deleted.08:27
chriadamwoohoo ;-)08:27
dcalisteThus, we can have access to URL and etag for mark-as-deleted incidences.08:28
chriadamyep :-)08:28
dcalisteBesides, they have added in kcalendarcore upstream a member URL for an incidence.08:29
chriadamah, nice.08:30
dcalisteWhen switching to upstream, we'll have to aklter the component table to add this info :/08:30
chriadamyep08:30
chriadamalthough I thought there was a URI one already?08:30
chriadamfield*08:30
chriadamor is that different?08:30
dcalisteYes, but it has a different meaning.08:30
dcaliste;) :08:30
chriadamdang08:30
dcalisteURI is to identify the incidence uniquely (hopefully), and is just something klike ical://UID08:31
chriadamright, I see.08:31
dcalisteIt's not about it's location.08:31
dcaliste(not geo location…)08:31
dcalisteThus the addition of the URL member.08:31
chriadamtrue.  well, adding a field should hopefully be simple08:32
dcalisteYeh, we'll see at that moment if we're using a oneshot or a alter in kcal directly.08:32
dcalistes/kcal/mkcal/08:33
chriadameither sounds fine, I agree let's see.08:34
chriadamdcaliste: I have to head off in 5 mins unfortunately - was there anything high priority you'd like me to follow up on?08:34
dcalisteNo it's fine, we've discussed the various things at hand. Thank you for taking from your busy schedule currently.08:34
chriadamno, thank you for your time and effort as always!08:34
chriadammuch appreciated08:35
chriadamI hope you have a good week!08:35
dcalisteThanks, I wish you too.08:35
*** b_lindeijer is now known as bjorn09:54
Ingvix_Hey, might someone know what's the path of default localstorage database location in sfos?11:47
Ingvix_I need to go remove some corrupted data11:48
abransonIngvix_: storage for what? contacts/calendar etc are under /home/nemo/.local/share/system/privileged11:52
Ingvix_Alright, I just did a search for directories named OfflineStorage and realized they are app-specific but now I know where they are. Thanks anyway11:54
*** Snoras_ is now known as Snoras14:28
Krikkehey, is there a faster way to switch between prefer 4G and prefer 3G than through the settings? like some plugin for the top menu. Thanks.15:47
Teguhm, if you find a way, I'm curious as well15:49
KrikkeI have to do it constantly to save battery15:50
Teguyou probably know that you can hold the mobile data icon on the top menu and go to the mobile settings from there. but takes a few steps15:50
Krikkeand it's a real pita atm15:51
Tegusave battery?15:51
Krikkeyou can what?15:51
Krikkelol again these hidden features15:51
Tegu:D15:51
KrikkeI didn't know that15:52
Teguindeed, very jolla style15:52
Krikkethanks15:52
Tegujust try to press and hold everything although it gives no visual hints :D15:52
Krikkeyeah I was testing it out15:53
Krikkewas wondering why you couldn't add them to top menu shortcuts15:53
Krikkealso bluetooth15:53
Krikkewell 4G drains 20% battery over night, 3G only 10%15:54
Teguoh, interesting15:54
Krikkeyes very15:55
TeguI kinda was under impression that 3G isn't really energy-efficient15:56
Tegubut on the other hand, I don't really know much15:56
Krikkethere's some bug in sfos15:56
Krikkeworks fine on X15:56
KrikkeXA2 has some bug15:57
Tegutoo bad :/15:58
Krikkeyeah well, seems they're too busy with porting to xperia 10 to have time to fix real issues15:59
Teguyea, saw the blog post. wonder how many bugs that device will have16:00
Teguhopefully not too many16:00
KrikkeI don't care, onna get 5G when it's available16:01
*** albertux1 is now known as albertux16:33
*** Snoras_ is now known as Snoras18:46
SimeraxAnyone knows if there is a way to use the "WeekDaySelector" from the standard jolla-clock application?21:25
Simeraxnvm found it21:36

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!