[08:08] <mandel> morning all!
[08:33] <JamesTait> Good morning all! :-D
[11:27] <gatox> good morning
[11:40] <ralsina> good morning!
[11:42] <mandel> gatox, ralsina morning!
[11:42] <gatox> mandel, ralsina hi
[12:03] <ralsina> gatox: check the last comment in bug #1062151
[12:03] <gatox> ralsina, ack
[12:03] <gatox> linking....
[13:07] <ralsina> Have to run an errand, wll be back in < 60'
[13:09] <gatox> brb....... reboot
[14:10] <mandel> ralsina, 1-1 whenever you want
[14:10] <ralsina> mandel: to the bat-mumble!
[14:10] <mandel> ralsina, ok, let me reboot into os x
[14:57] <chaselivingston> ralsina: is mmcc out today?
[14:59] <thisfred> chaselivingston, quite possibly, it's a US holiday
[14:59] <chaselivingston> thisfred: right, wasn't sure if he swapped it like many of us did
[15:00] <thisfred> not sure either
[15:00] <briancurtin> me?
[15:01] <gatox> me
[15:01] <ralsina> chaselivingston: he's out, yes
[15:01] <ralsina> me
[15:01] <thisfred> me
[15:01] <ralsina> Also, welcome back thisfred!
[15:02] <thisfred> ralsina, thx!
[15:02] <gatox> mandel, ^^
[15:02] <mandel> me
[15:03] <ralsina> briancurtin: go
[15:03] <briancurtin> DONE: debugging SD tests, trying to figure out why it can't find comtypes
[15:03] <briancurtin> TODO: wade through the rest of the allegedly missing things (that arent missing) and run everything
[15:03] <briancurtin> NOTE: swapped today's US holiday for the friday after thanksgiving
[15:03] <briancurtin> NEXT: gatox
[15:03] <gatox> DONE:
[15:03] <gatox> Write a little guide about how to install and get the SyncMenu indicator working. Filed a couple of bugs about the SyncMenu and Systray Icon for u1-client and u1-cp. Working on the weird tests for the api fix branch.
[15:03] <gatox> TODO:
[15:03] <gatox> Submit the tests and push people to review those branches again.
[15:03] <gatox> BLOCKED:
[15:03] <gatox> Trying to figure it out how to implement this tests.
[15:03] <gatox> ralsina, go
[15:03] <thisfred> ralsina, I'm shifting my core hours, so I'll be here from 1.5 hours ago until 7.5 hours from now, with a 1 hr break in the middle
[15:03] <ralsina> DONE: calls, calls, reorg calls, and calls. TODO: calls! BLOCKED: no, NEXT: thisfred
[15:03] <thisfred> DONE: move 3000 miles west TODO: pick up playlists, unless they're done BLOCKED: no NEXT: mandel
[15:03] <ralsina> thisfred: awesome
[15:03] <mandel> DONE: autopilot tests. Merged with lp:unity and found that unity is broken (does not compile) yet make dash works (so no blocker for my work).
[15:03] <mandel> TODO: reviews, go after people to get things landed.
[15:03] <mandel> BLOCKED: no
[15:04] <thisfred> ralsina, that mean 1 hour later than it used to be, and for me starting at 6:30, rather than 5:30 ;)
[15:06] <ralsina> thisfred: lazy! ;-)
[15:07] <thisfred> I know! :)
[15:07] <thisfred> It also means being done in time for happy hour every day! :D
[15:10]  * mandel reboots due to updates
[15:12]  * thisfred too, due to computer being weird
[15:30]  * gatox lunch
[15:35] <thisfred> anything the matter with lp/internal IRC? Both are giving me a hard time
[15:39] <ralsina> thisfred: lp is slowish
[15:39] <ralsina> thisfred: interal IRC seems fine
[15:40] <thisfred> I can't seem to connect at all, getting a lot of 'connection reset's... bloody comcast. And again, the only game in town, it looks like...
[15:41] <thisfred> mail also superslow
[15:42] <mandel> thisfred, try spinning the mouse to the right, if you do it to the left it will go slower ;)
[15:42] <thisfred> heh
[16:20] <mandel> EOD in spain, catc you all tom!
[16:21] <thisfred> later mandel
[16:21] <thisfred> definitely in dns hell
[16:21] <thisfred> bah
[16:23] <ralsina> thisfred: it's just you, I rebooted my server and everything normalized :-)
[16:23] <mandel> hehe moving always brings problems to the internet connection
[16:23] <thisfred> yeah, especially in combination with comcast
[16:24] <thisfred> I think dnsmasq and the xfinity router hate eachother
[16:26] <thisfred> maybe not. disabling dnsmasq doesn't solve all the problems, at least
[16:26] <thisfred> sigh
[16:27] <thisfred> weird that almost everything seems to work, though, except for launchpad, canonical mail, and canonical irc
[16:28] <mandel> on purpose so that you don't work :)
[16:28] <ralsina> thisfred: switch to google dns?
[16:29] <thisfred> ralsina, yeah maybe
[16:31] <thisfred> hmm, no change either, so maybe it's not dns
[16:32] <thisfred> maybe ssl cert lookup or something
[16:32] <thisfred> i hate computers
[16:35] <ralsina> gatox_lunch: what was the command you used to upgrade to Q? I feel lucky!
[16:36] <mandel> ralsina, can't you do sudo update-manager -d when you have setup the sources correctly?
[16:36] <beuno> ralsina, you'll need to tell 12.04 to upgrade you to newer versions, not just LTSs
[16:36] <ralsina> beuno: right
[16:36] <beuno> you can set that from update-manager itself
[16:37] <mandel> in sources
[16:37] <beuno> no, don't touch your sources
[16:37] <beuno> ignore mandel, as usual! :p
[16:37]  * beuno has all his computers on 12.10
[16:37] <gatox> ralsina, what mandel says...... but you need to allow updates from betas from the settings dialog that you have in that window
[16:37] <ralsina> gatox, beuno, mandel: thanks I think I got it
[16:38] <ralsina> I never actually live-updated before, I always started from scratch
[16:38] <mandel> beuno, as  I have, software sources => updates => Notify me of a new Ubuntu version => for any new version
[16:38] <mandel> unless that has changed..
[16:43] <ralsina> oh, crap, another bug in our startup stuff, we ignore --switch-to now :-/
[16:43] <gatox> ralsina, what?
[16:44] <ralsina> gatox: --switch-to=account (or any other) does nothing
[16:44] <ralsina> in u1cp
[16:44] <gatox> ralsina, do you want to assign that to me? it seems that i have a couple of bugs u1cp related
[16:44] <ralsina> gatox: I was about to look at it myself
[16:45] <gatox> ralsina, ah ok
[16:45] <ralsina> gatox: if I get distracted I'll send it to you. But I wrote that part so...
[16:45] <gatox> ralsina, roger that
[16:51] <ralsina> oh, it's switching but later it switches back
[17:29] <ralsina> So, --switch-to has been broken since *march* and revno 290 :-(
[17:29] <ralsina> which just happens to be a huge diff, just to make it more fun
[17:31] <ralsina> elopio: are you around today?
[17:36] <ralsina> nessita: you around? I have a question about a branch of yours from march :-)
[17:36] <nessita> ralsina: shoot
[17:36] <ralsina> http://bazaar.launchpad.net/~ubuntuone-control-tower/ubuntuone-control-panel/trunk/revision/290
[17:36] <ralsina> look for folders_tab_idx
[17:36] <ralsina> basically that negates the --switch-to option
[17:37] <ralsina> do you know why you added that?
[17:38] <nessita> ralsina: yes, can this be the callback that only gets called from when the user finishes the wizard?
[17:38] <nessita> ralsina: or have you confirmed that the same callbacks is called no matter where the user is coming from?
[17:39] <ralsina> nessita: confirmed, if I comment those two lines, switch-to works again
[17:39] <ralsina> nessita: seems to be connected to credentials_found in general
[17:40] <nessita> ralsina: as the commit message reads, this branch added a page to the wizard... so I would guess the changes are for that workflow to work...
[17:41] <ralsina> nessita: ok, I'll try the wizard with that commented
[17:41] <nessita> ralsina: I guess a solution that works in both scenarios is needed (plus tests so none breaks that again...)
[17:42] <ralsina> nessita: it works just fine in both cases
[17:42] <nessita> ralsina: I don't think I added that for no reason
[17:42]  * nessita thinks
[17:42] <nessita> ralsina: would you please confirm what you tried out?
[17:42] <elopio> ralsina: I'm here.
[17:42] <nessita> to see if I can think of another scenario where this switch is needed
[17:43] <ralsina> nessita: removed the device, logged in with existing account, went through the wizard
[17:43] <ralsina> nessita: ended in the "managing" widget, just fine
[17:43] <nessita> what page in the management widget did you end up in?
[17:43] <ralsina> elopio: we need to add another smoke test
[17:43] <nessita> (you need to end up in the folders tab)
[17:43] <ralsina> nessita: with the --switch-to option, in the right now
[17:43] <ralsina> sorry,  right onw
[17:43] <gatox> mandel, are you still around?
[17:43] <nessita> ralsina: and without it?
[17:44] <ralsina> I'll try without it now
[17:44] <elopio> ralsina: for macosx? and when?
[17:44] <ralsina> elopio: we need to test that the --switch-to option on u1cp works. It's mostly for ubuntu
[17:44] <ralsina> elopio: although it should work on all platforms.
[17:44] <ralsina> elopio: and for the next run if it's not much trouble. It has been broken for 7 months ;-)
[17:45] <elopio> ralsina: ok, I can test it right now on ubuntu.
[17:45] <elopio> ralsina: ok, I'll add it to the smoke :)
[17:45] <ralsina> elopio: right now I know it's broken :-)
[17:45] <elopio> what does it do?
[17:45] <ralsina> elopio: lets you choose what tab of the u1cp is open on startup
[17:45] <ralsina> so --switch-to=devices should open the devices tab
[17:45] <elopio> ralsina: got it. Let me know when I can test.
[17:46] <ralsina> elopio: cool, thx!
[17:46] <gatox> nessita,  do you have a minute for a technical question?? because i was ask to do a test.... that i'm not completely sure if it make sense..... and there aren't tests about that, and maybe there is a reason
[17:46] <nessita> gatox: shoot
[17:48] <gatox> nessita, i've changed a little bit the implementation of ubuntuone/platform/tools/perspective_broker.py: connect_signal (https://code.launchpad.net/~diegosarmentero/ubuntuone-client/ubuntuone-client-publishapi/+merge/128312)..... and mmcc ask me to add a test for that..... the tests for that module are in: tests/platform/tools/test_tools.py ........ but i'm having a lot of problem trying to tests THAT..... becouse of the crazy things that th
[17:48] <gatox> e class wrap, etc..... and i notice that there isn't any test that check the behavior of connect a signal, and then execute the function... and i thought that maybe there is a reason....... and i can stop suffer
[17:51] <ralsina> nessita: works perfectly without --switch-to.
[17:52] <nessita> ralsina: what page did you end up in after logging in?
[17:52] <ralsina> nessita: folders
[17:52] <ralsina> nessita: it has happened a few times that the default page got changed in designer
[17:52] <nessita> ralsina: you sure? even after deleting the device? I would think you would end up in the same devices tab
[17:52] <ralsina> nessita: oh, I restarted u1cp
[17:52] <nessita> ralsina: can you try without restarting?
[17:53] <nessita> like deleting, re logging
[17:53] <ralsina> nessita: sure, but I expect that will happen in that case
[17:53] <ralsina> nessita: but this is the wrong solution, we should move to folders tab when deleting the device, not when we get the credentials
[17:53] <ralsina> in any case, checking
[17:54] <nessita> it was a design request to end up in the folders tab after logging in. But you are free to change as you consider it proper.
[17:54] <ralsina> nessita: it will end in folders anyway
[17:54] <nessita> ralsina: with my change, yes
[17:54] <nessita> without it, not sure
[17:54] <ralsina> nessita: with mine too :-)
[17:54] <nessita> ralsina: not sure what's your change :-)
[17:54] <ralsina> nessita: "move to folders tab when deleting the device, not when we get the credentials"
[17:55] <nessita> ralsina: I personally find that dirty, since that's a workaround for the requiremente "after login end up in folders"
[17:55] <nessita> but not my call
[17:56] <ralsina> nessita: but your change breaks lots of other things. Thanks for the rationale for your branch, I wouldn't have guessed it!
[17:56] <nessita> agreed that my chance was too violent
[17:56] <nessita> I guess I thought it was correct since no test broke
[17:57] <nessita> sorry for that
[17:57] <ralsina> nessita: al mejor cazador se le escapa alguna liebre :-)
[17:57] <ralsina> nessita: I'll add tests for it for next time!
[17:57] <nessita> gatox: so, going back to your question
[17:57] <gatox> nessita, yap.....
[17:58] <gatox> nessita, did you receive my message?
[17:58] <nessita> gatox: I'm looking at the code and I'm kinda puzzled about the change, I'm not understanding it
[17:58] <nessita> yes
[17:58] <gatox> nessita, the things is:
[17:59] <gatox> nessita, that was doing a lot of bad things, because several stuff was being connected to the same signal, and setattr just override the attr, so the last thing connected was the one being called...... and we need to have something as a list of handlers to be call when the signal is emitted
[17:59] <nessita> gatox: right, the original code will not allow more than one callback. So, I understand your change.
[17:59] <gatox> nessita, aja....
[17:59] <nessita> first of all, this code is <with love>ugly</with love>:
[17:59] <nessita> +        if (signal_name in self.connected_signals and59+           handler not in self.connected_signals[signal_name]):60+            self.connected_signals[signal_name].append(handler)
[18:00] <nessita> gatox: do you know what a default dict is?
[18:00] <gatox> ahhh yes....
[18:01] <gatox> nessita, yes..... that can be improved with that
[18:01] <nessita> gatox: https://pastebin.canonical.com/76064/
[18:01] <nessita> so, first of all, improve the code using a defacultdict(set)
[18:01] <nessita> second, you need to add the following test:
[18:01] <gatox> nessita, yap....
[18:02] <nessita> gatox: having an instance of this class (or a heir, whatever you're testing), do:
[18:04] <nessita> called1 = []
[18:04] <nessita> called2 = []
[18:04] <nessita> self.the_instance.connect('the-signal', lamba *a: called1.append(a))
[18:04] <nessita> self.the_instance.connect('the-signal', lamba *a: called2.append(a))
[18:04] <nessita> then triger the signal "the-signal" in your instance with:
[18:04] <nessita> self.the_instance.emit('the-signal', 'foo', 'bar', object())
[18:04] <gatox> nessita, yes..... my problem was that the existing tests are patching connect_signal, and stuff, because this is being wrap with call_after_connection_inner...... and trying to create the instance to actually use it.... was generating a lot of reactor was unclean....
[18:05] <nessita> and then assert that both called1 and called2 have the value ('foo', 'bar', object()) in it (where object() should be a variable so is the same one)
[18:05] <nessita> gatox: did you try the test I'm describing?
[18:06] <nessita> gatox: if you have a test case that patchs everything out, create a new testcase that does not patch everything out
[18:06] <gatox> nessita, yes..... i was doing that...... and there i was having the reactor was unclean problem
[18:07] <nessita> gatox: so, that's  "separated" from how to test the change. I think the change needs to be backed up with one or more tests
[18:07] <gatox> but.... i'll keep trying to get a functional instance of that
[18:07] <nessita> about the reactor unclean... it can get messy... but it usually means that you still have stuff in the reactor when the tests finished
[18:08] <nessita> gatox: so I guess you're not disconnecting your "instance" properly? are you calling shutdown as a cleanup function/>
[18:08] <nessita> ?
[18:08] <nessita> gatox: you can push the branch to LP and make a proposal in WIP state
[18:08] <nessita> I may take a look at that diff and try to help
[18:09] <gatox> nessita, ok..... let me try some stuff and will ping you later with the MP if i can't figure it out
[18:09] <gatox> nessita, thx
[18:09] <nessita> ack
[18:09] <nessita> prego
[18:16] <ralsina> gatox, maybe nessita: https://code.launchpad.net/~ralsina/ubuntuone-control-panel/switch-baby-switch/+merge/128559
[18:17] <ralsina> if not nessita, briancurtin
[18:17] <briancurtin> ralsina: i'll take a look
[18:17] <ralsina> briancurtin: thanks!
[18:17] <briancurtin> ralsina: typo in commit message, s/hen/then
[18:19] <briancurtin> ralsina: i don't think i can test this IRL since i'd have to remove the device and login again - still need existing creds on windows. i'll try it though and see if this env fixed that
[18:19] <gatox> ralsina, on it
[18:19] <ralsina> briancurtin: ack
[18:19] <ralsina> briancurtin: you can try half of it though
[18:19] <briancurtin> ralsina: yep, i'll give ya what i have
[18:19] <ralsina> briancurtin: awesome!
[18:20] <ralsina> gatox: this fixes one of the broken bits in the sync-indicator test BTW
[18:28] <gatox> ralsina, +1
[18:29] <ralsina> gatox: thanks!
[18:33] <chaselivingston> ralsina: is there a list of known issues for mac anywhere?
[18:36] <briancurtin> ralsina: approved
[18:43] <ralsina> chaselivingston: filter by u1-darwin tag
[18:43] <chaselivingston> ralsina: ok, i'll give that a shot, thanks
[18:43] <ralsina> chaselivingston: that should get you the known mac bugs although lots of others are cross-platform bugs
[18:44] <chaselivingston> ralsina: sure, i'll see if that's enough to get us started
[18:50] <gatox> nessita, this is the branch where i'm trying to add the test: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/ubuntuone-client-publishapi/+merge/128312
[18:51] <gatox> nessita, i'm running the test with:  u1trial -t test_connect_several_handlers_to_same_signal tests/platform/tools/test_tools.py
[18:51] <gatox> nessita, there's not assert there or anything.... just trying to execute connect_signal and avoid dirty reactor
[18:52] <nessita> gatox: will look in 15 min approx
[18:52] <gatox> nessita, ack...... i'll keep looking here
[18:55] <nessita> gatox: are you calling shutdown somewhere as a cleanup call?
[18:56] <gatox> nessita, nop..... i'll add that in the tearDown.... but i think the problem is somewhere else
[18:56] <nessita> gatox: do you know what ditry reactor means?
[18:56] <nessita> dirty*
[18:56] <nessita> (let's start with the basics)
[18:57] <gatox> nessita, yes
[18:57] <nessita> gatox: how would you describe it?
[18:57] <nessita> (I'm curious cuz if you think that shutdown can be added later, then we have different understanding of what a dirty reactor is)
[18:58] <gatox> nessita, i've added the call to shutdown in the tearDown method of the test case and i'm getting the same error...... that's what i was trying to explain
[18:59] <nessita> gatox: note 1: always use addCleanup, instead of tearDown
[19:00] <nessita> note 2: how would you describe what the dirty reactor is?
[19:01] <nessita> gatox: ^
[19:01] <gatox> nessita, 1) i get a similar problem with addCleanup... but it fails in some other way.... maybe i can debug further from there
[19:02] <gatox> 2) when some of the stuff running on deferred, are not closed properly and we still got live objects
[19:02] <nessita> gatox: not only deferred. When you have a service listening in a port and a client connects to it, and never disconnect, that will also give you a dirty reactor
[19:03] <nessita> gatox: so, that's useful to know when dealing with these tests: both the "server" and the client has to be properly disconnected
[19:03] <nessita> in my case, if I add:L
[19:03] <nessita>         self.addCleanup(self.sdtool.shutdown)
[19:03] <nessita> to the setUp, the cleanup never finishes
[19:03] <nessita> because the server can not shutdown
[19:03] <nessita> because there may be a connection to the server that is not being closed
[19:04] <nessita> gatox: does that ring any bell?
[19:05] <nessita> gatox: I'm also getting a lot of
[19:05] <nessita> ERROR:root:Could not find any typelib for SyncMenu
[19:05] <nessita> Another instance is running
[19:05] <nessita> gatox: you should note that this test you're creating is trying to connect to a syncdaemon service, which is not available...
[19:05] <nessita> I'm getting:
[19:05] <nessita> ubuntuone.platform.ipc.ipc_client.SyncDaemonClientConnectionError: ('Could not connect to the syncdaemon ipc.', ActivationTimeoutError())
[19:06] <gatox> nessita, yes..... i'm getting something like that here too.......
[19:06] <nessita> gatox: that means the sdtool is trying to connect to a service that is not avaliable
[19:06] <nessita> so you need to fix that part first
[19:07] <gatox> nessita, i should patch UbuntuOneClient
[19:07] <nessita> I've been lucky enough to forget a lot about this, so I'm honestly not sure
[19:08] <nessita> but definitely you need to solve the connection issue first
[19:09] <nessita> gatox: have you considered what the other test case do?         self.sdtool.client.fake_remote = FakeRemoteObject()
[19:09] <nessita> hum, no
[19:09] <gatox> nessita, ok..... thx, i think i have an idea of what i can do
[19:09] <nessita> maybe unrelated
[19:09] <gatox> nessita, nop.... that's not it
[19:09] <nessita> gatox: hoped it helps
[19:09] <gatox> nessita, already try that
[19:09] <nessita> right, is unrelated
[19:09] <gatox> nessita, yes, thx.... i was at the point of not understanding anything
[19:09] <nessita> anytime
[19:43] <gatox> nessita, it's almost working...... thanks for the tips! :'D..... i understand now.....
[19:43]  * gatox was mentally blocked
[19:44] <nessita> gatox: that's great :-)
[20:09] <gatox> ok...... eod here...... i submit the tests for the u1-client branch..... FINALLY........ i hope it land tomorrow after the reviews, that will fix a couple of problems in windows/darwin
[20:09] <gatox> bye people!
[20:09]  * gatox needs to rest and relax...... 
[20:43] <ralsina> EOD for me
[20:43] <ralsina> I will be back later, so post review requests, etc.
[22:37] <briancurtin> ralsina: two easy branches to review if you're up for it: https://code.launchpad.net/~brian.curtin/ubuntuone-control-panel/run-tests-update/+merge/128583 and https://code.launchpad.net/~brian.curtin/ubuntuone-client/run-tests-update/+merge/128582
[22:38] <briancurtin> and i'm out