Tuesday, 2021-05-11

*** zbenjamin is now known as Guest2850201:40
*** zbenjamin_ is now known as zbenjamin01:40
*** frinring_ is now known as frinring01:53
*** SpeedEvil is now known as Guest5964702:50
*** nyov is now known as Guest3543303:52
dcalisteHello chriadam, I hope you're well.06:48
chriadamhi dcaliste06:52
chriadamyes, doing well, thanks.  how are you?06:53
dcalisteI'm ok, thanks.06:53
chriadamgreat06:54
chriadamI saw that Pekka has been reviewing a few PRs you've made - I hope that they're progressing nicely?06:54
dcalisteAs you may have noticed, I've started to publish the pieces to get the log browsable in UI.06:54
dcalisteIndeed pvuorela accepted already the bits for mKCal.06:55
chriadamwe're currently transitioning a bunch of repositories from gitlab to github and my understanding is that the PRs can't be migrated06:55
chriadamso we either need to merge things, or recreate PRs after the migration06:55
dcalisteYeh, I've seen that many pending MRs were sorted out and accepted or closed.06:56
dcalisteNo problem to reopen a PR in Github if they don't get accepted in time in Gitlab.06:56
chriadamgreat :-)  thanks.06:57
chriadamare there any PRs which I should review, currently?06:57
chriadamI've been working mostly on something else recently and haven't had time to follow things06:57
dcalisteYou can read this MR description https://git.sailfishos.org/mer-core/mkcal/merge_requests/60 if you didn't have time to do it yet.06:59
dcalisteThe MR has been accepted, but the description gives a broader overview of the path to get the log in the UI.06:59
dcalisteAfter this mKCal addition, there is this one in nemo-qml-plugin-calendar : https://git.sailfishos.org/mer-core/nemo-qml-plugin-calendar/merge_requests/8407:00
dcalisteFor the latter, actually, I'm going to modify it to make it more minimal.07:00
chriadamright, that's the "event instance model" similar to agenda model?07:01
dcalisteAt the moment, it contains changes to use the instanceIdentifier to sort the internal storage of events, instead of QMultiHash, but it's not strictly speaking necessary and it may bring issues.07:01
dcalisteYes, it is introducing an EventList model.07:02
dcalisteBasically, I'm going to keep only the last commit of this MR at the moment.07:02
chriadamwhen you say "it may bring issues" do you mean that there is some issue you've encountered, or do you just mean that it increases the likelihood of bugs just because more is changing?07:04
chriadamI kind of like the idea of getting rid of QMultiHash and using unique instanceIdentifier keys, honestly ;-)  but I agree that more changes = more risk07:05
dcalisteUsing the instanceIdentifier to store Events in QHash in my opinion is a good idea, instead of QMultiHash, it simplifies things. There is one potential issue that I see, and I would like to address first in KCalendarCore, that is :07:06
dcaliste- instanceIdentifier is built by concatenating the UID and *a* string representation of the recurrenceId,07:07
dcaliste- the recId is a QDateTime and it may have several string representation for the same date, even when using the same Qt::ISODate format,07:07
chriadameven when using ISODate format?  how so?07:08
dcaliste- for instance, 20210511T090800Z and 20210511T090800+0000 represent the same date but are not the same strings.07:08
chriadamah.07:08
chriadamtrue.07:08
chriadamwhat is the solution?  provide some "canonical" recurrentIdString() method, which is used when building the instanceIdentifier, or?07:09
dcalisteSo if QML is changing the QDateTime in that direction, then the store may thing that the event should be reloaded.07:09
dcalisteI would like to force UTC conversion of the recId in KCalendarCore instanceIdentifier() function before the string conversion.07:10
dcalisteLike that we're sure to use a unique string representation for the same date time even if given in different time spec.07:11
chriadamwould that ensure date strings like 20210511T090800Z rather than 20210511T090800+0000 ?07:11
chriadamI guess the second is some "zero offset from utc" spec, whereas the first is "utc" spec07:12
dcalisteLike that we're sure that event1.uid == event2.uid && event1.recid == event2.recId can be tested as event1.instanceIdentifier() == event2.instanceIdentifier().07:12
dcalisteIndeed, the two representations means different spec, but the == of QDateTime is true.07:12
dcalisteIt would force the stringification of the recid to be always in UTC.07:13
chriadammakes sense.07:13
dcalisteIt ensures that recId1 == recId2 is equivalent to recId1.toUTC.toString == recid2.toUTC.toString07:13
dcalisteOtherwise, there are cases where recid1 == recid2 is not equivalent to recId1.toString == recid2.toString07:14
dcalisteSee the example given before.07:14
chriadamyep, makes sense.  I'm trying to think of some case where we'd want them to produce different identifiers, but I cannot07:15
chriadame.g. I was thinking "Hmm, could you have some event like 'new years eve celebrations in timezone X' and 'new years eve celebrations in timezone Y' where both timezones have the same offset but they're different...07:16
chriadambut I don't think that makes sense07:16
dcalisteI need to convince the people from KCalendarCore to add this toUtc() conversion in the instanceIdentifier() function ;) I'm thinking of a test case with the above example to demonstrate the necessicity.07:16
dcalisteAbout your case, there are two events, with two different UIDs. This stuff is for exceptions only for a given event.07:17
chriadamtrue of course.07:17
dcalisteAnd you can have only one exception for a given occurrence, and this exception is defined by the date and time of the original occurrence.07:17
dcalistei.e. the recurrenceId.07:18
dcalisteBut the RFC does not speak about the way to represent this uniaue date and time.07:18
chriadamright.  having two exceptions on the same date isn't possible, so the only thing we need to ensure is that the string value of the RID is round-trip stable etc.  yep, makes sense.07:18
chriadamdo you think that the toUtc() will be accepted?  I can't see why it wouldn't be.07:19
chriadamunless some folks somehow depend on the current format, and if currently the offset format is preferred07:19
dcalisteAnd since we can have several strings for the same date at the moment, the instanceIdentifier for a unique exception may not be uniaue. That's the potential issue I forsee.07:19
dcalisteI'm not sure that they will accept immediately, because some people may rely on already stored instanceIdentifiers...07:20
dcalisteIf their RecIDs were UTC, no change, but if not they won't find their incidence anymore.07:20
dcalisteReversely, if I force a offset representation, UTC people will losse their stored incidences...07:21
chriadamindeed..07:22
dcalisteSo the safest at the moment, is not to use the instanceIdentifier to sort our events in nemo-qml-plugin-calendar ;)07:23
chriadammakes sense.07:23
chriadamthank you for your thoroughness07:23
dcalisteFor an mKCal search, on the contrary, it's not an issue.07:23
dcalisteBecause, we're reversely extracting the QDateTime from the instanceIdentifier and then the == will work.07:24
dcalisteSo I'm going to change only the call to the calendar worker to use instanceIdentifiers instead of UID as done at the moment and build the EventList model with instanceIdenfier keys over it.07:25
chriadamif KCalendarCore don't accept the change upstream, we can apply it to our repo anyway, I guess.  but only if we have to... hopefully they accept the patch.07:25
dcalisteYep, let see. Anyway, I need to prepare the MR upstream with a test case and some detailed arguments with the pros and cons.07:28
chriadamthanks07:28
dcalisteNow all of this relies on https://git.sailfishos.org/mer-core/buteo-syncfw/merge_requests/4307:28
dcalisteWhich brings QML bindings to the Buteo logs and create models for list views.07:29
dcalisteIt's more or less ready for thorough review I think, at last after one year !07:30
dcalisteIt is declaring everything under SyncResults as Q_GADGET to use these class as lightweight objects from QML.07:30
chriadampvuorela: flypig: ^ we should set aside some time soon to review this one07:31
dcalisteThis includes the SyncResults and the TartgetResult, plus the helping structs like the ItemCounts.07:31
dcalisteIn addition, it is creating a new QML plugin under libbuteosyncfw/plugin to expose these types.07:32
dcalisteMost of them are uncreatable but can be retrieve through two new objects :07:32
dcaliste- SyncProfileWatcher07:33
dcaliste- SyncResultModel and MultiSyncResultModel07:33
dcalisteThe first one is a QML representation of a profile, read-only at the moment, from which we can get its properties, sync schedule and sync log.07:34
dcalisteThe second are model to display a list of SyncResults, either from a unique profile or from severql profiles.07:34
dcalisteAll are dynamic objects that changes when the profile or the log are changed, thanks to the SyncClientInterface object from Buteo.07:35
dcalisteThe latter list model can be used to display a list of all buteo logs on the device, like the transfer list in setting.07:36
dcalisteThen, one can tap on a particular log entry and view possible details if any, like in the screenshot from the mKCal MR I've mentioned above.07:37
dcalisteAs you suggested earlier, this dedicated page for each sync plugin, can be opened in the corresponding application via a DBus call.07:38
dcalisteIn the example I gave in the MR, it's still in one single application for simplicity reason for demonstrating it. But it's something that could be discussed together with jpetrell and Martin if they want to.07:40
chriadamthe MR also has some QML code to demo/test, I see.  thanks.  there is JB#49486 which corresponds to this "sync errors UI" work07:40
chriadamI will poke some people internally, not sure if Martin will get a chance to look at it soon, but hopefully Joona will07:40
dcalisteFor the QML to demo it, I need to update it. I think I changed one or two things since the initial message !07:43
dcalisteNo problem to reuse this JB id, even if the main part is not to show errors, but simply to give a feedback on what happen behind the scene. Like : oh, I got two new events synced from this shared calendar, what are they ?07:44
chriadamthat's a good point07:46
chriadamit's not just errors, but also information about new data on device07:46
chriadamhmm.  I guess there's some overlap between that and notifications07:46
chriadamanyway, I've pinged Joona internally, and also added bea and david to the MR07:47
chriadamI will take a look at it sometime this week, not sure what level of detail I will get to, though.07:48
chriadamthanks for that - it was a long road, you put a lot of effort in to get it to this point, thanks very much!07:48
dcalisteIndeed, we're receiving notfications for new emails, we may receive notification for new events in calendar too !  But even, it can be upstreaming information that you would like to check, like : "hey, I see that the new event has been upsynced last night, you should see it on your device !"07:48
chriadamright, true07:49
chriadamwere there any other topics to cover, this week?  was there anything from last meeting which I had forgotten to follow up on?07:53
chriadamdid MartinS ever get back to you, regarding the calendar timezone shift PR?07:53
dcalisteNo I didn't receive any message from Martin yet about the clock change MR. I guess he still very busy !07:54
dcalisteBesides, I think, we discussed all about the pending MR today. Thanks for the discussion.07:54
chriadamok, I will poke Martin again07:55
dcalisteWe can postpone this one for next week : https://git.sailfishos.org/mer-core/mkcal/merge_requests/6307:55
chriadamI guess he's busy with 4.1.0 activities, but hopefully very very soon he will have some time to look at that timezone shift one properly07:55
dcalisteIt's mainly cosmetic but with a potential for disaster !07:55
chriadamah ;-)07:55
chriadamwell, yes, let's discuss next week.  i will take a look later this week and think about it ;-)07:56
chriadamok, thanks again!  have a great week!  see you next week.07:56
* chriadam -> away, gnight07:56
dcalisteThank you , you too.07:56
*** Zuccace is now known as Zucca09:07
frojndHi there.14:18
frojndHow can I search for a package with pkcon?14:18
frojndMLS Manager is doing some thing and I can't use openrepos anymore because something related to MLS Manager app. I would like to remove it from pkcon14:19
frojndBut not sure how to search for it..14:19
malpkcon search package_name should work14:20
malthat package name doesn't need to be complete14:20
frojndHm I still get the same message now from terminal: Fatal error: File './harbour-mls-offline-hr-2021.04.04-1.noarch.rpm' not found on medium 'https://mls-offline-repo.nubecula.org/'14:22
frojndI think I removed the wrong package14:23
frojndI removed  harbour-mlsmanager but I think I should remove  harbour-mls-offline14:23
frojndConfusion14:24
frojndhttps://termbin.com/5pquf14:25
frojndThis is the output I get while trying to remove harbour-mlsmanager14:26
frojndCan I somehow force it14:26
maltry doing "pkcon refresh" first14:26
frojndOk it's refreshing14:27
frojndThat was it mal! Thank you14:30
frojndWhile removing package it had to update packages?14:30
*** vilpan is now known as Guest8900814:44
*** Guest89008 is now known as vilpan14:44
malyes14:51
malit was replacing some packages during the removal and the repo status not up to date so it needed to be refreshed14:52
elros1actually that is bug somwhere in pkcon, it always upgrade everything. On ubuntu it doesn't15:18
Mister_MagisterProtip to videos recorded on sfos: ffmpeg -i in.mp4 -vcodec libx264 -crf 30 out.mp416:16
Mister_Magistercuts size in 10, removes abundance of duplicated frames, and retains quality16:17
Mister_Magisterffmpeg will scream at you with More than 1000 frames duplicated16:18
Mister_Magisteri'm already at 1800 duplicated frames lma o16:18
malMister_Magister: that seems strange16:39
Mister_Magistermal: not really16:39
Mister_Magisterstandard for any sfos phone16:39
Mister_Magisterwhen i will be adding recordign in my telegram app i will reencode video on the fly with those parameters16:40
Mister_Magistercause f*** sfos recording encoding16:40
malMister_Magister: the encoding is done in android side16:51
malunless we have some wrong settings for that16:52
Mister_Magistersomehow android vids arent as bad16:52
malmaybe we use wrong profile or something16:52
Mister_Magisteryou think its worth investigating?16:52
Mister_Magisterlike i have 5z with advanced camera. you have video bitrate slide but no matter the slider bitrate sucks16:53
Mister_Magisterand 4K is recorded with such shit bitrate16:53
Mister_Magisterand 720p video on my g2 with 9min lenth is 1GB16:53
Mister_Magisterwhen reencoded its 50MB16:53
malprobably should be investigated16:53
Mister_Magisterwhat about dash in gstreamer? any info from jolla?16:54
malno news about dash16:59
Mister_Magistermal: thanks17:21
*** BitEvil is now known as SpeedEvil17:31

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