[02:27] are playlists still broken on android? [02:37] tntc: i am not sure. Most the people who could help answer that are not on right now === m_conley_away is now known as m_conley === m_conley is now known as m_conley_away === m_conley_away is now known as m_conley === m_conley is now known as m_conley_away [03:18] hey can someone help me i cannot paste pictures into my ubuntu one folder why when i try to move them over from another folder they say permission denied [03:20] that is odd [03:20] Tbruff13: is the folder you are moving from in your HOme directory? [03:21] it is my Home [03:23] if i am root it works hey how long after they are in ubuntu one folder does it take to put them online [03:34] Tbruff13: sounds like their is a permission issue [03:35] Tbruff13: i would run the Terminal commands: ls -la ~/Ubuntu\ One [03:35] and run the same command on the folder that has the pictures [03:36] should look like: [03:36] -rw-r--r-- 1 duanedesign duanedesign 77789 2010-08-02 11:17 ubuntu_reference.pdf [03:36] with your username [03:36] duanedesign, i am ok [03:37] Tbruff13: the files should start syncing right away. How long it takes after it starts depends on size and nmber of files [03:40] drwxrwxr-x 2 lindseyjacks lindseyjacks 4096 2011-08-03 15:08 . [03:40] drwxr-xr-x 35 lindseyjacks lindseyjacks 12288 2011-08-04 22:05 .. [03:40] lrwxrwxrwx 1 lindseyjacks lindseyjacks 48 2011-08-03 15:08 Shared With Me -> [03:40] i am on my friends laptop [03:42] hey duanedesign i have an idea be back [03:57] that folder looks good. Must be the other folder [07:20] Anyone know where I can find the logs for the windows client? [08:16] Good morning everyone! [08:27] Does anyone know why my UbuntuOne account would be showing that I have 74GB of data sync'd when my local machine (using du) only says I have 64GB of data? [08:50] It's ok, I found it on the FAQ. It's a known issue. [09:20] Hello!1 sorry for the late arrival, internet issues at home :( [09:20] duanedesign: forgot to tell you, wellcom! [09:56] oh welcome back to europe mandel [09:57] fagan: hello, took a while but I'm back [09:57] crazy airplanes... [10:00] mandel: well its argentina even if the flights were all on time it still would have taken nearly a day of travel [10:04] hi mandel [10:04] Morning gatox [10:05] gatox: ha, I wa looking for a diff nickname… you changed it? [10:05] fagan: yeah, but I ended up in an airport over 10 hours… major pain in the ass [10:05] mandel: yeah that sounds bad :/ [10:05] I would just go drinking or shopping or something [10:06] gatox: do you know what is the problem with the RO shares? I saw a mail thread about it but I have no idea of what is going on [10:07] fagan: yeah.. but I had not much money or energy to do anything [10:07] mandel, me neither.... :S [10:08] mandel, are you talking about roberto last night e-mail? [10:16] Wow I really dont have any look with Ubuntu on my computers at the moment [10:16] ubiquity keeps crashing on the only disk I have in the house [10:17] Might go down to buy a usb stick so I can install it [10:17] Actually I will be back in a few minutes [10:24] * mandel back1 [10:24] mandel: no you're not, we can't read what you type [10:27] Chipaca: you cannot? [10:27] really :P [10:28] Chipaca: on question, do you know what is the bug that nessita has regarding RO shares? [10:29] mandel: not beyond what was in the email [10:29] mandel: so i can't answer your questions from your email, either [10:31] Chipaca: :( [10:32] Chipaca: 'cause we might be trying to do more than we need, since RO is something we create and no the user [10:35] mandel: yeah, and we ignore file properties anyway, so ... dunno [10:36] Chipaca: I'll wait to talk with nessita, right now we are simply expeculating.. at some point our os layer is going to be bigger than sd itself :( [11:06] Good morning! [11:07] mandel: what's that you replied to alecu about txnamedpipes? Is that an ancient mail that just got sent? [11:10] morning ralsina ill have that result in about half an hour ubiquity kept crashing on the CD I was trying to reinstall from so got a usb stick to try a later version of ubuntu [11:11] fagan: ok [11:11] gotta take the kid to school, will be back in 50 minutes [11:11] ralsina: cool should be ready by the time you get back [11:20] ralsina: is probably and old email since I have not sent anything that I know of... [11:21] ralsina: by the way, what is the problem with the RO shares, is this just because of the test dir not being deleted? [11:23] ralsina: because, if it is that they are looking to the completely wrong direction [11:23] can_wrtie is the issue, no the attr [11:46] mandel, thank you! [11:49] Wow this week went by really fast [11:50] it feels like tuesday [11:56] * fagan really needs to get some lunch but will wait till after standup since I have to go out and get some lunch type food [11:58] My UbuntuOne account is not connecting at all. I get this error >>>'NoneType' object has no attribute 'makefile'<<<. Any help on how to fix this? [11:59] Balaji_TVR: im pretty sure thats in the FAQ ill go grab a link [12:00] Balaji_TVR: are you behind a proxy server? [12:00] https://wiki.ubuntu.com/UbuntuOne/FAQ/WhyDoIGetNoneTypeErrorWhenLoggingIn [12:00] yep [12:00] Balaji_TVR: yeah we dont support proxies yet [12:00] Balaji_TVR: its on the list of things to do but its a complicated feature [12:01] I see. [12:02] Even from home, If is set my connection to "Direct connection" (ie, no proxy), still its not honoring my proxy settings. [12:02] so, without proxy also not working :( [12:03] Sorry, I'm going for some meeting will go thru ur link for more details. Thanks for your input. [12:03] brb [12:05] hello everyone [12:05] hey nessita [12:05] hi fagan! [12:08] nessita, hi [12:08] I completely ballsed up my Ubuntu install [12:08] Lost my VM [12:09] I can set one up pretty fast to test on though since ive done it so many times [12:10] I had an image locally that I had as a backup for my VM but didnt copy it properly :/ [12:13] Ok so ill have my vm up after lunch [12:13] thats not so bad [12:14] fagan: what are you using for virtualization? [12:21] What's the deal with the playlists? Any idea what caused the server error that's preventing some users from syncing? [12:24] tntc: virtual box [12:24] fagan: no snapshots? [12:25] tntc: I had one to use but what happened was I was running into a weird ubiquity bug that stopped the install so I had to do a clean install instead but messed up backing up the files [12:25] yikes! That sucks. [12:25] its cool just a little set back [12:26] I keep bouncing back to windows because my friends want to game, but I really really dislike it. [12:26] I havent heard of any issues with playlists maybe duanedesign can diagnose whats going on [12:27] oh, yeah it's a known outage or something I think [12:27] I just can't save them [12:31] tntc: I dont have a clue [12:31] :/ [12:35] Oh, no biggie! duanedesign is the one to ask? [12:36] tntc: well he could bring it further than I could :) [12:43] nessita: I believe my connectin should be ok now, do you mind getting in mumble a sec to test it? [12:49] mandel: can we do it after the stand up? [12:49] hello #ubuntuone! [12:49] nessita: sure [12:49] nessita, mandel: what are you doing after the standup? [12:50] * alecu needs to run for 30' after the standup [12:50] alecu: mandel wants to try if his mumble works [12:50] nessita: when do we have mumble, is it a .45 after the stand up, right? [12:50] ah, ok. [12:50] alecu: will you make it for the mumble? [12:50] mandel: yes [12:50] mandel: we can do it later if you need [12:50] nessita, I think I will, yes. [12:50] nessita: time is ok for me, I'm more interested in testing the connection, that is all :) [12:51] Ok windows installed and python + pywin32 installed so im ready to test that script I think [12:51] nessita: lets test the connection 10 mins before the mumble, is that ok? [12:52] sure [12:54] alecu: I'm going to ignore the RO issues, yet take a look at this: http://msdn.microsoft.com/en-us/library/aa446637(v=vs.85).aspx [12:54] alecu: take a look at DisplayAccessMask implementation [12:55] mandel, let's see... [12:56] Ok the script is working as expected I think [12:56] Ill pastebin it [12:56] alecu: ideally that is how access and can_write should be working (not at the moment) yet I don't know the tests you guys did wih set_readonly and set_readwrite [12:57] mandel, I tested it from the python prompt [12:57] mandel, first, I imported os_helper [12:57] mandel, then I used with some freshly created files and folders on disk [12:58] mandel, first I tried on the E: drive, but since it was mounted by VBox, it didn't work right (it's like samba) [12:58] mandel, then I tried on the C: drive, that is fat [12:58] mandel, and that's how I got to see the different authorizations that are detailed on the mail [12:58] http://pastebin.ubuntu.com/659275 [12:59] I added in a couple of line breaks to make it more readable but you get the idea [12:59] alecu: ^ [13:00] ralsina: On that script you need to add a import os but other than that its working as expected I think [13:00] me [13:00] me [13:00] alecu: yes, we do not have a roll back to the setting, yet that is a problem with the default setting we use right? why would we want to have a roll back to previous attrs? [13:00] me [13:00] fagan: I need the outputm though [13:00] me [13:00] ralsina: I pastebinned it look above [13:01] me too [13:01] me [13:01] Ill go [13:01] DONE [13:01] * Found and reported a bug in Ubiquity that was blocking me actually testing dir script [13:01] * More of that report (still not done but is complicated so im taking my time on it) [13:01] TODO [13:01] * Finish the report [13:01] * What ever anyone else needs [13:01] Blocked [13:01] * not now [13:01] Oh and tested the script forgot about that [13:01] DONE: [13:01] Installer Page 19 UI complete. New "Sign in or Sing Up" UI style complete. [13:01] TODO: [13:01] Finish Installer Page 18. Fix UI bugs once Page 18 and 19 are complete. [13:01] BLOCKED: [13:01] not yet... :P [13:01] mandel, go [13:02] DONE: Fixed remarks for https://code.launchpad.net/~mandel/ubuntuone-client/fix-file-shelf-windows/+merge/70021 worked on getting fsm pass all tests on windows by skipping old metadata tests. Realized that due to RO issues more tests should be skipped until that is fixed [13:02] TODO: skip tests on test_fsm that depend on ro shares and state the reason. Find a correct working implementation for access and can_write that takes file attr into account. [13:02] BLOCKED: no, but internet seems to suck big time. [13:02] COMMENT: I'll be getting back to the morning report emails on Monday, I just realized I forgot to do it. [13:02] nessita, please! [13:02] DONE: epic branch fixes and finally landed, UI improvements to control panel, reviews [13:02] TODO: more reviews, more UI improvements [13:02] BLOCKED: nopes [13:02] NOTE: I miss the freaky friday :-( [13:02] NEXT: alecu [13:02] DONE: done huge review; worked on bug #820674: branch for review: https://code.launchpad.net/~alecu/ubuntuone-client/fix-add-watch-raceconditions/+merge/70559 [13:02] TODO: review permissions and R/O with mandel, work on new issues with bug #803672 [13:02] BLOCKED: no [13:02] NEXT: ralsina [13:02] Launchpad bug 820674 in ubuntuone-client "The second call to add_watch should return the same deferred that the first returns (affects: 1) (heat: 382)" [Undecided,New] https://launchpad.net/bugs/820674 [13:02] Launchpad bug 803672 in ubuntuone-client (Ubuntu) (and 2 other projects) "Do not start two instances of this process (affects: 2) (heat: 22)" [Undecided,Invalid] https://launchpad.net/bugs/803672 [13:04] ralsina: go? [13:04] me [13:04] dobey: go id say [13:04] fagan: looks nice, thanks! [13:04] gatox go [13:05] ralsina, i already went :P [13:05] ralsina: you have huge lag [13:05] DONE: pushed branches for bug #814686, bug #820945 worked more in bug #809873, calls, IRL testing of latest stuff [13:05] TODO: more IRL tests, merge pending branches, review diego's work, see if I can start on u1cp's bytes/unicode problems, ship build [13:05] Launchpad bug 814686 in ubuntu-sso-client "QT UI: 'Sign in' button can be clicked even if not values were entered, same happens with verification code (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/814686 [13:05] Launchpad bug 820945 in ubuntuone-client "On windows, syncdaemon needs to find the right default config files, and store settings in the right place in the correct location (affects: 1) (heat: 6)" [High,Triaged] https://launchpad.net/bugs/820945 [13:05] Launchpad bug 809873 in ubuntuone-windows-installer "Add a script to create a bundle and installer for all the related software (affects: 1) (heat: 8)" [High,In progress] https://launchpad.net/bugs/809873 [13:05] BLOCKED: no [13:05] λ DONE: finished initial shim work [13:05] λ TODO: releases, packaging, etc [13:05] λ BLCK: None. [13:06] ralsina, nessita about my branches... one of them has 1 approval, and the other is pending... do you think you are going to be able to review that today? [13:06] I first lagged then got dumped out of IRC, thus my weird comment ;-) [13:06] gatox: yes, before lunch [13:06] nessita, awesome [13:06] mandel, you said "roll back to previous attrs", but these are not attrs, these are permissions. aka "access control entries (ACEs)" from the "access control list (ACL)" [13:06] nessita, yes....... i'm annoying [13:06] jeje [13:07] nessita: I have complained to the ISP already :-( [13:07] mandel, and I found they are a bit tricky... :-( [13:07] alecu, nessita, ralsina: can I get a re-review for https://code.launchpad.net/~mandel/ubuntuone-client/fix-file-shelf-windows/+merge/70021 [13:07] alecu: sorry, true permissions for the DACL :P [13:07] alecu: and yes, DACL are terribly hard to understand and map to unix [13:10] gatox: can you please confirm if the test suite for https://code.launchpad.net/~ralsina/ubuntu-sso-client/validate-harder/+merge/70320 is passing for you? if so, ralsina, I'll approve [13:10] nessita, ok [13:11] gatox: is failing miserably for me, but is very likely i my env [13:11] is* [13:11] * gatox testing... [13:12] mandel, to see this problem: open the windows file explorer, create a folder in your homedir, then "right-click, New, Text Document", then right click the file, "properties->security->advanced" [13:13] mandel, then close those dialogs and use os_helper.set_readonly on that file, and check the ACEs again. [13:13] mandel, and finally use os_helper.set_readwrite and check the ACEs [13:14] mandel, the problem would be that the permissions are slightly off. And we should not be hardcoding this permissions, but instead be inheriting them from the parent... [13:14] and changing them slightly when setting read only (but not creating a new set of ACEs, just copying and restricting the existing ones) [13:14] mandel, does this make sense? [13:15] mandel, ralsina, nessita: I'll be out for 30' [13:15] alecu, mandel, nessita, gatox: confirmed os.rename() works different on windows and linux, that makes tritcask fail [13:15] alecu: ack [13:15] ralsina: ouch. different how? [13:15] alecu: we can talk in the mumble about it, I think I understand the issue in an slightly diff way [13:16] on linux it happily overwrites existing files. On windows, that's an exception [13:16] ralsina: mandel is working on doing that [13:16] ralsina: excuse me? [13:16] mandel: right? for the commit_file partila thingy? [13:17] mandel: you said you will tweak the rename to overwrite files [13:17] gatox: approving the ussoc titles branch, it looks great! [13:17] nessita:: OTOH, shutil.move works just fine on both platforms, so it may be a search/replace fix [13:18] ralsina: we're having exception while using shutil,move [13:18] nessita: yes, that is done with the MoveFileEx and is working, the problem we had in the commit_file is that it uses shutil.move in case we are in a diff fs but it will not be our case on winows [13:18] nessita: but tritcask can't use os_helper, right? [13:18] ralsina: the issues is not use shutil.move, which we have to do on linux, but to use it in windows as a rename [13:18] nessita, great [13:19] ralsina: the but is not in tritcask, at leas the one 'm looking at, tritcask is doing a rename of an opened fd which brakes [13:19] mandel: is anyone working on that? [13:19] got to close it and then move it, which I dont know if it brakes tritcasks logic [13:19] mandel: that == not renaming opened files [13:19] nessita: I though verterok was on it, but we might want to remind him [13:19] nessita, about roberto's branch... tests are still running... but it is everything ok by now [13:20] mandel: ok, I'll talk to verterok [13:20] ralsina: can you show me a trace of the rename error you're having? [13:20] verterok: ping [13:20] nessita: yeah, verterok should be your man for tritcask, I know the issue but I would not dare to say how to correctly fix it [13:20] nessita: pong [13:21] verterok: hi there! we're having issues when running syncdaemon in windows since tritcask tries to renames opened files [13:21] mandel: it's in my email from last night [13:21] verterok: mandel mentioned you may have a fix for us [13:21] nessita: if it's the make_immutable call, I'm sure the file it's closed [13:22] ralsina: yeah, that is tritcask, those tests are even failing atm [13:22] nessita: wasn't able to find the problem [13:22] verterok: yes, is in that function. The thing is that we're having this problem: [13:22]   File "ubuntuone\syncdaemon\tritcask.pyc", line 654, in _rotate_and_merge [13:22]   File "ubuntuone\syncdaemon\tritcask.pyc", line 844, in merge [13:22]   File "ubuntuone\syncdaemon\tritcask.pyc", line 390, in make_immutable [13:22] exceptions.WindowsError: [Error 183] Cannot create a file when that file already [13:22]  exists [13:22] oh, that's new [13:22] mandel: exceptions.WindowsError: [Error 183] Cannot create a file when that file already exists. It happens in a os.rename() call :-) [13:22] The line is in File "ubuntuone\syncdaemon\tritcask.pyc", line 390, in make_immutable [13:22] Damn LAG [13:22] nessita: file exists? [13:23] verterok: how can we know? [13:23] nessita, confirmed... all the tests are ok [13:23] ralsina, nessita, mandel: the file shouldn't exist....at least that's the whole idea [13:23] gatox: thanks! [13:24] verterok: a nice way to test that is to get to the point where you close (or believe it was closed) and make the code wait there, then use process explorer to find who has a handle to the file [13:24] mandel: it's being close 1 line before the call to os.rename [13:25] verterok: but maybe close is failing? [13:25] nessita: failing? [13:25] mandel: anyway, this looks like a different issue. [13:25] verterok: yeap, some other is accessing it an can't close it [13:26] nessita: only the tritcask instance is accesing the files...not sure what other means :( [13:26] verterok: me neither, I'm trying to look for options [13:26] nessita: also, each test case run in it's own directory...so it should be a problem of cross test case issues [13:27] verterok: this is not a test issue [13:27] verterok: is IRL [13:27] *shouldn't [13:27] nessita: this problem isn't related to the file not being closed [13:27] nessita: so, we have 2 issues [13:28] nessita: 1) "the file is being used by another process.." (yes, and that process might be myself :p) [13:28] nessita: 2) this issue about os.rename I just know about [13:29] verterok: do we have fixes for 1 and 2? [13:29] verterok: what up with rename? [13:29] that you cannot replace the file? [13:29] mandel: there is a trace in roberto's emails from last inght [13:29] night* [13:29] mandel: no idea...you were talking about that [13:30] nessita: I don't have a fix for anything [13:30] verterok: I was saying that we could not d a reame because the fd is used by another process (or mine :( ) and that is the error [13:30] mandel: did you see the trace? [13:30] nessita: I need find out the reason of 1) (seems that only happens on tests) [13:31] nessita: yes, that i do not see as a big issue, verterok look at http://msdn.microsoft.com/en-us/library/aa365240(v=vs.85).aspx [13:31] that is the way we solve it in os_helper [13:31] mandel: how come is not a big issue since syncdaemon crashes IRL? :-) [13:31] we just have to use the MOVEFILE_REPLACE_EXISTING flag... [13:32] mandel: the file shouldn't exists [13:32] nessita: I mean, is a big issue yet not a hard one to fix, bot me is a big issue if we hav eno idea what to do :) [13:32] verterok: right, so self.temp_name somehow exists [13:32] mandel: it's really bad (tm) to replace an existing tritcask data file [13:32] mandel: we don't have to replace, like verterok is saying [13:32] nessita: are you sure it exists? :) [13:33] verterok: well, that is why I pointed at you for this :) [13:33] verterok: no. We can add a log entry, though [13:33] ralsina: can you reproduce the windowserror issue? [13:34] verterok: assuming the files does exists... any idea how we reached that situation? [13:35] nessita: I bet I can [13:35] vds, I have another 500 Oops-ID if it would help: 2043appserverZJHAICCCIedIbEfIfbFJcAHHaFbfFaGcG207444 [13:35] https://lp-oops.canonical.com/oops.py/?oopsid=ID [13:35] nessita: time travel [13:35] ralsina: before you do [13:35] nessita: really, time travel is the only way to have a duplicate inactive tritcask data file [13:35] ralsina: can you please add a log entry before the rename in the line is failing? something like: in line 389 [13:36] nessita: sure [13:37] what should I log? [13:37] ralsina: logger.info('make_immutable: about to rename %r to %r (dest exists? %r).', self.filename, new_name, os.path.exists(new_name)) [13:37] oh, right [13:37] sure, on it [13:37] verterok: well, it will not be te first time we have a PICNIC [13:37] verterok: or a thread issue [13:38] nessita: tritcask isn't threadsafe [13:38] verterok: when does that code run? [13:38] verterok: only at startup? [13:38] nessita: it's only accesed from fsm and volume manager [13:38] nessita: the merge, yes [13:38] verterok: fsm uses threads for watchs in windows [13:38] verterok: not directly related, I know [13:39] nessita: not fsm [13:39] verterok: filesystem_monitor I mean. You mean filesystem_manager? [13:39] nessita: fsm == fileystem_manager :) [13:39] yes [13:42] verterok, nessita: all process of event occurs in the main thread of the reactor by using callFromThread, so it should be ok [13:42] unless we found an issue with that... [13:43] gatox: why you moved TITLE_STYLE out of alphabetical order? [13:43] gatox: this is the installer titles branch [13:43] mandel: this is only executed at startup...it shouldn't be affected by any threading issues [13:44] gatox: actuall, can you revert all changes to ubuntuone_installer/gui/qt/setup_account.py? I think they are not needed [13:44] verterok: ok, nice, looks ike the only way to know is my logging [13:44] nessita, ok [13:44] verterok: what is the file name policy used by tritcask? [13:45] I hope it has nothing to do with any stupid case of the windows fs... [13:45] gatox: the branch looks good, I'll test IRL and then very likely you have an approve [13:45] mandel: ..tritcask-.data [13:46] mandel: file_id is a timestamp [13:46] mandel, ralsina, Chipaca, alecu, gatox: mumble? [13:46] verterok: can you show me an example? [13:46] mandel: in windows is: str(int(time.clock() + 100000)) [13:46] ups [13:46] mandel: in windows is: str(int(time.clock() * 100000)) [13:46] mandel: you can look in your data dir [13:47] * mandel looks [13:47] mandel: 131177171640160.live.tritcask-v1.data [13:47] mandel: ls .local/share/ubuntuone/syncdaemon/tritcask/ [13:47] mandel: and 131177136785606.inactive.tritcask-v1.data [13:48] ralsina, Chipaca: mumble? [13:49] nessita, changes reverted in setup_account.py [13:49] verterok: I cannot think a case when that happens to be the same... [13:49] gatox: ack [13:49] mandel: yup, that's the idea of the timestamp * 100000 :) [13:50] it should never ever, ever, ever, ever...ever be the same [13:50] verterok: what if the clock in windows is not that accurate? [13:51] nessita: in linux we use time.time() and in windows time.clock() [13:51] verterok: I know. How much we trust time.clock? [13:51] nessita: in 5' [13:51] verterok: I'm trying to seek alternatives... [13:52] nessita: I don't trust in windows, but according to the docs, time.clock should be fine [13:52] verterok, nessita: http://stackoverflow.com/questions/85451/python-time-clock-vs-time-time-accuracy [13:52] verterok: what if the user has the time wrong? [13:52] verterok: does time.time/clock depends on that? [13:53] nessita: yes [13:53] verterok: what if: the user has the time correct, we create tritcask files, the user changes the time to th past, restart syncdaemon [13:53] I know the chances are little, but we can have issues there [13:54] nessita, verterok: https://pastebin.canonical.com/50803/ [13:54] 0? [13:54] WTF? [13:54] yep [13:54] oh, what a nightmare [13:55] verterok: I think we may need to have another algorithm to create filenames, such as use a random number, check filename does not exists, if so pick another random number, etc [13:55] nessita: tritcask use the order of the files [13:56] No, we are just using time.clock wrong [13:56] ralsina: ? [13:56] verterok: ah [13:56] trivial fix [13:56] The first call to clock always returns "almost 0" [13:56] ralsina: please elaborate [13:56] verterok: look http://docs.python.org/library/time.html#time.clock [13:57] ahh, ok [13:57] my fault [13:58] verterok: is there any chance you help us fixing this? [13:58] time.time() works just fine on windows, BTW [13:58] so, it doesn't work for what we need :( [13:58] ralsina: no it doesn't...at least not for the tests [13:58] verterok, ok, we can use clock() and add a random huge integer [13:58] ralsina_: time.time() may return the same number [13:58] twice [13:58] verterok: nah, it does if you are measuring how long the process was running [13:58] verterok: ad if you call it always very early.. [13:59] call time.clock() early, then use time.time()+time.clock() [13:59] ralsina_: I was thinking of that [13:59] ralsina_: mumble now? [13:59] nessita: sure [14:00] verterok: fancy to use http://msdn.microsoft.com/en-us/library/ms724390(v=vs.85).aspx from pywin32? [14:00] BTW: the stalled uploads in the IRL tests? same tritcask error as this one [14:00] verterok: is UTC so no problem with time zones… [14:01] Chipaca: you coming? [14:01] mandel: I'll propose a fix using time module [14:01] verterok: thanks! [14:01] mandel: I'm not going to learn how to use pywin32 extension today :) [14:01] time.time()+time.clock() should be unique, monotonic, and *fast* (2 seconds per second ;-) [14:01] ralsina_: can you please file a bug for verterok? [14:01] verterok: just import and use :) [14:01] and also, work on both OSs [14:01] ralsina: time.clock depends on when you called it [14:01] nessita: of course! [14:04] mandel: yes, but it's always increasing. monotonic+mnotonic == monotonic [14:05] then again, here is a tiny chance i will repeat between runs [14:06] ralsina: estan hablando en mimble? [14:06] * mandel suspects his went a la mierda... [14:07] yes it did [14:12] vertero: bug #821488 [14:13] Launchpad bug 821488 in ubuntuone-client "windows: tricask is using a bad timestamp for unique filenames (affects: 1) (heat: 6)" [Critical,Triaged] https://launchpad.net/bugs/821488 [14:13] ralsina: oh, did I die in mumble again? [14:13] bad internet... [14:15] mandel: GetSystemTime doesn't work for this case [14:17] verterok: no? what about using something in tempfile? [14:17] mandel: it doens't have enough resolution [14:18] verterok: I would need more time to think, so I leave it to you :) === m_conley_away is now known as m_conley [14:20] verterok, why not just use a UUID? [14:21] ralsina_: we need order [14:21] ralsina_: tritcask use the filename to read from old to new [14:21] oh, ok [14:23] verterok, you can take time.time() at startup, and then add clock() to it [14:23] that should be increasing even between sessions [14:24] of course you need a global variable ;-) [14:24] ralsina_: or just an attribute :) [14:24] verterok: of course :-) [14:34] nessita, ralsina, alecu, gatox: I'm of 5 min 'til I find the dog, apparently he likes to walk around scaring the tourists, mainly the german ones... [14:34] mandel, :P [14:34] ze germans! [14:35] mandel, btw: you may have already seen it, but the R/O bug is this: https://bugs.launchpad.net/ubuntuone-client/+bug/820350 [14:35] Launchpad bug 820350 in ubuntuone-client "WIndows: either set_dir_readwrite and/or set_dir_readonly are not doing what they should (affects: 1) (heat: 6)" [High,Triaged] [14:42] alecu: I'm back, shall we take a look at that before I get to my bugs? [14:45] mandel, the read only stuff? [14:46] alecu: si :) [14:47] mandel, I agree with nessita that we should postpone it for next week: it's important, but not critical [14:47] alecu: ok, then I move to my own little branches :) [14:49] alecu, nessita, ralsina: please can you take a look to https://code.launchpad.net/~mandel/ubuntuone-client/fix-file-shelf-windows/+merge/70021 I'd like to know if we will ignore it or not so that I base my branch on trunk or on this one [14:49] mandel: I am tempted to say ignore, but I am not sufficiently familiar with the code, I am just basing it in what I have heard. [14:50] ralsina: look at the diff, there are not many change [14:50] s [14:51] mandel, I have seen them, but I don' t know what they are trying to *do* :-D [14:51] mandel: looking [14:51] ralsina: use the os_helper code :) [14:51] mandel, nessita, ralsina_: https://code.launchpad.net/~verterok/ubuntuone-client/win32-no-more-time_clock/+merge/70580 [14:52] verterok: I take one review!!! [14:52] nessita, mandel: yes, not a single test. I don't have my laptop (with the windows vm) around [14:54] verterok: can you add some tests and volunteer to run them? [14:54] *please* [14:55] nessita: I can't write tests that I can't execute :( [14:55] verterok, I am doing a IRL test in 5' [14:55] and I can run tests for you if you want ;-) [14:55] nessita: I'ld love to write tests, and will do it. but I can't do it today :( [14:56] verterok: when would you be able to add the tests? [14:56] Basically, at least test that the first call is not 0 is enough for the bug we had [14:56] ralsina_: I can add that one [14:57] nessita: as soon I get some stuff out of my todo/work queue [14:57] verterok: tine time.clock() addition in the __init__ is not really needed since if it the first one ever to be executed it will always be 0, or so I understand by this the docs: http://docs.python.org/library/time.html#time.clock [14:57] verterok: that test is what TDD would require. "hey, timestamp returns 0 in every first run", test that is not 0, fix, done. [14:57] mandel: it will not be 0 :) [14:57] ralsina_: clearly I didn't fix it using tdd :) [14:58] verterok: yes, I am talking about faking it ;-) [14:58] ralsina_: I propose the following: let's test this IRL, and if it works, you cna merge it in the installer, but let's wait for the merge into trunk until the tests are added [14:58] verterok: maybe adding it in a diff line and giving a comment like #start clock or something like that :) [15:00] mandel: # start counting from now isn't goof enough? :) [15:01] *good [15:01] mandel: your branch fsm looks good, but can you please restore the removed line at the end of the file ubuntuone/syncdaemon/file_shelf.py [15:01] ralsina_, verterok: I propose the following: let's test this IRL, and if it works, you cna merge it in the installer, but let's wait for the merge into trunk until the tests are added [15:01] nessita: I'll add a test, tdd like [15:02] nessita: I am building the installer now, should have word about it in 5' or so [15:02] verterok: hehe I mean remove the + time.clock() that is all, but just because I had to find something, for me is more than ok [15:03] nessita: sure [15:03] mandel, nessita, ralsina_: test and fixed comment pushed [15:03] verterok: awesome [15:03] verterok: runnin test now [15:03] nessita: there, it haz a test [15:03] verterok: :-) [15:06] verterok: self.assertNotEqual(timer.time(), timer.time()) [15:07] self.assertTrue(int(timer.time()) > int(timer.time())) [15:07] but is not a must :P [15:08] mandel: that will probably fail :) [15:09] mandel: (in linux) [15:10] verterok: @skipIfOS('linux2') but I don't know… as I said, not a must [15:10] verterok: confirmed IRL, filenames are now sane [15:10] ralsina_: cool [15:13] mandel: let me know when you push the line restore so I can run the suite [15:15] alecu: branch looks good! running tests now [15:18] nessita: waiting for the push to finish... [15:24] nessita, mandel: a traceback from testing: https://pastebin.canonical.com/50820/ [15:24] ralsina_: testing what exactly? :-) (I have 3 branches running tests ATM) [15:24] nessita: push is done [15:24] nessita: sorry. From running u1cp IRL [15:25] ralsina_: doing what exactly? is "everything" (sync, sso, etc) running? [15:25] mandel: ack [15:25] alecu: ping [15:25] nessita: yes, everything is running, and it starts saying this hundreds of times and fails to connect to SD [15:25] nessita, pong [15:26] alecu: trunk -> (skips=13, failures=40, errors=146, successes=1982) [15:26] your branch -> (skips=13, failures=40, errors=135, successes=1996) [15:26] YEY! [15:27] :-) [15:27] ralsina_: can you give me details about what "it starts saying this hundreds of times and fails to connect to SD" means? not sure how to help debug otherwise [15:28] nessita: I have SD running, and working, uploading files. If I start u1cp, it just starts printing this over and over, and the UI never displays ay data from SD. [15:28] nessita: sadly, this goes so fast I can' t see the beginning of it [15:28] ralsina_: weird, CP is workign from trunk running everything 'manually' [15:28] ralsina_: 2 things [15:28] actually, 3 [15:28] nessita: ok [15:28] ralsina_: can you kill you evil twin? autocompleiton is killing me :-D [15:29] nessita: talk to either of us, I don' t care ;-) [15:29] ralsina_, can you try running it and capturing the output to some file? it would be useful to have the start of those errors [15:30] alecu: I can try, of course [15:30] ralsina_, and also they'll probably show up as well on .cache/logs/somewhere [15:30] ralsina_: is difficult talk to any of you, both are hard to autocomplete having the other around [15:30] nessita: ok, will kill the other one [15:30] ralsina_: second, yes please, capture output as alecu says [15:31] ralsina_: and third, is your tests using installed stuff or running all manually? [15:31] nessita: installed stuff [15:31] ralsina_, anyway: it looks like on_request_queue_removed is not defined as it should [15:32] alecu: right, but why does this happen using the installed stuff only (apprently)? [15:32] ralsina: seems like a remove method is missing in the ipc of sd on the windows side, would be nice if you check that the method (without remote_) is present.. (I'm on a diff thing right now :P) [15:32] nessita: I don't think it's just with installed stuff. It's also because I am the only one that has a working syncdaemon beyond 5 minutes (because of the timestamp fix) [15:33] ralsina_: I have syncdaemon running all the time since MOnday [15:33] ralsina_: but not from installer [15:33] nessita: it runs. But does it do anything? [15:33] ralsina_: from time to time, yes [15:33] ralsina_: you suggesting that we need to coordinate opening the control panel with some sync stuff? maybe... [15:34] ralsina_: can you reproduce not using installed stuff? [15:35] nessita: not trivial to reproduce that way, because of how I setup things. I am going to try to get better traces and take a short look myself. [15:35] ralsina_, is it perhaps because of the 965 files your syncdaemon still has as pending upload? [15:35] ralsina_, or have you deleted all the metadata? [15:35] alecu: I deleted the metadata, started uploading that again (and seems to be working) [15:36] then tried u1cp, got this. I will try to research a bit better, so I will be away a bit, on the other session. [15:37] ralsina_, so, I'm tracing the "emit_signal" method that's printing this, and it seems to be harmless [15:37] alecu: good. [15:37] ralsina_, the thing is that syncdaemon is not finding that method on the ipc client, and it's just printing this as a warning [15:37] ralsina_, perhaps we should make this a bit more silent [15:37] ralsina_, but it's certainly harmless [15:38] alecu: or implement a dummy so it doesn' t fail ;-) [15:38] _emit_failure() in ipc.py is the errback for this errors, and it's just logging the warnings. [15:38] ralsina_, I'm not sure it makes much sense to implement a dummy [15:38] ralsina_, since these are signals [15:39] ralsina_, and they should be ignored if there's nothing subscribed to them.. [15:39] alecu: it's because it's missing on StatusClient. It's trivial to fix. [15:39] ralsina_, I think we should handle the "NoSuchMethod" exception, and log the rest [15:41] ralsina_, since this will happen for all other signals that are not implemented, I think the sensible thing would be to ignore missing signal handlers [15:41] alecu: ok, makes sense [15:41] alecu: it really makes following problems in u1cp difficult because of the noise [15:42] ralsina_, I'll make a branch to fix this and I'll push it in just a few minutes. [15:42] alecu: awesome [15:44] * alecu loves pluging the monitor in the laptop and it *just working* [15:45] alecu: in linux i'm getting some lint issues [15:45] ./tests/platform/windows/test_filesystem_notifications.py: [15:45] 755: local variable 'd' is assigned to but never used [15:45] 1208: local variable 'd' is assigned to but never used [15:45] alecu: can you fix and let me know? [15:46] nessita, will do [15:48] que grande lint! [15:48] I mean: [15:48] que grande, pyflakes! [15:50] nessita, pushed [15:51] alecu: thanks [15:53] ralsina_, I think that instead of logging the huge stacktrace as a WARNING, we should be just logging a line with the name of the method that was not found in the DEBUG log level. [15:53] ralsina_, would that be too noisy too? [15:53] alecu: it would be a 25x improvement at least :-) [15:54] ralsina_, I think it might help for debugging if an issue like this ever happens backwards [15:54] ralsina_, ok, I'm doing it like that. [15:54] alecu: +1 on that [15:55] confirmed that with the timestamp fix, syncdaemon uploads like a champion. Huge folder tree with a ton of small files in it, uploaded perfect. [15:57] * mandel wants to kill himself due to his connection... [16:02] ralsina_, !!!!!!! [16:02] ralsina_, wowowowo! [16:02] ralsina_: can I ask you to do another test? [16:02] nessita: sure! [16:03] * alecu remembers that "a champion" means "a standard tennis shoe" in .uy [16:03] and shoes do lousy uploads. [16:04] ralsina_: setup 2 clients for the same user, in one do bzr branch lp:ubuntuone-client -> wait for all the uploads and downloads in the other client to finish, run make check in the second client [16:04] nessita: ok [16:04] will try that, brb [16:04] nessita, you sick sadistic you. You can't stand champions, right? [16:05] alecu: :-D [16:05] alecu: you should wait for the next test I have prepared after that :-P [16:05] rotfl [16:06] * ralsina_ is about to write a thingy that creates random folders with random names with random content in it. [16:07] ralsina_: the thing is that we need to compare those random stuff against something to check nothing is corrupt, and using random data is difficult [16:07] nessita: it's actually rather trivial. [16:07] lunch time, bbiab [16:07] ralsina_: yes? please teach me! [16:08] nessita: create the structure, do a os.walk recording pathnames and checksums, wait until upload, stop everything, remove metadata, move everything out of ~/Ubuntu One, start syncdaemon again, wait, run os.walk again, compare them. [16:09] or use two profiles, f course [16:09] ralsina_: that is a good tests, but there is something that we need to test that that doesn't cover [16:09] nessita: it' s called fuzzing, it's meant to test " stuff we didn't think about" :-) [16:10] ralsina_: that syncdaemon acts properly to server notifications, and for that, we need the 2 syncdaemon clients working simultaneously [16:10] nessita: then that same thing using 2 profiles. [16:10] ralsina_: I would like to do that but having 2 syncdaemon working at the same time (2 vms will require, yes) [16:10] nessita: no, just two user profiles in one [16:10] ralsina_: or that, yes :-) [16:10] * ralsina_ creates another user then [16:11] verterok: approving your branch! [16:11] (ran tests in all platforms) [16:12] nessita: cool, thanks [16:21] nessita: I currently have two sessions, one uploading the bzr branch the other downloading... seems to be evolving correctly so far :-) [16:21] ralsina_: that's GREAT news [16:22] and it' s not even making the notebook slow down. f course I have a 4-core i5 ;-) [16:24] mandel: I'm about to approve your file shelf branch [16:25] mandel: when the l;inux make check finish, you get my +1 [16:25] alecu: you got my +1 already [16:26] alecu: while running review tests I found a couple of trivial thing to fix, so, can you please: https://code.launchpad.net/~nataliabidart/ubuntuone-client/bar-baz/+merge/70590 [16:26] alecu: is pretty trivial [16:26] nessita: cool, I'm right now pushing the next with the fix on the commit_partial method, there are some tests that fail on windows due to ro, I'll write the expected failures in the MP [16:26] ralsina_: with that ^ you can try to do an other IRL that will allow to download big files :) [16:26] nessita, will do, thanks [16:27] mandel: will do after I finish the current torture test :-) [16:27] ralsina_, now that the qapplication is back in the windows.py (installer), do you prefer that i moved the stylesheet and font setup from gui.py to windows.py? [16:27] * nessita votes "yes please" [16:27] ralsina_: will ping you, and _nessita when ready [16:27] gatox: yes [16:28] ralsina_, ok! [16:28] nessita, "Author: Alejandro J. Cura " ??? [16:28] gatox: also, I get *occasional* errors about "can't parse the stylesheet" when using binaries. I hae no idea whatsoever about why. [16:28] alecu: with that branch, I get: (skips=13, failures=40, errors=93, successes=2033) [16:28] alecu: yes, is a copy of what you did [16:28] alecu: so you are the author :-D [16:29] ralsina_, do you have any particular example where i can take a look? [16:29] gatox: no. it just happens every once in a while. [16:29] And says exactly that in stderr [16:29] nessita, 135 -> 93... nice! [16:29] ralsina_, weird... i'll take a look at that [16:29] nessita, I'll run tests on it right away [16:30] gatox: don't worry about it, really, it may happen only here for all I know. [16:30] gatox: looks like a problem loading the resource to me, but I don't have any rationale for it [16:31] ralsina_, ok... let me know if it becames a problem [16:35] * mandel Error 15 (net::ERR_SOCKET_NOT_CONNECTED): Unknown error. [16:38] nessita, ralsina_, alecu: please: https://code.launchpad.net/~mandel/ubuntuone-client/dont-use-shutil-move/+merge/70595 [16:38] mandel: on it [16:38] nessita, alecu, mandel: update on the torture test. Upload and download progressing. Only errors I saw are in the uploader about files being removed before they were hashed, which is, I think, normal. [16:38] I have not run it on linux, I'm trying at the moment but I'm getting some issues :( [16:39] ralsina_: ein? [16:39] ralsina_: why is it normal? [16:39] is it realted to the tests? [16:39] mandel: I am doing a bzr branch inside u1. The limbo files are there only for a fraction of a second. [16:40] mandel: so, sd gets the file creation, puts it in the queue to be hashed, but when it gets to it, it's gone already [16:40] mandel: and it's a nicely formatted error, not a thrown exception or anything ;-) [16:40] ralsina_: ah… nice :) [16:41] u1-client is 58 freaking MBs????? [16:42] ralsina_: yeah… does bzr use desktopcouch as the backend... [16:42] hehehe [16:42] ralsina_: why are files being removed? I mean, did you remove those files? [16:43] nessita: no, just the rdinary way bzr works. Files are created and removed during a branch. [16:43] mandel: file shelf approved [16:43] nessita, ralsina_, alecu: EOD here, please take a look at the branch and let me know, any comments will be fixed early my morning on monday [16:43] ralsina_: ok, please once all the torture-nessita-tests is done, send me all the logs (probably you will get more than one) [16:43] have all a great weekend!!!! that includes gatox too :P [16:43] mandel: ack [16:43] mandel: you too! [16:43] mandel, byeee! [16:44] ralsina_: if you have some slot, could you give a second review to https://code.launchpad.net/~mandel/ubuntuone-client/fix-file-shelf-windows/+merge/70021 ? [16:44] nessita: expect a tarazillion megabites of logs. I am running n --debug [16:44] ralsina_: --debug does not add extra debug, but logs to terminal and to a different file [16:44] nessita: ok then [16:44] ralsina_: but yeah, huge log file is welcomed === beuno is now known as beuno-lunch [16:51] nessita, with your new branch, I get: FAILED (skips=13, failures=47, errors=105, successes=2006) [16:51] alecu: may be the action queue random failing tests [16:51] alecu: you branch has not yet landed, afaik [16:52] nessita, that's right! [16:59] nessita: +1 on bar/baz [16:59] greap [16:59] great :) [17:11] lunchtime! [17:17] looks like u1 is really not optimized for creating and then deleting a bazillion small files in u1. The hashing of a ton of unexisting files takes forever. Then again, killing sd and starting it again clears that up. [17:17] ralsina_, gatox: if you can, please review https://code.launchpad.net/~alecu/ubuntuone-client/fix-add-watch-raceconditions/+merge/70559 [17:17] alecu, on it [17:19] ralsina_, the average user is not a developer, so it does not have a bazillon tiny sourcecode files. Nor a sysadmin, having a morzillon emaildirs. [17:19] ralsina_, our average user has lots of music and images, though :-) [17:19] alecu: agreed. Just that for the test, it got stuck there for [whoknows] hours, so I had to kill it to purge that :-) [17:19] uhhhh.... I got to go to the baaaaank [17:20] alecu: the many files is not even the problem. It's create/delete really quick [17:22] alecu, +1 [17:22] gatox, grax! [17:22] (branch) [17:22] alecu, ralsina_, nessita small branch for review: bzr push lp:~diegosarmentero/ubuntuone-windows-installer/icon-signin [17:23] gatox: got the merge url? [17:23] clean some styleSheet and font setup stuff... add application icon, and fix the ui style for sign in page [17:23] ralsina_, sorry... wrong paste :P [17:23] ralsina_, nessita, alecu https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/icon-signin/+merge/70603 [17:26] gatox: got it [17:26] gatox, I'll do it after bank and lunch [17:30] everything going well for you guys on tarmac front? just checking :) [17:31] nessita: the trace I gave earlier about the unimplemented method was caused by an accepted share being deleted from the website, so that will show up again when we test shares. [17:45] ralsina_: great(ish) [17:45] gatox: on it! [17:46] nessita: the torture is finished. And the trees are identical. [17:46] ralsina_: make check worked?!?!?! [17:46] nessita: will have definitive answer to that in a few minutes [17:47] nessita: but a tree comparison tells me this looks just like trunk [17:47] that's great! [17:47] nessita: However... I had to restart syncdaemon once on the receiving side for it to finish downloading. It was sitting with an empty queue. [17:48] ralsina_: sitting with an empty queue? not sure what that means [17:48] ralsina_: you mean it will not download anything? [17:48] nessita: it had downloaded about 70% of the files, and was not downloading anymore. [17:49] nessita: then, I restarted it, and downloaded the rest [17:49] and when it was not downloading it was logging " Queue: 0" [17:49] ralsina_: hum, you should report this to chicharreros, be sure to save those logs from the 2 runs: while sitting, and after [17:49] ralsina_: did you wait "long enough"? sometime the notifications from the server takes some time [17:50] nessita: probably not long enough [17:50] nessita: I wanted to check for corruption more that I wanted to check that [17:50] nessita: but as soon as I started it, it started downloading, if that means anyhing. [17:50] right [17:50] ralsina_: may mean that the notification wasn't there yet, so I will not worry for now [17:51] grrrrr [17:51] brb [17:51] nessita: but I think we have reason to be happy, this was pretty hardcode testing of the core, and it worked well [17:53] indeed [17:56] nessita: make tests works/fails the same as the original. [17:56] nessita: also, our tests fail miserably when you run them on a removable vfat drive :-) [17:57] ralsina_: got a trace? Im curious [17:58] sure [18:00] nessita: http://pastebin.ubuntu.com/659452/ [18:00] I think that's because on vfat there are no ACLs [18:02] right [18:02] another reason to ignore read-only stuff [18:03] yep [18:14] gatox: ping [18:16] nessita, pong [18:16] gatox: can you please change the qss loading code to use QResource instead of QtCore.QFile(":/ubuntuone.qss")? [18:16] nessita, ahhhh okok [18:21] nessita: good catch === beuno-lunch is now known as beuno [18:47] nessita, ralsina_ branch updated: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/icon-signin/+merge/70603 [18:48] gatox: ack [18:48] ralsina_, also... this branch is approved... but is not being merged.. (https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/titles-on-pages/+merge/70169) [18:48] i don't know why [18:48] nessita, ^ [18:48] gatox: no commit message [18:48] nessita, ohhhhhhhh..... fixing it [18:53] nessita: http://ubuntuone.com/p/18bT/ -- it's justa rough draft [18:53] ralsina_: looking [18:54] for example, I am not thrilled by the spacing between the two areas in the tab, and it's missing a horizontal line (which is easy to add, though) [18:54] ralsina_: you broke the 2 group boxes [18:54] nessita: indeed I did [18:54] ralsina_: each group is "independent" from the other [18:55] nessita: if you want the buttons to be the same size, they need to be in a single layout [18:55] and a layout can't get into two groupboxes [18:55] that "independence" is what made it look bad [18:55] ralsina_: semantically they are 2 different, idependent groups, so merging into one seems wrong to mw [18:55] you are confusing presentation and logic [18:56] ralsina_: aux le contraire mon ami :-) [18:56] hehehe [18:56] ralsina_: at least from my POV, presentation can not break logic [18:56] if we were to have an arbitrary number of independent groups? I would have them. For two? It's not important, IMHO. [18:57] nessita: you are getting all that data from a single dictinary. You split them yourself in u1cp ;-) [18:57] ralsina_: I "highly" disagree re "is not that important" :-). I prefer to hard code a button width [18:57] nessita: NO [18:57] I will disapprove any branch that hardcodes a button width [18:57] sorry, but you have your standards, I have mine ;-) [18:58] ralsina_: start reverting what's in trunk then :-) [18:58] nessita: I probaby should eventually [18:58] nessita: hardocded widget sizes are evil. [18:58] ralsina_: conceptually, they are two different groups of information. We even had them in 2 tabs, so we can't just go an merge them visually [18:59] ralsina_: I agree, that was I was seeking another clean option [18:59] nessita: add a line in the middle. [18:59] this is not clean either [18:59] it looks a ton better [18:59] ralsina_: the looks doesn't matter when the insights have cellulitis :-P [19:00] nessita: there is no logic change at all. Just a change in the tree structure of the widgets. [19:00] ralsina_: you're abusing the widget set to accommodate your needs. I will not do that, not easily at least [19:01] nessita: and you are pushing your internal logic into the presentation. That's not good. [19:01] "abusing"? Whoa. [19:01] I just moved 5 widgets outside of two boxes, and removed the boxes :-) [19:01] ralsina_: conceptually they are 2 independent groups, we should be able to grab a "widget" (either profile or services) and move it to another tab, without loosing formatting nor layout [19:02] nessita: and you can. [19:02] nessita: just as easily as before [19:02] ralsina_: no, before you grab a groupbox and dump it wherever you like, now you have to pick a button from here, a label from there and a title from somewhere else [19:03] nessita: and it looks misaligned everywhere. [19:03] ralsina_: think about each grouping to be a widget itself [19:03] actually, each grouping should be a widget itself [19:03] nessita: you are showing the internal logic in the UI. That is actually *bad*. [19:03] ralsina_: you keep saying that :-), and I don't agree to that [19:03] The UI has to be guided by the user experience, not by the design of your code. [19:04] You can not agree and be wrong, you know. [19:04] ralsina_: 100% agreed. And this is not leacking logic into the UI, is using the right widget for the right needs [19:04] nessita: it totally is leaking logic. [19:04] ralsina_: and of course, you and I and everyone can be wrong, we're humans :-) [19:05] nessita: you say " they are separate groups". Says who? Your app logic. [19:05] ralsina_: that's what you think, so it would be better if you prepend "I think you're leaking logic" [19:05] nessita: indeed. I think it's obvious you are leaking logic. And you also hink leaking logic is not bad :-) [19:05] ralsina_: they are conceptually 2 different groups of info, like a folder list is, oh exactly that, a list of folders [19:06] ralsina_: I agree leaking logic is bad. I don't think I'm leaking logic. [19:06] nessita: yes. Now, does a list of folders consist of 50 different misaligne widgets? No. [19:06] ralsina_: exactly, that's why we use a listsomething [19:06] so, we have 2 pieces of info that has independent goals and transmit independent information [19:07] nessita: good. Now, a difference is that a list of folders is of variable length. [19:07] no matter how we "logic" that [19:07] This is of fixed length. [19:07] ralsina_: nopes [19:07] In fact, it's displaying a fixed set of fields. [19:07] ralsina_: I agreet this is a list of 2 items: profile info and services info [19:07] that's why this is a vertical layout [19:07] with 2 items in it [19:08] Problem 1: That way of laying it out looks horrible. [19:08] "I think" ;-) [19:09] Now, you can also consider it as a display of 2 things. Not a list of two items, because the items are heterogeneous. [19:09] not sure what you mean [19:09] ie: it's not like a list of folders, because thing A (email, name) is not like thing B (list of plans) [19:10] ralsina_: when thinking of the outter layout you should not look "into" each group content [19:10] nessita: we know what we want to display. [19:10] nessita: ignoring that is not conducing to clean design of the UI [19:11] ralsina_: this is where I think you're "abusing" the toolkit: you depend on what each grouping has to propose this layout [19:11] I intentionally flattened it so there is no " outer" and "inner" layouts. That's the whole idea. [19:11] nessita: but we know that. [19:11] ralsina_: then that's where we disagree the most [19:11] so, yes, I confess, I designed the layout considering what it has to display. [19:12] ralsina_: you designed the outter layout considering what each inner group has to display ;-) [19:12] which is not the same [19:12] I designed the layout in its entirety that way. Ther only "inner" layout is grouping email and name. [19:12] Which I would be happy to replace with a single label that accepts newlines [19:13] ralsina_: by inner layout I mean the whole content of each group [19:13] no the grouping of email and name [19:13] nessita: I didn't design it in groups. I designed it in a table with one empty separating row [19:13] ralsina_: think each grouping as a widget that shows info and offers an action thru a button [19:13] which I am again happy to replace with a line [19:13] so we can have 2 instance: [19:13] the profile instance, and the services instance [19:14] ralsina_: how would you solve this if each grouping is a widget [19:14] ? [19:14] nessita: it would be very very difficult. That's why it makes no sense to do it that way. [19:15] or, I would use a form layout [19:15] let me check what's a form layout [19:16] but it's a tradeoff. If you create megawidgets (things containing other widgets), combining them in windows is very difficult. That's the bad side of them. [19:16] ok, gotta pick the kid, be back in 15' [19:16] ack [19:28] nessita, can you approve this branch: https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/icon-signin/+merge/70603 please?? [19:29] gatox: I'm still reviweing, trying to run stuff in windows (I'm having some issues) [19:29] can't run the installer, I'm debuggin [19:29] g [19:30] nessita, ok..... let me know if i can help with something [19:31] sure [19:32] gatox: I have a conflict now, with trunk [19:32] Text conflict in data/qt/ubuntuone.qss [19:32] 1 conflicts encountered. [19:32] gatox: can you fix please? [19:33] nessita, on it [19:35] nessita, ready!!! it's easy when i know both versions of the file :P [19:35] re branching [19:36] gatox: you added an empty line insde [19:36] QLabel#title_label{ [19:36] font-size: 20px; [19:36] } [19:37] nessita, ....crap... sorry..... [19:38] nessita, now should be ready [19:41] I'm back [19:42] gatox: dude [19:42] I have this in the qss [19:42] QLabel#image_label{ [19:42] border-style: dotted; [19:42] border-color: #939389; [19:42] border-bottom-width: 1px; [19:42] border-top-width: 1px; [19:42] QLabel#title_label{ [19:42] font-size: 20px; [19:42] } [19:42] there is a missing } [19:42] nessita, omg... [19:43] nessita, that's for trying to fixing it really quick [19:43] ralsina: I'm doing something in between you're proposal and my standards, but I have a question [19:44] nessita: sure [19:44] ralsina: how can I set style so the dotted line is in place when using a grid layout? [19:44] nessita: add a "horizontal line" widget, set it to dotted style, and make it span all columns [19:44] is not like I can have a frame or similar around the profile box and set border bottom ro it [19:44] to it* [19:45] ralsina: but this is only style, I'm not sure we should add a "line" widget. Can we set style so, for example, each row in a grid line has a border that we can customize? [19:45] in a grid form* [19:45] No, it's not a grid widget but a grid layout, and grid layouts are not visible [19:46] layouts in general are not visible. For visible things you need to use widgets [19:46] right [19:46] If you add a container widget, you are back in your old layout [19:47] I you want semantic separation, the widget for that is a line [19:47] ralsina: how can I make a widget span columns? [19:48] doesnt matter, I'll google [19:48] thanks! [19:48] drag the edge you want to span [19:48] ok, that was unclear. Drag the side you want to extend towards the column you want to cover [19:48] maybe that made a bit more sense :-) [19:48] You can only span one column on each drag, so it may take a few tries to get it right [19:49] editing the xml was easier :-P [19:50] nessita: hehe [19:56] thisfred: ping [19:56] nessita, done... (sorry): https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/icon-signin/+merge/70603 [19:56] dobey: pong [19:56] what did I break now? [19:57] thisfred: mterry proposed a branch against u1couch a couple weeks ago. could you review it please? :) [19:57] nessita, ralsina also i've just submited this branch that adds some missing titles: https://code.launchpad.net/~diegosarmentero/ubuntu-sso-client/missing-titles/+merge/70624 [19:57] gatox: ack [19:57] gatox: got it [19:57] dobey ah sure. I have been filtering pretty much all merge proposals, recently. I wish lp would put the project name in the subject [19:59] thisfred: it puts it in the headers [20:00] and technically in the subject, given it is part of the branch location strings [20:00] dobey, yeah, in its own custom headers. Almost no email clients can filter on those [20:00] i thought notmuch was magical [20:01] you use notmuch+emacs. you don't get the "it can't filter" argument :) [20:01] dobey: it is, and that feature is planned, but not landed ;) [20:01] you can't regex arbitrary headers? [20:01] lame. [20:02] gatox: looks good to me [20:03] ralsina, ok! :D [20:04] dobey: since the search is xapian, it has to index those headers before they can be searched, and currently it only indexes the usual headers [20:04] ralsina: you sure the line gets visible drawn? I get nothing IRL [20:05] dobey: for mps as you say, the info is in the subject anyway. Where it's really annoying is bug mail. [20:07] nessita: they should unless something weird is done using qss [20:07] nessita: do you see it in the preview in designer? [20:07] ralsina: preview is just the designer itself? [20:07] nessita: ctrl+r in designer [20:08] ralsina: yes, the line is there [20:08] nessita: or the menu form -> Preview, or form -> Preview in -> a style [20:08] nessita: then I blame gatox [20:08] thisfred: right, but you can just ignore bug mails :) [20:08] ;-) [20:09] dobey: belieme I do :) [20:09] nessita: did you remember to compile it?> [20:09] ralsina: good point, but yes, I've learn to do compile always before running the ui [20:09] ralsina: I'll play with the qss then [20:09] nessita: can you push it? I can take a look [20:10] ralsina: I'll try for a couple of minutes and then I'll seek your help if I don't succeed, sounds ok? [20:10] nessita: cool [20:10] ralsina: did you run tests for gatox's branch re: icons? I get failures... a lot [20:11] ralsina: but maybe is my silly env [20:11] nessita: let me re-check, I think I did [20:11] nessita: got the link handy? [20:12] https://code.launchpad.net/~diegosarmentero/ubuntuone-windows-installer/icon-signin/+merge/70603 [20:12] gatox: other than the tests failing for me, +1 [20:13] he, I have like 100 devices configured, and the devices tag seems to call find_credentials once for each [20:13] nessita, what failures?? that branch doesn't touch any code (except for setting the stylesheet... that is working...) [20:13] My account is becoming a collection of corner cases [20:14] nessita: indeed that's why I didn't run the tests. [20:14] I am running them now though [20:14] gatox: I know, that's why I will approve if they run ok for ralsina :-) [20:15] nessita, ok... anyhow... weird :S [20:15] nessita, can i move both branches to approved? [20:16] gatox: both? no! I haven't look the second [20:16] :-) [20:16] ralsina, you'll like this branch: https://code.launchpad.net/~alecu/ubuntuone-client/ignore-missing-signal-handlers/+merge/70626 [20:16] nessita, ahhhhh ok [20:16] nessita: tests pass just fine [20:16] ralsina: ack approving [20:16] alecu: yes I will! [20:17] alecu: anyway, that signal is triggered by removing an accepted share from the web, so it has to be implemented eventually [20:17] gatox: you can now approve the icon-signin [20:17] nessita, awesome [20:18] alecu: OTOH it only makes a difference if you had control panel open on the folders tab when you removed the share and expect it to update, so not really important at all ;-) [20:19] alecu: makes a *big* difference, thanks :-) [20:19] ralsina, great. It seems like the cleanest solution so far. [20:20] alecu: indeed . +1 after IRL testing from me [20:21] alecu, nessita, gatox: I will build the installer late tonight. I would love if each of you sends me an email with branches you want in it. For example, nessita, you may want your improve-ui branch even if it's not merged, so design can look at it and have feedback for you on monday. [20:21] gatox: can you please add tests to the last branch you proposed? [20:22] gatox: so we ensure titles are set now and always in the future [20:22] nessita, ok [20:23] ralsina, ok [20:24] so, alecu, nessita, gatox: consider that as part of your EOD email reports :-) [20:25] ralsina, I've got only the branch you've just reviewed to include in today's installer [20:26] nessita: also, remember https://code.launchpad.net/~ralsina/ubuntuone-client/find_config_files/+merge/70472 please [20:26] ralsina, gatox: can I set style to a Line? [20:26] ralsina, and right now I need to go fetch Amelia from kinder, and do some errands; will work a bit more tonight, but lateish [20:26] nessita, a line is a qframe [20:26] ralsina: what do you want me to prioritize? ui or the review (I have little time left) [20:26] alecu: tha's ok [20:26] nessita, do you mean a line separator? [20:26] nessita: I' d say the UI, I can put my branch in anyway [20:27] gatox: I mean the thingy that is called "Horizontal Line" in designer, but saying that is a qframe gave some ideas of what's wrong [20:28] nessita, yes, that line is a qframe [20:28] ralsina: there was a border: none for QFrame.... who on earth will think that a line is a qframe? [20:28] nessita: well, there is no Line widget. That's weird [20:29] and QLine is something completely different. Welcome to the part of Qt that is not well documented :-( [20:33] ralsina, gatox: I'm using this qss [20:33] 39 QFrame#account_separator { [20:33] 40 border-style: dotted; [20:33] 41 border-color: #939389; [20:33] 42 border-width: 1px; [20:33] 43 } [20:33] for the line, but it looks ugly, see http://ubuntuone.com/p/18cS/ [20:33] the line is "too tall" [20:34] * gatox looking... [20:34] use border only on the bottom edge [20:34] shall I set a border-height? that may make no sense [20:34] ah! [20:34] that makes sense [20:35] nessita, yep [20:40] ralsina: all screenshots updated in the shares [20:41] share* [20:41] nessita: cool [20:41] nessita, tests added [20:41] ralsina: let me know if that works for you, and I'll push the changes [20:41] nessita: looking... [20:41] nessita: much nicer [20:42] yeap [20:42] lisette is probably going to complain about the vertical alignment but let's wait until she does :-) [20:42] And the labels are misaligned on the left side, if you have time to fix it. If you don't, I said nothing ;-) [20:43] ralsina: I was hoping to get feedback before and have a talk with her, I have more question about padding and aligmens [20:43] ralsina: so, before applying any style to that, I prefer talking to her [20:44] nessita: yes, those things have to be reviewed by them, but I meant alignment between the email/name and the plan [20:44] ahy [20:44] ah* [20:44] whatever the padding those three are going to be aligned, I think [20:45] But yes, I'll mention in the mail for lisette that we need padding/alignment reviews all across u1cp [20:46] nessita: but hey, good work! [20:46] thanks! [20:46] * ralsina is the crazy widget alignment guy, if that makes you feel any better [20:47] gatox: I'm not so happy with the adding of the CurrentUserControllerValidationMockTest, but I will not make you change it [20:47] gatox: IRL tetsing and approving [20:47] nessita, i did it in that way because all the other test use mocker to test that kind of thing... :( [20:49] gatox: is ok :-) [20:49] gatox: you up for a review? [20:49] gatox: in general we are trying to not use *more* mocker, but one more won't hurt. Too much. ;-) [20:50] nessita, ok..... lesson learned [20:50] gatox: you up for a review? [20:50] nessita, yes [20:51] gatox: https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/improve-ui/+merge/70611 thanks! [20:52] nessita, did you approved the branch? [20:52] gatox: the missing-titles? running tests in windows noq [20:52] now* [20:52] nessita, ahhhhhhhhhhhh okok [20:53] gatox: hum that branch will not go thru tarmac, see: [20:53] ubuntu_sso/qt/tests/test_windows.py: [20:53] 245: [E1101, CurrentUserControllerValidationMockTest.test_setup_ui] Instance of 'CurrentUserControllerValidationMockTest' has no 'get_backend' member [20:53] 248: [E1101, CurrentUserControllerValidationMockTest.test_setup_ui] Instance of 'CurrentUserController' has no '_set_up_translated_strings' member [20:53] nessita, let me check [20:54] gatox: and I'm getting this failure in windows, not if it's legit though [20:54] http://pastebin.ubuntu.com/659537/ [20:55] have a good weekend everyone! [20:56] dobey: you yoo [20:56] you too [21:00] ralsina: no need to change, but for future reference, there should be no blank line between these twoL [21:00] 45+from twisted.trial.unittest import TestCase [21:00] 46+ [21:00] 47+from ubuntuone.devtools.testcase import skipIfOS [21:01] really? ok [21:01] ralsina: what I will ask you to change is the duplicated import of "import os" [21:01] nessita: sure, missed that one [21:04] ralsina: yeah, when importing modules, you need to use this layout: http://pastebin.ubuntu.com/659540/ [21:05] ralsina: and in this case, devtools is a 3rd app for us [21:05] ok, treated it as "part of the project". Will fix it. [21:07] nessita, i've uploaded some changes in the branch for missing titles... all tests are passing for me [21:07] gatox: ack === m_conley is now known as m_conley_away [21:09] nessita, have you updated the style of the buttons in your last branch? [21:09] gatox: nopes, I will leave that you probably :-) [21:10] nessita, ok..... just checking [21:10] nessita: pushed with the import fixes [21:11] ralsina: ack, I will have to finish the review on Mon [21:11] ralsina: I will finish gatox's and then I have to run to a birthday party :-) [21:12] nessita: if that's all you had, can I get the approve? If you didn't finish testing it's ok, we'll leave it for monday [21:12] ralsina: I didn't even finish looking at the diff [21:13] ralsina: I stopped at the double import [21:13] nessita, i'm finishing with your branch [21:13] nessita: ok, monday it is [21:13] nessita, +1 [21:13] gatox: thanks! [21:13] gatox: sdid you see the failing test I have? does it make any sense? [21:14] nessita, yes, i saw the pastebin... but It doesn't make sense at least for me... i'll try to find what that is [21:15] gatox: is ok, do not waste time [21:15] gatox: my env may be funky [21:15] gatox: approving [21:16] ralsina: if you review/approve https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/improve-ui/+merge/70611, we can land this soon === yofel_ is now known as yofel [21:17] nessita: I am looking at it. I see weird stuff in those buttons we talked about earlier. [21:18] ralsina: weird stuff such as? [21:18] in designer the buttons are not the same width [21:18] hum [21:18] ralsina: have a screenshot? [21:19] nessita: uploading... [21:19] nessita: http://screencast.com/t/regrVTSrVPkR [21:19] ralsina: wait! I was missing a commit + push :-/ [21:20] ralsina: that's the old code... sorry [21:20] ok! np [21:20] ralsina: I just saw I had the commit-editor opened :-/ [21:21] Pushed up to revision 198. [21:21] nessita: on windows it's worse, the commit editor goes to background automatically, so the commit message is never saved. It's -m or nothing :-) [21:21] ouch [21:21] is the evolution contact backend currently supposed to work in oneiric or not? [21:23] nessita: I usually use a QGridLayout and then a vertical layout on the window, because if you use a grid layout on the window, you can't "see" the layout (or do things like change spans) [21:24] but that's just a personal preference [21:24] ralsina, +1 [21:24] :P [21:25] i am having problems with the nightly ppa [21:25] can someone help? [21:25] nessita: also, I like putting placeholder texts on the widgets, even if it means cleaning them in code, because it makes manipulation in designer easier [21:27] nessita: so, other than those style issues, everything looks ok. [21:28] ralsina: ack to your personal preferences. Not sure if you're asking me to change something though... [21:28] nessita: I think it makes it easier for the next person who has to touch it, so yes, I would prefer if you changed it. [21:29] hello? [21:29] otherwise, there are invisible widgets in an invisible layout :-) [21:29] is anyone here? [21:29] ubuntunoob: sorry, the support staff has left for the day [21:29] shoot [21:29] what do i do then [21:29] ralsina: add text to the labels, you mean? I think is out of the scope of this branch, and also my personal preference is not to set text to labels, so I would like to have that conversation in other moment, if possibe [21:29] ubuntunoob: and we are the developers and are trying to wrap up too. Give me 5' and I will try to help [21:30] ok thanks [21:30] nessita: yes, since that was already that way, I'm ok with not changing it. But the layout should change [21:30] ralsina: I think adding a grid on top of the form adds a layer of complexity that is not needed... [21:31] nessita: the grid is there, it's just invisible [21:31] ralsina: right, so why adding another one? [21:31] just to be able to see it? :-/ [21:31] nessita: because it's invisible. I don't say have two grids [21:31] I would use a grid (visible), put the bottom expander outside of it, and use a vertical (invisible) layout on the window [21:32] ralsina: if I understand properly, you're telling me to have the form layout vertically and add a grid on top of that, right? [21:32] nessita: yes. Because there are things you can't do with the invisible grid [21:32] such as change spanning [21:32] I don't see any gain to that, actually I saw that stuff before and that confused me a lot [21:33] ralsina: anyways, I gotta go, I guess we'll keep talking about this on Monday [21:33] nessita: ok, monday. [21:33] but how an invisible grid is less confusing than a visible one is bvaffling to me :-) [21:33] ralsina: I use the tree widget a lot [21:34] ralsina: having an extra layer there is confusing, is like is adding some funct5ionality but then you realized is not needed [21:34] is not strictly needed, I mean [21:34] so it took me a long time realize that the extra layer was not needed [21:34] and that the form itself can have a layout according to the widget's need [21:34] nessita: not having it is bad for maintainability of the thing. Could you trust me that have been doing Qt stuff for 12 years this once? ;-) [21:36] is not lack of trust, really. I don't see any gain, but confusing stuff. [21:36] ok, I suppose you can't, I'll try to convince you on monday. Have a nice weekend! [21:36] wow 12 years? [21:36] more like 15 but don't want to brag [21:36] oh [21:36] ;) [21:36] thats amazing [21:36] well i think it s [21:36] ralsina: anyways, I tried to review your branch while you try to convince me, and I see that you added windows specific stuff to a directory that is multiuplatform [21:36] no, it's what happens when you are *old* :-D [21:36] nessita: ok, put a needsfixing, will see it on monday [21:37] ralsina: TestBaseDirectoryWindows shoudl be inside tests/platform/windows/ [21:37] nessita: ok, that's an easy one, at least [21:37] i have a question for you guys [21:37] ubuntunoob: shoot! [21:37] ok, I'm off [21:38] bye all! [21:38] why do you only make it for windows ? [21:38] ubuntunoob: what thing? [21:38] why not make a mac client [21:38] for ubuntu one [21:38] ubuntunoob: we haven't even released windows yet! :-D [21:38] i know its a beta [21:38] but i was just curious [21:39] ubuntunoob: and a mac client is considered. But there are over 400 million windows users. And about 35 million mac users. [21:39] oh [21:39] so bigger userbase [21:39] ubuntunoob: yes, pretty much [21:39] ah [21:40] do you guys support the nightly ppa here [21:40] because im having some problems installing it [21:40] ubuntunoob: what kind of problem [21:40] ubuntuone-client-gnome: Depends: ubuntuone-client (= 1.2.2-0ubuntu2) but it is not going to be installed [21:40] E: Broken packages [21:41] ubuntunoob: probably a broken build [21:41] oh [21:41] ubuntunoob: you should ask dobey but he already left [21:41] well is there another ppa for the nightlies i could use? [21:41] ubuntunoob: nope, nightlies is what it is, and occasionally it breaks [21:42] oh [21:42] ok i understand [21:42] need to backup my ipod music somehow, any suggestions? [21:43] ubuntunoob: so, if it's not better tomorrow morning, come here, and ask for dobey, rye or duanedesign :-) [21:43] ok [21:43] thx [21:43] ubuntunoob: you can still use the web ui [21:43] ok [21:43] good [21:43] but of course uploading files one at a time is a pain [21:43] yes it is [21:43] for a backup you could zip them [21:43] i just about to say that lol [21:44] i think thats what i will do [21:44] thanks [21:44] for all your help [21:44] :D