=== mandel_afaik is now known as mandel === jussi01_ is now known as jussi [07:21] morning all! [07:22] mandel: morning! [08:16] Good morning! [08:36] nhaines, morning :) [09:05] hi everyone [09:13] gatox, buenas1 [09:13] mandel, como va eso? :P [09:26] gatox, bien? no se que me pasa en la cabeza ultimamente... [09:26] debe de ser la temeratura [09:26] mandel, esta haciendo calor? [10:14] gatox, can you take a look at the following: https://code.launchpad.net/~mandel/ubuntuone-client/add-method-name/+merge/73400 [10:14] mandel, yep, on it [10:22] gatox, thx! [10:22] mandel, i've left you a comment with a Need Information [10:22] gatox, how do you fill doing a review on a fs related branch? is a really easy one? [10:22] gatox, ok, looking [10:22] mandel, shoot! :P [10:23] mandel, the last comment i think that maybe i'm wrong... so is just a need information :P [10:24] mandel, i saw the asserts, but i don't know how that is being made in ubuntuone-client [10:24] gatox, they are being called by the decorator, look at line 96 of the diff :) [10:25] mandel, okkk.... just wanted to know :P [10:25] gatox, I think yours make some sense? I have no problems to add it like that, let me update it :) [10:25] mandel, what about the other comment?? it makes sense? [10:26] gatox, tests? well that is hard.. the assert is tested but I'm not testing that the message of the assert is the one with the method... [10:28] mandel, is it possible to test that? (just asking... i don't want nessita to hit me later :P) [10:32] gatox, yes.. I suppose I can get the AssertError exception and test that the method name is indeed in the message? sigh I'll do it... [10:32] puto [10:32] gatox, as a punishment, take a look at https://code.launchpad.net/~mandel/ubuntuone-client/donot-add-watches-parents/+merge/73648 [10:32] :P [10:33] mandel, jejeje sorry... i'm afraid for my life :P [10:34] * gatox looking.... [10:42] gatox, that one those have tests :) [10:43] mandel, yes, i'm running the test on ubuntuone-client... a +1 is coming! jeje [10:45] gatox, the idea of the branch is very simple (I initially I had a harder implementation) and I blame the headaches for that hehe [10:45] jje [10:45] mandel, i used to have migraines.... but nothing like yours [10:52] gatox, miines are due to a bad circulation system.. I blame my parents ;) [10:53] mandel, +1 on https://code.launchpad.net/~mandel/ubuntuone-client/donot-add-watches-parents/+merge/73648 [10:53] gatox, superb! thx! [10:53] mandel, let me know when i can re-review the other one [10:53] gatox, I'm done adding the tests :) [10:53] gatox, superb! [10:54] :D [10:54] gatox, are you being this nice because I'm going to get your mibile phone? [10:54] hehe [10:54] mandel, crap........you figure it out! [10:54] jejejeje [10:56] morning all [10:56] duanedesign, hi [10:56] mandel, btw, did you receive the phone yet?? feel free to play with it... you are not going to see many devices with meego :P [10:57] * gatox write without thinking... :P [10:58] mandel, have you receive the phone? [10:59] gatox, no, not yet [10:59] gatox, at least no one has called [11:00] mandel, it might take a while... i wonder if meego will be cool [11:01] gatox, I've heard really good things? but who knows... [11:01] mandel, yep... and intel dismiss the project :S [11:05] yes? I recall all the drama hehe [11:06] mandel, yes, a few weeks ago i had a dinner with some people that work at intel and they told me that... [11:06] Holaaaa [11:06] facundobatista, buenas [11:07] facundobatista, morning! [11:08] facundobatista, can I ask you to look at an MP for ubuntuone-client? [11:08] facundobatista, it would be this one: https://code.launchpad.net/~mandel/ubuntuone-client/donot-add-watches-parents/+merge/73648 [11:12] mandel, sure! I'll exchange it with one of my two MP waiting for review... [11:13] facundobatista, sure :) [11:13] facundobatista, shoot! [11:18] mandel, did you update add-method-names branch? so i can take a look at that.... [11:18] mandel, i see it is updated...... reviewing.... [11:20] mandel, +1 [11:20] nessita, hi! [11:20] good morning! [11:20] nessita, holaaaaa [11:20] nessita, are you free for a review? (or 3? :P) [11:21] gatox: I will in 5 minutes! the same 3 from yesterday? :-) [11:21] nessita, yes! those ones [11:22] nessita, ping [11:25] mandel: pong [11:26] nessita, buenos dias! [11:27] nessita, two things, the branhc for the names in the sasserts was pushed and gatox did a review. I added some tests from his review can you take a look? [11:27] mandel: sure! [11:28] nessita, second things, and this is a quick one, looking at https://code.launchpad.net/~mandel/ubuntuone-client/donot-add-watches-parents/+merge/73648 facundobatista and I were wondering if adding a new module in platform was a good idea [11:29] mandel: looking [11:29] nessita, other approaches we though about were simply adding the var in the __init__ of platform (linux/__init__.py and windows/__init__.py) or creating a contants.py with all the diff contants [11:30] nessita, by the way, that is the simplest implementation I could think of.. I did a diff one yesterday but I looked at it and though it was too complicated for what we needed. [11:30] mandel, facundobatista: so, I think this issue needs a different solution, not a constant. I think that the filesystem_monitor should be the one avoiding putting watches in the parents of UDFs [11:31] facundobatista: does fs monitor knows about UDFs? [11:32] nessita, hm.. but the only one adding the watches is the local_rescan, that means we would have to move that logic out of the local_rescan module... [11:32] mandel: no, I mean the following: [11:32] maybe adding it to file_system_monitor but is that wise atm? [11:33] mandel: local rescan implementation does not change, it calls self._add_watches_to_udf_ancestors(volume) as always [11:33] nessita, yes it does, in linux handles it very different than normal watches, in windows it doesn't [11:34] * nessita looks at some code [11:35] ok, I remember onw [11:35] now* [11:36] mandel: so, I think the windows implementation of filesystem_notifications.py needs to be in charge of putting/not putting the real watch [11:37] nessita, uh! and how do you want it that to be done, just look at the watch to be added and asserta that is not added in '~' ? [11:37] facundobatista, mandel: does that make sense to you? [11:37] mandel: no, that layer knows about udfs [11:37] mandel: you need to check you're not putting a watch in a udf's parent [11:37] mandel: you can have a UDF not in home and still you can't put a watch in the parent [11:38] mandel: can you look at _AncestorsINotifyProcessor, in the linux implementation of filesystem_notifications.py? [11:38] nessita, that is done in line 282 of local_rescan_path, at that point the eq does not longer know that we are dealing with a path to a parent of a UDF [11:38] * mandel looks [11:39] mandel: what is local_rescan_path? [11:39] nessita, why you want filesystem_notification to deal with it? [11:39] facundobatista: because is the one that, I think, needs to ensure a given condition regarding watches [11:40] nessita, that is the NotifyProcessor, that reacts to the events, but here we want to add them before [11:40] nessita, so, you want it as a safeguard so nobody will add watches to the parents by mistake? that's the added value in your solution? [11:40] facundobatista: what if later we add another piece of code that adds a watch to a dir? in windows we can't do that blindy, since it can have sever consequences [11:40] I mean, we do not want to add them, which is before that [11:41] facundobatista: the added value is like a plus, I think the "barrier" should be in that layer... [11:41] mandel: right, what I mean is that that module knows about UDFs [11:42] nessita, ok [11:42] facundobatista: you think that having this in local_rescan is conceptually correct? [11:42] facundobatista: I was thinking in all the tests in eq_inotify that tests this as well [11:42] mandel: look at 450 def add_watch(self, dirpath): [11:43] nessita, facundobatista we can tell the FileSystemMonitor.add_watch to not add a watch to ~ [11:43] nessita, which file? [11:43] mandel: the issue is not only with '~' [11:43] mandel: the same one [11:43] (the same file as before) [11:44] mandel: suppose we're creating the UDF C:\User\Test\1\2\3\4\5 [11:44] mandel: the udf is name is '5' [11:44] nessita, ok, we can get the _is_udf_ancestor out of there so that is shared by both platforms and then do not add the watch in the FileSystemMonitor of Windows [11:44] mandel: we should not put a watch in C:\User\Test\1\2\3\4, nor in C:\User\Test\1\2\3, nor int C:\User\Test\1\2, etc [11:45] nessita, ok, got it? I'll make the changes as soon as I walk the dog [11:45] nessita, LR was alway the responsible of adding or not adding the watches [11:45] mandel: wait, let's finish thinking this idea [11:45] facundobatista, sure [11:46] mandel: I m not 100% sure is correct [11:46] nessita, that ^ was for you :P [11:46] but the proposed solution does not convince me either [11:46] nessita, but I understand (and I like) the needing of having a safeguard if adding a bad watch could bring other problems [11:46] facundobatista: you'd do both? (moving the constant somewhere else) [11:47] nessita, which "both"? [11:47] facundobatista: not adding watches in FS monitor and also checking 'watch_ancestors' in local rescan [11:48] I suppose implementing both is not a huge overhead? is a matter of adding some extra tests [11:48] nessita, it's a little redundant... [11:49] nessita, it would be *better*, but there're more urgent stuff to do [11:49] nessita, mandel, in any case, I do not prefer any solution over the other, it's up to you [11:50] mandel: put this branch on hold and let's work on the other solution, if we can we also improve the current one [11:50] * facundobatista -> kid to kinder, bbl [11:50] nessita, so, I'll make a diff branch with the other solution and will propose it, then we can see which is better [11:51] nessita, on the currelty proposed one, shall I move the contstant to linux/__init__.py and windows/__init__.py instead? [11:51] mandel: yes, sounds good [11:51] nessita, ok, I walk the dog and get that done, if I'm faste enough we can talk about it on mumble [11:51] * mandel runs to walk the dog [11:53] nessita, let me know if you have a minute to mumble for the wizard sizes.... [11:53] gatox: I finish a commnet in a MP and I'm free [11:53] nessita, okas [12:01] nessita: mandel just went to walk the dog. you know some about the Windows client, right? I have a simple question for you. [12:01] karni: shoot, let's see [12:01] nessita: I want to allow to pic auto-upload target directory (the one we upload pics to). But the "~" home concept is not known on Windows [12:01] nessita: essentially, it'll either be ~/Ubuntu One/ [12:02] or ~// [12:02] nessita: I'm thinking if I should not show that leading "~/" to users, as it may confuse them [12:02] and show "Ubuntu One/" or "/" instead. [12:03] nessita: I think the latter is more sensible ↑, don't you think? [12:03] karni: so, a couple of things: [12:03] On the other hand, if one day we allow uploading to places other than home, it's limiting. [12:03] karni: wait for the answers!!! :-) [12:03] I'm waiting :) <3 [12:04] * '~' does work on windows, at least from python I can do os.path.expanuser('~') [12:04] * anyways, we should never build the Ubuntu One folder path using ~/Ubuntu One [12:04] not even in linux [12:04] nessita: This talks to files REST API [12:04] nessita: Uhm [12:04] ah, REST api [12:05] karni: I thought you were dealing locally [12:05] nessita: The question is more about representation to the user [12:05] nessita: Sorry, my question wasn't detailed enough, my bad. [12:05] karni: we don't use any REST from windows, so I missed the connection [12:06] gatox: I'm entering mumble [12:06] nessita: Right. The question is only, that Windows user (using the Android app) would have no idea what "~/" is :) [12:06] nessita, can you hear me? [12:06] gatox: yes! [12:07] karni: one sec [12:08] nessita: Take your call first! :) [12:12] nessita: I think it was silly to ask, I should make such decisions on my own :) [12:20] good morning! [12:22] * facundobatista is back [12:22] Hola ralsina [12:23] lisette: ping [12:23] ralsina: hi [12:23] hi lisette [12:24] ralsina: are you super quick or did you not get my email yet? [12:24] I pinged you, then read it ;-) [12:24] haha [12:24] So both! [12:24] The congratulations page with skip setp button: +1 [12:25] The tray icon, I am thinking of the easiest way t do it :-) [12:25] The emblems... we can't now :-( [12:25] ralsina: i thought we couldn´t [12:25] And I need to know where the artwork is for the very last page of the wizard, if you have it handy [12:26] ralsina: that same image again? [12:26] the one with the three icons? Ok [12:26] ralsina: that is all we have for now artwork wise [12:26] ralsina: you got that? [12:26] In the wireframes, it has a square at the left of "Sync in progress". Is that empty space or should something be there? [12:26] lisette: I can copy it from the other page :-) [12:27] ralsina: we could put the arrow icon there? [12:27] sure [12:27] the one pointing down? [12:27] ralsina: same as the status top right [12:27] ralsina: the round one [12:28] lisette ok [12:28] blajk: did you have any specific ideas on the above? [12:30] blajk, cparrino: see above, no win explorer emblem icons possible for this release [12:39] karni: I can follow the conversation now! [12:39] karni: so, you were asking? [12:39] mandel: needs fixing the add_method_name [12:41] nessita: We've decided with beun'o to expose the upload path in form of "Ubuntu One/foobar", "Pictures cloud folder/foo/bar" "another_pic_udf" (without any leading characters) [12:41] nessita: No worries, thanks!! :) [12:42] karni: :-) [12:43] hello #ubuntuone! [12:46] hi alecu! [12:49] hola alecu [12:49] alecu, nessita, gatox, mandel: standup in 10' [12:49] ralsina, ack [12:54] ok [13:00] me [13:00] me [13:00] me [13:00] me [13:00] gatox: where did you take the 300 minimum for lineedit sizes? [13:00] gatox: was that given by design? [13:01] ralsina: standup? [13:01] nessita, nop..... but the size of the labels use when it was design [13:01] me [13:01] alecu go [13:01] DONE: Found the root cause of the multiple ipc connections, started working on a branch to fix this [13:01] TODO: work on ipc fixing branch [13:01] BLOCKED: no [13:01] NEXT! nessita [13:01] DONE: landed fix for bug #834900, reviews, started branch for bug #814113, talked about proxy branch submitted by a contributor [13:01] TODO: finish sign url branch, tons of reviews, talk with gatox re: wizard size [13:01] BLOCKED: no [13:01] NEXT: gatox [13:01] 300 is the width of the recaptcha, I think? [13:01] DONE: [13:01] Fixed some issues in my MP. [13:01] TODO: [13:01] Keep working on Wizard Size. [13:01] BLOCKED: [13:01] No. [13:01] mandel, go [13:01] DONE: Added tests and fixe branch: https://code.launchpad.net/~mandel/ubuntuone-client/add-method-name/+merge/73400. Proposed an MP with a fix for 806532 but after talk with nessita will propose a second branch with a diff type of fix. We should be able to talk about it in the mumble call. [13:01] TODO: Provide second implementation to fix bug 806532 [13:01] BLOCKED: no [13:01] COMMENTS: Will be away at my 5 pm for some time due to people visiting the house :( [13:01] ralsina, go [13:01] DONE: release, some IRL testing, debugged/fixed the handoff bug cristian had, worked on syncdaemon autostart, had kid at home. TODO: fix last page of the wizard, fix congrats page, finish autostart, release, reviews. BLOCKED: nope [13:02] gatox: can you please run by lisette if 300 is a good width for this? (in the reset password screen) [13:02] nessita, ok [13:02] lisette, ping [13:03] Hey, official UDS list in the mail! [13:04] comments anyone? [13:04] ralsina, already gave mine [13:04] comments! [13:04] I'll be 15 mins of.. hopefully they don't like the house ;) [13:04] alecu: shoot [13:04] nessita, facundobatista: when you have some bit of time, please finish the review of https://code.launchpad.net/~alecu/ubuntuone-client/hash-bash-dash-rash/+merge/73540 [13:05] alecu: yessir! [13:05] I have one: people, don't flood nessita with reviews. She's not *required* to review everything, and I am sure she would prefer to do some coding of her own :-) [13:05] ouch [13:05] ralsina, oh.. but it is sooo much better to have the nessita stamp on things [13:05] alecu: not meant for this specific case :-) [13:05] is like a 'make in the USA' thins ;) [13:05] ralsina, I know :-) [13:05] ralsina: I have an idea for that, that we can talk in the mumble [13:05] mandel, "mike wasowski, you have not filled in your paperwork yesterday!" [13:06] ein? [13:06] alecu, I dont understand and food is getting cold, will me back in few mins [13:06] nessita: cool [13:06] ralsina: but bottom line is I really like doing reviews because I'm more confident that we're moving in the rigth direction given the time constraints we have [13:06] gatox: hi [13:06] alecu, can I exchange that for reviews to my client branches? [13:06] (one of them, of course) [13:06] nessita: if it's fine for you, it's fine for me! [13:07] mandel, http://www.pixar.com/featurefilms/inc/chars_pop7.html [13:07] facundobatista, sure, point me at it. [13:07] ralsina: is like we can't afford "meter la pata" [13:07] nessita: yep [13:08] nessita: then again, turning you into a reviews-only person feels like a waste. We should all raise our level at reviewing. But agreed that time constraints are a problem. [13:08] ralsina: agreed on both, let's use 5-10 minutes today to talk about this [13:08] nessita: cool [13:08] lisette, hi!! can you tell me if the width for the notification area besides the line edits its ok, or could that be smaller??...... i'm sending you the screenshot in pm [13:15] gatox: comment added to https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/reset-password-page/+merge/73522 [13:16] nessita, ok [13:22] gatox: in close-on-license, there is no need to import from ubuntuone_installer.tests import TestCase and use that, since BaseTestCase already inherits from it [13:23] nessita, i'll try again...... but when i was extending from BaseTestCase i had some problems using _set_called....... weird [13:23] gatox: let me confirm [13:24] _set_called is defined in TestCase, not BaseTestCase [13:25] ralsina: yes, but BaseTestCase inherits from TestCase [13:25] so _set_called is inherited [13:26] class TestCase(BaseTestCase): [13:26] at least in my copy, no it doesn't :-) [13:26] 52 class BaseTestCase(TestCase): [13:26] what are we playing? :-D [13:26] ok, let me confirm [13:26] nessita: there are two TestCase classes [13:27] from ubuntuone.devtools.testcase import TestCase as BaseTestCase [13:27] FUN! [13:27] _set_called is defined in ubuntuone_installer.tests.TestCase [13:27] and BaseTestCase in ubuntuone_installer/gui/qt/tests, inherits from that one [13:27] exactly [13:28] which is the one gatox is using? or not, that may be the problem, let's see! [13:28] from ubuntuone_installer.gui.qt.tests import BaseTestCase [13:28] seems ok to me [13:28] yep, to me too [13:28] nessita, ok, i'll use thatone [13:28] that one* [13:28] gatox: confirmed you don't need to change the import clause nor the testcase parent [13:29] (already is class UninstallerTestCase(BaseTestCase)) [13:30] nessita, so the branch is ok? [13:31] gatox: your latest changes regarding this (adding from ubuntuone_installer.tests import TestCase and inheritng from TestCase) should be reverted [13:31] nessita, ahhhhhhh ok [13:32] gatox: and I added 2 more fixes in the MP, since addCleanup is not being used correctly [13:32] nessita, ok..... i had issues with that too trying to use it as it was in the comments [13:32] gatox: which issues? [13:33] nessita, when i tried to use it like this: self.addCleanup(setattr, sys, 'frozen', frozen) it fails [13:33] nessita, or like this: self.addCleanup(del, sys.frozen) [13:34] gatox: the del may fail, but what was the error with the first one? [13:35] nessita, i don't remember right now...... let me do it again, i'll ask you if i have any problem.... [13:35] please [13:36] duanedesign: Could you please try creating a "~/piczzz/foo/bar baz!" cloud folder and see if it appears in your Ubuntu One control panel? [13:36] duanedesign: scratch that, I'm using REST API, you can't reproduce that without a client [13:38] gatox: FYI, this works: http://pastebin.ubuntu.com/679739/ [13:39] nessita, ok, thanks! i'll try that [13:39] :-) [13:42] brb! [13:51] alecu: ping [13:51] alecu: unping [13:53] alecu: ping for real now [13:56] alecu: needs info added to the MP [13:56] * mandel back [13:56] Hello, is there anyway to see how many tcp sessions u1 sync daemon is throwing open? When it's running my router chucks me off and throws a "exceeds the max. number of session per host!" warning :) [13:56] nessita, ping [13:57] mandel: pong [13:57] nessita, the implementation you mentioned using the file_system_monitor, should I add it to the current branch or a new diff one? [13:57] mandel: a diff one [13:57] okis [13:57] nessita, pong [13:58] ha, those of you working on cmd, please press F7 :-) [13:58] nessita, thanks, looking. [13:58] ralsina, ay ay ay! [14:03] alecu: in windows, this test is failing for me (seems unrelated though( [14:03] ) [14:03] File "E:\u1\client\review_hash-bash-dash-rash\tests\syncdaemon\test_localrescan.py", line 625, in test_disc_symlink [14:03] "symlink", symlpath)) [14:03] twisted.trial.unittest.FailTest: None [14:03] seems like local rescan is not ignoring symlinks (???) [14:04] Chipaca, ralsina, mandel, gatox, alecu: shall we mumble-rumble-tumble? [14:05] nessita: in mumble [14:05] going! [14:05] nessita: ... talking with other people [14:05] nessita: ... people cooler than you [14:05] ok, let's wait for chipaca [14:05] Chipaca: madness! [14:05] * nessita waits [14:08] alecu, nessita, mandel, gatox: I would like a review for the simple branch https://code.launchpad.net/~ralsina/ubuntuone-windows-installer/put-in-autostart/+merge/73670 [14:08] simple, yet it took me 4 hours to figure out how to do it (WINDOWS IS FUN) [14:11] nessita: do we have a coding style guide, or should we just follow pep8? [14:12] elopio: we follow pep8 and pep257 for docstrings [14:12] elopio: we also run pep8 and pylint tools to check our code [14:15] nessita: cool. And you mentioned on a review that it was recommended to end every sentence with a period. Are that type of recommendations documented somewhere? [14:15] ralsina: the branch has some valid lint issues, I'm adding those to the MP [14:16] nessita: forgot to push! [14:16] nessita: there, pushed [14:16] ack [14:17] ralsina, 'Software\\Microsoft\\Windows\\CurrentVersion\\Run' should be a constant [14:17] alecu: it's used in exactly one place [14:17] ralsina, it's used on the test too! [14:17] alecu: and then in the test, but if I use a constant and the constant is wrong the test passes :-) [14:18] ralsina: constants can't be tested! we can make a typo in any place (test or live code) [14:18] :-) [14:18] nessita: but not in both (I hope ;-) [14:19] ralsina, also it would look better as a constant so both lines do not exceed 79 chars [14:19] ralsina: right, but constant duplication is very hard to maintain [14:19] alecu: that is a missing push, reload [14:19] ok then, constant it is [14:19] I see now. [14:21] ralsina: I still get this lint error, is it a false positive? [14:21] ubuntuone_installer/gui/qt/utils/windows.py: [14:21] 80: [E0602, add_syncdaemon_to_autostart] Undefined variable 'WindowsError' [14:21] well, you will get that on linux [14:21] I will disable that error [14:21] ralsina, I don't understand why you check for sys.platform == "win32" inside ubuntuone_installer/gui/qt/utils/windows.py [14:21] ralsina: but WindowError is not being imported from anywhere, is it a stdlib thing? [14:22] nessita: yes, it's stdlib but is not there on Linux [14:22] ah [14:22] alecu: forgot to remove that one, thanks [14:23] ralsina, in that case: would it make sense to add syncdaemon to autostart if SD is not run from the frozen .exe? [14:23] ralsina, my guess is "no" [14:23] * mandel hates circular imports! [14:24] alecu: hmmmm yes for the tests ;-) [14:24] ralsina, right. But for the tests we should be patching sys.frozen [14:24] that is not about SD being frozen is about the wizard being frozen. If it's not frozen but is in the path, it will work [14:24] let me rephrase that [14:25] "if the wizard is not frozen, but sd is in the path, it will work" [14:25] but it's a corner case [14:25] ralsina, besides the tests when (hasattr(sys, "frozen") == false) I think we should not be adding it to the registry. [14:26] hmmm [14:26] ok, verified that won't work if it's not an absolute path, so you are right [14:27] perfect [14:28] will fix that, add another test and ping back [14:32] alecu, ralsina, nessita : is there a performance hit if I do an import of a function like this:http://paste.ubuntu.com/679800/ [14:32] nessita, when is it right to use "trace" and when "debug" ? [14:32] I have a circular import that is braking my balls [14:32] mandel: show the the circular import [14:32] mandel, show the balls [14:32] mandel: what you pasted is *ugly*, let's try to solve the root cause [14:33] mandel, there's no serious performance hit except on the first time the module is imported. But it's ugly as a set of braked balls. [14:34] nessita, alecu let me push the branch, one sec [14:37] nessita, alecu the branch is the following: lp:~mandel/ubuntuone-client/filesystem-notifications-donot-add-watches-parents [14:37] nessita, alecu the issue is in ubuntuone/syncdaemon/filesystem_monitor.py when importing path_exists [14:37] I wanted to reuse the loid to get if a path is a udf parent so that is shared between windows and linux, but then it brakes due to the import [14:38] mandel: where did you put the common code? [14:38] nessita, there in ubuntuone/syncdaemon/filesystem_notifications.py sorry I got the wrong file :P [14:38] nessita, it is used from the platform implementations and is the is_udf_ancestor method [14:39] mandel: your editor keeps adding trailing spaces to the empty lines [14:40] mandel: please adjust the settings to strip trailing spaces [14:40] mandel: also, this branch has the local_rescan changes in it, they should not be there (ie do not pipeline it with the former) [14:41] alecu: pushed your suggested changes [14:43] nessita, I've replied to your comments to my branch, and also pushed the "debug" -> "trace" fix. [14:44] nessita, and... when is it right to use "trace" and when "debug" ? [14:44] nessita, why the "trace" when there's "info" ? [14:44] alecu: inside syncdaemon, you can think debug as a regular info and trace as a regular debug [14:44] ralsina, looking [14:44] alecu: trace is lower than debug [14:44] TRACE < DEBUG [14:45] nessita, TRACE < DEBUG < INFO < WARNING? [14:45] alecu: yeap [14:46] trace is meant for "I want to know *everything* that is going on, even including things that are not possibly wrong" [14:46] ralsina: inside syncdaemon the meaning of trace is "I want to follow step by step what is going on". For example, TRACE logs each message of the protocol [14:47] nessita: close enough for me :-) [14:47] ralsina, nessita, alecu can we have the mumble like in 45 mins? I have people coming over to visit the house? bloody landlady did not wait.. [14:48] mandel: ok for me [14:48] mandel, sure [14:48] cool thx! [14:49] nessita, alecu did you manage to take a look at my import issue? [14:49] mandel: I'm looking at it, did you see all my comments? [14:49] facundobatista: poing [14:49] facundobatista: ping* [14:49] facundobatista: any reason why GeneralINotifyProcessor defines rm_watch but no add_watch? [14:50] mandel, I hate import issues. HATE with capitals. [14:50] nessita, which comments? [14:50] mandel: I would like to have GeneralINotifyProcessor define add_watch and call self.monitor.add_watch(is_udf_ancestor=True/False) [14:50] mandel: I said this: [14:50] (11:39:49 AM) nessita: mandel: your editor keeps adding trailing spaces to the empty lines [14:50] (11:40:05 AM) nessita: mandel: please adjust the settings to strip trailing spaces [14:50] (11:40:41 AM) nessita: mandel: also, this branch has the local_rescan changes in it, they should not be there (ie do not pipeline it with the former) [14:51] nessita, is not pipelined AFAIK, it adds changes in the LR tests not in LR itself? let me check [14:51] mandel: the LR changes should not be in this branch [14:51] ralsina, btw: let's discuss the sprint during this meeting [14:51] alecu: sure [14:52] alecu: what do you think about "I would like to have GeneralINotifyProcessor define add_watch and call self.monitor.add_watch(is_udf_ancestor=True/False)"? [14:52] nessita, do not confuse the NotifyProcessor with the FileSysteManager, one contains the callbacks to be executed the other one does not [14:52] mandel: eh? [14:52] mandel: not sure what you meant [14:53] nessita, looking [14:54] nessita, the GeneralINotifyProcessor is the NotifyProcessor that is used by the object that extends a pyinotify.ProcessEvent so it has no reason to have an add_watch [14:54] mandel: why does it have a rm_watch? [14:54] nessita, it is just an object with shared methods used by the general ProcessEvent object used in SyncDaemong [14:55] mandel: why does it have a rm_watch then? [14:55] nessita, I suppose that is legazy because it is using the monitor.rm_watch [14:55] so if we add an add watch, is going to be calling the monitor add_watch? I suppose that code can be cleaned up [14:56] it happens in several places where we have add_watch and rm_watch? which is not nice at all [14:57] mandel: I'm thinking it would be nice to have add_watch in a non-platform location where we can call the platformspecific monitor passing a flag to it [14:57] mumblez? [14:57] est-ce que vous mumblez? [14:57] mandel: can you mumble now? [14:57] or something [14:57] Chipaca: mandel had an issue with people coming over to see his place [14:58] Chipaca: he mentioned in 45' minutes, not sure if that estimate still holds [14:58] wfm [14:59] Chipaca, they are comming in 10 mins in theory? I dont think it wil take too long [14:59] mandel: enjoy [14:59] :-? [15:00] nessita, mandel: I'm not sure if it makes sense to have add_watch be platform independent. [15:01] mandel, alecu: I think we can move the _is_udf_ancestor(self, path) to EventQueue, and in the add_watch that is there, we can pass to self.monitor a flag signaling if path is a udf ancestor or not [15:01] alecu, my main idea was to add is_udf_ancestor as platform independant since that logic is shared, add_watch should be platform dependant [15:01] nessita, mandel: the watches have very different behavior on both platforms [15:01] alecu: of course, maybe I was not clear but I was not proposing that [15:01] nessita, oh, in event_q sound better :) [15:01] mandel, is_udf_ancestor makes no sense on windows [15:02] mandel, the windows monitor has no need for it [15:02] alecu: why not? we need that concept to avoid adding watches [15:02] alecu: yes, in windows the monitor has to *avoid* adding watches to udf parents [15:02] alecu, well, I had a diff implementation to solve the issue here: https://code.launchpad.net/~mandel/ubuntuone-client/donot-add-watches-parents/+merge/73648 [15:02] alecu, and then she convinced me with that ^ [15:02] mandel: I thought we agreed that implementation was ok but error prone [15:03] nessita, yes, I'm trying to get alecu to know the full story :) [15:03] nessita, so, getting back to event_q.. I think is a good idea, but do we know that all add_watch calls are done through event_q and NO ONE goes to the monitor directly [15:03] I'm not certain about that [15:04] mandel: no one should call monitor directly [15:05] mandel, that makes sense to me: _add_watches_to_udf_ancestors should be a no-op in windows [15:05] mandel, your branch seems like what I was proposing [15:05] mandel, nessita: I don't understand what's wrong with that. [15:06] alecu: what's wrong is to put the change inside local_rescan [15:06] to put the "solution" I meant [15:06] alecu: we need to ensure in lower layers that we *never* add a watch to a udf parent [15:07] alecu: because in windows it can have serious 'consequences' when running and monitoring the whole home, for example [15:08] nessita, let me rephrase that: "we need to ensure that we are not watching a parent of the folder where the logs are stored" [15:09] nessita, no idea, mandel did that separation of classes months ago [15:09] nessita, I think that it's not good to call a function to add watches to a parent, and then one by one go saying [15:09] alecu: no, no necessarily [15:09] "no you can't put a watch there" [15:09] alecu: I got lost. Wanna mumble? [15:09] .... does it makes sense? [15:09] sure [15:09] mandel, can you mumble till your guests arrive? [15:10] mandel, do you have the martinis ready? [15:10] his guests already arrived according to twitter [15:10] alecu: did you hear me? [15:10] I know pulseaudio likes to do whatever he wants instead of what I want [15:11] nessita, i've applied the changes in this branch: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/close-on-license/+merge/73292 [15:12] alecu: can you hear me? [15:12] nessita, me and john can hear you. [15:12] ok, so I can't hear you [15:13] * nessita restarts mumble [15:14] nessita, is it mumble time? or just you? [15:14] gatox: just me and alecu for now [15:14] nessita, ah ok === gatox is now known as gatox_lunch [15:36] if we don't do our mumble now, I am going to have to leave... [15:37] ralsina: can you poke mandel somehow? [15:37] nessita: just by twitter. [15:37] nessita: alternative, we all go have breakfast and we have it in 90 minutes [15:37] oops, lunch [15:39] nessita, I'm back [15:39] sorry [15:39] ok, mumble? [15:39] ralsina: ^ [15:39] argh, gatox is having lunch [15:39] alecu, sorry, people arrived to early, but I'm free after the mumble [15:40] alecu, but I think there is a better way to do all this [15:41] alecu, mandel, chipaca, nessita: is mumble in 79 minutes too late? [15:41] ralsina: i'm not going to be here, but drop me an email [15:42] I promise it won't be more than 30 minutes [15:42] ralsina, pffff.. when is that? let me calculate [15:42] Chipaca: ack [15:42] i'll be back later with insomnia, and read it then [15:42] ralsina: I can, but seems a little late (but is ok for me) [15:42] Chipaca: ok. You know what's the cure for insomnia? [15:42] ralsina: yes [15:42] Chipaca: good! [15:42] ralsina: releasing [15:42] Chipaca: indeed [15:43] Ok then, see you in 77 minutes now. Please re-review https://code.launchpad.net/~ralsina/ubuntuone-windows-installer/put-in-autostart/+merge/73670 if you have 5' [15:46] Ah, just realized I dropped off this channel. [15:55] ralsina, you can even use F7 inside a python prompt! === beuno is now known as beuno-lunch === gatox_lunch is now known as gatox [16:25] lunchtime!!! [16:37] alecu: hashdashrashbash approved by me, not sure if facundobatista is gonna finish the review [16:38] nessita, yes I will, but not wihout testing it with the server tests [16:39] alecu, btw, did you tested it IRL? [16:40] facundobatista, I tested it IRL, but did not run the server tests [16:42] alecu, I know, because they're broken :) [16:42] alecu, nessita removed the LOGFOLDER attribute and was used by u1sync [16:43] alecu, and I removed the has_watch in EQ [16:43] alecu, but I'm fixing all that [16:44] alecu, if you want to help... https://code.launchpad.net/~facundo/u1sync/fix-log-folder/+merge/73661 [16:45] facundobatista, looking [16:48] facundobatista, how many approves do you need in that branch? === beuno-lunch is now known as beuno [16:56] __lucio__: we have just released an update that should lower amount of GETs to the pictures cloud folder from Android files app. In the following days, users should (hopefully ;)) be updating their app. [16:57] <__lucio__> karni, awesome, ill be in a sprint next week, we should redo our stats after that to see of any changes. please remind me about it then. [16:59] __lucio__: awesome, thanks :) [17:00] facundobatista, ping [17:02] alecu, pong [17:02] mumble time!!! [17:02] (I think( [17:02] )) [17:02] facundobatista, regarding the branch that ignores events for non-suscribed folders [17:02] facundobatista, what about when those events should be handled by local-rescan? [17:03] facundobatista, is it right to ignore those events there, if they come from a folder that's a parent of the udf? [17:03] ralsina: is it mumble time? [17:04] nessita, it seems it is [17:07] mandel: you hearing me in mumble? [17:07] nessita, sorry, I was in the loo [17:09] ralsina, gatox: mumble? [17:09] ralsina, gatox: also, can I have a review for https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/sign-urls/+merge/73701? [17:09] ralsina, gatox: also, can I have a review for https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/sign-urls/+merge/73701 ? [17:09] nessita, ok and branch ready: https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/reset-password-page/+merge/73522 [17:09] :P [17:09] alecu, what do you mean "handled by local-rescan"? [17:10] alecu, events from udf parents don't reach Sync (at least in linux) [17:11] gatox: I just noticed a forgot a push, I just did it [17:11] facundobatista, oh, I see: I'm mixing FS_FILE_CREATE and friends with the pyinotify events... [17:11] gatox: Pushed up to revision 212 [17:11] nessita, ok [17:11] facundobatista, nevermind [17:14] gatox: I still have the lint issues: [17:14] ubuntu_sso/qt/tests/test_reset_password.py: [17:14] 81: [W0212, SetupAccountTestCase.test_focus_changed_1] Access to a protected member _called of a client class [17:15] sorry I am so late, tramites complicados [17:25] gatox: added comment on https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/close-on-license/+merge/73292 [17:32] nessita, +1 to your branch! [17:33] thanks! [17:43] nessita, i've answered your comment on my branch: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/close-on-license/+merge/73292 [17:55] gatox: commented back [18:11] nessita, it works! :D [18:12] :-D [18:13] ralsina: did you got my review request? [18:13] nessita: reading it right now [18:14] thanks [18:14] nessita, so now that branch should be ready [18:14] gatox: looking! [18:16] nessita: not a big problem, but I prefer using urljoin instead of adding strings to build URLs [18:16] nessita: I say not a big prblem because in these cases it should be the same thing [18:17] ralsina: which line? sorry, I'm a bit lost [18:17] line 357 for example [18:17] and 444 [18:20] nessita: +1, that's just a very very very minor nitpick and it works great [18:24] gatox: this is not needed! :-) [18:24] def setUp(self): [18:24] super(UninstallerTestCase, self).setUp() [18:25] nessita, ohhhhhhh my bad......... i forgot to delete that [18:25] is ok [18:26] gatox: approved! [18:26] thanks [18:26] nessita, i've just uploaded the change [18:27] great [18:27] EOD!! see you tomorrow.... send me an e-mail if you need a revision or something [18:27] bye [18:29] bye gatox [18:31] ralsina: so, shall I change the test url to use urljoin? [18:31] nessita: no, approved as it is [18:32] great!!! [18:34] ralsina, gatox: I'll start working on bug #807021 now [18:34] damn hal [18:34] nessita: ok, that is important === zyga is now known as zyga-afk [19:18] alecu, nessita: want to take a look at the proof-of-concept systray thingy? https://code.launchpad.net/~ralsina/ubuntuone-control-panel/with-systray/+merge/73712 [19:19] ralsina: uh, I owe you a review [19:19] nessita: yes, but if you want to do it tomorrow early it's ok too [19:19] ralsina: can I have the link again? I'll start tomorrow with the new review-schedule [19:19] of course [19:19] nessita: https://code.launchpad.net/~ralsina/ubuntuone-windows-installer/put-in-autostart [19:21] ralsina, looks nice, but I think that running without --minimized should put the icon in the tray as well as opening the window. [19:21] alecu: not until we have unique application support :-) [19:23] oh, right. [19:28] * nessita is running this in linux to see what is seen [19:29] oh, missing file! [19:29] alert=options.alert, minimized=options.minimized) [19:29] TypeError: main() got an unexpected keyword argument 'minimized' [19:29] ah, this is not working on linux! boo! :-) [19:29] nessita: have not even looked at the linux side ;-) [19:29] ralsina: but this is multiplatform [19:30] no? [19:30] the systray I mean [19:30] main is separate into two [19:30] but yes the systray is common. Starting it is not [19:30] but it's trivial to add. Give me 2' ;-) [19:30] please! [19:32] nessita: you can now pull linux support (untested) [19:32] nice [19:32] It took 1:56 so it was 4" early, too [19:35] hey all \o [19:37] HEY THAT LOOKS LIKE AN INDICATOR! [19:37] ? [19:37] o.O ninja skillz [19:37] ralsina: that works! [19:37] nice to see u1ms working smoothly :) [19:37] I am *shocked* :-D [19:38] Hello HazRPG [19:38] ralsina: hey [19:38] ralsina: nice! [19:38] * ralsina adds to his DONE: "implemented indicator" ;-) [19:38] the icon does look like crap, though [19:39] right [19:39] but that's lisette's problem [19:43] ralsina, not for the following 3 weeks! [19:46] alecu: 3?!?! [19:46] so, alecu, nessita: what do you think? I spend an hour or two polishing this, adding tests and try to merge it? [19:46] nessita: yes, she's coming back the 22 [19:46] ralsina: go for it [19:46] OTOH, andrews is staying until end of september [19:47] ralsina: did you finish the "log properly" (ie not to stdout) fix? [19:47] nessita: no [19:47] I am procrastinating that one for some reason [19:47] ralsina: ok, I would say finish that one first and then polish this one :-) [19:47] So. I'll do it first before it rots, yes [19:48] nessita: anyway, the changes for the tray icon are not invasive, which is good [19:48] absolutely good news [20:29] ralsina: question [20:29] nessita: shoot [20:30] ralsina: are we addding to autostart without asking? utils.add_syncdaemon_to_autostart() [20:30] I mean, without offering a checkbox? [20:30] nessita: yes, but only if the installer goes all the way to the end [20:30] I don't want it in autorstart (yet( [20:30] ) [20:30] it will mess up with our "live" runs, no? [20:30] since the user will never again see the installer, that may be tricky [20:30] not sure what that means :-) [20:31] ok, let's start again [20:31] sorry, I'm a bit lost [20:31] yes, pelase [20:31] you mean you don't want it merged yet? [20:31] please* [20:31] ralsina: no, I mean that I would like the wizard to call add_syncdaemon_to_autostart only if I checked a checkbox in the last oage [20:31] like "[ ] add to autostart" [20:31] so I can not click it while testing this IRL [20:32] nessita: the problem with that is that since the user will never again see the wizard, he can never again add it to autostart [20:32] ralsina, ping [20:32] alecu: pong [20:32] ralsina, can you help me IRL test this branch? https://code.launchpad.net/~alecu/ubuntuone-client/cleanup-emit-signals [20:32] nessita: just don't reach the final page of the wizard for the time being ;-) [20:32] ralsina: but isn't that the same behavior as other apps? [20:32] ralsina, I've not proposed it yet because I have not run the full test suites yet on both platforms. [20:32] ralsina, but I think you'll love it. [20:33] nessita: also, after I have the systray, I will not add syncdaemon, but control-panel :-) [20:33] ralsina: we should have the option in the controlpanel to add to autostart [20:33] alecu: yay! [20:33] how are we handling this on linux? [20:33] ralsina, I'm leaving the tests running, and heading for kinder [20:33] alecu: go, I will IRL it [20:33] * alecu will be back laters [20:34] ralsina: ok, let's leave it as is for now [20:34] ralsina: other question: any reason to have this registry = None at class level? [20:34] nessita: besides, you can *kill* it [20:34] right [20:34] nessita: lint [20:34] but I could move it to __init__ of course [20:35] ralsina: what message in particular? I'm 99% sure that you can remove it safely [20:35] is defined in setUp, so lint should not complain [20:35] self.registry = FakeRegistry() [20:35] I think a "attribute defined outside __init__" [20:37] ralsina: I removed that and lint did not complain here [20:37] maybe lint version thingy? [20:37] can you please confirm? [20:38] nessita: in 10'. I am testing alecu's brach [20:38] sure [20:41] Now that alecu can't see me: YES THAT BRANCH RULES! :-) [20:46] u1cp feels SOLID with that branch. No delays between pages, no constant error stream [20:53] what a GREAT news! [20:53] ralsina: can you please confirm udf adding is shown in udf list on successs? [20:58] nessita: sadly no [20:58] hum, ok [20:58] ralsina: open a new bug for that [20:58] let me try again, it seems to take a few seconds for the UDF to be created [20:58] ah, ok [21:00] nessita: here's what happened. After a second or two it flashed the overlay, but the UDF was not there. Then I waited a little while, and switching tabs made it appear. [21:06] and once the watch is added to ~ everything grinds to a halt [21:09] right [21:09] ok, we'll re-test once the watch issue is fixed === yofel_ is now known as yofel [21:20] nessita: you were right about the lint problem. Maybe I just guessed it would happen and added it :-) [21:20] :-) [21:32] bye all! === Ubuntubruger5 is now known as AJenbo [21:47] Hi, is the web service down? I can't get to the file managment page (or notes and contacts for that mather) [21:48] All links just redirect to the services page [21:48] It's been like this for a couple of dayes now [21:48] AJenbo, it's not down, no. Remind me what your email address is and I can look into your account [21:50] sendt it as a pm [21:50] AJenbo, should be fixed now [21:50] yep, thanks for the quick action [21:50] What happned? [21:51] there was a bug a while back that left some accounts in a strange state [21:51] when cancelling paid plans [21:52] AJenbo, so I assume you cancelled a plan or it expired? [21:53] Yeah, the mobile package was apropriatly changed to include 20GB :) [21:54] right, makes sense [21:54] sorry about the hiccup there [21:54] it's alright [22:08] ralsina, ping [22:40] so, no ralsina around today. [22:40] or tonight, that is. [23:26] ralsina, still around? [23:45] alecu: here! [23:46] the branch you showed me is a big improvement!