[09:04] morning all! === mpt_ is now known as mpt [11:18] good morning! [11:35] gatox, buenas! [11:35] mandel, how are you? [11:35] gatox, let me reboot due to updates :) [11:35] mandel, ok [11:38] gatox, here everything ok, but I have a pep8 issue I dont understand [11:38] mandel, weird..... pep8 shouldn't fail.... pylint i can understand :P [11:39] gatox, can you branch lp:~mandel/ubuntuone-control-panel/auto-update-looping-call [11:39] mandel, yes! i'll check [11:39] gatox, I don't get what is going on [11:47] @ping [11:47] pong [11:52] * mandel back in a sec [11:54] mandel, ping [11:54] gatox, I'm back [11:54] mandel, i get this: ./ubuntuone/controlpanel/gui/qt/main/tests/test_windows.py:1:4: E261 at least two spaces before inline comment [11:55] pep8 --repeat . [11:55] gatox, do pep8 ./ubuntuone/controlpanel/gui/qt/main/tests/test_windows.py --show-source [11:56] gatox, and tell me what is wrong in that line if you can [11:56] 'cause I see nothing wrong [11:57] ok [12:00] gatox, ny idea? [12:00] mandel, i think that you are saving the file with some end of line issue or something like that..... i see the pep8 issue (with no sense) you mention...... but i open that file with ninja..... save it without modifying anytihng [12:01] and now it doesn't show the issue [12:03] gatox, can you push that to a branch and I'll pull from it [12:03] gatox, wtf pep8! :P [12:04] mandel, ok..... but you should use ninja jejeje [12:05] gatox, vim vim vim [12:05] gatox, the thing is, I want to see the bloody diff :) [12:05] ahhhh [12:06] hello everyone! [12:07] nessita, hi [12:08] nessita, morning! [12:08] nessita, question from design, the error dialog with the expandable error detail has already landed, right? [12:08] mandel, https://code.launchpad.net/~diegosarmentero/+junk/u1-cp-pep8-issues [12:09] hola mandel, gatox [12:09] mandel: in control panel, yes [12:09] mandel: we released that along with the second release, iirc [12:10] nessita, ok, superb! I told them so but I was not 100% sure [12:10] mandel: why? [12:10] ah [12:10] gatox: will start reviews now. Is the fix-user-home and which one else? [12:11] * gatox checking.... [12:12] nessita, this one has already one approve: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/fix-user-home-tests/+merge/88919 and i have 2 more that i consider they are ready..... but noone review them again..... i was hoping alecu could review them [12:13] gatox: which one are those? lp:~diegosarmentero/ubuntuone-windows-installer/network-detect and lp:~diegosarmentero/ubuntu-sso-client/remove-disconnect-signal ? [12:13] nessita, that 2 [12:13] good morning! [12:14] ralsina, hi [12:14] ralsina, morning! [12:16] nessita, ahhhh about the network-detect branch.... i just realize there is no test to check if the button has the proper style..... we are not doing that everywhere.... but i should add that check, shouldn't i? [12:16] nessita, can I haz a review for https://code.launchpad.net/~mandel/ubuntuone-client/add-virtual-watches/+merge/88726 [12:16] ? [12:17] nessita, I need one more and nor brian nor alecu wrote theirs as reviews but as comments... [12:17] gatox: the try again default style? [12:17] nessita, yes [12:17] mandel: you mentioned you were gonna ask facundo as well, perhaps? I was waiting on that review (besides alecu's) [12:18] nessita, I did ask him, but he told be he was too busy at that time [12:18] facundobatista, too busy for https://code.launchpad.net/~mandel/ubuntuone-client/add-virtual-watches/+merge/88726 ? [12:19] mandel, I'll check it [12:20] facundobatista, thx! [12:37] nessita, i've added the test for the try again button properties [12:41] ack! [12:43] nessita, whenever you have time can you take a look at https://code.launchpad.net/~mandel/ubuntuone-control-panel/auto-update-looping-call/+merge/81015 [12:45] mandel, did you see the diff? [12:45] gatox, empty.. no idea what was going on :( [12:45] weird...... how you fix it? [12:48] gatox, merged with yours :P [12:48] :P [12:48] gatox, funny thing is, I used vim to remove a line, and it was working.. [12:49] mandel, welcome to the world of non deterministic bugs :P jeje [13:00] hello all! [13:00] alecu, morning [13:00] * mandel small problem with the beast, will be back in 10 min [13:05] alecu, hi [13:05] hola alecu [13:12] * mandel back [13:12] I have to buy a new tv remote.. the dog eat it :( [13:12] alecu, can you re-review https://code.launchpad.net/~mandel/ubuntuone-client/add-virtual-watches/+merge/88726 [13:13] gatox: are client test passing for you, in linux? [13:14] nessita, for the u1-sso-client branch? [13:14] gatox: no, for the u1client branch [13:14] gatox: I'm having stuff like this: http://pastebin.ubuntu.com/816404/ [13:15] gatox: I'm running trunk now, to see how the suite behve there [13:15] nessita, checking..... but that wasn't happening here [13:22] nessita, mmmm everything is ok here..... [13:22] PASSED (skips=12, successes=2504) [13:22] gatox: trunk or your branch? [13:22] nessita, my branch [13:22] u1-user-home [13:22] gatox: trunk is working fine for me... I will re run the suite in your branch [13:22] ah no! [13:22] :O [13:22] gatox: it just failed the same in trunk [13:22] what happend? [13:22] fiuuuuuuu [13:23] * gatox thought nessita was going to hit him [13:23] no no [13:23] alecu: ping [13:24] nessita, pong [13:24] alecu: does this ring any bell to you? http://pastebin.ubuntu.com/816413/ [13:24] checking [13:24] alecu, in the webclient tests, do both implementations run when I do ./run-tests ? [13:25] mandel, no: you need to do ./run-tests and ./run-tests -qt [13:25] alecu, ack [13:25] nessita, how did those errors happen? [13:25] alecu: running make check in u1client trunk [13:26] nessita, on P? [13:26] alecu: yes sir [13:29] nessita, I think I found it :-) [13:29] nessita, how is the branch you where working on regarding the execution of a child process form sso? [13:30] mandel: is going better than yesterday, where I was completely blocked. You already blocked by this? [13:30] nessita, it seems that the tests are "mocking" the pynotify module. But if the pynotify module is not installed the platform dependent code just does not install a notifier. [13:31] nessita, no necessary, I can work around it or so I believe :) [13:31] nessita, and it also happens that the pynotify module is not installed either if the notify GI is available. [13:31] alecu: oh... hum.., [13:31] nessita, so: either there's a GI for pynotify now, or the pynotify module is not installed. [13:32] alecu: how did you reach that conclusion? [13:32] nessita, in any case we should make the notify tests be a bit more smarter, and find out what the real notification module is. [13:32] nessita@dali:~$ sudo apt-cache policy python-notify [13:32] python-notify: [13:32] Installed: 0.1.1-3 [13:33] alecu: I have pynotify installed [13:33] nessita, what does " from gi.repository import Notify" do? [13:33] alecu: brings in the GI notify [13:34] nessita, right. And that means that the pynotify module is not installed [13:34] nessita, (I mean, by our code) [13:34] *imported (not installed) [13:34] ah!!!! [13:34] alecu: not sure if this is your area [13:35] alecu: oops wrong person [13:35] ralsina: if u1sdtool --waiting lists the same GetDelta 100s of times, is that you? [13:35] webm0nk3y, I've got no area... I'm a full field player! [13:35] nessita, alecu when we get the credentials from the user in the proxy dialog, those should be stored in the keyring, is that correct? [13:35] ralsina: or a verterok question [13:36] mandel: yes, keyring [13:36] mandel, we should find where they are usually stored by the rest of the apps, and try to get/set them in that same place. [13:36] webm0nk3y: it's desktop but it's transitioning, so we will ask verterok later ;-) [13:36] mandel, for instance, on windows it's stored in the cred manager, so we could use that same location [13:37] webm0nk3y: is it connected? [13:37] alecu, so, on windows we can use the keyring class, on linux.. I think each app does what it feels [13:37] verterok: yes [13:37] webm0nk3y: hmm, I think it should kill all the other GetDeltas as soon the first one is started [13:38] facundobatista: ^ do you remember what we talked about filtering GetDelta's? [13:38] mandel, I saw IE storing the creds in that app. If firefox uses those creds, then we should use them too. [13:38] mandel, what I'm saying is that we should do a bit of IRL of those other apps and try to have the same behaviour. [13:38] verterok, #883252 [13:38] alecu, ok, I'll do that after lunch, lets see what I get [13:38] mandel, and by "that app" I mean... let me find the exact name... [13:39] facundobatista: thanks [13:39] facundobatista: thanks [13:39] webm0nk3y: bug #883252 [13:39] Launchpad bug 883252 in ubuntuone-client "Syncdaemon executes multiple GetDelta commands in parallel on the same volume (affects: 2) (heat: 9)" [High,Confirmed] https://launchpad.net/bugs/883252 [13:39] alecu, I might propose a couple of small mp which add in increments the code for this thing, I tried to do a proper pipeline :) [13:39] webm0nk3y: so, isn't fixed yet :/ [13:39] mandel, "Credential Manager" inside the windows control panel. [13:39] mandel, cool! [13:40] alecu, we use the Credential Manager in the keyring module, so that we have sorted :) [13:40] great [13:41] alecu, my worry is ubuntu, since for example, FF, Chrome store them in diff places [13:41] alecu, I'm off to lunch and I'll bother you a little more with this :) [13:41] mandel, afaict chrome (or chromium) uses the keyring [13:42] mandel, we should ask the platform team in any case. [13:42] alecu, I will, I've checked and empathy uses the keyring too [13:42] ok, lunch and we continue [13:44] alecu: sobre lo de notifications, abro bug y los skipeo? [13:44] nessita, plus one [13:45] gatox: confirmed the test failures are the same in your branch and trunk, so that counts as "passing" for your branch [13:45] alecu: thanks for the quick debugging [13:46] nessita, good [13:46] (for my branch :P) [13:46] nessita, thank you for finding this. [13:46] nessita, you can assign that bug to me [13:46] alecu: ack [13:47] alecu: may I ask that you dedicate some time this morning to catch up with reviews? I know mandel and gatox are waiting on a review from you (mine can wait till the afternoon or tomorrow) [13:47] alecu, pretty please :P [13:47] nessita, I was planning on catching up with reviews today after lunch. Sorry guys! [13:48] alecu: as it fits best in your schedule, but perhaps mandel's review will flow faster having him around? [14:11] nessita: hey. why did you put ubuntuone-windows-installer in your ppu application? :) [14:12] dobey: because I made a mistake :-) [14:12] dobey: edited [14:12] thanks. :) [14:31] nessita: 1-1? [14:31] yes! [14:40] nessita: the notification errors were from running tests with the gireactor? [14:41] dobey: well, it was run using the same make check as usual, but yes, I have the tweaked twisted installed, and the new devtools [14:42] nessita: right, but were you modifying the Makefile to run with -r gi, or not? [14:42] dobey: nopes [14:43] nessita: so you just intentionally removed python-notify? [14:43] dobey: not at all [14:43] dobey: I have it installed [14:44] nessita: that is very odd then :) [14:44] dobey: odd that the Notify module was loaded instead of notify? [14:45] nessita: yes. [14:45] nessita: especially since it can't load if running with the static bindings already loaded [14:46] dobey: give me one sec, I'm in mumble, will pay full attention in some minutes [14:46] ok === yofel_ is now known as yofel [14:49] dobey: CONGRATS http://twistedmatrix.com/trac/ticket/4558 [14:49] :) [14:50] :-) [14:50] more work though. i need to update some other related docs in another branch [14:50] but the code is there at least, yeah [14:52] dobey: awesome [14:55] * mandel back [14:55] alecu, if you do the review after lunch I can pay attention as long as I'm not walking the dog :) [14:56] alecu, nessita, dobey, briancurtin, gatox: Did I miss anyone's review requests? Remind me now, or forever hold your peace! [14:57] * gatox checking.... [14:57] ralsina, no..... i'm still working on a branch that will need your review [14:58] ralsina, maybe if you have time, you could review this one: https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/remove-disconnect-signal/+merge/89761 [14:58] it's small [14:58] ralsina: https://code.launchpad.net/~nataliabidart/ubuntu-sso-client/run-stuff-from-mainloop/+merge/89956 [14:59] alecu: FYI bug #921574 [14:59] Launchpad bug 921574 in ubuntuone-client "NotificationTestCase failures (affects: 1) (heat: 6)" [Medium,Triaged] https://launchpad.net/bugs/921574 [14:59] dobey: I'm back [14:59] gatox, nessita: thanks, I will do them ASAP [14:59] dobey: so, I see from ubuntuone/platform/linux/notification.py that the gi module is being loaded if 'gi' in sys.modules [15:00] nessita: right [15:00] so seems like that's True when I run it? want me to print sys.modules? [15:00] nessita, ping [15:00] gatox: pong [15:00] nessita, thanks [15:01] me [15:01] nessita, first standup..... then i'll tell you [15:01] me [15:01] nessita: well, i'm not sure how that could be true if you haven't changed anything [15:01] me [15:01] me [15:01] me [15:01] wait for me! [15:01] ralsina, ? [15:02] me [15:02] shall I then? [15:02] mainerror, go [15:02] si [15:02] DONE: Long conversation with design regarding the proxy UI, user flow and cases when errors might occur. We should get new bugs filled by them reagrding the UI items. Updated lp:~mandel/ubuntuone-control-panel/auto-update-looping-calls, reviews are welcome. Worked on the auth-dialog for proxy, divided the work in small chucks using pipeline. Noticed that the jenkins instance was remove in canonical stack, sidnei was kind enough to fix it. [15:02] TODO: more proxy. Talk with the desktop team, where should we store the creds, keyring? [15:02] BLOCKED: no [15:02] gatox, please! [15:02] DONE: [15:02] Fixed some branches. Adding tests. [15:02] TODO: [15:02] Finish with my remaining branches. Propose fix for the installer script. [15:02] BLOCKED: [15:02] No [15:02] nessita, go [15:02] gatox, mainerrr your mum! :P [15:03] jeje [15:03] DONE: proposed branch for bug #919294, had tweaked twisted uploaded to our PPA, reviews, sync with alecu re SSO, restarted work on gtk-gi [15:03] TODO: finish and propose gtk-gi branch, restart work on executing an SSO UI from the SSO main loop, 1-1 with ralsina [15:03] BLOCKED: nopes [15:03] NEXT: briancurtin [15:03] Launchpad bug 919294 in ubuntu-sso-client "Be able to spwan a process from the mainloop and grab its exit code (affects: 1) (heat: 6)" [High,In progress] https://launchpad.net/bugs/919294 [15:03] DONE: cleaned up a few run-tests.bat scripts to exit more cleanly, cleaned up registry checks (might need to change for jenkins). installed jenkins locally and started reading up on it [15:03] TOOD: get a windows installer built so i can see how it's done in order to automate it, read/play more with jenkins [15:03] BLOCKED: none [15:03] NEXT: dobey [15:03] λ DONE: gireactor patch for 11.1, packageset proposal, gwibber keyring usage [15:03] λ TODO: gwibber tweaks, music store [15:03] λ BLCK: None. [15:03] alecu [15:03] DONE: finished use-restful branch [15:03] TODO: catch up with reviews; cleanup branch for unneeded stuff [15:03] BLOCKED: no [15:04] NEXT: ralsina? [15:04] DONE: mgmt call, nessita 1-1, chipaca 1-1, video lens call, started bureaucracy to hire davidcalle to work on it, defined video lens deliverables, reviews, canonicaladmin, interviewed mac candidate, etc, etc. TODO: gatox 1-1, more CV screening for mac, other stuff, BLOCKED: no [15:05] also in my TODO is a makeup 1-1 with ralsina [15:05] briancurtin: yes [15:05] any comments anyone? [15:05] eom? [15:05] nop [15:05] eom! [15:05] no [15:05] gatox: shoot [15:05] Comment: if ears could cramp, mine would hurt [15:05] I have been doing waaaaaaaay too many calls [15:05] nessita, now...... about this branch: https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/folder-show-garbage/+merge/89094 [15:06] dobey: http://pastebin.ubuntu.com/816516/ [15:06] gatox: yes [15:06] * mandel back to code! [15:06] nessita, i'm running into some ipc problems trying to create an udf..... but is not related to this branch..... i think it would be better to create another bug for the udf issues..... because the bug associated to this branch was about ui [15:07] gatox: what IPC issues? [15:07] nessita, i can create the other bug and take it if you want.... is unicode related [15:07] gatox: is the error the one I reported in the MP? [15:07] nessita: how? === mpt_ is now known as mpt [15:08] dobey: go to trunk, run: u1trial tests/platform/linux/test_notification.py [15:08] dobey: having nightlies installed and updated [15:08] nessita, it doesn't seem to be that one..... because this issue is from u1-cp side..... never reach syncdaemon (in the user with weird username.... it works fine in the other one) [15:08] gatox: I tested with a user with a weird username [15:09] gatox: have a trace of your error? [15:09] * gatox checking.... [15:09] gatox: this is the home of the user I used: C:\\Users\\\xe5\x8d\x97\xe6\xb8\xa1\xe6\xb1\x9f \xd7\xa0\xd7\x95\xd7\xa0\xd7\x95 [15:09] jjjee nice username [15:10] which is: C:\Users\南渡江 נונו [15:10] gatox: is my default user now, is the onle one I use in windows [15:10] nessita, i'm using both yet [15:11] nessita, this is the log i have: http://paste.ubuntu.com/816519/ [15:12] nessita: ok, upgrading now [15:12] nessita, ahhhhhh it reach syncdaemon [15:12] i just saw it [15:13] nessita, and yes..... it's the same bug [15:13] nessita, so the ipc issue..... maybe is related to syncdaemon answer [15:13] gatox: what do you mean by syncdaemon answer? [15:13] or the lack of answer [15:14] gatox: nopes, look the log in syncdaemon [15:14] 2012-01-19 11:00:45,207 - ubuntuone.SyncDaemon.InteractionInterfaces - DEBUG - handle_VM_UDF_CREATE_ERROR: args (,), kwargs {'path': 'C:\\Users\\\xe5\x8d\x97\xe6\xb8\xa1\xe6\xb1\x9f \xd7\xa0\xd7\x95\xd7\xa0\xd7\x95\\Links', 'error ': "INVALID_PATH: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)"}.\ [15:14] gatox: is in the merge proposal, I pasted that on 2012-01-19 [15:14] gatox: do you also have that error? [15:14] nessita, yes..... i'm looking at the trace in my machine too [15:14] nessita, yes [15:15] gatox: so, I put in the comment: "Would you please confirm if the problem is in syncdaemon's end or controlpanel's end?" [15:15] gatox: do you know if the controlpanel is sending the wrong path, or syncdaemon is not processing it properly? [15:15] nessita, yes, i saw it and in my opinion the problem is in syncdaemon [15:16] gatox: did you confirm if controlpanel is sending unicode thru IPC? [15:16] nessita, i'll check now...... but i think the problem is that the data is not being encoded/decoded from syncdaemoon side [15:17] gatox: be careful, because a single layer has to do encode/decode, and that layer is interaction_interfaces. No other layer should do that (and perhaps os_helper on windows, but that's for transforming into unicode) [15:18] gatox: we need to ensure some invariants regarding IPC. One invariant is: every call receives unicode, and every call return unicode [15:18] nessita, ok..... i'll confirm that control panel is sending the right stuff [15:18] gatox: if we're making a IPC call without sending unicode, the problem (at least one of the problems) is the caller [15:19] dobey: were you able to reproduce? [15:19] nessita, ok....... i'll let you know as soon as i have something.... [15:19] * gatox lunch now [15:19] brb [15:20] still upgrading === gatox is now known as gatox_lunch [15:34] nessita: hrmm, it does fail for me with that. weird [15:36] well, using laptop for mumble is sort of ok [15:37] really need working synergy though [15:39] ha, I'm back! [15:40] damn [15:41] grr, netsplit [15:51] LUNCH! [15:53] alecu, so, lets say we use that ugly idea of username: password we should not promp for the creds, right? [15:55] mandel, what if the creds expire? [15:55] get a bucket and fill it with tears? [15:56] dobey, that sounds about right... [15:56] hehe === bdmurray_ is now known as bdmurray [16:01] alecu, so, we either tell the current way to work, frack off we know better and have a dialog and store that in the keyring or we work like the rest of the apps (aka do it wrong), or fix gnome 3 [16:01] dobey, sounds about right? ^ [16:02] mandel, have you tried it IRL? [16:02] alecu, what, using the default settings and then changing the creds? [16:03] I can easily do it :) [16:03] mandel: i think it's safe to assume we'll have to do it ourselves or fix gnome3. [16:04] mandel, yes: I mean with a few apps... firefox, chromium, empathy [16:04] alecu, changing my settings right now :) === jackyalcine is now known as Guest1073 === gatox_lunch is now known as gatox [16:09] @ping [16:09] pong [16:11] alecu, dobey so, xchat, firefox, are smart and know how to do it while chrome asks for the creds [16:11] mandel, so they all know how to parse when you enter "user:pass@host" in the gnome dialog? [16:12] mandel: i found this blog post earlier: http://www.gnomeshell.com/2011/04/30/gsettings-api-how-to/ [16:12] alecu, not all of them, chrome did know how to use the url, yet I had to provide my username and password again [16:12] mandel: the last + line in the patch linked is a comment that says "no authentification support in gnome3" :( [16:13] Mandel would you have a second to look at an rt ticket for me? [16:13] mandel: what about epiphany? (apt-get install epiphany-browser) [16:14] duanedesign, shoot! [16:14] dobey, installing [16:14] mandel, also: if you leave the user:pass out, do they ask you for credentials (xchat, firefox)? where do they store them? [16:14] * mandel feels like a webdeveloper with several browsers... lame [16:15] mandel, also: where did chrome store the credentials? [16:15] alecu, let me look at epiphany and will do that [16:15] likely the keyring [16:15] sure [16:15] mandel: do you have glib-networking installed? [16:15] alecu: ^^ [16:15] they don't use the keyring [16:16] http://git.gnome.org/browse/glib-networking/tree/proxy/gnome/gproxyresolvergnome.c [16:16] yey! /me is back [16:16] mandel: http://ubuntuone.com/1DSHjFhtlKzpfYdDjGh7YB [16:16] mandel: if you can view the RT system https://support.one.ubuntu.com/Ticket/Display.html?id=10146 [16:17] mandel: is it a matter of removing that tritcask file? [16:17] duanedesign, looking [16:18] duanedesign, I'm getting an error when trying to get in the rt system using sso :( [16:18] alecu, mandel: it appears gsettings keys are used, but i don't know what sets the keys exactly. [16:19] dobey, epiphany-browser works correctly [16:20] mandel: what happens if you set it to an authenticated host, but don't have the user:pass in the url? [16:22] @ping [16:22] pong [16:22] so I'm still here [16:22] duanedesign, what is the exact problem, can you describe it for me [16:22] dobey, alecu if I use the domain and do no use the pattern username:password@domain [16:23] mandel, yes, what happens? [16:23] I get a dialog asking for the creds ( epiphany-browser) which are later stored in the keyring [16:23] alecu, dobey ^ [16:23] gatox: ping [16:23] mandel, nice. what about firefox, empathy? do they use the same keyring place? [16:23] * mandel looks [16:25] mandel: file was not uploading, I renamed the file, and it said syncing for a while in the app, but the [16:25] file still failed to appear online. [16:26] duanedesign, may I see logs? sorry I have some problems with the rt system :( [16:27] alecu, chrome does not use the same key, looking at ff [16:27] nessita, pong [16:27] mandel: i PM'd the logs [16:28] gatox: in your network-detect branch, in windows-installer [16:28] aja? [16:28] mandel, can you send a small mail with these results? the name of each keyring key is interesting in each case. [16:28] gatox: if I see the diff correctly, you added some methods to SuccesPageTestCase [16:28] mandel, so we can later choose where should we store the settings. [16:28] gatox: get_pixmap_data and assertEqualPixmaps. Why did you add those there? [16:29] (my opinion is: wherever firefox stores them) [16:29] nessita, let me check [16:29] alecu, if it does store them.. which I don't know yet [16:30] mandel, gatox, nessita: I need to go for some errands and lunch: after that it's review evening for me. [16:30] nessita, yes..... i added those methods because i needed to check that the image was the proper one.... also, after talking with alecu i created a bug to move those methods to a common place, probably in sso, because we are using that in cp too in different places [16:30] alecu: ack [16:30] alecu, ack [16:31] alecu, ok [16:31] gatox: but you added the method in SuccesPageTestCase... and unless I missing something, I don't see that test case using that [16:32] nessita, ohhhhh..... probably was removed in some merge..... :S crap [16:32] gatox: let me know when is cleared what happened [16:32] nessita, sorry about that.... i'll add it again [16:32] no problem === alecu is now known as alecu_away [16:35] nessita, that weird..... i have the changes here..... but i can't push because it says is up to date [16:35] gatox: did you commit the changes? [16:35] alecu, firefox stores them in firefox thing.. I'm going to try to find what exactly is doing [16:36] mandel: interesting === mpt_ is now known as mpt [16:36] gatox: what does bzr st say? [16:36] nessita, yes..... bzr status shows me nothing too [16:36] gatox: are those changes in the diff in LP? [16:36] gatox: what revno are you in? [16:36] nessita, not in LP..... 120 [16:37] gatox: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/network-detect/+merge/77049 shows up to revno 120 [16:37] the proxy support is a major mess ... [16:37] ok, i am going to get some lunch. bbiab [16:38] nessita, i know which is the problem [16:38] gatox: tell me :) [16:39] nessita, the function that use assertEqualPixmap is already in trunk..... probably in some refactor that i miss..... and those methods were defined in BaseTestCase..... so i can't remove them from this branch [16:40] gatox: ack [16:40] nessita, probably in some of my installer branches that was needed, and i add it in a common place [16:41] perhaps [16:41] ralsina: help! [16:42] briancurtin: hey! may I have borrow your expertise for some minutes? [16:42] nessita: sure [16:42] briancurtin: any idea why calling mkdir fails there: http://pastebin.ubuntu.com/816639/ [16:42] briancurtin: am I missing something obvious? [16:43] nessita, ok..... i've updated that branch removing the unnecessary functions..... tests in windows and linux ok [16:44] gatox: ack [16:45] briancurtin: is like mkdir is not in the PATH, right? which is a puzzle to me... since when using the terminal, mkdir is in the PATH [16:45] nessita: you would need shell=True [16:46] briancurtin: would I? would you explain why? (and why is not needed shell=True in Linux) [16:46] mkdir isn't actually on the path, it's built into the shell itself (like dir) [16:48] briancurtin: an on linux it is an "external" executable... [16:48] i'm not 100% sure on why you don't need it on linux, but on windows things like dir, copy, move and such are commands rather than actual programs [16:48] ah === teknico_away is now known as teknico_ === teknico_ is now known as teknico [16:52] briancurtin: perhaps you can help me with this... I'm trying to build a multiplatform test suite where I spawn a program and check that the program was successfully ran [16:53] briancurtin: so, atm, I was spwaning 'mkdir test-me' and checking that test-me was successfully created [16:53] briancurtin: but that will not work on windows using the spawnners I'm using (twisted's in this case) [16:54] any advice what program/command to spawn that will not involve that much trouble or platform issues? [16:55] nessita: i've always just used subprocess.Popen, but the convenience functions like check_output and such are nice. as long as the target is just an executable or a python script, it should work [16:56] you could always try os.system as well if you don't need all of the stuff subprocess.Popen provides [16:56] what type of program are you trying to spawn? some executable or another python script? [16:56] briancurtin: I can't use subprocess since I need to make the spawnning async, and subprocess.call is blocking, and subprocess.Popen will force me to do some polling to check when the child process has finished [16:56] briancurtin: any program, this is a generic spawning function [16:57] briancurtin: the spwanner are already built, the problem is running the test suite in windows [16:57] briancurtin: the branch is https://code.launchpad.net/~nataliabidart/ubuntu-sso-client/run-stuff-from-mainloop/+merge/89956, if you can take a look at it, perhaps my issue is clearer [16:58] nessita: i'll take a look at the branch. off the top of my head the best you could do is polling Popen, but I'll look around [17:00] briancurtin: thanks. A couple of key lines in that merge proposal: line 253 has the generic spawnner, which will use twisted/glib or qt depending on some conditions. The specific test that is failing for me in windows is: line 400 (test_program_is_spawned). It fails because mkdir can not be found to be executed. [17:01] I will have lunch in the mean time :-) [17:01] * nessita -> lunch [17:29] nessita, confirmed....... u1-cp is sending unicode [17:29] nessita, i'm checking what is happening with u1-client [17:38] gatox: awesome [17:38] * nessita is back [17:39] briancurtin: would you have any conclusions? [17:40] nessita: would it be possible to use muliprocessing.Pool and asynchronously apply a command to it, something like https://pastebin.canonical.com/58787/ [17:40] nessita, so..... i think that the branch is ready for review..... and if you think it's ok.... i'll create the bug for this problem and start working on that (i've been debugging it for a while) [17:41] nessita: sorry, was having lunch! What happened! [17:41] ralsina: is ok, I asked for brian's help [17:41] cool :-) [17:41] nessita, agree? [17:42] briancurtin: I see, and does that code use / integrates to any mainloop to progress? [17:42] gatox: ack, when you file the bug please add it as a reply to my comment in your MP [17:42] nessita, yes [17:43] ralsina, i have a branch for review if you still have some time [17:43] ralsina, you appear as one of the reviewers [17:43] gatox: ok, link? I will queue it up [17:43] ralsina, https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/folder-show-garbage/+merge/89094 [17:43] thanks [17:45] nessita: ehh, it would still block your main thread on that join, so i guess it wouldn't work (it's really meant for running numerous calculations, not one command). i'll poke around a bit and see if i can make it better or find another way [17:45] briancurtin: wait :-). I already have async ways to spawn programs, so that's not really the issue [17:46] briancurtin: my question was related to testing my current spawnners [17:46] briancurtin: I was looking for a real-life command/program that will work on linux and windows [17:47] nessita: python -c "print 'foo'" ? [17:47] ah, dobey beat me to it [17:48] just calling "python" may or may not work on windows depending on PATH but close enough [17:48] from the existing program just call sys.executable [17:48] dobey, so, by looking at different ups, each of them does wtf the fuck it wants, example of firefox: https://developer.mozilla.org/en/Using_nsILoginManager [17:49] dictators are clearly needed sometimes... [17:49] mandel: firefox is especially weird [17:50] dobey, most of mozilla things are weird.. [17:50] yes [17:51] ralsina: as briancurtin said, sys.executable can be used, no? :) [17:51] dobey: yes, that should work [17:55] briancurtin: so I can use that in the tests, and assert it worked. Depending on shell=True is not an option, since besides being insecure, I can not tweak how my current spawnners do the spawnning [17:55] spawn, spawn, spawn, the word is getting weird :-P [17:55] briancurtin: I can go slower if you want, I think I'm not explaining myself correctly [17:55] briancurtin: have some time to continue with this? [17:55] briancurtin: ping? [17:56] nessita: yeah i do [17:56] briancurtin: can you please branch the branch I mention a couple of lines above in windows, an run this command: [17:57] take a look at mimetypes.guess_type [17:57] python C:\Python27\Scripts\u1trial -r twisted -t .SpawnProgramTestCase.test_program_is_spawned$ ubuntu_sso\utils\tests\test_runner.py [17:57] ok, EOD for me, expect and email from me later on complaining about each bloody app in the ubuntu ecosystem doing wtf it wants regarding the storage of proxy creds [17:58] nessita: doing right now [17:58] briancurtin: and let me know what's the output for you (you would need to properly set PYTHONPATH=. before running that) [18:00] nessita: https://pastebin.canonical.com/58790/ [18:00] gatox: ubuntuone-windows-installer/network-detect apporved [18:00] nessita, cool! thanks [18:01] briancurtin: great, the same error as me. Can you please edit the file: ubuntu_sso/utils/tests/test_runner.py [18:01] briancurtin: and change args = ('mkdir', TEST_ME_DIR) with args = ('notepad',)? [18:01] briancurtin: I would expect that to work, but it fails the same. And that mkdir fails I understand, from what you say. But why notepad is also failing? [18:04] nessita: notepad also fails. i would guess os.environ is not passed along, or is somewhere explicitly blank? [18:05] well, that's the thing [18:05] briancurtin: I pass environ to the call (see ubuntu_sso/utils/runner.py, line 80) [18:06] briancurtin: and I also put a pdb in twisted's source code, and printed PATH [18:06] briancurtin: and this is the result: https://pastebin.canonical.com/58791/ [18:07] C:\\Windows\\system32 is in path (no idea where notepad is :-P) [18:08] yeah notepad will work given that PATH. this is really weird... [18:10] briancurtin: that's why I pinged our windows expert! [18:12] nessita: i'll step into it and see if i can find where it's dropping the path or whatever may be happening [18:13] briancurtin: awesome, thanks. I will be here doing a review for gatox, do not hesitate to ping me [18:21] nessita, i find where everything explode :P common_prefix = os.path.commonprefix([start_list, path_list]) [18:21] something in that list is not in commonprefix taste :P [18:22] gatox: oh hum, we need to transform to unicode there? [18:22] nessita, ahhhhh i know what the problem is..... the comparison is failing because one of the list is str..... and the other one all unicode [18:23] i think is something related to that.... i'll check [18:23] ack [18:35] yay, monitor arm. [18:35] dobey: is that like tennis elbow? [18:36] dobey: or athlete foot? [18:36] no [18:36] it's more like the cure for it [18:39] Is it possible to restore/get previous versions of a specific file? [18:39] blueyed, not at the moment, no [18:39] nessita, ping === beuno_ is now known as beuno [18:40] Too bad.. and I just missed the 30-day period that Dropbox provides (for free) - which would hold the same file. Meh. [18:42] nessita, expand_user should be returning unicode, isn't it? I'm asking because in this moment is returning bytes, and when i change it, i found out that config.py was asserting the result of expand_user if it is instance of str...... just want to be sure which one is wrong.... i think config.py [18:44] gatox: every single function in os_helper has return bytes [18:44] nessita, yes..... ok..... the comment at expand_user method was wrong [18:44] looking [18:46] gatox: where is expand_user? [18:46] is not on ubuntuone/platform/os_helper.py, no? [18:47] nessita, ubuntuone/platform/__init__.py [18:47] no [18:47] I see [18:47] the comment was added by you, I'd guess, no? [18:47] you should know why is there :-P [18:48] nessita, yes.... i think so [18:48] nessita, my own comment confuse me [18:48] because it wasn't returning unicode [18:48] heh [18:49] gatox: never trust your own comments. If the comment is by someone else, there is a chance he knows better. By definition, you don't know more than yourself. [18:51] fixed udf stuff :D === mpt_ is now known as mpt [18:58] gatox,nessita: +1 for both [18:58] gatox: how did you fix it? [18:59] nessita: ah of course. i know why were getting the import error issues, and the notify test failures, with the new reactor. [19:00] nessita, i'm still testing, to check i didn't miss anything.... but i could create a udf decoding the result of expand_user from get_suggested_udf_path, in order to create the proper lists and compare them [19:00] ralsina, cool! thanks [19:00] * dobey thinks for a minute how to deal with this the best way [19:01] dobey: why?!?! [19:02] gatox: makes sense [19:02] nessita: because in the reactor, we set the sys.modules[] entries for the other bindings to None, to prevent segfaults :) [19:02] I see [19:03] nessita: so just checking that x is in sys.modules[] isn't enough now :) [19:03] of course, the error from python isn't exactly helpful [19:04] nessita: i am fixing it though, so don't worry :) [19:07] I assume there's a wishlist item for "history of items" already, but cannot find it. I'd like to subscribe there. [19:13] blueyed: bug #423405 is one it looks like [19:13] Launchpad bug 423405 in ubuntuone-client "Ubuntu-one team with bzr (affects: 1) (heat: 16)" [Wishlist,Triaged] https://launchpad.net/bugs/423405 [19:16] Thanks, dobey. I am quite suprised that this isn't a feature considered to be more important / already implemented. [19:16] In my case I would like to have an older version of .encfs/.encfs6.xml - which I would not have under version control itself anyway. [19:23] gatox: review added to https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/remove-disconnect-signal/+merge/89761 [19:24] nessita, ok [19:24] gatox: the diff also has some fixes to the import style, which was not matching our current standards [19:25] nessita, ok, thanks [19:27] gatox, ping [19:27] alecu, pong [19:28] gatox, why did you change setMinimumHeight to setFixedHeight? [19:28] nessita: am currently running make test with new reactor. :) [19:28] in the network detect branch, that is... [19:28] dobey: was it a "Local" fix or in twisted? [19:29] alecu, because we know that is the higher size.... and NetworkDetectionPage was having issues to adjust the size to minimum...... [19:29] gatox, that's a value in pixels, right? [19:29] gatox, what if the user has enlargened the fonts? [19:29] gatox, what if the display has different dpis? [19:30] alecu, mmmmmmm you are right..... it should me minimum [19:30] and force the networkdetectpage [19:31] nessita: local. i haven't fixed all the issues yet, but am running make test to see what all comes up. then i will fix those and run again [19:32] gatox, should I add a comment to the MP? [19:32] alecu, yes please [19:34] gatox, as a rule of thumb, I dislike using absolute pixel values anywhere in the code or the .ui files, so the "setMinimumHeight" or setFixedHeight are in my opinion hiding some other problems. [19:35] alecu, the minimum is because the idea is not to resize the wizard everytime the user change from one page to the next...... so we choose as minimum the size in pixels from the bigger page [19:36] alecu, in one moment we talk about check all the pages in runtime, take the size of the bigger one and set that..... but that idea was out of scope [19:37] gatox, yes, that makes sense. But usually you can create all pages in advance and put them in the wizard container and it will calculate the right size by itself. [19:37] gatox, anyway, don't worry about that :-) [19:39] alecu, the problem was that the wizard doesn't do that...... it adjust the size per page.... so before everytime you move to the next page, the wizard was resized [19:40] alecu, but yes..... fixed wasn't the best solution [19:52] alecu: ping re: libsoup and body read [19:53] nessita, pong [19:53] nessita, good news I hope [19:53] alecu: unping then :-P [19:53] nessita, :-) [19:54] alecu: I'll do some more research before sharing [19:54] to see if I can get some good news :-D [19:55] heh [19:57] briancurtin: do you have some good news to me? :-D /me needs some [19:58] nessita: sorry, got sidetracked with a 1-1 and then lunch/trying to get mumble to work. im getting back to your problem...so weird [19:59] briancurtin: ack, let me know if you find something out [20:01] EOD for me..... see you later === gatox is now known as gatox_brb [20:10] ugh, mocker === gatox_brb is now known as gatox [20:24] nessita, why does each _spawn_program_* function receives a reply_handler and an error handler? can't you make all those functions return a deferred instead? [20:24] alecu: yeah, I could [20:24] nessita, that's what spawn program ends up doing, but I don't understand why the indirection makes sense. [20:25] I liked better that way, I found them more testable that way... [20:26] alecu: I don't feel strong about that... considering that is not the twisted spawner is not working on windows, I would like to burn down that branch [20:27] nessita, enoparse [20:27] alecu: sorry. From the top: [20:27] considering that the twisted spawner is not working on windows (brian is helping me debug that), I would like to burn down that branch, I'm kinda tired of it :-) [20:28] alecu: I can change that if you think it will help the reading [20:28] nessita, oh, right. Probably the qt4reactor... :-( [20:29] alecu: the thing that is not working is that twisted can not execute the process, can't find the file. Let me show you the trace [20:29] nessita, I'm not sure if the branch will change much with that change, I was trying to understand the code. [20:29] alecu: https://pastebin.canonical.com/58790/ [20:30] alecu: even changing the "args" in the test, pointing it to execute ('notepad',), will not work [20:30] nessita, what about including the full path to the notepad exe? [20:30] alecu: I just fixed the webclient souppy backend! [20:30] alecu: let me try that [20:30] nessita, soupy: cool! [20:31] alecu: https://pastebin.canonical.com/58807/ [20:31] alecu: I will leave you adding the test for that :-D [20:34] alecu: absolute path for notepad.exe will work [20:34] nessita, I was expecting that last paste to be a diff or a file of ours. [20:34] alecu: I can easily do that, but perhaps you wanted to run it in isolation [20:35] briancurtin: FYI, changing args to be ('C:\\Windows\\system32\\notepad.exe',), makes the spawning works [20:35] nessita, no problem, but what was the issue? [20:35] nessita: for the first param of CreateProcess - "The function will not use the search path." - if it's not in the current directory you need to construct a full path (which subprocess.Popen does for you, i think) [20:35] (i was just typing that when you sent) [20:35] i'm looking at how subprocess.Popen handles it, because it works with just "notepad.exe" [20:35] briancurtin: but in Linux it will use the content of PATH.... [20:36] nessita, http://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.IReactorProcess.spawnProcess.html [20:36] alecu: the key part is: [20:36] while written < total: [20:36] buffer = body.get_chunk(written) [20:36] written += buffer.length [20:36] response += buffer.get_data() [20:36] nessita, "executable the file name to spawn - the *full path* should be used" [20:36] alecu: I'm using a higher level fuction, that should solve that [20:36] alecu: I'm using utils.getProcessOutputAndValue [20:37] alecu: which, at least in LInux, resolves PATH automaticallty [20:37] nessita, http://starship.python.net/crew/mwh/apidocs-2.0.1/twisted.internet.utils.html [20:37] alecu: that function accepts an env dict, which I'm passing os.environ [20:37] executable The file name to run and get the output of - the full path should be used [20:38] nessita, it says the same regarding full path there ^ [20:38] it passes the env on but doesn't use it to figure out the path of the exe [20:38] nessita, also, it uses the same underlying reactor.spawnProcess function, so it has the same limitations regarding env.... [20:38] damned twisted, it resolves it properly on Linux [20:39] alecu: well, I would hope that utils will resolve that... but I see [20:40] briancurtin, right, it passes the env but does not use it [20:42] hmm [20:42] briancurtin, alecu: thanks for your time regarding this [20:44] alecu: the diff you requested: https://pastebin.canonical.com/58813/ [20:45] briancurtin, alecu: thanks for your time... I will think how to fix the tests given this scenario [20:45] nessita, great, thank you [20:46] libindicate-ERROR **: Unable to get session bus: Operation was cancelled [20:46] ugh. [20:46] nessita: you should be able to call getProcessOutputAndValue("", "notepad.exe",...) -- the command param must be a full path, but passing a non-full path to the args param will work (which is how subprocess.Popen(["notepad"]) works) [20:47] briancurtin: ugly! :-) but makes my life easier [20:47] yeah it's not the best looking code, but it'll work [20:47] nessita, how so? don't we have full paths to the .exes in the registry? [20:48] alecu: we won't be using twisted spawnner, but qt on windows, and qt or glib in linux [20:49] nessita, I'm not sure about that. [20:49] alecu: why? [20:50] nessita, syncdaemon will use the sso module to get the proxy credentials, and that will try to open the process for the ui, right? [20:50] alecu: syncdaemon will call a dbus method [20:50] no? [20:51] nessita, that seems better. [20:51] otherwise we'll get a not nice mix of things, no? [20:51] nessita, if the only problem is getting the full paths, then it's not so ugly of a mix :-) [20:52] alecu: I meant mix of reactors and mainloops [20:52] nessita, if SD executed a binary for the UI, it would use the twisted starter. [20:53] nessita, but anyway, I'm getting ahead of myself, because the SD proxy will run in a different process. [20:53] alecu: which, if I recall correctly, will use the plain qt mainloop, right? [20:53] nessita, right [20:54] nessita, so we won't use the twisted spawner. [20:55] nessita, btw: I'm taking a look at your libsoup sample, and I think it's fine, but it may explode [20:55] alecu: in which case? [20:55] nessita, since get_chunk may return None when there's more bytes coming, but they still have not arrived. [20:55] nessita, slow network for instance [20:56] ah [20:56] did not read that [20:56] nessita, it looks like we should be listening for a signal named "complete" to know when to fire the deferred. [20:56] hum, instead of reading from chunks? [20:57] nessita, I think we should be reading the chunks into a StringIO or something like that. [20:57] nessita, anyway, this is very useful stuff, and we will need to fix this before we re-enable the libsoup backend. [20:57] nessita, thanks for finding it! [20:58] alecu: anytime. Will open a bug for you, so you can tackle that after the current branch? [20:58] briancurtin, ping [20:58] nessita, great, thanks. [20:58] gatox: pong [20:58] briancurtin, hi.... do you have time for a small review? [20:58] gatox: sure [20:58] briancurtin, thanks: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/udf-issue/+merge/90208 [20:59] gatox, didn't you EOD an hour ago? :-) [20:59] alecu, jejeje yes.... but i wanted to end this :P.... now eod for real :P [20:59] alecu, i went to pay some things and now i came back [21:00] :-) [21:01] alecu: https://bugs.launchpad.net/ubuntu-sso-client/+bug/921822 [21:01] Launchpad bug 921822 in ubuntu-sso-client "webclient with libsoup backend is not reading the whole body response (affects: 1) (heat: 6)" [High,Triaged] [21:02] gatox: a tiny note on that branch: you're doing automatic unicode promotion here: home = os.path.join(self.home_dir, u'雄鳥お人好し ñandú') [21:02] gatox: since self.home_dir is bytes (and has to be bytes) [21:03] nessita, ah.. ok.... i'll fix that [21:03] I don't like automatic unicode promotion in Python, it makes the code works when it shouldn't :-) [21:04] nessita, i understand [21:04] I think Python 3 fixes that... [21:04] not sure though [21:06] nessita, done [21:12] briancurtin: so, if I understand correctly, you mentioned that d = utils.getProcessOutputAndValue('', 'notepad.exe', env=environ) should work, no? [21:12] briancurtin: is not working for me, but perhaps I missed something? [21:12] nessita: let me try again, i might have had some other debugging code in there [21:12] briancurtin: thanks [21:13] briancurtin: I think it should be ('notepad.exe',) as second param, but again that does not work for me [21:18] win32process.CreateProcess('', 'notepad.exe', None, None, 1, 0, os.environ, '.', win32process.STARTUPINFO()) does not work either [21:19] ugh [21:19] either this zg test is just really slow, or it's hanging :( [21:21] dobey: may be patching something nastly, so likely to be hanging [21:23] nessita: argh, sorry, i had something leftover in the twisted code to make it work. with None as the first arg, not "", it will work...but twisted won't let you pass None through [21:23] nessita: the odd thing is that it only started doing it just now [21:23] it was fine earlier [21:24] briancurtin: patching twisted code and testing [21:24] it's weird [21:24] also, i have no idea how this test actually works [21:24] it is doing some insane stuff [21:25] wtf now it's saying access denied [21:26] briancurtin: ok, is time for dropping this, I will re think the test and drop the twisted spawnner, since we won't be using it IRL (it was coded to run the suite) [21:26] briancurtin: thanks a lot for the help [21:26] and now it works [21:26] nessita: np === gatox is now known as gatox_away [21:29] hrmm, and this one test fails with unicode under gi, but is ok without gi [21:29] weird [21:31] ok, I'm eoding now [21:31] need some fresh air [21:31] enjoy [21:31] .decode('utf-8') was at least a simple fix [21:32] alecu: I'm changing this branch https://code.launchpad.net/~nataliabidart/ubuntu-sso-client/run-stuff-from-mainloop/+merge/89956 to WIP [21:32] nessita, ack [21:32] alecu: since I need to improve the tests so they pass on windows [21:35] ok, bye all! [21:37] yay, i think i got the tests all fixed now === m_conley_away is now known as m_conley [22:43] yay. a few lint errors away [22:45] will fix them a bit later