[04:23] <jo-erlend> how does U1DB do live replication?
[09:38] <mandel> morning all!
[10:01] <JamesTait> Morning all.
[10:40] <mandel> JamesTait, hell o:)
[10:41] <JamesTait> Greetings, mandel. :)
[10:41] <mandel> JamesTait, how is everything going in the server world?
[10:41] <JamesTait> Busy, as always! :D
[10:42] <mandel> JamesTait, haha I think the entire team is like that :)
[10:43] <JamesTait> Yeah, there's so much going on at the moment.  It's a good place to be in the current economic climate, I suppose.
[10:43] <mandel> JamesTait, is a way to luck at it :P
[10:44] <JamesTait> Are you still working on Windows?
[10:49]  * JamesTait -> Post-update reboot.
[10:55] <mandel> JamesTait, atm I'm working on proxy support and fixing bugs on windows/linux
[11:06] <Nafallo> hi :-)
[11:06] <Nafallo> I just bought an album, and it doesn't seem to sync.
[11:07] <Nafallo> banshee just say "Queued..." for all the tracks.
[11:07] <Nafallo> it doesn't even show up in the webif.
[11:07] <Nafallo> aware of any current issues?
[11:12] <Nafallo> beuno? rye?
[11:14] <mandel> Nafallo, I have not been told there are any issues
[11:14] <mandel> Nafallo, usually beuno arrives a little later since he is based in argentina
[11:14] <mandel> let me ask around to see if there are any know issues
[11:15] <Nafallo> mandel: okay. thanks.
[11:15] <mandel> np
[11:32] <rye> Nafallo, let me check this
[11:33] <Nafallo> rye: thanks
[11:33] <Nafallo> rye: I got the confirmation e-mail at 10:29 fwiw.
[11:47]  * mandel -> quick errand
[11:54] <gatox> good morning
[12:02] <duanedesign> 'lo all
[12:04] <czajkowski> aloha
[12:05] <gatox> restart.....brb
[12:08] <ralsina> good morning!
[12:09]  * mandel back
[12:09] <mandel> ralsina, buenas :)
[12:09] <mandel> ralsina, I found how to get rid of the warnings from squid.. the conf that comes from default is wrong in squid3, lame
[12:10] <ralsina> the all acl?
[12:11] <mandel> ralsina, yes, it is a defal acl now, so you should not define it anymore
[12:12] <ralsina> mandel: yep, mentioned it on IRC last night :-)
[12:12] <mandel> ralsina, oh, I did not read that part
[12:16] <ralsina> mandel, if you can take another look at the widows packaging branch I would be grateful
[12:17] <nessita> hello everyone!
[12:18] <mandel> ralsina, sure, sorry if I left it behind,  do you have the link there? I can search for it if needed :)
[12:18] <mandel> nessita, buenos dias
[12:18] <ralsina> mandel: sure, just a sec
[12:18] <ralsina> mandel: https://code.launchpad.net/~ralsina/ubuntuone-windows-installer/fix_809873/+merge/67911
[12:19]  * mandel re-reviews
[12:20] <mandel> ralsina, in the code, you seem to use Popen and os.system can we just one of them
[12:20] <mandel> ralsina, they are both used to call bzr
[12:20] <gatox> nessita, hi
[12:21] <ralsina> mandel: I can switch to Popen
[12:21] <mandel> ralsina, that would be nice, it will make the code more consistent, right?
[12:21] <ralsina> mandel: well, with Popen it's easier to get the output, with system it's easier to get the exit code
[12:22] <mandel> ralsina, maybe with this: http://docs.python.org/library/subprocess.html#subprocess.check_call
[12:23] <mandel> ralsina, will make it easy to get both, error code and stdout etc..
[12:23] <ralsina> mandel: yes that would work. And subprocess sucks. ;-)
[12:23] <mandel> ralsina, why?
[12:24] <ralsina> mandel: because the API is needlessly complex
[12:24] <mandel> haha I though you meant their code :P
[12:24] <ralsina> mandel: look at this https://github.com/kennethreitz/envoy
[12:25] <mandel> ralsina, hm... I don't know: https://github.com/kennethreitz/envoy/blob/master/envoy/core.py#L46
[12:26] <ralsina> mandel: sure, you have to use threads to make it work like that. But it's cute :-)
[12:27] <mandel> true
[12:32] <gatox> nessita, ralsina when you have a moment please: https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/remove-button/+merge/87521
[12:32] <ralsina> gatox: on it
[12:32] <gatox> ralsina, thanks
[12:33] <ralsina> gatox: one note: if you don't show() the panel first, the widgets will always have isVisible() == False
[12:34] <gatox> ralsina, ahh true
[12:34] <gatox> ralsina, i'll change that now
[12:34] <ralsina> gatox: so if you remove the deleteLater() it will still pass (I think :-)
[12:36] <nessita> gatox: sure, I'm with the fix-links now
[12:37] <gatox> nessita, i'm adding the show that ralsina told me..... uploading the code right now
[12:37] <mandel> nessita, in sd, adding a watch is always done in the main reactor thread, right?
[12:38] <nessita> mandel: hum, I would confirm with facundobatista
[12:38] <mandel> nessita, ok
[12:41] <mandel> nessita, FYI yes it is
[12:43] <gatox> ralsina, ping
[12:44] <ralsina> gatox: pong
[12:44] <gatox> ralsina, your script is working.... the only problem is: u1cp needs oauth, and storage protocol needs profobuf-compiler
[12:45] <ralsina> gatox: yay
[12:45] <ralsina> gatox: ok, protoc.exe just needs to be downloaded, and I will add oauth
[12:45] <gatox> almost there
[12:46] <gatox> ralsina, is it possible to add the registry file in the package and being executed along with the other process? so you can avoid to install the registry key manually too
[12:47] <gatox> mandel, nessita review :P https://code.launchpad.net/~diegosarmentero/ubuntuone-client/fix-links/+merge/86605
[12:47] <ralsina> gatox: I need to do a script that does that, isntalls protoc, and sets envvars
[12:47] <nessita> gatox: I'm on that
[12:48] <mandel> gatox, ok
[12:48] <mandel> ralsina, please let me know when you have move to POpen for the bzr execution
[12:48] <ralsina> nessita: about https://bugs.launchpad.net/bugs/908888 we have not actually done a release for that, since it's a windows-only bug
[12:48] <ubot4> Launchpad bug 908888 in ubuntuone-control-panel/trunk (and 2 other projects) "Windows: "Quit Ubuntu One" on the tray icon doesn't close syncdaemon (affects: 1) (heat: 49)" [Medium,Fix released]
[12:49] <nessita> ralsina: is released in the project, as in we already have the tarball out there
[12:49] <ralsina> nessita: starting in 2 weeks, I will try to make the windows releases in sync with the linux ones
[12:49] <ralsina> nessita: ok, strange definition of release
[12:49] <nessita> ralsina: I "released" it in the project
[12:49] <ralsina> nessita: ok
[12:50] <mandel> gatox, in test_links_target_without_lnk_extension and test_links_target_with_lnk_extension, should we assert that the file was created?
[12:50] <nessita> ralsina: I'm upstream, let's say, and the Fix Released on a project means the upstream released it. Then, each packager can do a release to each target platform
[12:51] <gatox> mandel, that is being done in another test
[12:51] <gatox> that checks that
[12:51] <mandel> gatox, ah, ok
[12:52] <ralsina> today is going to be a difficult day for me. My wife is kinda ill, so I have to take care of the kid intermittently. Sorry for any slow pings you may experience
[12:53] <mandel> nessita, gatox I really do not like the new implementation of path_exists
[12:53] <nessita> mandel: why not? it has the same semantics as the linux one
[12:55] <nessita> mandel: perhaps we could improve that instead of adding the suffix .lnk we do a more fancy check to see if a path is there and is a link...
[12:55] <mandel> nessita, gatox now, on linux, if you say os.path.exists(blah) it does not tell you that blah.lnk exists, what I mean is, wha happens we are indeed looking for blah and not blah.lnk
[12:55] <nessita> mandel: but in that case we should change all the places that .lnk is added to do "something"
[12:56] <nessita> mandel: in linux, bla.lnk is different from bla. The thing is that in linux, if either bla is a file, or a dir, or a link, path_exists will return true
[12:57] <nessita> mandel: but the current path_exists function, will return False, in windows, for a path that perhaps exists and is a link
[12:57] <mandel> nessita, unfortunatly, it is something that has to be more carefully though of
[12:57] <nessita> mandel: perhaps we can change the code to be "os.path.exists(path) or is_link(path)
[12:58] <mandel> nessita, that would be nicer, otherwise we are returning a bad information, I hope I make sense :)
[12:58] <mandel> nessita, gatox FYI I just tested that indeed blah and blah.lnk can be in the same dir
[12:59] <nessita> mandel: but... is_link just appends .lnk to the path and check that it exists. And if I recall correctly, you implemented is_link as just appending .lnk to the name? :-)
[12:59] <mandel> ok, I'm off to lunch (early today) nessita can we continued the conversation after?
[12:59] <nessita> mandel: can we wrap up really quick?
[12:59] <nessita> mandel: what I would like to know is the rationale behind the current is_link method, in windows
[12:59] <mandel> nessita, yes, I indeed appended the .lnk to the path, to ensure that the path existed, but by looking at the code, reading the target would be more correct,.right?
[13:00] <gatox> nessita, mandel i think that checking os.path.exist or is_link is the same.... with different semantics
[13:00] <gatox> valid too.... but the same....
[13:00] <nessita> mandel: well, ATM checking the target path does not work well for unicode paths
[13:00] <mandel> :(
[13:00] <mandel> puto windows
[13:00] <gatox> mandel, to read the target we needed to implement a workaround at this moment
[13:01] <nessita> mandel: do you recall why you implemented .is_link just appending .lnk? perhaps you read something about that?
[13:01] <nessita> perhaps we can trust that windows will not let you create a custom .lnk path?
[13:01] <mandel> nessita, gatox to be honest, my fear is based on the fact that we use os.path.exists for blah and we get true because blah.lnk exists
[13:01]  * nessita wishes
[13:02] <mandel> nessita, nah, I simply appended the lnk because is_link is already stating that we are looking for a link and ergo we need to look for lnk at the end of the path
[13:02] <gatox> nessita, what do you mean with a custom .lnk?
[13:02] <gatox> mandel, i understand
[13:02] <mandel> nessita, on windows we must always have a lnk for a link, and the is_link function is exactly asking that
[13:02] <nessita> mandel: I see your point, and it makes sense. But we also need to have path_exists returning True for C:\blah when only C:\blah.lnk exists
[13:03] <gatox> mandel, you can say it.... puto windows :P
[13:03] <mandel> nessita, exactly, so we have to carefully think of that.. I cannot think of a decent way now
[13:03] <mandel> maybe change the API in our code when doing a path_exists, I dont know, I just can see the future problem :P
[13:04] <nessita> gatox: can you please change path_exists to use is_link instead, and file a bug that is_link has to be cleverer?
[13:05] <gatox> nessita, ok
[13:05] <nessita> mandel: would that be ok with you? ^
[13:05] <mandel> nessita, sure, as long as we do know we have bad code (mine in this case) we are happy :)
[13:05] <mandel> ok, off to lunch
[13:05] <nessita> mandel: ack
[13:06]  * mandel lunch
[13:15] <alecu> hello #ubuntuone!
[13:16] <alecu> mandel, ping
[13:17] <gatox> alecu, hi!
[13:17] <gatox> alecu, mandel is having lunch
[13:17] <gatox> nessita, i've updated the path_exists implementation: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/fix-links/+merge/86605
[13:19] <nessita> hola alecu!
[13:19] <nessita> gatox: ack, thanks
[13:20] <nessita> alecu: I need another wise hand of your, when you have some time
[13:20] <alecu> nessita, let's dance
[13:22] <nessita> alecu: this is a single test that has those 2 errors http://pastebin.ubuntu.com/793732/
[13:23] <nessita> alecu: besides the obvious, that I already checked (the clear_credentials method is there and the class inherits from RemoteMeta)
[13:23] <nessita> alecu: any idea why PB is not "seeing" the clear_credentials method?
[13:25] <alecu> nessita, no idea, checking.
[13:27] <alecu> nessita, did you pasted anything above "this is a single test that has..." ???
[13:28] <nessita> alecu: nopes, before that I have your "let's dance"
[13:28] <alecu> nessita, ah, ok. Then, do you want to point me at some branch to look?
[13:30] <ralsina> gatox: +1
[13:30] <gatox> ralsina, thanks
[13:30] <nessita> alecu: yes! https://code.launchpad.net/~nataliabidart/ubuntu-sso-client/unify-signal-broadcaster
[13:34] <gatox> alecu, nessita please when you have a moment review this branch so the functionality is complete.... the one from sso has been merged: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/network-detect
[13:35] <alecu> nessita, I've ran the tests on that branch, on Oneiric, and they *all* pass.
[13:36] <nessita> alecu: yes, this is windows (sorry I did not mention this explicitly, I implied it from the stack trace that has windows path)
[13:36] <alecu> doh
[13:36] <nessita> alecu: let me give you the cmd line to run that
[13:36] <nessita> python C:\Python27\Scripts\u1trial --reactor=twisted -t ClearCredentialsTestCase.test_success ubuntu_sso\main\tests\test_clients.py
[13:39] <ralsina> mandel, nessita: reading backlog. The main problem here is semantics. On windows you can have a file called foo and a link called foo (really, foo.lnk) and on linux you can't
[13:39] <nessita> ralsina: right, the thing is that we need the same semantics in both
[13:39] <nessita> ralsina: and, since we're going linux -> windows, syncdaemon uses the linux semantics
[13:40] <ralsina> mandel, nessita: which is why this is a problem. We can just say "the link is called foo.lnk"
[13:40] <nessita> ralsina: not sure what that last thing means
[13:40] <nessita> (in terms of code)
[13:40] <ralsina> nessita: if the filename doesn't end with .lnk it's not a link. So not add the .lnk when checking.
[13:41] <nessita> ralsina: hum, I though about that, but that does not work in linux at all...
[13:41] <nessita> ralsina: and we isolate all the platform specific things inside os_helper
[13:41] <nessita> ralsina: where paths come without the .lnk, since syncdaemon knows nothing about .lnk
[13:41] <ralsina> nessita: why would that affect linux at all? This will have to to be platform-specific code
[13:42] <nessita> ralsina: indeed, and the platform specific code is in os_helper, where paths are given by params, and no path given will have the .lnk
[13:43] <ralsina> nessita: why not? listdir returns it with .lnk,doesn't it? Oris it just for the shares link?
[13:43] <nessita> ralsina: yeap, is for stuff like the shares link. For example:
[13:44] <nessita> - some module of syncdaemon creates a link doing make_link(C:\foo)
[13:44] <nessita> - later on, some other module of syncdaemon wants to check if c:\foo is there, and just asks for path_exists (because for this module, it does not matter if c:\foo is link or not)
[13:46] <nessita> ralsina: I personally don't see a problem with path_exists returning true for c:\foo even if in the FS we have both, c:\foo and c:\foo.lnk
[13:46] <ralsina> So path_exists, on windows, has to check for foo and foo.lnk and return true if either exists
[13:46] <nessita> since, is "doubly" True :-P
[13:46] <nessita> right
[13:46] <ralsina> nessita: yes, indeed it's very true :-)
[13:47] <nessita> ralsina: that's what gatox added in his fix-links branch, but mandel is not convinced with that solution
[13:47] <ralsina> mandel: get convinced ;-)
[13:47] <ralsina> nessita: it could only be a problem if later we use the "wrong one" between foo and foo.lnk
[13:48] <gatox> ralsina, nessita what mandel says is that you can have in windows a file named "blah"..... and "blah.lnk".... so if you ask for "blah" which is not a link is going to return true.... but.... windows users don't like files without extension :P
[13:49] <nessita> ralsina: yes, though I can not imagine that scenario right now, considering how syncdaemon works. But I may be missing something for sure, I'm very sleepy (very veyr bad night last night)
[13:49] <nessita> gatox: right, but is ok to return True in that case, no?
[13:49] <ralsina> gatox: but that would be like having a file that is not a link with the same name on linux, unless I miss something
[13:50] <ralsina> gatox: so path_exists would return true, but is_link would return false
[13:50] <nessita> ralsina: right
[13:50] <gatox> ralsina, but in linux you can't have "blah" (normal file) and "blah" (link) in the same dir
[13:51] <ralsina> gatox: yes, you can't. But so what? :-)
[13:51] <gatox> what mandel says is right..... but..... i don't see a way to solve that
[13:51] <ralsina> gatox: we just have to decide "if you have a filename that is both a link and a not link on windows, you get the link" (or the other one)
[13:52] <ralsina> gatox: and that's it. We have a corner case, documented, and that's life.
[13:52] <gatox> ralsina, agree
[13:52] <gatox> get over it or stop using windows :P
[13:54] <nessita> gatox: hum I missed something, this will not work:
[13:54] <nessita>     exists = os.path.exists(path) or is_link(path)
[13:54] <nessita>     return exists
[13:54] <gatox> nessita, why? maybe i missed something
[13:55] <nessita> gatox: at that point, path is an unicode with the \\\\?\\ prefix, and is_link expects a"syncdaemon" path (utf8 bytes string, no prefix at atll)
[13:56] <nessita> gatox: see the issue?
[13:58] <gatox> nessita, mmmmmmm nop.....
[13:58] <gatox> nessita, is_link is doing practically the saame as path_exists
[13:59] <gatox> only adding the .lnk......
[13:59] <gatox> maybe i'm not understanding this right....
[13:59] <nessita> gatox: you can't pass a unicode path to is_link, the windowspath decorator will explote
[13:59] <gatox> nessita, but path_exists also has the windowspath decorator
[14:00] <nessita> gatox: right, but windowspath transforms the patch. So, a call to path_exists will be something like this:
[14:01] <nessita> syncdaemon path (utf8 bytes) -> path_exists -> windowspath (checks that receives bytes and transform to unicode) -> call os.path.exists with unicode and is_link with unicode -> is_link -> windowspath (checks that receives path and transform to unicode) -> BOOM
[14:02] <gatox> nessita, i see now...... so...... i need to revert the change and leave path_exists as it was before
[14:02] <nessita> gatox: not really :-/ you should have the contents of is_link in another method without the decorator, and use that from inside is_link and frm inside path_exists. See, for exmaple, rename
[14:03] <gatox> nessita, yep
[14:03] <nessita> gatox: native_rename is called from rename itself and recursive_move
[14:04] <gatox> nessita, ok
[14:09] <topdownjimmy> I'm running Oneiric, but I don't have an "Ubuntu One" address book in Thunderbird, even though I've set up contact syncing in the Ubuntu One control panel. Is there something I might have done wrong?
[14:14] <topdownjimmy> Never mind -- I think it is because I had disabled the Evolution Data Server extension. I'm seeing the address book now.
[14:15] <nessita> topdownjimmy: :-)
[14:15] <nessita> alecu: so, if this is delaying you, just drop it, I will continue debugging
[14:15] <nessita> alecu: I don't want to make you diverge, I was just seeing if you see something obvious that I missed
[14:17] <alecu> nessita, well, my windows VM is not working right, so I'm trying to fix it... I'll need it in a few days anyway.
[14:17] <nessita> alecu: :-) feel fre to fix it, but do not waste too much time on this
[14:18] <nessita> gatox: did you run controlpanel tests in linux?
[14:19] <gatox> nessita, i can't run cp tests on linux
[14:19] <nessita> gatox: why?
[14:19] <nessita> gatox: is just ./run-tests
[14:20] <gatox> unless there is a fix and i didn't knew about it
[14:20] <gatox> nessita, http://paste.ubuntu.com/793781/
[14:20] <nessita> gatox: do you have a natty vm around?
[14:20] <topdownjimmy> Doesn't the necessity of EDS for Thunderbird contact syncing mean that Thunderbird isn't really syncing to Ubuntu One, but is instead just syncing to Evolution?
[14:20] <nessita> gatox: well, anyways, can you run u1lint?
[14:21] <nessita> topdownjimmy: Ubuntu One syncs contacts from evolution-data-server to the cloud, so you can sync your contacts from all your apps that use EDS
[14:22] <gatox> nessita, i neeed to create the vms again..... i lost them.... but yes... i can ru u1lint
[14:22] <gatox> nessita, what do you need?
[14:22] <topdownjimmy> nessita: Do I need to do anything to ensure that evolution-data-server is running? I don't see it in my processes.
[14:22] <gatox> or is for any of my branches?
[14:23] <nessita> gatox: your remove-button branch has lint issue, I pasted them on the MP
[14:23] <gatox> nessita, ahhhhh ok
[14:23] <nessita> topdownjimmy: did you restart your session after enabling it?
[14:24] <dobey> topdownjimmy: it should be running anyway, since the calendar and events stuff in the clock indicator needs it
[14:25] <nessita> dobey: hi there! question, how's the twisted + gi thing going?
[14:26] <dobey> nessita: i need to change some stuff per review, but have been blocked on releases and holiday for the past couple weeks, so i'll probably get to look at it today
[14:27] <nessita> dobey: awesome
[14:28] <nessita> gatox: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/network-detect/+merge/77049 is generating a criss-cross merge with trunk, and has a conflict
[14:28] <gatox> nessita, oops :S
[14:28] <topdownjimmy> Thanks nessita
[14:29] <nessita> topdownjimmy: you're welcome!
[14:33] <nessita> ralsina says that he's having issues with his 3G connectivity
[14:43]  * dobey is having issues with the weather
[14:44] <dobey> nessita: and yeah, i think cellular connectivity could be spotty, as i think solar activity has been up this week
[14:45] <dobey> and since we're closer to it right now, than the rest of the year, and the south end is tilted towards it, well, it adds up :)
[14:47] <mandel> dobey, I did udpdate the branch to remove the garbage in the terminal buffer :)
[14:47] <dobey> yes i know you did
[14:47] <mandel> nessita, gatox I was think, how bad would be to have a method called, path_exists_or_link? does it sound like utter crap :)
[14:48] <nessita> mandel: so, we were talking with ralsina and gatox, and came to the conclusion that is ok that path_exists(c:\foo) returns True either if c:\foo exists or c:\foo.lnk exists
[14:48] <nessita> mandel: since, in both cases, is true
[14:49] <mandel> nessita, hm.. I think that we should be explicti in the fact that it will also check for link, I don't want some one to use the method without knowing that
[14:50] <mandel> nessita, I can just picture the code in a few year, when we might be somewhere else and someone using it wrongly, if not, at least in the docs of the function
[14:50] <nessita> mandel: but... why the need to be explicit?
[14:50] <nessita> is the same semantics than in linux
[14:51] <mandel> nessita, is not the same semantics as in linux, what does linux do?
[14:52] <nessita> mandel: os.path.exists(a_link) -> will give you True if it exists
[14:52] <dobey> mandel: my last comment wasn't that you should clean the terminal buffer; it was "since you did that, can we just keep this config value in, and have one conf file, instead of two" :)
[14:53] <mandel> nessita, while on linux we can have os.path.exists(partial_link_name) -> true if file with such name exists or name.lnk exists
[14:53] <mandel> which is completely different
[14:54] <mandel> dobey, oh, well, the problems are that the two confs are different, jumping from 2 to 3 has some funny tiny annoying diffs :(
[14:54] <nessita> mandel: I don't see the difference, sorry
[14:55] <dobey> mandel: using the squid3.conf on squid 2 works just fine for me
[14:55] <mandel> dobey, ok, let me try that in O, if it works in mine, I'll merge the confs
[14:56] <dobey> mandel: using the same conf (squid3.conf) works for me in O and P
[14:56] <mandel> nessita, ok, lets imaging I have a file called 'blah' in linux, that gets sync to a windows machine that has a 'blah.lnk' created by the user, what happens then?
[14:57] <dobey> mandel: as long as the "acl all src all" is in the conf, that is
[14:57] <nessita> mandel: user will have a blah.u1conflict
[14:57] <nessita> mandel: and is ok, since to syncdaemon eyes, blah.lnk is the same as blah
[14:58] <nessita> mandel: since syncdaemon knows nothing about .lnk
[14:58] <nessita> mandel: the problem may arise if you have a foo.lnk in linux, and want to sync that to windows (but that is not related to this path_exists issue)
[14:58] <mandel> nessita, it is the same because we make it be the same, the point being, we are making sd believe the wrong things
[14:59] <nessita> mandel: I disagree to that, since in linux they are the same thing
[14:59] <mandel> nessita, the only reason why we have path_exists is to use unicode and add \\?\ there are no other reasons
[14:59] <nessita> mandel: I disagree, we need path_exists to have the same semantics in both OS, and dealing with symlinks is one of the thing to make equvalent
[15:00] <nessita> mandel: and right now, path_exists on windows is returning False for c:\foo if c:\foo is a link, and in linux will return True
[15:00] <nessita> we can't have different path_exists results for the same situation in each OS (and since we're going linux->windows, we need to be compliant with the linux semantic)
[15:02] <mandel> nessita, shall we have the mumble metting and chat a bit later after that?
[15:02] <gatox> standup or meeting call?
[15:02] <nessita> mandel, gatox: ralsina said he has 3G issues, I'm texting him to see if he can make it
[15:03] <mandel> nessita, ok :)
[15:04] <nessita> mandel: we can, of course, though I still don't see the problem for syncdaemon use case. Would you please describe a scenario where having path_exists retuning True for links is a problem for file sync?
[15:04] <mandel> nessita, let me find a code example, i might take time though :)
[15:05] <nessita> mandel: why code example? :-)
[15:05] <mandel> nessita, in syncdaemon :)
[15:05] <dobey> hrmm
[15:05] <nessita> ah, ok
[15:06] <dobey> nessita *must* be sleepy ;)
[15:06] <nessita> dobey: what did I do?
[15:06] <dobey> nessita: it's more what you didn't do. look at the time :)
[15:07] <nessita> dobey: but today we have the weekly meeting in mumble
[15:07] <nessita> dobey: and I was pinging ralsina thru sms to see what we'll do :-)
[15:08] <dobey> oh right
[15:16] <mandel> is 2012 where is my flying car and reliable network connection?!
[15:16] <dobey> mandel: China.
[15:18] <alecu> nessita: Precise keeps crashing in my laptop where my working mumble used to be
[15:19] <nessita> alecu: ack. ralsina seems not to be available any time soon, so...
[15:19] <mandel> me
[15:23] <alecu> mandel, any idea about this 503 page? https://bitbucket.org/mandel/pykeyring-delete-password
[15:23] <mandel> alecu, shit! no idea, let me check!
[15:24] <mandel> alecu, I get the 503 for https://bitbucket.org/ :)
[15:24] <alecu> mandel, me too, so I was wondering if it was happening only in south america :-(
[15:25] <mandel> alecu, maybe only in spanish speaking countries ;)
[15:25] <alecu> @bitbucket: "We're still down, but we're zeroing in on the issue. Sorry, everyone"
[15:28] <nessita> alecu: in ussoc/trunk/ubuntu_sso/main/windows.py:877, under start_service
[15:28] <mandel> nessita, so no standup?
[15:28] <nessita> alecu: what's the ActivationInstance used for? (besides getting the port and raising an exception if it's taken)
[15:28] <ralsina> And I am back
[15:29] <nessita> mandel: I guess no.. I guess we'll have the meeting when ralsina comes back
[15:29] <nessita> and there he is!
[15:29] <ralsina> Sorry people, 3g decided I needed to call tech support
[15:31] <dobey> so
[15:31] <ralsina> mumble?
[15:31] <nessita> mumble!
[15:31] <nessita> alecu, mandel, gatox, dobey: mumble?
[15:31] <mandel> nessita, I'm there :)
[15:31] <gatox> nessita, ack
[15:33] <gatox> i'm configuring mumble..... sorry.... new machine.... forgot that
[15:38] <ralsina> oops, sorry I didn't notice you were not there, gatox :-(
[15:38] <gatox> ralsina, no problem.... my bad not to set that
[15:58] <ralsina> gatox: https://code.launchpad.net/~ralsina/ubuntuone-windows-installer/fix_809873/+merge/67911
[15:58] <gatox> ralsina, ack!!
[16:00] <mandel> dobey, landing u1devtools and fix the conf in another branch
[16:01] <mandel> dobey, mainly not to block alecus work
[16:02] <dobey> i think it's faster to just fix it in the current branch
[16:12] <mandel> dobey, I'll do that as soon as we finish with the mumble talk
[16:12] <dobey> thanks
[16:12] <mandel> np
[16:14] <gatox> ralsina, i'll finish fixing some conflicts in a branch and then chech out another issue from my queue... and after that i'll review your branch.... is that ok?
[16:17] <dobey> ralsina: do we need to do 1:1 chat today?
[16:17] <ralsina> dobey: I think we covered everything on the team call, if that's ok for you
[16:18] <dobey> yep
[16:18] <dobey> ralsina: ah, on the roadmap spreadsheet, it still says "TBD" fo the music store :)
[16:19] <ralsina> dobey: I'll fix it in a bit :-)
[16:27] <dobey> mandel: i'm going to get some lunch, but ping me when it's ready, and i'll review as soon as i get back.
[16:27] <mandel> dobey, ok, I'm nearly done :)
[16:29] <dobey> ok, well i just need to grab food and will probably eat at my desk anyway. :P
[16:29] <dobey> bbiab :)
[16:38] <ralsina> lunch sounds interesting!
[16:43] <mandel> dobey, alecu I updated the proxy-testcase with fixes in the condif and the look up of the binary following dobeys review
[16:49]  * gatox lunch!
[16:53] <mandel> nessita, dobey, ralsina, alecu EOD for me, nervertheless I'll be  back later today
[16:53] <nessita> ack!
[16:54] <mandel> nessita, also, tom is a national holiday in spain, so I'll be in irc very little
[16:54] <nessita> mandel: ack, thanks for letting me know
[16:54] <mandel> oh, y que los reyes os traigan regalos :)
[16:54] <mandel> nessita, alecu, gatox_lunch, dobey , ralsina ^
[16:55] <alecu> mandel, gracias!
[16:55] <mandel> alecu, dobey do ping me to land the testcase branch, ahora si, adios!
[16:57] <gatox_lunch> mandel, gracias! :P
[16:57] <nessita> ok, lunchtime for me!
[16:57] <nessita> brb
[17:22] <dobey> mandel: cool, ok
[17:49] <dobey> mandel: i am landing your branch.
[18:06] <ralsina> bye mandel!
[18:14] <gatox> nessita, conflicts resolved: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/network-detect/+merge/77049
[18:18] <nessita> ack
[18:18] <gatox> nessita, forgot to integrate a line.... uploading now
[18:18] <nessita> ack
[18:23] <alecu> nessita, did you finally find the error with the remote_* stuff?
[18:23] <nessita> alecu: nopes, I'm debuggin from the opposite direction
[18:24] <alecu> nessita, I finally managed to reproduce it, so I'll trying debugging it too.
[18:24] <nessita> alecu: I have to solve a couple of things I found I missed regarding ActivationInstance
[18:24] <nessita> and ActivationClient
[18:24] <nessita> alecu: can you please confirm what's the goal of each one
[18:24] <nessita> ?
[18:30] <alecu> nessita, I think I got it... it's calling remote_clear_credentials on a SSOLoginProxy instance, but it should be using a different class
[18:30] <alecu> nessita, http://pastebin.ubuntu.com/794029/
[18:31] <alecu> nessita, re: ActivationClient and ActivationInstance:
[18:31] <alecu> nessita, ActivationClient is used from a given client process to see if a server process needs to be activated
[18:32] <alecu> nessita, if no server is needed, one is started, and it waits till it's running.
[18:33] <alecu> nessita, on the other hand, ActivationInstance is used on a server process just when it's started. If another instance of that server process already got the port, it means that it is already running, so it aborts.
[18:33] <nessita> ack, perfect
[18:33] <alecu> nessita, does the above pastebin make sense?
[18:34] <nessita> alecu: and thanks for the debugging... yes, it makes sense, and I feel silly for not checking that
[18:34] <alecu> nessita, perhaps we should paste those two paragraphs as comments in the Activation* code
[18:35] <nessita> alecu: and yes, I will add that do to the code :-)
[18:35] <alecu> nessita, what I did was added a print of repr(self) and dir(self) in the twisted code in site-packages.... re-cabeza, no?
[18:35] <nessita> alecu: I never considered that :-/
[18:35] <alecu> :-)
[18:36] <nessita> alecu: but... why are the linux test passing? (rhetoric question)
[18:37] <alecu> nessita, I also tried using pdb there first, but the thread started by either PyQt or the qtreactor break all chances of using pdb.
[18:37] <nessita> the test code is the same in both OS
[18:37] <nessita> yes
[18:37] <nessita> hum... I think I may know where the bug is
[18:38] <dobey> mandel: ping
[18:40] <dobey> i think he tries to find ways to break his bzr whoami setup
[18:48] <ralsina> mandel's whoami? What's wrong with it?
[18:50] <nessita> ralsina: BTW, not sure if dobey mentioned this before, but could you please check that all your computers where you submit code from have as bzr whoami your name? looking at bzr logs, some has ralsina <the email>, and other only the email
[18:50] <ralsina> nessita: I'll check
[18:50] <nessita> ralsina: ideally, it should be: Roberto Alsina <your canonical email>
[18:50] <dobey> name and correct e-mail address
[18:50] <nessita> ralsina: we use that when releasing
[18:51] <dobey> although i presume ralsina's at least has the correct e-mail address, since tarmac isn't bouncing on it
[18:51] <ralsina> dobey: yes, it is a correct email address
[18:56] <dobey> ugh, mandel used the shortened e-mail address for his recent changes
[19:03] <karni> duanedesign: ping
[19:03] <karni> duanedesign: Neale has shared a folder with me. The files are available on the web UI, but they're not downloading to my PC.
[19:04] <karni> duanedesign: U1 said it's downloading 37 files, a minute later I check u1sdtool --status and it's telling me 0 downloads 0 uploads, and the files are not there.
[19:05] <karni> duanedesign: uh, finally files from Neal appeared on the downloads queue after I rebooted..
[19:09] <duanedesign> hello
[19:09] <duanedesign> hmm
[19:10] <duanedesign> karni: you go the email and then...go to the mesaging menu and select the folder. Then it tells you it will sync. Then it did not, until you restarted?
[19:11] <karni> duanedesign: I accepted the share few restarts ago. Perhaps I interrupted the sync. But there's something more interesting, check out u1-internal (last few lines)
[19:11] <karni> duanedesign: and hi :)
[19:11] <duanedesign> aha
[19:11]  * duanedesign looking
[19:15] <nessita> alecu: you know, you're so groso. That was the issue (I was assigning "services" to an instance in a loop, and a variable was attached to the last item in the loop...)
[19:15] <alecu> nessita, "grosa" are you. I can't imagine holding my attention to do a 7k-line branch like the one you just did!
[19:16] <nessita> alecu: anyways, I will cleanup all the latest fixes and let you know so you merge in
[19:16] <alecu> I'm giving it a quick glance, and it looks fantastic.
[19:17] <nessita> alecu: glad you like it, becuase I feel bad since I promised you no more long branches and I lied
[19:17] <alecu> well, I happen to love *this* one.
[19:18] <nessita> alecu: but honestly, I can't find a way to make it shorther or split it in more than one
[19:43] <gatox> nessita, ping
[19:43] <nessita> gatox: pong
[19:44] <gatox> nessita, about this bug: https://bugs.launchpad.net/ubuntuone-client/+bug/885292 (should i remove NetworkManager from u1-client and use just the one in sso?)
[19:44] <ubot4> Launchpad bug 885292 in ubuntuone-client "Windows: the current network manager is not calling network_connected (affects: 1) (heat: 9)" [High,In progress]
[19:44] <gatox> nessita, or you mean something else?
[19:44] <Fakrul> is there any problem with ubuntu one
[19:45] <nessita> gatox: ideally, yes, we should use only one. And we should use the one that works ;-D
[19:45] <gatox> nessita, roger that
[19:45] <nessita> gatox: the bug itself says that the callback network_connected is never called. If we can fix it by using the same module from sso, even better
[19:46] <gatox> nessita, yep
[19:46] <nessita> Fakrul: what symptom do you see?
[19:46] <Fakrul> I am new to ubuntu one..having difficulties to authorize my device
[19:47] <nessita> Fakrul: what kind of difficulties?
[19:47] <nessita> Fakrul: what OS and version are you running?
 it's Ubuntu 10.04.3 LTS
[19:48] <Fakrul> it's showing "Errno 110"
[19:48] <nessita> Fakrul: oh, uh, a very old client... let me grab someone who can help you better than me
[19:48] <nessita> rye or duanedesign: you around to help with a Lucid client?
[19:52] <dobey> Fakrul: are you behind a proxy?
[19:52] <Fakrul> no
[19:54] <dobey> Fakrul: whre is it showing Errno 110 exactly?
[19:54] <Fakrul> Dobey: This is the full message "[Errno Socket Error] [Errono 110] connection timed out"
[19:55] <dobey> oh
[19:55] <duanedesign> hello Fakrul
[19:56] <duanedesign> Fakrul: are you familiar with pastebin?
[19:57] <duanedesign> Fakrul: I was going to see if you could pastebin or email me one of your logs so I can take a look and see if I can help you troubleshoot your issue
[19:57] <duanedesign> Fakrul: the file is ~/.cache/ubuntuone/log/syncdaemon.log
[20:00] <Fakrul> duanedesign:  i am not quite familiar with pastebin...email to which id?
[20:01] <duanedesign> Fakrul: I will PM you my email
[20:04] <dobey> duanedesign: i don't think that's the log file you need
[20:05] <duanedesign> dobey: you are correct :)
[20:06] <duanedesign> dobey: just stuck at READY; Not User With Network
[20:07] <dobey> you need oauth-login.log
[20:55] <rye> Fakrul, hello
[20:55] <rye> duanedesign, continuing here
[20:57] <duanedesign> ok
[20:57] <duanedesign> i just sent the command
[20:57] <rye> Fakrul, could you please run the following in the terminal - python -c 'import httplib2; c = httplib2.Http(); r = c.request("https://one.ubuntu.com/oauth/request/", method="GET"); print r[0]["status"]'
[20:57] <duanedesign> :)
[20:57] <rye> duanedesign, ok, if that comes up with 200 then we'll try the real oauth request
[20:59] <Fakrul> rye: yes output is 200
[20:59] <duanedesign> ok , he saw that
[20:59] <dobey> uhm
[20:59] <dobey> duanedesign, rye: does the log say where exactly it is failing to connect to?
[20:59] <dobey> duanedesign, rye: ie, it is one.ubuntu.com that's failing, and not localhost?
[21:00] <rye> dobey, no, the log says that connection times out, does not say where
[21:01] <nessita1> alecu: ping
[21:02] <dobey> hmm
[21:02] <alecu> hola nessita1!
[21:02] <nessita1> alecu: branch is about to be proposed, but you can now merge in latest (and hopefully last) changes :-D
[21:02] <alecu> cool!
[21:02] <gatox> EOD for me!!
[21:02]  * gatox needs to go and buy an air conditionar to be able to sleep again :P
[21:03] <nessita> alecu: I need to also propose a branch for u1client, it will be a little broken in windows until then (but not in linux)
[21:03] <alecu> gatox, try to get one with color-switchable leds!
[21:03] <nessita> LOL
[21:03] <gatox> alecu, of course..... i don't buy other type
[21:04] <rye> duanedesign, we need some heavy debugging. I am looking for the way to log the actual location of the message
[21:06] <nessita> alecu: just confirmed all test pass in every platform, and there are no lint nor pep8 issues
[21:07] <nessita> alecu: I will review the diff tomorrow and propose (but not today since I'm tired and will likely miss something)
[21:09] <alecu> nessita, cool, I'll update
[21:11] <duanedesign> rye:  let mw know what i need to pass on
[21:12] <rye> Fakrul, could you please download the following file - http://people.canonical.com/~roman.yepishev/oauthdesktop-logging.patch and patch the sources (will give the command line in a moment)
[21:12] <Fakrul> ok
[21:13] <rye> Fakrul, sudo patch -i /tmp/oauthdesktop-logging.patch /usr/share/pyshared/ubuntuone/oauthdesktop/logger.py
[21:14] <rye> Fakrul, if you downloaded oauthdesktop-logging.patch to /tmp, otherwise adjust the path for -i argument
[21:14] <dobey> rye: i doubt that will help
[21:14] <Fakrul> patch done
[21:15] <dobey> rye: the logger call that logs that message is in bin/ubuntuone-login, and gets called from a signal handler over dbus
[21:15] <dobey> but afaict, it's definitely the request token url that's failing
[21:15] <rye> Fakrul, ok, now please killall ubuntuone-login
[21:15] <rye> Fakrul, and then run u1sdtool --connect
[21:16] <Fakrul> Oops, an error ocurred: Traceback (most recent call last): Failure: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
[21:18] <rye> Fakrul, is ubuntuone-syncdaemon process running?
[21:18] <nessita> ok, I'm off crowd
[21:18] <nessita> see ya tomorrow!
[21:18] <rye> Fakrul, u1sdtool is running as regular user, not as root
[21:19] <rye> ok, /oauth/request/ api works properly for me
[21:19] <Fakrul> oh ok
[21:20] <Fakrul> no error..do i check any log?
[21:24] <rye> Fakrul, ok, now what is u1sdtool --status ?
[21:24] <dobey> rye: i wonder if the redirect is broken
[21:25] <rye> dobey, tried it with tomboy and it is working
[21:26] <dobey> DEBUG logging would be useful
[21:28] <rye> Fakrul, oauth-login.log should contain something after you run u1sdtool --connect
[21:31] <Fakrul> rye: ya there is some output...you can get it from http://pastebin.com/qtEbewX1
[21:32] <dobey> you should have a browser window/tab open with a thing you click on
[21:32] <rye> Fakrul, interesting... has anything opened a browser tab or window?
[21:33] <Fakrul> rye: nope
[21:34] <dobey> if it's going to time out, it should happen in ~5 minutes
[21:37] <Fakrul> 2012-01-06 03:36:36,640:640.23900032 UbuntuOne.OAuthDesktop.auth auth.py:443 Stopping temp webserver 2012-01-06 03:36:36,642:642.31300354 ubuntuone-login ubuntuone-login:118 [Errno socket error] [Errno 110] Connection timed out
[21:37] <Fakrul> dobey: ya got the timeout request
[21:39] <rye> good, this means that nothing opened the browser
[21:39] <rye> Fakrul, ok, could you please run xdg-open https://www.google.com ?
[21:40] <Fakrul> it opens my default web browser (chrome) and browse www.google.com
[21:43] <dobey> rye: it's failing here: http://bazaar.launchpad.net/~ubuntuone-control-tower/ubuntuone-client/stable-1-2/view/head:/ubuntuone/oauthdesktop/auth.py#L244
[21:44] <Fakrul> rye: i need to signout for today. if you want i can PM my email id so that you can sent me the instructions...i will execute and update you.
[21:46] <rye> Fakrul, does duanedesign have your mail?
[21:46] <Fakrul> ya
[21:57] <dobey> rye: so it works for me on oneiric (using a slightly modified stable-1-2 branch to test)
[21:57] <dobey> rye: i wonder if something changed on lucid, in python, which breaks our custom url opener
[22:09] <duanedesign> rye: you want it fwd'd
[22:15] <rye> duanedesign, I can't seem to be able to access my lucid machine
[22:20] <rye> dobey, no, it is opening auth window here
[22:20] <dobey> rye: weird
[22:25] <dobey> oh well
[22:25] <dobey> later all
[23:19] <alecu> verterok, tomorrow = freaky dbus friday?
[23:23] <verterok> alecu: I wish, maybe I can dedicate a few hours to that ;)
[23:23] <verterok> alecu: we could talk a bit about what you have so far and split work