=== _salem is now known as salem_ === salem_ is now known as _salem [09:55] renatu: everything works in the multiselect for me :) [10:02] renatu: btw it looks like a lot of people are using your PageWithBottomEdge.qml component :D [12:42] nik90, Hi. Can you think of any other task or bug I could help with? %) [12:51] twstddev: 1 min, let me see [12:51] twstddev: how about https://bugs.launchpad.net/ubuntu-clock-app/+bug/1354617 ? [12:51] Ubuntu bug 1354617 in Ubuntu Clock App "[reboot] Small portion of the text for a world clock remains after deleting it" [Low,Confirmed] [12:53] twstddev: if not https://bugs.launchpad.net/ubuntu-clock-app/+bug/1350433 [12:53] Ubuntu bug 1350433 in Ubuntu Clock App "[Performance] The local world city list takes too long to load" [Medium,Confirmed] [12:53] nik90, the same happens with alarms. feels like it animates collapse effect and stays at the last pixel [12:53] will have a look [12:53] great. I'll check both [12:53] twstddev: second bug is more related to Qt XmlReader, since you have experience with Qt/C++ that might suited to your experience [12:53] twstddev: thnx [12:54] twstddev: btw assign yourself to bug when you start working on it so that others don't work on the same thing [12:55] nik90, I have thought about it, but I have a full-time job and not always sure if I spend my time coding or doing something else :) so sometimes it may take longer to resolve bugs, while others could do it in a lot less time [12:55] and attach your MP to the bug report by clicking "Link to related branch" on the right sidebar [12:56] oke [12:56] twstddev: true, but we could always remove you from the bug report if you are unable to fix it. [12:56] twstddev: ok [12:57] Ok. I've linked the bug to the related branch [12:59] as well I've assigned myself to the bugs you mentioned above [13:00] thnx [13:01] btw, does autopilot support the gherkin language and how can I automate tests runings. And what do you use for units tests? [13:03] gherkin? [13:03] the readme.autopilot has instruction on how to run UI tests. [13:03] we are planning to use QTest for the unit tests, but I have no experience with it [13:04] so need to read up on that before i can write some [13:04] sorry. It's just a very convinient way to write scenarios https://github.com/cucumber/cucumber/wiki/Gherkin [13:04] I think that corresponds to autopilot I think [13:04] with some test suits you can run them automaticaly, there is a listener following any files change and restart tests [13:04] ah ok [13:05] so you could see if tests pass while you writing your code [13:05] in our case we do it manually before proposing a merge [13:05] Ok [13:05] also several of the ubuntu projects have an automatic bot called jenkins which tests your MP before merging to trunk automatically after code approval. [13:05] oh yeah. I saw it [13:06] does it have an interface exposed? [13:06] what jenkins? [13:06] yup [13:07] jenkins comes with web interface [13:07] when you propose a MP, it runs the tests and leaves a comment with the necessary links [13:07] where it just basically lists reports [13:07] to the web interface [13:07] ah ok [13:07] for the new clock app, jenkins keep reporting it as failed since we haven't got the infrastructure up and running yet [13:07] for the old clock app it works as expected [13:08] Great. Thanks nik90. Will get to those bugs later [13:08] yw. [13:08] take your time [13:08] :D [13:51] Is there a way to get notified when the app resumes from suspended state? [13:51] I think I've seen it somewhere at some point, but can't find it any more [14:01] mzanetti: Qt.applicationState [14:01] nik90: ah, thanks! [14:01] yw :) [14:02] mzanetti: more specifically Qt.application.active [14:02] ack [17:40] nik90, Hi. https://bugs.launchpad.net/ubuntu-clock-app/+bug/1350433 I don't get delay of 4-5 secs on my VM it was about 730ms, i've optimized it down to 60-65ms, but it still may be not that fast on your machine [17:40] Ubuntu bug 1350433 in Ubuntu Clock App "[Performance] The local world city list takes too long to load" [Medium,Confirmed] [17:40] could you please check [17:41] twstddev: on my vm it was around 730 ms as well. On the phone it was 4-5 secs [17:41] twstddev: will take a look [17:41] ouch [17:41] yes please. If still unacceptable I'll do small refactoring and try to optimize it more [17:45] twstddev: I am unable to run it, I think it crashes on startup [17:45] twstddev: can you check the pushed branch on your end [17:46] I don't have a device running ubuntu touch :\ does it happend if you run it in VM? [17:46] no it doesnt run on my VM as well [17:47] interesting [17:47] let me try to get a crash report [17:50] https://www.irccloud.com/pastebin/fOHeUk5I [17:50] twstddev: ^^ [17:50] is that all? :\ [17:51] yup that's all gdb outputted [17:51] i'll try to reproduce [17:51] will get back to the next alarm issue first [17:52] ok [18:12] nik90, where can find official components code? there is something weird with alarmmodel [18:15] https://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/trunk/files/head:/modules/Ubuntu/Components/plugin/ [18:15] daker, thanks [18:15] the model i think is here https://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/trunk/view/head:/modules/Ubuntu/Components/plugin/ucalarmmodel.cpp [18:16] daker: thnx [18:16] yw [18:17] twstddev: if you are looking for the SDK API Docs, you can find them within qtcreator itself. [18:17] no, not docs. I get seg fault when I call get method on model [18:17] weirdly count says that there are items in the model [18:18] twstddev: btw just so you know, there is one bug related to crash https://bugs.launchpad.net/bugs/1337405 [18:18] Ubuntu bug 1337405 in Ubuntu Clock App reboot "Clock App crashes frequently when UCAlarmModel::clear() is called" [Critical,Triaged] [18:18] twstddev: it happens rarely while using alarms [18:18] twstddev: I was told the SDK dev would work on that hopefully next week [18:34] hi guys.. [18:35] someone know how to put command output into a variable in python? [18:35] i try to make a raid status widget [18:38] facebook kill every irc channel :-( in 2009 the irc was full with nice people now it's all empty rooms [18:48] hi boiko [18:48] hi deids [18:50] i reffered to this room from #ubuntu [18:50] i try to make a raid status widget [18:50] maybe you can help me [18:51] how to put command output into a variable in python? [19:03] nik90, https://code.launchpad.net/~twstd-dev/ubuntu-clock-app/1350433/+merge/230211 i cannot get the seg fault. Could you please check xmltimezonemodel.cpp and see if you have setTimeZoneId call on line 112 [19:17] I am using qml and js to make a audio file play and stop i have made it play, but when I click it again it won't stop. [19:21] twstddev: checking now [19:22] twstddev: I have tz.setTimeZoneId( reader.text().toString() ); on line 112 [19:22] that's just strange then [19:23] twstddev: could you do bzr status to see if there are any unpushed stuff [19:23] I am trying again now [19:23] i got fresh branch and tried running it, had no problems [19:23] ok let me restart my vm [19:29] twstddev: same issue :/ [19:30] I restarted and branched the code again [19:31] hm, cannot event possibly imagine why this is happening. just leave for now then [19:32] weird [19:34] yeah. [19:34] mzanetti: Could you try https://code.launchpad.net/~twstd-dev/ubuntu-clock-app/1350433/+merge/230211 on your machine and see if you get segmentation fault on startup? [19:34] crashes with the next alarm branches even weirder [19:35] mzanetti: it is a branch by twstddev to improve the xmlread performance [19:35] twstddev: I will have a try at the next alarm branch to see if I can fix that. [19:37] when you do cancel on an alarm, internally goes asynchronously. I believe I end up with a pointer to the trash memory [19:37] removal is asynchronous [19:37] twstddev: may be wait for the removal to be over before trying to access it? [19:37] i listen to modelreset [19:38] when i check the count it gives the right amount [19:38] but fails on get method [19:38] nik90: no, doesn't segfault here [19:39] they return pointer to the alarm on get, feels like it gets garbage collected by the js engine somewhere before [19:39] mzanetti: ok this is getting really weird..it crashes on startup even on my phone [19:39] nik90: well, open it in the debugger [19:40] nik90, have you by any change modified Qt source? [19:40] *chance [19:40] twstddev: no, I ran it from the terminal after building. So I didnt even open the file [19:40] nik90: have you tried a clean rebuild? [19:41] I removed the build dirs and tries aagain [19:41] is there an easy way to reference local ui toolkit? [19:41] I am using qml and js to make a audio file play and stop i have made it play, but when I click it again it won't stop. [19:42] twstddev: what exactly is the thing that improves performance? [19:43] mzanetti, there were repetetive calls in the data method, so they were called lots of times. The most expensive was timezone creation so I just cache when timezone object gets created [19:44] and shortened other calls to one [19:44] mzanetti: don't know how useful this is -> http://i.imgur.com/oxfCX1m.png [19:44] twstddev: hmm, ok... didn't expect timezone creation to be that expensive [19:44] nik90, goo [19:44] good [19:44] ilne 3 [19:44] twstddev: ? [19:44] twstddev: the calls to m_timeZones.at() aren't slow.. [19:45] mzanetti, I know, just to be safe left it at the same place and saved to a variable [19:45] nik90: line 8 in the diff is probably the reason [19:46] it's on level 2 [19:46] third 3 line at the bottom [19:46] maybe not... just a guess [19:46] nik90: try removeing the & there [19:46] there is a call to toTimeZone [19:47] twstddev: I still don't even see how this should be faster tbh [19:48] mzanetti, which one? [19:48] all of it :) [19:48] %) [19:48] there is just one place that makes it faster [19:49] initialising timezone when you fill the model [19:49] by moving this "tz.timeZoneId = reader.text().toString();" to the inline function you don't change much (unless a ctor in Qt is really badly written) [19:49] it's not because of the inline function [19:49] i just left withing the structure declaration [19:50] data method gets called lots of times [19:50] ok ok, first twstddev give me the diff to fix the crash, and I try on the phone to see how better it gets [19:50] twstddev: yes, but the data method wasn't the issue [19:50] removing the & in line8 didnt help [19:50] anyways... [19:50] gotta go for food [19:50] preliminary testing showed that the slow was due to XmlTimeZoneModel::loadTimeZonesFromXml() [19:51] nik90, it's because of the endResteModel() [19:51] well at least that's where most time was spent, I didnt go further in that function to see where it might be caught up [19:51] the wdiget gets redrawn and calls data for every item [19:51] data had timezone repetitive timezone initialisation [19:51] that was slow [19:52] ok, can you let me know how to fix the crash first on my side [19:52] nik90, sorry. yeah. I wish i knew [19:52] looking into it [19:52] you pointed at line 3 in the debugger [19:53] it crashes in toTimeZone [19:53] it's in timezonemodel.cpp line 70 [19:53] probably [19:53] ah yes [19:53] could you try reming const and & at line 60 [19:54] didnt help [19:55] it can crash if timezone is empty [19:55] unlucky me :p [19:55] could you try doing qDebug on currentTimeZone.timeZone [19:55] before line 70 [19:57] erm how to do that? [19:57] just a qDebug()< and see check console when you start the app [19:57] oh that [19:58] twstddev: "QTimeZone(") [19:58] yeah [19:58] that's the reason [19:58] so u were right about the empty one [20:01] can you see if time_zone_id has a value in timezonemodel.h on line 107 [20:02] mzanetti, btw. my fault is convestin to bytearray is slow [20:02] it's convertion [20:02] jesus... [20:02] converting QString to ByteArray is slow [20:03] twstddev: I did qDebug() << time_zone_id; at line 108, but it never outputted anything, I guess it din't get to that part? [20:03] yeah, it doesn't make a call to the method [20:04] but you have it in xmltimezonemodel.cpp at line 112 [20:05] yeah [20:07] * nik90 grabs dinner [20:11] nik90, could you try replacing line 70 in timezonemodel.cpp to [20:11] QDateTime worldCityTime(currentTimeZone.timeZone.isValid() ? [20:11] currentDatetime.toTimeZone( currentTimeZone.timeZone ) : [20:11] currentDatetime ); [20:13] twstddev: that works [20:15] twstddev: wow that's fast! [20:15] twstddev: load time reduces from 5-6 secs to about 2 secs [20:15] 1.5 secs maybe [20:18] twstddev: although with this, the world times reported in the main page are no longer correct [20:20] i don't know why you receive empty timezone [20:21] I am using qml and js to make a audio file play and stop i have made it play, but when I trigger it again it won't stop. [20:28] nik90, oh i have the same problem with the main page, will fix it now [20:32] nik90, there is still a way to cut it down to 30ms on vm, let's have a look if functionality still says the same [20:33] don't know what can take so long on the phone [20:33] not sure i'll be able to run emulator within vm [20:43] twstddev: yeah you cant run emulator within vm...too intensive [20:50] I am using qml and js to make a audio file play and stop i have made it play, but when I trigger it again it won't stop. [20:51] nik90, it goes down to 15ms without converting to time zone, I guess I could make a timer that updates it separately from the main tick [20:51] Boogle: you might want this on Monday when there will be more developers available [20:51] but then object won't be synchronised [20:52] twstddev: but there is already a separate timer, isnt there? I mean the QTimer in the timezonemodel class is separate from the main timer that updates the main clock app time [20:52] oh [20:53] the main clock is driven by DateTime class while the world class is handled by the XmlTimeZoneModel class [20:53] sry plugins [20:53] it needs to go to TimeZone structure [20:53] and update it there [20:54] asynchronously from the data method [20:54] so when data is called conerted time should be already prepared [20:54] *converted [20:55] ok [20:55] but then that will make too many timers [20:55] and that's really bad [21:06] twstddev: alright I am done for the day [21:06] see you tomorrow perhaps [21:06] nik90, sure, I think i found a way to make it faster will push changes. Have a good night [21:08] gud nite [21:12] For this new kit creation thing, what do I need kits for exactly? [21:12] particularly because before this kit wizard was introduced, I was developing fine without it.