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