=== JanC_ is now known as JanC [07:22] Hi! [07:23] Ran into a syncing issue with Ubuntu One. Can anyone assist? [07:24] Hello? [07:24] Anybody home? [07:51] When I open Ubuntuone Preferences, Account tab, on one computer it does not display the usage, name e-mail or current plan. Why??? [12:34] Good morning everyone! === teknico is now known as teknico_away [13:55] ralsina: morning! Do we have the sand up in 5 min? [13:56] mandel yes! [13:56] ok [13:56] * mandel writes what he has done [13:56] mandel, CardinalFang, vds standup in 5'! [13:56] ralsina: ok [14:04] me [14:04] ralsina, CardinalFang, vds: stand up? [14:04] yes! [14:04] * ralsina was on the phone, sorry [14:04] np [14:04] me [14:05] me [14:05] ralsina: it's holiday in the US? [14:05] vds: yes, Martin Luther King's day [14:05] it is. One se. [14:06] and alecu and nessita are on swap because of the travel from dallas [14:06] shall I start then? [14:06] I can't find my bug number. It doesn't matter very much. Open and closed, so... [14:06] Ready. [14:06] mande, start please [14:07] s/mande/mandel/ [14:07] DONE: Done bug 701868, bug 702276, bug 702295. Fixed small issues in branch that fixed bug 700951, bug 700981 and bug 701049. Worked on bug 702926 and ready to propose the branch for merging. [14:07] TODO: Implement FileSystemWatcher on windows. Fix proposed branches for ubuntu_sso. [14:07] BLOCKED: No [14:07] Launchpad bug 701868 in ubuntuone-client "Cannot run tests on windows due to a fail import (affects: 1) (heat: 358)" [Medium,In progress] https://launchpad.net/bugs/701868 [14:07] Launchpad bug 702276 in ubuntuone-client "Platform unit tests should be skipped when not ran in the correct platform (affects: 1) (heat: 711)" [Medium,In progress] https://launchpad.net/bugs/702276 [14:07] Launchpad bug 702295 in ubuntuone-client "Pyinotity logging settings should be moved to the platform module (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/702295 [14:07] Launchpad bug 700951 in desktopcouch "Couchdb process is not started on windows (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/700951 [14:07] Launchpad bug 700981 in desktopcouch "The function 'run_couchdb' should be moved to the platform module (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/700981 [14:07] ralsina: go go go [14:07] DONE: searching for windows contractor, finally got someone on HR (no results), team leads call+other calls, chased people around as usual. [14:07] TODO: reviews, management stuff, have HR fix things for me, someday actual coding ;-) [14:07] BLOCKED: no [14:07] vds: your turn [14:07] DONE: continuing on developers RESP APIs, discussed with many jdo and aquarius, filed bugs #701029 and #701031 [14:07] TODO: continue with the APIs [14:07] BLOCKED: not blocked but a bit lost, need jdo to check what I'm doing is correct [14:07] vds: Bug 701029 on http://launchpad.net/bugs/701029 is private [14:07] CardinalFang: please [14:07] DONE: playlist API 90% implemented. Fixed record-deletion bug in desktopcouch. [14:07] TODO: US holiday today. [14:07] BLOCKED: None [14:08] ok, comments, questions? [14:08] One from me: a huge patch landed/is landing in syncdaemon [14:09] ralsina: what is that patch about? [14:09] It "releases the queues" and makes everything async. So expect weird subtle breakage, probably [14:09] ralsina: I merged my windows branches with trunk today and there are test that fail AFAIK [14:09] mandel: ok, can we take a look at that together later? [14:10] ralsina: sure, it is an easy fix, someone forgot to set the import correctly :) [14:10] On other news, we will talk more about this tomorrow, but we are going to make some small process changes to make releases more stable [14:11] it needs discussion, but it will probably involve making mightlies "real nightlies" so we have a remote chance of everyone using the same package combination [14:11] Also, I will begin the process of getting tarmac and friends running somewhere other than dobey's house, but again, we will talk about that tomoroe [14:12] whoa, bad typing there ;-) [14:12] I have nothing else. If noone else has anything, eom? [14:12] ralsina: it would be great if we can look at what we should do regarding running the desktopcouch and ubuntuone-client tests on windows with tarmac too [14:13] mandel: that would be great. Does tarmac even run on windows? [14:13] ralsina: if it does not, I'm sure it can be fixed :) [14:13] ralsina: I'l take a look at that asap [14:13] and I wonder if we can find a window server somewhere :-) [14:14] morning everyone [14:14] morning karni! [14:14] ok, eom then? [14:14] :) [14:14] eom! [14:14] ralsina: eom for me :) [14:15] ralsina, mandel: fwiw, tarmac is for landing branches, not for CI :/ [14:15] verterok: but it refuses to land them when tests fail. Oh, I see :-( [14:15] ralsina, mandel: for that we have hudson, and we can use a ec2 windows instance ;) [14:15] mandel: it would land the branches if the tests worked on windows and not on Linux :-D [14:16] "we have hudson" is not what I heard ;-) [14:16] ralsina, verterok: it is a complicated situation, since changes in one side could possibly brak both, so far I test always both, but is a bloody PITA [14:17] mandel: I suppose doing windows work in a separate branch would be too much problem, right? [14:19] ralsina: atm I have a branch that is all the time merged with trunk, I guess we could do a cascade merge when you merge to trunk, the windows one knows and merges… otherwhise we could start separating branches due to human error… [14:19] mandel: right, that's what I meant by "too much problem" :-) === teknico_away is now known as teknico [15:13] Hi all. Anyone have any insights on this? https://bugs.launchpad.net/ubuntu/+source/ubuntuone-client/+bug/703818 [15:13] Launchpad bug 703818 in ubuntuone-client (Ubuntu) "files will not sync (affects: 1) (heat: 6)" [Undecided,New] [15:20] Now that's a cool name for a method ;) syncdaemon::main.py, def wait_for_nirvana [15:40] karni, the help mentions Buddha too. [15:40] Maximilian, AttributeError: Values instance has no attribute 'debug' o_O [15:40] CardinalFang: self.logger.debug("Nirvana reached!! I'm a Buddha") ;D [15:43] CardinalFang: I've implemented event queue (events are dispatched to handlers), and I'm on action queue atm. That should streamline ongoing events in U1F, as the source was getting a little bit spaghettish with every new feature added. [15:43] (such as periodic sync using alarms) [15:43] Maximilian, assigning to myself and will see what's going wrong there [15:44] * beuno cheers karni [15:44] brb phone [15:45] beuno: \o hello. I'll be back in a moment :) [15:46] Thanks rye! [16:00] beuno: how's it going on :) busy as always? :) [16:01] karni, exactly :) how are you? [16:01] beuno: i'm good. we're a tiny bit of schedule, but considering really conservative estimates, nothing to wory about! :) [16:01] *off [16:01] * beuno is not worried [16:02] beuno: I'm happy to introduce changes that I mentioned few days ago on IRC. I like the way things work (i.e. I've started to handle connectivity changes using event queue) [16:02] great :) [16:09] * karni picks up a pencil to design Android specific state machine [16:31] verterok: hello :) (if you have holidays today, tell me ;)) the docs/states_manager.svg says 'set capabilities' is before 'authenticate'. i've been doing this in order 'auth' and 'set caps'. does it matter? [16:31] karni: yes, set_caps is before auth [16:32] karni: not sure if the order is enforced, or the calls to set_caps after auth are ignored [16:32] verterok: bah, sorry. i've been doing it the good way :> [16:32] karni: :) [16:32] verterok: all's good, sorry for confusion [16:33] verterok: hmm. anyhow, your examples do auth+setCaps, the states_manager.svg does setCaps+auth [16:33] karni: hmm, let me check the code [16:34] verterok: http://paste.ubuntu.com/555134/ [16:35] verterok: I was just wondering if the documentation (the diagram) is correct/outdated [16:35] karni: yes, it's accepted after doign auth too [16:35] verterok: cool [16:35] karni: but stick with what the diagram says ;) [16:36] verterok: oh, will do :) === beuno is now known as beuno-lunch === beuno-lunch is now known as beuno [19:29] verterok: You have a second? [19:29] karni: whatsup? [19:30] verterok: For more control, I'd like to wait with executing some deferds, say - I've got 50 files to download [19:30] verterok: so I'd be stupid to fire 50 deferreds at the same time. I know you said it's serialized, etc [19:31] verterok: but I need some control in mobile environment, long story short: [19:31] karni: deferreds aren't executed. a deferred is just a promise of a future value [19:31] verterok: What's the best way to wait with executing the Request? Deferred d = new Deferred(). d.pause(); d.chain(getContent().getRequest) ? [19:32] karni: the "commands"/requests get executed when you call: clientInstance.do_stuff() [19:32] verterok: I know it's just a promise. But.. how should I say it. I want to take care of the queueing process [19:32] instead of giving it up to Java Future [19:32] right, such as client.getContent(...) [19:33] karni: yes [19:33] imagine a user 'starrs' a favourite folder to sync. and it starts syncing 500 files (each 2MB) [19:33] karni: then you need a queue...so you enqueue the call to client.getContent(...) [19:33] verterok: how does it look on the backstage? [19:33] you mean - the call enqueues the request, right? [19:33] I've seen the SingleThreadExecutor in your sources. [19:34] karni: nono, the application code needs to take care of that queueing [19:34] or you mean that I should have my own queue [19:34] ok, awesome. that's what I'm doing right now. [19:34] karni: that's just an implementation detail...we could change that to a threadpool [19:34] so, imagine I want to queue those deferreds [19:34] and there you get requests running in parallel [19:35] instead of calling client.getContent() I would create a paused Deferred, and chain the getContent [19:35] karni: you don't queue deferred :) [19:35] hahah :) [19:35] karni: you need to queue a callable, and then call it when it reach the head of the queue [19:35] I'm sorry. I'm trying to be clear, but looks like I'm not managing with explanations. [19:36] let's call this "callable" a "Download" [19:36] verterok: sounds good. [19:36] karni: so, you do: queue.put(MyDownLoad(...)) [19:36] Command is fine (you guys are using this terminology I think) [19:36] right, and the rest is clear, sure. [19:37] karni: no deferreds, no nothing [19:37] and I'll call it when it gets to front/head [19:38] but the moment I'm calling it, I'm using a client.method (such as .getContent) that at this moment becomes deffered. no? [19:38] karni: now, the consumer of the queue, should take care of calling myDownloadInstance.run() or something and hook to the deferred of the GetContent request [19:38] right! [19:39] verterok: just as a side note. what's the .pause() method of a Deferred for? you ever used it? [19:39] karni: I never used it, but if you look at the Deferred implementation it just pause the deferred callbacks chain [19:40] karni: a Deferred is just that, the result. there is no network involved, no threading...no nothing [19:40] karni: when you pause a deferred it will just stop calling it callbacks/errbacks [19:41] verterok: http://paste.ubuntu.com/555186/ [19:41] verterok: just so that I understand it. although it's not a clean solution - it would work, wouldn't it. [19:42] karni: the assertion: "// getContent won't run until we .unpause() what we enqueued" is wrong [19:42] verterok: that was my last question (thank you so much for your patience and hints) [19:42] aha, so I got the pause() wrong [19:43] karni: you'r calling: client.getContent() [19:43] at the moment you call that method, the request is live [19:43] I see. Understood. [19:43] No wonder they named it Twisted [19:43] * karni chuckles [19:44] verterok: Thanks again, you're awesome. [19:44] karni: if the chained deferred is paused, you might not see the result of the GetContent request...because the deferred callback chain is paused, but the request might have finished X hours before [19:44] * karni nods :) [19:45] verterok: I haven't used that linked construct, no worries. I've been quite productive ;) [19:46] only now I'm getting into the real requests queuing (I've got events queuing working)