Tuesday, 2022-01-18

*** B113_ is now known as B11307:01
dcalisteHello pvuorela, good morning. Thank you for the recent merges in various repos.08:09
pvuoreladcaliste: hiya.08:09
pvuoreladcaliste: thank yourself, good stuff going in.08:09
flypigAh, you're here pvuorela!08:09
dcalisteGood morning flypig.08:09
pvuorelaflypig: just managed to open my laptop.08:09
flypigGood morning dcaliste too. That's great pvuorela; thanks.08:10
pvuorelaaccidentally booked some maintenance for my car at this time, and wasn't sure if i'd make it.08:10
dcalisteIf you're busy (today or another day), no problem to delay or skip the meeting.08:11
pvuorelano, now i'm just waiting for them to do stuff.08:12
dcalisteOk, thank you. There is this pending PR in caldav plugin : https://github.com/sailfishos/buteo-sync-plugin-caldav/pull/908:14
dcalisteBut making it going in will induce a user visible change : cancelled plain events will become visible to the user after sync.08:15
dcalisteThis is not bad per se, but there is no UI feedback at the moment for cancelled events.08:15
dcalisteI've just posted this MR : https://github.com/sailfishos/buteo-sync-plugin-caldav/pull/9 in QML plugin.08:16
pvuorelai think that's good anyhow. don't think we generally filter cancelled events or have intended to do so.08:16
dcalisteto make this property exposed.08:16
dcalisteThe PR in jolla-calendar is not done yet, it's on my laptop disk, but I'm in my office at the moment.08:16
dcalisteI'll push it later today I think.08:17
pvuorelawhat sort of change is it?08:17
dcalisteBasically, it's showing "(cancelled)" in the list delegate, on the right of the event date.08:17
dcalisteAnd "(cancelled)" in the event view page below the date label.08:18
pvuorelahm, i have some cancelled eas event with "Canceled: " prefix on the title. suppose that's added by the server side, or remotely at least.08:19
dcalisteYes, I think so. And it's a bit inconvenient, because it will appear twice.08:20
pvuorelaif the ui does the same, it can end up duplicated.08:20
pvuorelamaybe it would suffice it there's some more subtle change. what i tested earlier some software use faded out text colors (or transparency on the whole thing, not sure), or then strike trough on the text.08:21
dcalisteBut playing with the event opacity will decrease readingness and may not be clear as a purpose. And it may be ok in the list delegate, but in the event view, it will be strange.08:21
dcalisteWhy not trying strike through.08:21
dcalisteTo test it easily, one can tune an event in the DB like this : update components set status = 5 where componentid == 7;08:22
pvuorelatesting android outlook, there's fade out on the month view. if the event is opened the text is shown normal, but there's extra item "The event its canceled" + "remove" button on it's right side.08:23
pvuorelato me that seems like a nice combination too.08:24
dcalisteAh, another issue with faded out in list delegate is that we're using this fading out for disabled items elsewhere on the plateform, which is misleading here because the list delegate is still sensitive.08:24
dcalisteBut having a full sentence in the event page like in Outlook is a good way to show the information even if the server is prepending "cancelled - " to the summary.08:25
pvuorelafade out is commonly used for disabling in many UIs. one alternative could be that the text is shown faded out but the calendar color on the item's left side is kept normal. so the item as a whole would be somehow in the middle. not saying the strike through is worse but just as an option. i could ask martin's view too.08:27
pvuorelaand yea, the full sentence item seems nice. doesn't matter if it repeats some text since it's an item of its own.08:27
dcalisteI'll try these options and create screenshots for them and publish them on the PR to come in jolla-calendar.08:28
pvuorelaalso the final styling details should be easy to adjust.08:28
pvuorelanice!08:28
pvuorelathanks in advance.08:28
dcalisteNo problem, I'll try to ping upstream also what do they prefer as an option when iterating on occurrences for cancelled incidences. Then, I'll update (and patch) accordingly KCalendarCore.08:29
pvuorelagood good.08:30
dcalisteAbout https://github.com/sailfishos/nemo-qml-plugin-calendar/pull/19, I'm sorry I didn't push further on first submission why mResetPending was changed to true in my set up.08:30
dcalisteAs I mentioned in the comments it was because of the ecludedNotebooks callback.08:31
dcalisteSo I guess initialising mResetPending to true should be enough for all cases.08:31
pvuorelasure, easy to miss such cases.08:31
pvuorelamight be. i'll need to check again. it's a bit more affecting the initial loading though.08:31
dcalisteI tried to look if it could have side effects, but cannot find any based on this variable usage.08:32
dcalisteIndeed, thank you for a second look on this matter.08:32
pvuorelasure.08:33
dcalisteAbout general speed and optimisation, I'm wondering if we can reduce the SQLite loading time or not…08:33
dcalisteThe problem is that the number of recurring events is growing with time.08:34
dcaliste(the range loadings are not, because there is more or less the same number of events every month).08:34
pvuorelai think mkcal at least could be optimized, e.g. by keeping the prepared statements instead of instantiating them again and again.08:35
pvuorelasql statements that is.08:35
dcalisteI measured someting like 6ms to load one event in average. So, when you have > 150 recurring events, you end up with more than 1 second at every loads.08:35
dcalisteOk, I can give a look if one can cache the statements and gain some time.08:36
pvuorelathat could also clean up the code if the statements would be member variables instead of those statement1, statement2, statement3 parameter lists.08:36
dcalisteIndeed, that's also a good motivation !08:37
pvuorelathat's crazy stuff.08:37
dcalisteThe other track I'm following at the moment is to keep mkcal like that, but modify nemo-qml-plugin-calendar to bet on saving success and apply changes in memory, letting the worker thread reload slowly in the background and swap.08:37
dcalisteBecause at the moment, when I add an event or modify one, I end up with it appearing 1 or 2 second later without feedback.08:38
dcalisteThat's a bit slugish.08:38
pvuorelayea08:38
dcalisteBut looking at how the manager is built make the bet assumption quite difficult to implement (particularly if the modification is on dates).08:39
pvuorelayea, sounds like there's a risk of complicating the already tricky code.08:39
dcalisteIndeed… Difficult problem without changing to much the code. The only issue being this loadRecurringIncidences() call… All the rest is O(1) and reasonably quick.08:41
pvuorelayou were fast on creating the status PR on nemo-calendar :)08:42
pvuorelamaybe that would be already good in the sense that the api does have the status even if loading side filters cancelled events?08:43
dcalisteThe code was pushed already, but the PR not created… So I just pressed the button.08:43
dcalisteThe problem is that OccurrenceIterator that is used in the worker thread to create the occurrence list for the manager is not reporting cancelled occurrences for exceptions in a recurring event (but is reporting them if this is a non recurring event).08:44
dcalisteSo at the moment, the manager is totally ignorant about the cancelled exceptions, they could have been deleted, it's the same for it.08:45
dcalisteThat's the question I asked upstream : do you prefer to filter all occurrences (plain or exceptions) or don't filter any of them.08:46
dcaliste(or keep the status quo for backward compatibility).08:46
pvuorelabut i mean the api anyhow exists and even better if the fetch work for some events.08:47
dcalisteYes, that's why we can easily test the UI part at the moment with the above SQLite tweak in the DB.08:48
pvuorelayep.08:48
pvuorelano haste in merging now, but just pondering if we get the ui side done we could maybe already merge by that time.08:49
dcalisteIndeed, I agree.08:50
dcalisteAbout https://github.com/sailfishos/nemo-qml-plugin-email/pull/6, I didn't think about an attachment with a display name "../../foo". I think QMF would move it to "....foo" by removing the slashes. Which end up in a strange name, but valid.08:52
pvuorelayea as long as it doesn't end up reading a different file when opening it08:53
pvuorelaflypig had some findings on that originally08:54
dcalisteAnd as you mentioned in your comment, I prefer to revert the commit https://github.com/sailfishos/nemo-qml-plugin-email/commit/bddff0f196d4510247d7fc95080ab054c69aa9e8 mangling the name in the callback, since it is either called from the agent (which comes from QMF, which is safe?) or from a path that comes from ::attachmentPath() which tries to imitate QMF behaviour.08:55
dcalisteThe real value of my MR being the if (!path.isEmpty()) check, one can avoid the revert if you prefer.08:55
pvuorelayea, that seems good. whether to revert the other part i wasn't completely sure. by looking at the code it did feel a bit extra.08:56
dcalisteOk, so I let the others have time for a look on wether it's better to revert or not and will amend the commit accordingly.08:57
pvuorelanod08:58
dcalisteAbout UI PRs, I've divided the DST one into two, as suggested by jpetrell.08:58
dcalisteI need to rework the notification one according latest Martin design and suggestion.08:59
dcalisteThe one adding an indication in the month view is ready for a last review. Though, I've a dificulty with some phrasing:08:59
pvuorelaalright. that i didn't now check myself again as joona seemed to be doing review.08:59
pvuorelabut could check again09:00
dcalisteJust for another advice maybe : I've added an info label below the month view saying (at 3:00, the clock are turned forward of 1 hour".09:01
dcalisteBut actually one should read "at 2:00, the clock are turned forward of 1 hour".09:02
dcalisteThe 3:00 string is coming from a call to Format.formatDate(dateTimeSettings.nextDaylightSavingTime, Formatter.TimeValue)09:02
pvuorelahm, right.09:03
dcalisteand dateTimeSettings.nextDaylightSavingTime is storing the DST moment of change which is for instance 20220327T03000009:03
dcalisteLet's call this time T.09:03
dcalisteIf I do T-1, I end up to 20220327T010000 because T020000 is not existing.09:04
dcalisteThe second after T015959 is T030000.09:04
dcalisteBut for phrasing 03:00 is not accurate but I've no idea how to get the system giving me 02:00 because this time does not exist...09:05
pvuorelaeh09:06
dcalisteIt's basically a problem of English, but phrasing it like "at 03:00, closk were turned forward of 1 hour." is less clear in my opinion.09:06
pvuorelaas quick thought thinking if we should have a mechanism to print clock times with hours and minute parameters instead of needing to create date instance.09:08
dcalisteTo keep the suggested phrasing, I could do Format.formatDate(T-1day,  Formatter.TimeValue) but it looks like a big trick. Being able to format time with hours, minutes as parameter would solve the problem, but it requires a large change (modification in silica) for a single usage place (at the moemnt).09:09
pvuorelayea, though i have a feeling there are some places that create an artificial date instance just to format a time string.09:10
pvuorelathat T-1day could be also good enough here.09:12
pvuorelaor could it suffice just saying "today clocks are turned forward", shrugh.09:12
dcalisteOk, so I'll go the T-1day route for the moment, add a big comment in the code and copy paste the discussion from here to the PR.09:13
dcalisteAh, good point, because the label is shown only when selected the transition day…09:13
dcalistes/selected/selecting/09:13
pvuorelaor today -> "this day", whatever :)09:14
dcalisteWe don't care much at what time the transition happens (actually I was at a bus station at the moment of the last transition and it was funny to see all the closk on the departure screens display 02:59 -> 02:00, and it was not clear for the bus leaving at 2am if it was leaving on the summer time or the winter time).09:16
dcalistes/clsk/clock/09:16
dcalistes/closk/clock/09:16
pvuorelaheh :)09:16
dcalisteI'll move this conversation to the PR so jpetrell will know about it and can give his preference about it.09:17
dcalisteThanks for the suggestions.09:17
dcalisteOne last question if you still have the time : do you have any news about the week view PR ? I guess Martin is very busy, so just wondering.09:19
pvuorelano news. last year martin did some sketching for the adjusted main view but it didn't finalize and then there was other stuff coming. could start asking about that again.09:20
dcalisteYeh, thank you.09:21
dcalisteAlright, so thank you pvuorela for the discussion today. I think I'm ok with the topics I had in mind. Don't hesitate to add anything if you want to.09:30
pvuoreladcaliste: thank you too!09:31
XueRenHi all, I want to switch from Android to SFOS but am waiting until the Sony Xperia 10 III is officially supported.14:22
XueRenCan anyone tell me when it'll be supported?14:23
x2sThere is no release date yet.14:23
x2sI'm waiting, too.14:23
XueRenI only found Q1 22 as an approximate timeframe but was hoping someone here would know more.14:24
XueRenThank you, though!14:24
x2sI hope they will make an announce soon. I'm going to order one as soon as I know it makes sense to.14:40
x2smy X has a nasty bug in one of the firmwares and it's annoying me14:40
poetasterpiggz, I think I just erred. got a new vollax cheap and just flashed without doing any android updates.14:42
poetasterpiggz: calls don't work, so I'm guessing I should have done some upgrades.14:43
piggzpoetaster: back to recovery mode for you :D14:43
piggzwas it on 9 or 10?14:43
poetaster1014:43
poetasterI think.14:43
piggzprobably should work then14:43
poetasterhmmm. phone calls don't work. also can't get ssh to do pubkey only (copied config from working volla)14:44
poetastersms sending works.14:44
poetasterrecieving to.14:45
poetasterI had done the full upgrade to 4.314:46
poetasterah, damn. camera is also broke.14:47
poetasterpiggz: isn't life just one big adventure :)14:54
poetasteroh. dear.15:05
*** peter is now known as Guest97121:19
Guest971Can any dev tell me if i can use the tabbed navigation in my app like there is in the Jolla pjone app?21:20
Guest971Is there sone documentation or example how to do/use this?21:21
NicoI think the tab API is still private21:22
NicoBut you can probably just look at the qml files for it and copy it21:22
Guest971With privaye it means only Jolla can use it for now?21:23
NicoYou can use it too, but it is undocumented and not allowed to be published in harbour and it might break at any moment21:23
Guest971Ok, thanks. Certainly the harbour store limitation is a pity.21:24
Guest971No news yet if and when it may become public i guess21:24

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