/srv/irclogs.ubuntu.com/2014/08/09/#ubuntu-app-devel.txt

=== _salem is now known as salem_
=== salem_ is now known as _salem
nik90renatu: everything works in the multiselect for me :)09:55
nik90renatu: btw it looks like a lot of people are using your PageWithBottomEdge.qml component :D10:02
twstddevnik90, Hi. Can you think of any other task or bug I could help with? %)12:42
nik90twstddev: 1 min, let me see12:51
nik90twstddev: how about https://bugs.launchpad.net/ubuntu-clock-app/+bug/1354617 ?12:51
ubot5Ubuntu bug 1354617 in Ubuntu Clock App "[reboot] Small portion of the text for a world clock remains after deleting it" [Low,Confirmed]12:51
nik90twstddev: if not https://bugs.launchpad.net/ubuntu-clock-app/+bug/135043312:53
ubot5Ubuntu bug 1350433 in Ubuntu Clock App "[Performance] The local world city list takes too long to load" [Medium,Confirmed]12:53
twstddevnik90, the same happens with alarms. feels like it animates collapse effect and stays at the last pixel12:53
twstddevwill have a look12:53
twstddevgreat. I'll check both12:53
nik90twstddev: second bug is more related to Qt XmlReader, since you have experience with Qt/C++ that might suited to your experience12:53
nik90twstddev: thnx12:53
nik90twstddev: btw assign yourself to bug when you start working on it so that others don't work on the same thing12:54
twstddevnik90, 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 time12:55
nik90and attach your MP to the bug report by clicking "Link to related branch" on the right sidebar12:55
twstddevoke12:56
nik90twstddev: true, but we could always remove you from the bug report if you are unable to fix it.12:56
nik90twstddev: ok12:56
twstddevOk. I've linked the bug to the related branch12:57
twstddevas well I've assigned myself to the bugs you mentioned above12:59
nik90thnx13:00
twstddevbtw, does autopilot support the gherkin language and how can I automate tests runings. And what do you use for units tests?13:01
nik90gherkin?13:03
nik90the readme.autopilot has instruction on how to run UI tests.13:03
nik90we are planning to use QTest for the unit tests, but I have no experience with it13:03
nik90so need to read up on that before i can write some13:04
twstddevsorry. It's just a very convinient way to write scenarios https://github.com/cucumber/cucumber/wiki/Gherkin13:04
nik90I think that corresponds to autopilot I think13:04
twstddevwith some test suits you can run them automaticaly, there is a listener following any files change and restart tests13:04
nik90ah ok13:04
twstddevso you could see if tests pass while you writing your code13:05
nik90in our case we do it manually before proposing a merge13:05
twstddevOk13:05
nik90also 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
twstddevoh yeah. I saw it13:05
twstddevdoes it have an interface exposed?13:06
nik90what jenkins?13:06
twstddevyup13:06
twstddevjenkins comes with web interface13:07
nik90when you propose a MP, it runs the tests and leaves a comment with the necessary links13:07
twstddevwhere it just basically lists reports13:07
nik90to the web interface13:07
twstddevah ok13:07
nik90for the new clock app, jenkins keep reporting it as failed since we haven't got the infrastructure up and running yet13:07
nik90for the old clock app it works as expected13:07
twstddevGreat. Thanks nik90. Will get to those bugs later13:08
nik90yw.13:08
nik90take your time13:08
twstddev:D13:08
mzanettiIs there a way to get notified when the app resumes from suspended state?13:51
mzanettiI think I've seen it somewhere at some point, but can't find it any more13:51
nik90mzanetti: Qt.applicationState14:01
mzanettinik90: ah, thanks!14:01
nik90yw :)14:01
nik90mzanetti: more specifically Qt.application.active14:02
mzanettiack14:02
twstddevnik90, 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 machine17:40
ubot5Ubuntu bug 1350433 in Ubuntu Clock App "[Performance] The local world city list takes too long to load" [Medium,Confirmed]17:40
twstddevcould you please check17:40
nik90twstddev: on my vm it was around 730 ms as well. On the phone it was 4-5 secs17:41
nik90twstddev: will take a look17:41
twstddevouch17:41
twstddevyes please. If still unacceptable I'll do small refactoring and try to optimize it more17:41
nik90twstddev: I am unable to run it, I think it crashes on startup17:45
nik90twstddev: can you check the pushed branch on your end17:45
twstddevI don't have a device running ubuntu touch :\ does it happend if you run it in VM?17:46
nik90no it doesnt run on my VM as well17:46
twstddevinteresting17:47
nik90let me try to get a crash report17:47
nik90https://www.irccloud.com/pastebin/fOHeUk5I17:50
nik90twstddev: ^^17:50
twstddevis that all? :\17:50
nik90yup that's all gdb outputted17:51
twstddevi'll try to reproduce17:51
twstddevwill get back to the next alarm issue first17:51
nik90ok17:52
twstddevnik90, where can find official components code? there is something weird with alarmmodel18:12
dakerhttps://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/trunk/files/head:/modules/Ubuntu/Components/plugin/18:15
twstddevdaker, thanks18:15
dakerthe model i think is here https://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/trunk/view/head:/modules/Ubuntu/Components/plugin/ucalarmmodel.cpp18:15
nik90daker: thnx18:16
dakeryw18:16
nik90twstddev: if you are looking for the SDK API Docs, you can find them within qtcreator itself.18:17
twstddevno, not docs. I get seg fault when I call get method on model18:17
twstddevweirdly count says that there are items in the model18:17
nik90twstddev: btw just so you know, there is one bug related to crash https://bugs.launchpad.net/bugs/133740518:18
ubot5Ubuntu bug 1337405 in Ubuntu Clock App reboot "Clock App crashes frequently when UCAlarmModel::clear() is called" [Critical,Triaged]18:18
nik90twstddev: it happens rarely while using alarms18:18
nik90twstddev: I was told the SDK dev would work on that hopefully next week18:18
deidshi guys..18:34
deidssomeone know how to put command output into a variable in python?18:35
deidsi try to make a raid status widget18:35
deidsfacebook kill every irc channel :-(   in 2009 the irc was full with nice people now it's all empty rooms18:38
deidshi boiko18:48
boikohi deids18:48
deidsi reffered to this room from #ubuntu18:50
deidsi try to make a raid status widget18:50
deidsmaybe you can help me18:50
deidshow to put command output into a variable in python?18:51
twstddevnik90, 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 11219:03
BoogleI 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
nik90twstddev: checking now19:21
nik90twstddev: I have tz.setTimeZoneId( reader.text().toString() ); on line 11219:22
twstddevthat's just strange then19:22
nik90twstddev: could you do bzr status to see if there are any unpushed stuff19:23
nik90I am trying again now19:23
twstddevi got fresh branch and tried running it, had no problems19:23
nik90ok let me restart my vm19:23
nik90twstddev: same issue :/19:29
nik90I restarted and branched the code again19:30
twstddevhm, cannot event possibly imagine why this is happening. just leave for now then19:31
nik90weird19:32
twstddevyeah.19:34
nik90mzanetti: 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
twstddevcrashes with the next alarm branches even weirder19:34
nik90mzanetti: it is a branch by twstddev to improve the xmlread performance19:35
nik90twstddev: I will have a try at the next alarm branch to see if I can fix that.19:35
twstddevwhen you do cancel on an alarm, internally goes asynchronously. I believe I end up with a pointer to the trash memory19:37
twstddevremoval is asynchronous19:37
nik90twstddev: may be wait for the removal to be over before trying to access it?19:37
twstddevi listen to modelreset19:37
twstddevwhen i check the count it gives the right amount19:38
twstddevbut fails on get method19:38
mzanettinik90: no, doesn't segfault here19:38
twstddevthey return pointer to the alarm on get, feels like it gets garbage collected by the js engine somewhere before19:39
nik90mzanetti: ok this is getting really weird..it crashes on startup even on my phone19:39
mzanettinik90: well, open it in the debugger19:39
twstddevnik90, have you by any change modified Qt source?19:40
twstddev*chance19:40
nik90twstddev: no, I ran it from the terminal after building. So I didnt even open the file19:40
mzanettinik90: have you tried a clean rebuild?19:40
nik90I removed the build dirs and tries aagain19:41
twstddevis there an easy way to reference local ui toolkit?19:41
BoogleI 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
mzanettitwstddev: what exactly is the thing that improves performance?19:42
twstddevmzanetti, 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 created19:43
twstddevand shortened other calls to one19:44
nik90mzanetti: don't know how useful this is -> http://i.imgur.com/oxfCX1m.png19:44
mzanettitwstddev: hmm, ok... didn't expect timezone creation to be that expensive19:44
twstddevnik90, goo19:44
twstddevgood19:44
twstddevilne 319:44
nik90twstddev: ?19:44
mzanettitwstddev: the calls to m_timeZones.at() aren't slow..19:44
twstddevmzanetti, I know, just to be safe left it at the same place and saved to a variable19:45
mzanettinik90: line 8 in the diff is probably the reason19:45
twstddevit's on level 219:46
twstddevthird 3 line at the bottom19:46
mzanettimaybe not... just a guess19:46
mzanettinik90: try removeing the & there19:46
twstddevthere is a call to toTimeZone19:46
mzanettitwstddev: I still don't even see how this should be faster tbh19:47
twstddevmzanetti, which one?19:48
mzanettiall of it :)19:48
twstddev%)19:48
twstddevthere is just one place that makes it faster19:48
twstddevinitialising timezone when you fill the model19:49
mzanettiby 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
twstddevit's not because of the inline function19:49
twstddevi just left withing the structure declaration19:49
twstddevdata method gets called lots of times19:50
nik90ok ok, first twstddev give me the diff to fix the crash, and I try on the phone to see how better it gets19:50
mzanettitwstddev: yes, but the data method wasn't the issue19:50
nik90removing the & in line8 didnt help19:50
mzanettianyways...19:50
mzanettigotta go for food19:50
nik90preliminary testing showed that the slow was due to XmlTimeZoneModel::loadTimeZonesFromXml()19:50
twstddevnik90, it's because of the endResteModel()19:51
nik90well at least that's where most time was spent, I didnt go further in that function to see where it might be caught up19:51
twstddevthe wdiget gets redrawn and calls data for every item19:51
twstddevdata had timezone repetitive timezone initialisation19:51
twstddevthat was slow19:51
nik90ok, can you let me know how to fix the crash first on my side19:52
twstddevnik90, sorry. yeah. I wish i knew19:52
twstddevlooking into it19:52
nik90you pointed at line 3 in the debugger19:52
twstddevit crashes in toTimeZone19:53
twstddevit's in timezonemodel.cpp line 7019:53
twstddevprobably19:53
nik90ah yes19:53
twstddevcould you try reming const and & at line 6019:53
nik90didnt help19:54
twstddevit can crash if timezone is empty19:55
nik90unlucky me :p19:55
twstddevcould you try doing qDebug on currentTimeZone.timeZone19:55
twstddevbefore line 7019:55
nik90erm how to do that?19:57
twstddevjust a qDebug()<<currentTimeZone.timeZone;19:57
twstddevand see check console when you start the app19:57
nik90oh that19:57
nik90twstddev: "QTimeZone(")19:58
twstddevyeah19:58
twstddevthat's the reason19:58
nik90so u were right about the empty one19:58
twstddevcan you see if time_zone_id has a value in timezonemodel.h on line 10720:01
twstddevmzanetti, btw. my fault is convestin to bytearray is slow20:02
twstddevit's convertion20:02
twstddevjesus...20:02
twstddevconverting QString to ByteArray is slow20:02
nik90twstddev: 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
twstddevyeah, it doesn't make a call to the method20:03
twstddevbut you have it in xmltimezonemodel.cpp at line 11220:04
nik90yeah20:05
* nik90 grabs dinner20:07
twstddevnik90, could you try replacing line 70 in timezonemodel.cpp to20:11
twstddev    QDateTime worldCityTime(currentTimeZone.timeZone.isValid() ?20:11
twstddev        currentDatetime.toTimeZone( currentTimeZone.timeZone ) :20:11
twstddev        currentDatetime );20:11
nik90twstddev: that works20:13
nik90twstddev: wow that's fast!20:15
nik90twstddev: load time reduces from 5-6 secs to about 2 secs20:15
nik901.5 secs maybe20:15
nik90twstddev: although with this, the world times reported in the main page are no longer correct20:18
twstddevi don't know why you receive  empty timezone20:20
BoogleI 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
twstddevnik90, oh i have the same problem with the main page, will fix it now20:28
twstddevnik90, there is still a way to cut it down to 30ms on vm, let's have a look if functionality still says the same20:32
twstddevdon't know what can take so long on the phone20:33
twstddevnot sure i'll be able to run emulator within vm20:33
nik90twstddev: yeah you cant run emulator within vm...too intensive20:43
BoogleI 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
twstddevnik90, it goes down to 15ms without converting to time zone, I guess I could make a timer that updates it separately from the main tick20:51
nik90Boogle: you might want this on Monday when there will be more developers available20:51
twstddevbut then object won't be synchronised20:51
nik90twstddev: 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 time20:52
twstddevoh20:52
nik90the main clock is driven by DateTime class while the world class is handled by the XmlTimeZoneModel class20:53
nik90sry plugins20:53
twstddevit needs to go to TimeZone structure20:53
twstddevand update it there20:53
twstddevasynchronously from the data method20:54
twstddevso when data is called conerted time should be already prepared20:54
twstddev*converted20:54
nik90ok20:55
twstddevbut then that will make too many timers20:55
twstddevand that's really bad20:55
nik90twstddev: alright I am done for the day21:06
nik90see you tomorrow perhaps21:06
twstddevnik90, sure, I think i found a way to make it faster will push changes. Have a good night21:06
nik90gud nite21:08
Akiva-ThinkpadFor this new kit creation thing, what do I need kits for exactly?21:12
Akiva-Thinkpadparticularly 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!