[09:42] ivanka: ping [09:57] Goeie dag, mense! === zyga_ is now known as zyga [11:18] Can someone please remind me how to clear my SSO credentials so that I need to sign in again? [11:21] mpt: ou have to remove the keys from the keyring, do you know how to do that? [11:21] mandel, ah, never mind, I just closed Ubuntu Software Center and reopened it [11:21] ok [11:21] ivanka: ping [12:12] good morning everyone! [12:12] time to code. [12:13] wish everybody a fruitful day of work === teknico is now known as teknico_away [13:20] hello all! [13:20] alecu: hola [13:21] hello mandel! how are you feeling today? [13:21] alecu: fine, i'm getting quite good at typing like ths :P [13:22] alecu: also quite happy about the pipeline plugin for bzr, is bloody awesome, have u tired it? [13:22] mandel, never tried it... looking. [13:23] alecu: is certainly useful for whenever you have huge changes to make [13:24] mandel, oh, that's really interesting. I could have really used it a few days ago :P [13:24] alecu: well,better late than never ;) [13:25] u already know it for the next time [13:25] yes! I'm going to learn it before next time :-) [13:44] it's also on my list [13:45] looks like it would really help with branches that depend on one another [13:45] thisfred: I can tell you, if switch to use it in the widnwos port and i cannot be happier :) [13:45] alecu: there was a mail to warthogs or canonical-tech a week or two ago with a video demonstrating pipelines [13:47] sorry for my typing, the hand is tired :P [13:54] * alecu needs to catch up with warthogs... === yofel_ is now known as yofel [13:58] hello eveyrone! [13:58] everyone* as well [14:00] hi [14:00] me [14:00] me [14:00] me [14:01] me [14:02] ralsina? [14:02] me [14:02] thisfred ? [14:03] me [14:03] sry [14:03] DONE: proposed branch for bug #714583 (need reviews!). Conversations re: bug #709496. Talk with chicharra team re bug #715776 [14:03] TODO: work on #715776 [14:03] BLOCKED: nopes [14:03] NEXT: mandel [14:04] Launchpad bug 714583 in ubuntuone-control-panel (Ubuntu) (and 1 other project) "Support share subscription in Folders tab (affects: 1) (heat: 3426)" [High,Triaged] https://launchpad.net/bugs/714583 [14:04] Launchpad bug 709496 in canonical-identity-provider "Need a way to set the 'displayname' property for newly created accounts using REST API (affects: 1) (heat: 6)" [Undecided,New] https://launchpad.net/bugs/709496 [14:04] Launchpad bug 715776 in ubuntuone-client "Shares dir name may not be unique (affects: 1) (heat: 6)" [Undecided,New] https://launchpad.net/bugs/715776 [14:04] DONE: Update the man for u1trial to fix bug #715195. Fixed merging issue of os_helper branch for sd. Slipted branch that adds file system notification for easy review. [14:04] TODO: propose merges for filesystem notifications. Rearrange meeting with ralsina and ivanka. Get ralsina to tests changes on windows. Slip ipc brach for windows. [14:04] alecu, please [14:04] DONE: worked on pending UI branch to update unity launcher icon progressbar (bug #702116). started looking into tomboy oopses, found little robots and 503 couch timeouts [14:04] Launchpad bug 715195 in ubuntuone-dev-tools "u1trial man is not updated (affects: 1) (heat: 6)" [Medium,Fix committed] https://launchpad.net/bugs/715195 [14:04] TODO: find out root oops cause, finish progress branch above [14:04] BLOCKED: no [14:04] NEXT: dobey [14:04] uh blocked: no [14:04] Launchpad bug 702116 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to show and update a progressbar in the Ubuntu One launcher for pending operations (affects: 1) (heat: 166)" [Medium,Triaged] https://launchpad.net/bugs/702116 [14:04] λ DONE: more shotwell research, more pth fixing, bug 715450, bug 715488, [14:04] λ TODO: shotwell plug-in research, finish bug 673012, evaluate SRUs for maverick [14:04] Launchpad bug 715450 in ubuntuone-client "[r847] ubuntuone-client crashes with ImportError from ubuntuone.platform.linux.api.restclient import RestClient (no api.restclient in ubuntuone.platform.linux) (affects: 1) (heat: 6)" [Critical,Fix committed] https://launchpad.net/bugs/715450 [14:04] λ BLCK: None. [14:04] Launchpad bug 715488 in ubuntuone-client "[r847] ubuntuone.credentials moved to ubuntuone.platform.linux. Syncdaemon ImportErrors (affects: 1) (heat: 8)" [Critical,Fix committed] https://launchpad.net/bugs/715488 [14:04] Launchpad bug 673012 in desktopcouch (Ubuntu) (and 1 other project) "Async monitoring of _changes (affects: 1) (heat: 43)" [Undecided,Confirmed] https://launchpad.net/bugs/673012 [14:04] ralsina: [14:04] DONE: reviews (on windows, too), many many calls, canonicaladmin [14:04] TODO: reviews, management stuff, sprint planning, triage another 8 tons of bugs [14:04] someday actual coding ;-) [14:04] BLOCKED: no [14:04] thisfred? [14:04] DONE: bug #702055, bug #702075, bug #702138, bug #702144 [14:05] o/ [14:05] Launchpad bug 702055 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to send a notification when a new UDF is available for subscription (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/702055 [14:05] Launchpad bug 702075 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to add an entry to the messaging menu when a new UDF is available for subscription (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/702075 [14:05] Launchpad bug 702138 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to send a notification when a new share offer comes in (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/702138 [14:05] Launchpad bug 702144 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to add an entry to the messaging menu when a new share offer comes in (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/702144 [14:05] TODO: the other 3 | API [14:05] and frack it's cold. [14:05] Blocked: no [14:05] dobey: amen to that [14:05] comments anyone? [14:06] how did it go from 50F to 25F overnight :( [14:06] ralsina: so, we got the official approve for the sprint? :-) [14:06] at least next week's forecast is pretty much all in the 60s [14:06] nessita: waiting on Chipaca's word on it [14:06] dobey: 21 here [14:07] dobey: same here, only celsius :-) [14:07] grr [14:07] I found one flight that leaves at 6am on the 3rd that would work, but otherwise yeah [14:07] ok, comments? [14:07] none here [14:07] just one [14:08] I need reviews for: https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/share-subs/+merge/48955 and https://code.launchpad.net/~nataliabidart/ubuntuone-client/get-sharesdir/+merge/48954 [14:08] DING DONG THE WITCH IS ALMOST DEAD [14:08] where by witch, i mean u1sync [14:08] I also need reviews https://code.launchpad.net/~thisfred/ubuntuone-client/lp-702055/+merge/48987 [14:08] * ralsina will do them all [14:08] first mandel, then nessita, then thisfred, then nessita2 [14:09] First come, first server basis. [14:09] on review to bring them, and one to bind them? [14:09] s/ver/ved/g [14:09] i think that should be our policy [14:09] nessita: that second branch I can probably do, unless my computer makes it impossible again [14:09] dobey: don't do the full nerd. Yo never do the full nerd :-) [14:09] thisfred: let me know :-) [14:09] I'm on it [14:11] eom? [14:11] eom! [14:12] ralsina: ready for reviews then :) [14:12] mandel: cool. [14:12] mandel: so I will re-merge that branch and test it in 2' [14:12] ralsina: perfect, plus that one there are other 3 that you need to run on windows [14:13] my internet is flaking out. [14:13] so let me know if ou can do them [14:13] mandel: sure I can [14:13] what's the windows equivalent of rm -rf ? [14:13] deltree \ ? [14:13] alecu: that's DOS :-) [14:14] i though del works.... [14:14] deltree \ -Y :) [14:14] mandel: del /s /q leaves the folders [14:14] windows is dos [14:15] if you mean windows windows, it is "select the folder in explorer and press shift+del on keyboard" [14:15] ralsina, rmdir /q /s [14:15] http://bash.org/?50070 [14:15] dobey: I meant a command inside cmd [14:15] alecu: cool, thx [14:15] haha [14:16] dobey: and it's not DOS if you don't have command.com :-) [14:16] sure it is [14:17] the real question is, do you have gorilla.bas? [14:17] dobey: no I don't :-( [14:18] OOH [14:18] * karni loads batteries with lunch [14:19] http://inventwithpython.com/extra/gorilla.py [14:19] this needs packaging. [14:20] mandel: no module named pywintypes, what am I missing? [14:20] i'm missing pygame x] [14:20] ralsina: this http://starship.python.net/~skippy/win32/Downloads.html [14:20] mandel: getting [14:21] mandel: that page says that page is obsolete [14:21] ralsina: we access the win32 calls from there to fix some issues with the rights of a file etc.. [14:21] ralsina: yes, but you can follow pointer :) [14:21] mandel: ok [14:21] ralsina: is the one i know heheh [14:22] mandell fetching & installing [14:22] dobey, that's an awful display of bad pygame. [14:24] mandel: successful tests!!!!! [14:24] alecu: yes, it crashed when i pressed arrow :P [14:24] anyways [14:24] ralsina: yes, and more are to come :) [14:24] mandel: and it only runs the path I asked [14:24] So +1 it is [14:25] ralsina: ok, hre is the next: https://code.launchpad.net/~mandel/ubuntuone-client/windows_reuse_pyinotify/+merge/49062 [14:25] mandel: but just to be sure, what's the goal you are aiming for in this first branch? [14:25] ralsina: i've reused pyinotify as max as possible so that most of the logic in the current code con stay the same way [14:25] I meant in the os_helper [14:25] dobey: what happened with the release? [14:26] ralsina: there are os calls on linux python that do not exist on windows or that throw diff error etc... [14:26] nessita: will make it today. some stuff broke when mandel's branch landed and the fix just landed this morning [14:27] mandel: yes, but what am I supposed to test to say "this works?" all the platform tests? [14:27] dobey, nessita UPS SORRY [14:27] ralsina: yes, all the platform tests should run [14:27] ok, they don't:-( [14:27] self.monitor = FilesystemMonitor(self, fs, ignore_config) [14:27] exceptions.TypeError: object.__new__() takes no parameters [14:27] dobey: we need https://code.launchpad.net/~verterok/ubuntuone-client/fix-712056/+merge/48826 landed as well [14:28] ralsina: all the os_helper tests :) [14:28] ralsina: not everything atm [14:28] mandel: ok, let me check the output then [14:28] so you can do python u1trial tests/platform/test_os_helper [14:28] nessita: ok, i'd also like to get the branch i'm going to propose shortly, in as well [14:29] * karni is back after lunch. [14:29] mandel: in os_platform there are a couple of NotImplementeds [14:29] and python u1trial tests/platform/windows/test_os_helper [14:29] os_helper I meant [14:29] ein? [14:30] ralsina: can you pastebin it [14:30] mandel: on it [14:30] damn, windows terminal history is TINY [14:31] is there something like tee for windows? [14:31] mndel: give me 1' and I'll re-run and pastebin it [14:32] ralsina: use cygwin, is the best thing to do for us [14:32] ActionQueueCommandTestCase object has no attribute action_queue [14:32] ralsina: ok, i'll be out for 2 min i need to microwave my food :) [14:32] That makes a bunch fail [14:32] ralsina: heh, I'm at that very place, but porting to Java [14:32] ralsina: you have to run python u1tiral tests/platform/test_os_helper [14:32] oh, wait, it's running the wrong tests! [14:32] python is so freaking smart it's not making it easy sometimes. [14:33] ralsina: and python u1trial tests/platfrom/windows/test_os_helper [14:33] mandel: with FORWARD slashes? [14:33] ralsina: no, with back, but I cannot type very well :P [14:33] Then that's what I did :-( [14:34] ralsina: pastebin please :) [14:34] and include the command you used and from where [14:35] mandel: I am getting cygwin, I just can't get a useful copy from the cmd window [14:39] mandel: I used that command. It starts with the right tests but doesn't stop, and starts running other tests [14:39] argh, my mistake of course [14:40] I was using run-tests.bat instead of u1trial [14:40] It's perfect. +1 [14:44] ralsina: cool :) [14:44] ralsina: shall we move to the next [14:44] ? [14:44] yes please [14:45] ralsina: https://code.launchpad.net/~mandel/ubuntuone-client/windows_reuse_pyinotify/+merge/49062 [14:45] Ok, I am now starting with that one [14:45] that is part of a huge merge, it get the code i can reuse from pyinotify [14:46] which later i reuse for the file notifications so that we cna reuse as much logic as posible [14:46] ralsina: is a copy paste, so running the tests on windows and get the fail is the expected result :P [14:46] mandel: ok, that should be achievable ;-) [14:46] otherwhise the merge was of 3000 lines or more [14:47] mandel: bzr is again whining about limbo and permissions. That means I have to whack the whole repo here to unstuck it. Will take a minute or two. [14:48] ralsina: ok, i"ll get a coffee then :) [14:53] * ralsina is starting to hate bzr, windows and life [14:54] tea, hot, with hints of brand new kettle [14:55] ralsina: so do i deserve a pay raise? :) [14:56] mandel: or sainthood :-) [14:56] ralsina: i had to try :) [14:58] nessita: ping [14:59] mandel: pong [14:59] whoot whoot [14:59] nessita: can you give me a read review on windows branch? [15:00] mandel: sure! shoot [15:00] nessita: thx! [15:00] there you go: https://code.launchpad.net/~mandel/ubuntuone-client/implement_windows_os_helper/+merge/46630 [15:01] dobey: a couple of branches have been approved for u1client, so let me know before you make the release so I can confirm they are landed [15:01] * ralsina is paddling in a river jello. And not the nice jello, ugly green jello. Guacamole flavored jello. [15:03] mandel: ok, finally slapped bzr into giving me a merged branch [15:03] https://code.launchpad.net/~dobey/ubuntuone-client/remove-u1sync/+merge/49070 [15:03] mandel: runnint tests [15:03] mandel: why this file tests/platform/linux/test_os_helper.py appears as added? [15:04] and https://code.launchpad.net/~dobey/u1sync/move-u1sync-here/+merge/49072 [15:04] mandel: they fail as you predicted. That means approve? :-) [15:04] nessita: because on linux we are testing certain things that are specific to it, the idea is that the linux one stays and the more general one too, it may appear the test the smae thing, but there are small differences to take intoaccount [15:04] ralsina: yes hehe [15:05] ralsina: you can read the code, but it is a copy paste from pyinotify [15:05] mande: are you checking that these are not breaking anything on Linux?> [15:05] mandel: right, but I wonder is why that file, that has as author only verterok, is added as a new file [15:05] ralsina: yes, and i'm also asking people to do linux reviews to make sure [15:05] mandel: ok [15:06] nessita: no idea, maybe i used the cp command instead of bzr move [15:06] mandel: +1 applied [15:06] ralsina: ok, in the next we use that code, ready? [15:06] mandel: can you please revert that change and use bzr move? otherwise the bzr history will be screwed up [15:07] yes, shoot [15:07] ralsina: take a look at this: https://code.launchpad.net/~mandel/ubuntuone-client/windows_pyinotify_missing_parts/+merge/49061 [15:08] ralsina: the new tests to run are python u1trial tests/platfrom/windows/test_fylesystem_notifications [15:08] mandel: copy/paste? is pyinotify GPLv3? [15:09] mandel: ok, merging [15:09] dobey: is MIT [15:09] dobey: is that a problem [15:09] ?? [15:09] mandel: the original (C) notice must be preserved [15:09] mandel: tests pass now. cool. [15:09] nessita: it would be kind of hard to do since i have other branches based on that one…. [15:10] cut+paste code is not fun [15:10] dobey: it is there... [15:10] * mandel checks [15:10] mandel: but this is not good, we lose all the bzr history on that branchy [15:10] on that file, sorry [15:10] mandel: also, it is not 2009 any more [15:11] dobey: if it says (c) 2009 it's because 2009 was the last time the file was edited by that author, regardless of what year it is ;-) [15:11] * alecu__ hates bad internet days [15:11] ralsina: look at line 8 of the diff [15:11] 8+# Copyright 2009 Canonical Ltd. [15:11] in a newly added file :P [15:11] hi alecu__, look what rye found: http://ubuntuone.com/p/cIS/ [15:12] dobey: uh, which diff? [15:12] mandel: you can fix this branch and then merge the branch again on the depending branches [15:12] nessita, yeah. I knew that would bite us... but not in such an ugly way. [15:12] mandel: https://code.launchpad.net/~mandel/ubuntuone-client/windows_pyinotify_missing_parts/+merge/49061 [15:12] nessita, that's because I'm considering the amount of pending operations towards the % [15:12] but allowing this just because is too much work to fix something that was made not properly the first time... I don't know, I don't feel comfortable [15:13] mandel: ^ [15:13] alecu__: which makes sense. But why the total does not count that? [15:14] nessita, the 52/52 is the number of UploadCommands that were done. The 95% counts the total number of operations... [15:14] nessita: well, is not that much work, but taking into account that: 1 I can just yype with my left ahdn, 2: is a test file, 3: I need to get this wokring for the release, well it is a PITA for what i get back [15:14] nessita, so I'm open to finding out a better way of counting that. [15:14] dobey: I must have copy the header from somehwere [15:15] * mandel fixed that [15:15] mandel: where the file come from? there is no file deleted in your branch [15:15] hmmm u1trial ran the tests successfully, and then locked up the terminal session. [15:15] nessita, the thing is that if I count the "other" operations towards the count of uploads it will be misleading. [15:16] ralsina: u1trial did, or run-tests did? [15:16] dobey: u1trial [15:16] nessita, because each "upload" may be a MakefileCommand followed by an UploadCommand. [15:16] alecu: count only the uploads for the %? [15:16] alecu__: this is why at the beginning I said we should count the MakeFIle as operations [15:17] in the sense that one upload is 2 operations pending [15:17] ralsina: i blame twisted [15:17] ralsina, if I only count uploads for the %, my "all completed!" message would be misleading as well. (but perhaps it would work) [15:18] nessita: tests/plafrom/test_os_helper was modified adding the general changiges, the linux one is ne, i really donot see an issue here [15:18] alecu__: it would be misleading in that there will be some operations pending, but the files will be uploaded anyway [15:18] nessita, I'm counting MakeFile as operations, yes. But I can't say "2 files uploaded" just because I have two operations if only one file is being uploaded. [15:19] nessita: there one new added and one modified? what is the issue you see? [15:19] mandel: I'm not following you. IN the diff, the file is a whole new file tests/platform/linux/test_os_helper.py. If you created it from scratch, you should be the author. If you didn't, and you took it from somewhere in the repo, I'm asking from where, and in that case, it should not be in the diff as 'completely new' [15:19] ralsina, yes. So... in that case, would we still be showing the progressbar, or will be consider everything as "done" ? [15:19] lI say done [15:20] yes, I like that. [15:20] It's lying, but the important part is really done. [15:20] alecu__: I agree. I would suggest then changing the wording a bit, for example: [15:20] ralsina, we should find out what other types of operations those can be, and if they can be "dangerous" at all. [15:20] In the case of dangerous operations, count them in too. [15:21] alecu__: '52 of 52 files uploaded. Still 5% operations to be in sync.' [15:21] nessita: that's just soooo nerdy :-) [15:21] nerdy? [15:21] 52/52 is nerdy :-) [15:21] 52/52 == 1 is nerdy :-D [15:22] 42 is nerdy [15:22] 52 is just a bit over the top [15:22] what's a user supposed to figure out from "all my files are uploaded but it still has to do things, it seems. 5% of things :-)" [15:22] nessita: cp tests/platform/test_os_helper.py tests/platform/linux/test_os_helper.py, vim tests/platfrom/test_os_helper.py :wq bzr add tests/platfrom/linux/test_os_helper.py bzr status added tests/platfrom/linux/test/os_helper.py modififed tests/platfrom/linux/tests_os_helper.py [15:22] Or, lie harder: put the "other ops" at the beginning. [15:23] ie: until all ops are done, say there is one file left to sync. [15:23] mandel: there, the error is using cp. You should bzr move tests/platform/test_os_helper.py tests/platform/linux/test_os_helper.py [15:23] nessita: well, the modified should be the platfrom one, i misstyped that [15:23] mandel: and the file will not appeared as new [15:23] rye, that's a lovely screenshot: http://ubuntuone.com/p/cIS/ Would you mind opening a bug for it? [15:23] mandel: is important to maintain the bzr history in the file [15:23] nessita: but tests/platfrom/test_os_helper.py would [15:24] mandel: but tests/platform/linux/test_os_helper.py should not be new [15:24] ralsina, "until all ops are done, say there is one file left to sync" <- this is butt ugly, but I think it could work out. [15:24] it already existed [15:24] alecu__: or spread them. [15:24] nessita: no, it never existed [15:24] cheezaz fck. yield is a PITA. [15:24] alecu__: suppose you have 3 files and 10 non-upload ops, then count one file every 4.3 ops or so :-) [15:25] verterok: any hints on blocking the deferred in Java like yield does in Python? [15:25] ralsina, right :-) [15:25] mandel: you moved one file from one place to another. That have to be done with bzr move, to move the history as well. [15:25] verterok: the run method of ActionQueueCommand is pretty fck twisted :< [15:25] mandel: all this time arguing is enough to do the fix ;-) [15:25] nessita: i added a new file, and modified a second one, look at trunk [15:26] nessita: that is what the diff says, i added a new one, and modified a second one, if i do a bzr move, from platfrom to linux, what happens with the platfrom code i want to keep [15:26] karni: no, that's a python specific stuff [15:26] mandel: maybe I misunderstood. What file you added as new? [15:26] verterok: uh :< [15:27] nessita: the new is the linux one, but verterok wrote it [15:27] karni: it's juts syntactic sugar [15:27] mandel: where was that file located before your branch? [15:27] mandel: if you didn't create it, is existed. So you moved it from somewhere, right? [15:27] who has REAL unity working? Alecu? [15:28] verterok: that's true. I'm thinking how to reorganize -- the python code calls 'continue;' of a while loop, which using the Deferred.callbacks can't be ported 1:1 just like that. [15:28] verterok: thanks, I'll handle it :) [15:28] wtf! internet! [15:28] karni: are you writing syncdaemon in java? [15:28] alecu__: do you still have unity-3d? [15:28] verterok: yes I am. does that sound crazy? [15:29] karni: depends :) [15:29] verterok: I'm quite far actually [15:29] ralsina, I do. But it keeps crashing on startup. [15:29] nessita: the linux tests never existed, i modified the platfrom ones to be more generic, and added the linux tests based on code written by verterok, the diff states clearly, modified in platfrom, added in linux. if you go to trunk, you will see , no file in linux, therefore is new, and present in platfrom [15:29] Do you think you could take a screenshot? [15:30] alecu_: oh, on startup. I guess not :-( [15:30] verterok: certainly I can't do 100% work of 4+ programmers, but I like the logic of things you guys implemented. [15:30] ralsina, so I have a launcher on the desktop to start up gnome-panel and metacity. [15:30] ralsina, what kind of screenshot do you need? [15:30] nessita: the platfrom code needed to be changed, the linux one had to be added and there is not bzr cp [15:30] "a screenshot of the control panel showing off the tab for selecting folders to sync" for joshuahoover [15:30] mandel: so you copied a filed into linux dir? and now we have 2 pretty much the same files in 2 directories? [15:30] alecu_: on unity to make it all pretty [15:30] nessita: yes, we have [15:30] ralsina, I'll try starting it all up under xephyr [15:30] ralsina: did the tests work? [15:31] mandel: yes! [15:31] mandel: what for? let's avoid duplication! [15:31] karni: :) [15:31] verterok: it's pretty crazy anyway ;D [15:31] nessita: your branch failed make test [15:31] "xoo - graphical wrapper around Xnest/Xephyr" [15:32] mandel: what is tests/platform/linux/test_os_helper.py testing than tests/platform/test_os_helper.py is not testing? [15:32] dobey: checking [15:32] nessita: because they are similar yet not the same, because the assertions test different things and the platfrom one are there simply to ensure that both implementations are following the same interface [15:32] nessita: let me get and example [15:33] mandel: so, linux spoecific tests should inherit from general tests and customize the specific bits [15:33] mandel: we should not duplicate the whole file [15:35] bah, xoo is ugly. [15:38] nessita: they cannot inherit, on window the handle has to be managed in a different way because you cannot rename/remove a file used by a process while you can on linux. If you do not take care of that you will have failing tests on windows, yet not on linux. The linux tests assert that a unix behaviour is done, iheritance will not work, i;ll have to use composition, create a class tha later is accessed by the two diff tests to be able to t [15:40] mandel: and why you did do that? :-D [15:41] dobey: I forgot a push from yesterday! pushing now [15:41] ok [15:42] nessita: why i did the extra test, ot why i did not do that? [15:42] nessita: i did not understand the question [15:42] mandel: why you didn't do the composite stuff. My main concern is: [15:42] alecu_, https://bugs.launchpad.net/ubuntuone-client/+bug/715842 [15:42] Launchpad bug 715842 in ubuntuone-client "Percentage in notification is a bit off: Uploaded 52/52 field, 95% completed (affects: 1) (heat: 6)" [Medium,Confirmed] [15:42] ralsina: so i do not get the +1 in the last branch you tested? [15:42] rye, thanks! [15:43] mandel: gack [15:43] mandel: give me 1' [15:43] mandel: let's suppose we find a problem with how we're handling something on os_helper. We want to add a test for that, in order to solve. We will have to edit 3 files to do so? [15:43] field [15:43] ? [15:43] rye, that bit is really interesting: "This happens because sd is still "processing" stock Move()s but all uploads and downlads are complete." [15:43] ralsina, nessita ^^^ [15:43] nessita: i did not do it because I'm just one on this with a tight schedule and I have to prioritice my efforts [15:44] nessita: in which platform did it fail? [15:44] nessita, would it be fine if we showed "all done" but some moves were still pending? [15:44] nessita, what would happen if the user closes the laptop in that case? [15:44] alecu_: from my POV, nopes. I think we need to show all done only when SD is IDLE [15:44] alecu_, facundobatista said there's a bug there [15:44] nessita: if it was in all, then in platform, if it was on windows, then on windows, if it was on mac os, the … and so on [15:44] alecu_: anyways, you can have all your uploads done but you can have pending downloads, right? [15:45] mandel: if it was in all, we need to edit only one file? [15:45] that will cover all two? [15:45] nessita, right. But downloads and uploads are handled right now (as different lines in the bubble) [15:45] nessita, it's those Moves (and other operations) that may be pending. [15:45] alecu_: right, but I mean that a user can have 10/10 uploads done and be 55% completed [15:45] nessita: yes, the platfrom one, that is why is there [15:46] platfrom is ran i all platfroms [15:46] mandel: ok, now I understand a bit more [15:46] mandel: thanks for taking the time to explain [15:46] agg i've been spelling platfrom all teh type wrong... [15:46] nessita: always a pleasure :) [15:47] nessita, right. if all pending operations are downloads, it will show as "10/10 uploads. 4/10 downloads. 70% completed" [15:47] nessita: although Im more interested in you bashing my code [15:47] nessita, but if they all are "other" operations it will show as "10/10 uploads. 70% completed" [15:48] alecu_: ok, I think we only need to tweak the phrasing [15:48] alecu_: I think the info we'e showing is correct but the wording is confusing [15:52] verterok: theoretically, Twisted can be replaced with Java Future, isn't that right? [15:53] karni: do you mean Deferred? [15:53] verterok: yes, I meat Deferred [15:53] karni: kind of. Deferred has a lot of nice features. also the java Future is just an interface...so you need to do all the heavy lifting :/ [15:54] verterok: I see. Thank you. [15:55] ralsina, I've just fixed my unity-3d! [15:55] ralsina, I'll screenshot after updating control panel [15:56] alecu_: cool, please send it to joshuahoover [15:56] karni: I'ld like to try to migrate to java Future at some point [15:57] verterok: aha! [15:57] karni: Deferred might be tricky to get right :) [15:57] verterok: I kinda like the .get() method of FutureTask :> very similar to pythons yield [15:57] karni: but the whole thing needs to be changed...that's why I never started [15:57] mandel: there is your +1, sorry [15:57] karni: no, it blocks! [15:57] verterok: I know :D [15:57] karni: yield doesn't block [15:58] verterok: but there's no way I can block a deferred heheheh [15:58] o sh*t.. [15:58] karni: that's the idea of deferreds, you just add callbacks ;) [15:58] verterok: I'll be right back! [15:58] ralsina: cool, what take a lok at the last one? [15:58] mandel: shoot, but this one will take a bit longer still [15:59] ralsina: no problem, here you go: https://code.launchpad.net/~mandel/ubuntuone-client/implement_notifier/+merge/49064 [16:00] karni: the magic of yield + deferred is briefly explained here: http://twistedmatrix.com/documents/10.0.0/api/twisted.internet.defer.html#inlineCallbacks [16:00] ralsina: adds the file system events to the event q on winndows, this means that the sd starts to know what is going on in your drive :) [16:00] karni: and to know more about yield: http://docs.python.org/reference/simple_stmts.html#yield and http://www.python.org/dev/peps/pep-0255/ [16:01] verterok: ping [16:01] mandel: pong [16:01] verterok: I'vee seen the first link, true :) brb [16:01] verterok: can i use u fore reviews? or too much work? [16:01] mandel: I can try [16:01] mandel: trying to get resumable uploads finished, bah...at least proposed :/ [16:02] mandel: oh, neat branch then [16:02] verterok: cool, if you have time, there are a couple or merges for windows, just if you can, take a look, we should have the file system notifications working on windows thise week :) [16:03] verterok: but only if you can [16:03] mandel: I don't have a properly configured windows vm,what I can do is just "code" reviews [16:04] verterok: i'm more it interested in code reviews and the changes i have made to the linux code, ralsina is taking care of windows [16:04] verterok: running the tests on linux will be good too :) [16:05] mandel: ok [16:05] I could run the tests on linux, but I can't approve twice ;-) [16:05] ralsina: i;m taking the assumtion that is u and me on windows and the other on linux :) [16:05] and I use nessita for the crazy code reviews :) [16:06] mandel: crazy?!?!?! [16:07] 'sofisticated' [16:07] mandel: good crazy :) [16:07] * mandel is crazy for the crazy reviews :P [16:08] nessita: he i autocomplited my nick… stupid arm that ^ was for you :P [16:09] nessita: crazy as in "mad code skillz"? === beuno is now known as beuno-lunch [16:11] nessita, ralsina: is it possible to make u1 connect right after the user first signs up/sets up u1 in natty? [16:12] joshuahoover: not as how we have things today [16:13] nessita: how hard would it be to add? it's one of those annoying things that's bugged me for quite some time [16:14] joshuahoover: we can't have syncdaemon autoconnecting if the credentials are not in place, because that causes the SSO window to be popped out of nowhere in some cases [16:14] joshuahoover: we could have it listening to the credentials found signal 'for ever' and connect in that case, but... [16:15] joshuahoover: there will be people against that. If you reach consensus between ralsina and Lunar_lucio I'm happy to implement [16:15] nessita: don't we know when we have the credentials? [16:15] joshuahoover: in syncdaemon, today, the way is coded, nopes (it disconnects from all siganls immediatly) [16:16] nessita: and how does it work when the user selects "connect"? is that a call to syncdaemon to tell it to connect? [16:16] verterok: sorry, was on call. thank you so much for the links, you my man :)! btw I'm happy you mentioned the fact of moving to Future one day, I'll have that in mind! === teknico_away is now known as teknico [16:17] I'll be back shortly. [16:18] joshuahoover: yes, just like u1sdtool -c but thru dbus [16:18] joshuahoover: I see your point, and I agree [16:19] joshuahoover: but there are people that does not want SD connecting unless explicitely asked [16:19] nessita: cool...i was thinking we could make that dbus call after we get the credentials since we know about that...save the user that extra setup step [16:19] joshuahoover: good idea! we can do that from the control panel... [16:19] nessita: it would only be for setting up u1 [16:19] joshuahoover: and leave syncdaemon out of the question, I like that [16:19] hehe, the irony [16:20] dobey: i know you're loving this [16:20] joshuahoover: would you please file me a bug under the u1cp project? [16:20] nessita: sure [16:20] joshuahoover: good thinking :-) [16:20] joshuahoover: it is exactly what we used to do anyway [16:21] dobey: i know...and it's bugged me ever since we removed it...Chipaca can tell you how i made his life miserable as desktop+ manager about this one small thing ;) [16:21] hello [16:22] what is ubuntu server [16:22] Hello - I can't change my preferred email address at either launchpad or Ubuntu one - It tells me my gmail is already registrered but I cannot choose as my preferred mail. Can anyone help? [16:22] pytam. jaki masz problem [16:22] adam_: i think you want #ubuntu maybe? but ubuntu server is the version of ubuntu for server installations [16:23] mandel: I'll finish your review once I finish one from verterok's [16:23] kristianlybaek: did you try setting that on login.ubuntu.com? [16:24] Yes - I tried both there and on launchpad - same problem. [16:24] ok [16:25] nessita: sure, np [16:25] kristianlybaek: what are you trying, exactly? [16:26] Chipaca: I want to change my preerred email from my hotmail to my gmail, when I try adding my gmail it says it is alredy registrered, but I can't seem to choose it as my preferred email. [16:26] who removed the credentials module??!?!?! [16:27] kristianlybaek: maybe you have unwittingly signed up using the gmail address? [16:27] nessita: it was moved [16:27] dobey: why? where? by who? [16:27] nessita: to platform.linux.credeentials [16:27] nessita: mandel, presumably because it is all dbusified [16:28] mandel: care to explain? :-) [16:28] Chipata: My gmail is rather new - shouldn't I be able to choose it as my preferred anyway? [16:29] kristianlybaek: not if they are two separate sso accounts [16:29] kristianlybaek: which is what I think it's telling you [16:30] mandel: https://pastebin.canonical.com/43048/ on lp:~mandel/ubuntuone-client/implement_notifier [16:30] Chipata: I don't think so - it is so new, that I would remember if I just created a new account. And I have tried logging in with all my passwords and nothing happens. [16:30] kristianlybaek: try telling login.ubuntu.com you forgot the password for the gmail account, see where it takes you [16:30] I will [16:33] kristianlybaek: the other option is that the first time it sent you an email to confirm, and you haven't clicked it yet [16:33] mandel: ping [16:34] nessita: dobey is rigth, it isa linux specific code, it had to be moved out [16:34] nessita: pong [16:34] ralsina: loking [16:35] mandel: why did you added ubuntuone/platform/linux/__init__.py:51:from ubuntuone.platform.linux.credentials import CredentialsManagement [16:35] mandel: the question is why you added the import clause to the __init__ file if is not used [16:36] kristianlybaek: I've asked the people behind login.ubuntu.com, and they say I'm to ask you to join the #canonical-isd channel please [16:36] Chipata: It seems you were right. I have an account on my gmail, but without any applications. Sorry. Can I delete this account, so I can add my gmail to my other account? [16:36] ralsina: is a threading issue in which the thread takes longer than expected and therefore the test fails, it work sometimes and sometimes it does not, the timeout can eb increased and it will always succeed, problem is, i do not know if there is a reason for the test to use 2 seconds [16:36] mandel: may be related to the hangs I get when u1trial ends? [16:37] kristianlybaek: I'm glad that was the case (as opposed to something weirder). I don't know if you can do that, or if you can merge them ... ask in #canonical-isd :) [16:37] mandel: may be some windows oddity [16:37] nessita: because of the platfomm/__init__.py, take a look there [16:37] Chipata: Thank you very much. Ciao. [16:37] Chipaca: you can file a request to merge accounts, yes [16:37] ralsina: yes, is weird, did you run it with run-test or u1trial? [16:38] u1trial [16:38] mandel: I'm looking at that file, and I still don't understand. CredentialsManagement should not be used outside from where is used [16:38] ralsina: try to run it again after you have killed the u1trial process, but you have to wait [16:38] mandel: ok [16:39] ralsina: and the signals come from the winodws kernel, which is not very public, so no real idea of why it does that sometimes [16:40] mandel: it passed now [16:40] So +1 [16:41] nessita: well it is used in ubuntuone-login which i do not know if it will go to windows [16:41] nessita: actually i do not know what login does... [16:42] mandel: but ubuntuone-login uses the glib main loop [16:42] so I don't think you'll be using that in windows... [16:42] ralsina: misteries of the windows kernel…. we will not have issues in prodcution since the events will always arrive, just slower than o linux [16:42] mandel: and even if you do, you're still importing the class as from ubuntuone.platform.linux.credentials import ... [16:43] nessita: no idea to be honest... [16:43] mandel: grhm [16:43] :-) [16:43] nessita: which branch is this? [16:43] mandel: ok, if they bug too much, we'll skip them === alecu is now known as alecu-lunch [16:43] mandel: I don't know, one that already landed :-( [16:43] I mean, I'm seeing this in trunk [16:44] nessita: mmm bullocks! how bad is this affecting you? [16:44] mandel: is not affecting me other to my OCD syndrom :-) [16:45] nessita: oh, then file a bug and appoint me to fix it :) [16:45] mandel: :-) [16:45] nessita: I'll do it asap [16:46] dobey: is tarmac running? https://code.launchpad.net/~verterok/ubuntuone-client/fix-712056/+merge/48826 has been approved 2 hours ago and it has commit message [16:46] ralsina: yes, having test failing due to multithreading is a pain… i could do something to allow a number of retries increasing the time, and if it takes to long, failing, but it would be complicated [16:47] yes it's running [16:47] dobey: any idea why that branch hasn't landed? [16:47] mandel: as long as we know how to tell if that's the problem and retry, I don't care much yet. [16:47] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128) [16:47] dobey: ? [16:47] something causing tarmac to fail [16:47] ouch [16:49] probably from when your branch failed [16:49] back to code. [16:49] ralsina: indeed, but i'll target that when we work on using run-test and we want all of them to pass, so far this are just the stepping stones [16:49] oh well, cleaned the tree, so it should hopefully work ok on the next run [16:49] mandel: fine by me [16:50] ralsina: if everything is ok, we should have file system code my tom, and ipc by middle of next week, from there we should be very close [16:50] ralsina: have you talked with the msi guy? [16:51] ok, lunch time [16:51] bbiab [16:51] mandel: sent mail [16:51] ralsina: cool, let me know how it goes [17:00] oki, lunch! [17:15] all: i'm done for the day, arm has started tohurt, will catch you tom === mandel is now known as mandel_afk [17:21] mandel_afk: have fun! [17:24] verterok: facundobatista: what is the uniqueness of commands used for? which commands don't have to be unique for instance, which have to ? === beuno-lunch is now known as beuno [17:30] karni, the uniqueness is used for those commands that should be only one of them (for example, Upload) [17:31] facundobatista: since there's need for uniqueness, I assume it happens that there appears second request for the same item sometimes, and it's rejected based on the uniqueness? [17:31] karni, the uniqueness attribute indicates what is the uniqueness about... Upload defines share/node ids, so it will not be two Uploads for the same share and node [17:31] I see. I'm just wondering how is it possible to arrive at such situation. [17:31] karni, don't know which client version are you looking at, but right now each command takes care of this [17:32] facundobatista: unleash-6 [17:32] karni, two uploads for the same node? [17:32] facundobatista: any situation where uniqueness is necessary. [17:32] karni, change a file, an Upload is queued, before it's finishes, change it again, the second Upload should cancel the first one [17:32] does it happen that SD want's to upload twice at the same time to the same node? [17:33] facundobatista: perfect! thanks buddy :):) [17:33] karni, :) [17:34] facundobatista: we told you uniqueness was a confusing name for that :-) [17:36] ralsina: it's not the name actually. I thought it should be well defined and not arrive at such situations - I can now see, that it (SD) can. Thus, the uniqueness :) [17:37] ralsina, ^ :p [17:47] I am feeling really sick (stomach pain). I think I'll go to the doctor now. [17:48] I will probably be back in a couple of hours, and may work some more, so feel free to ask for reviews, etc, I will check it [17:50] ralsina: Wish you get better === ralsina is now known as ralsina_doctor [18:02] too much asado [18:57] joshuahoover, ralsina_doctor said you wanted a screenshot of the new control panel with the "subscribed cloud folders" tab [18:57] alecu: i think i've got what i need now, thanks! [18:57] joshuahoover, I see that the nightlies have a controlpanel that shows the UDFs, but no shares yet.... [18:57] alecu: yeah, i saw that too... [18:58] nessita: are you still working on selecting shares to sync in the control panel? [18:59] joshuahoover: yes [18:59] nessita: ah, ok :) [18:59] joshuahoover: what do you need? [18:59] * nessita provides [19:00] nessita: nothing...was just curious about that feature...was getting a screenshot for the monthly report and would be cool if select shares was in there but it's not quite ready yet :) [19:00] joshuahoover: no, not yet. SYncdaemon has given me quite some headaches :-) [19:00] but is closer! [19:01] nessita: good (well not about the headaches) [20:16] facundobatista: in MakeThing(ACQ) in _run(): there's a call to maker = getattr(self.action_queue.client, self.client_method), and then the maker is used return maker(self.share_id, self.parent_id, self.name). [20:16] facundobatista: how do you know if it's supposed to make a new node (file) or a directory? [20:16] facundobatista: I'm asking, because I've got 2 methods in verteroks JAva source, makeFile and makeDir -- so I'm wondering which should I call in MakeThing ;] [20:18] facundobatista: ah! nvm forget my question :) [20:18] facundobatista: sorry to bother, I've got it. [20:45] karni, I'm back, sorry, was in a call [20:45] facundobatista: no problem :) I found my answer [20:45] karni, ok :) [21:07] The python client has list_shares() and list_volumes() separate implementation - I suppose it's just an implementation thing, right? (getVolumes() in u1-java-sp returns just all) [21:07] verterok: ↑ [21:07] karni: no, list shares is a different thing [21:08] karni: I think you can safely ignore it [21:08] verterok: but we do get shares in the getVolumes call (type .SHARE), no? [21:08] karni: yes [21:08] verterok: interesting. what's list_shares then ^ ^? [21:08] karni: but there is also a getShares() :) [21:08] oh! [21:08] :> [21:08] * karni chuckles [21:08] karni: a list of non-accepted shares to you, and the shares shared by you [21:09] verterok: perfect! I'm then far from ignoring it. I'll need that :) [21:09] karni: regarding makeThing, the implementation of MakrFile and MakeDir is actually MakeThing :) [21:09] verterok: ;D [21:09] karni: kind of [21:10] karni: the list of non-accepted shares to you only include the shares offered using the protocol, which no one use [21:10] verterok: it was only few line of code duplicaiton, so I've let myself create two AQCommands, not extending a common MakeThing [21:10] karni: because you need the username [21:10] verterok: aha [21:11] karni: and now (with sso) the username is some ugly url [21:11] verterok: right.. true :< [21:11] karni: so, consider the non-accepted shares deprecated/old stuff [21:11] karni: currently all the shares offer/accept is done via web [21:12] verterok: ok. I do know however I extract the share owner names from stuff returned by getVolumes, so it's good [21:12] verterok: I see. So I'll probably play with some REST then, too. [21:12] verterok: thanks :) [21:12] np [21:15] verterok: ah. if you could have just a short glance at PM I've sent you, I would really appreciate. [21:16] * verterok looks [21:17] karni: think of the yield+deferreds as a way to inline the callbacks (the method is decorated with @defer.inlineCallbacks ;)) [21:17] verterok: yes, I've noticed that ;) [21:18] karni: so, what "yield self.deferred" does is something like pausing the flow until the deferred result is available [21:18] so whenever there's yield, a deferred is inlined -- is that returned at the same time? [21:18] karni: the result of the deferred is discarded in this case [21:18] verterok: so it _is_ like blocking (not really, but resebmles) [21:19] karni: it helps to make the code simpler [21:19] karni: becuase it looks like regulard blocking code [21:19] *regular [21:19] verterok: but it's not.. o_O [21:19] exactly [21:20] verterok: this is seriously Twisted ;d [21:20] haha [21:20] verterok: thanks. I don't think you can explain that better :) [21:20] hehe [21:20] karni: I'm sure there is a better way to explain it...that's the way I can :) [21:20] dobey: :) [21:20] verterok: I appreciate :) [21:23] verterok: what I wanted to add to your question if I was writing the SD in Java - I think that having relatively similar SD on Android, we'll be able to use less or more of it's potential when we want, depending if it's a phone/tablet/misc [21:24] verterok: so instead of continuing to come up with my own way to the sync stuff, I thought I would go for it and try to implement the SD as it is. at least some parts of it. [21:24] karni: sure, but I was thinking that maybe is too much :) [21:24] verterok: that's also possible hehehe [21:25] karni: IMHO, you should pick/steal the features/design you need/like from SD, and build from there [21:25] verterok: there are moments when I'm testing faith in myself (the core of ACQ with those inline deferreds is the worst part since ever I think) [21:25] verterok: uhm :) [21:26] verterok: I think once I have the ACQ - I'm basically there. if anything is to heavyweight - I'll strip that. [21:26] karni: the components layout is good IMO, having the networks stuff isolated in ActionQueue, sync logic in a separate compoent, etc [21:26] verterok: can't agree more. I like that, too. [21:26] karni: what I don't really like about SD/u1-sp is that we have a lot of duplication [21:27] verterok: uhm.. [21:27] karni: mostly in the network/protocol stuff [21:28] verterok: right. I also didn't want to reach to low (although I happend sometimes, and I will, because I want to implement trottling at some point) [21:28] karni: e.g: the python storage protocol have Volume classes (share, udf, etc), and we have a separate Volume class hierarchy (share, udf, etc) in syncdaemon [21:28] verterok: and focus on the app itself - but sometimes that wasn't possible - like now, with SD. much flesh. [21:28] karni: same happens with the commands/requests [21:28] verterok: aha.. [21:28] but it's just my opinion :) [21:28] verterok: indeed sounds like some duplication [21:29] if I have to write the thing from scratch I'ld probably allow highly coupling between ActionQueue and the protocol [21:30] verterok: I'll be happy to help / keep a close eye on that [21:30] karni: it will probably have a different set of problems :) [21:30] karni: good luck!, need to go afk for a while [21:31] verterok: I'm aware it will be too low level high tech for me ;) [21:31] verterok: ok, thanks! bye bye [21:31] we'll use Java Future then, too ;) [21:31] sure! hehe [21:31] It wouldn't be too low level if the dang thing was well documented ;D (the protocol) [21:32] ok, will code a bit more now. [21:33] karni: got it...will write some docs sometime [21:34] verterok: it's not your fault. I mean the really low stuff, like packing bytes etc [21:34] karni: ahh, that's my fault too ;) [21:34] hehe [21:34] verterok: ;D [21:34] verterok: you my best man verterok, anyway :)! [22:36] beuno: I got a little stuck with one Twisted method of ActionQueueCommand - so instead of blocking work, I implemented 7 commands. will get back to AQC tomorrow. [22:36] It's been nearly half a day, so I'm EODing. Have a great evening everybody. [22:37] That was a good day :) [22:41] later [22:48] karni, sounds great [23:09] beuno: my next TODO is complete the AQC (the tricky one), implement Upload and Download commands (I've got unlink, makefile, makedir, getdelta, listvolumes, etc), and integrate. [23:14] "When you debug a platform, you sometimes have to understand what apps do. It can be very scary." -- romain guy :D (the guy from Android team) [23:37] heh [23:42] * karni was reading Twisted docs but seems it's time to get some sleep [23:42] good night guys \o