[00:58] Anyone, I have trouble synchronizing Tomboy notes; one second computer connected to ubuntu one, I am not able to see the notes synchronized from first computer. [01:13] Anyone listening that may help with Tomboy synch with ubuntu one? [01:16] Staff, is there anyone listening that may help with Tomboy synch with ubuntu one? Or is this the appropriate place? [01:29] Anyone? [01:41] Anyone? [02:12] Staff, is there anyone listening that may help with Tomboy synch with ubuntu one? Or is this the appropriate place? [08:48] morning all [11:35] aquarius: we forgot to have a beer together at UDS and talk about 'interesting uses for ubuntu one' :) [11:40] Hi ! [11:41] hello mahen [11:41] duane [11:43] duanedesign, we did. Bah! [11:45] duanedesign: do you know if I should open a bugreport for the timeout problem ? (indeed : my client keeps uploading data infinitely but never finishes a 350MB file apparently because of some timeout -- I upload at about 100KB/sec) [11:46] mahen: i am glad you mentioned that [11:47] mahen: i meant to look and see if a report exists for that [11:47] ah :) [11:47] let me poke around and see what i can find [11:47] ok, thanks ! [14:02] what about: [14:02] me [14:03] me [14:04] dobey mandel_ nessita thisfred ? [14:04] me! [14:04] vds: thanks [14:04] me [14:04] np === mandel_ is now known as mandel [14:06] thisfred? [14:07] shall we? [14:07] vds: go! [14:07] DONE: branch to port to a newer python-couchdb version proposed #675551 still waiting for one review, started a branch of python-couchdb to port the oauth session from DC to python-couchdb, code review [14:07] TODO: [14:07] BLOCKED: not at all [14:07] CardinalFang: go [14:07] me [14:07] DONE: reviews. Reconcile my proxy branch and get-port branch; might be tricky. [14:07] TODO: review and merge remaining branches. [14:07] BLOCKED: None [14:07] DONE: branch for bug #627496 and bug #677518, more folders tab for control panel bug #674455, talked with Asif about UI usability issues, weekly call [14:07] TODO: wrap up branches for aforementioned bugs and fix ussoc nightlies [14:07] BLOCKED: nopes [14:07] NEXT: mandel [14:07] NOTES: today is holiday in Argentina, tomorrow I'm taking the day off (swapp from today) [14:08] Launchpad bug 627496 in ubuntu-sso-client (Ubuntu) (and 1 other project) "Registration screen looks cramped when big fonts selected (affects: 2) (dups: 1) (heat: 14)" [Undecided,New] https://launchpad.net/bugs/627496 [14:08] Launchpad bug 677518 in ubuntu-sso-client (Ubuntu) (and 1 other project) "Split gui code to allow other implentations (affects: 1) (heat: 6)" [High,Triaged] https://launchpad.net/bugs/677518 [14:08] Launchpad bug 674455 in ubuntuone-control-panel "Add "Folders" tab to UI (affects: 1) (heat: 6)" [High,In progress] https://launchpad.net/bugs/674455 [14:08] DONE: branch reviews for desktopcouch. Finished changes for #680039, #675522 and #675530 [14:08] TODO: new msi to share for testing. Finish command manager to fix #675842. Propose merge fo my desktopcouch work. Provide images of Ubuntu One iwndows for cparrino. [14:08] BLOCKED: no [14:08] * mandel looks at thisfred [14:09] DONE: bug 510159 bug 678313 TODO finish 510159 and start packaging BLOCKED no [14:09] Launchpad bug 510159 in desktopcouch (Ubuntu) (and 1 other project) "Split desktopcouch in two: a records library that can be used on the server and a desktop application/library (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/510159 [14:09] Launchpad bug 678313 in desktopcouch "Use Abstract Base Classes in RecordDict and MergeableList (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/678313 [14:09] any comments? [14:09] dobey: stand up? [14:10] wait, we have to use bug rather than # for the bug numbes? [14:10] lame [14:10] mandel: we said that last week! :-) [14:11] mandel: is the difference between hal and ubot4 [14:11] nessita, really? was not reading :P [14:11] mandel: I can tell :-P [14:11] ok, eom it is? [14:11] oh! ubot4 I hate u! [14:12] eom! [14:14] λ DONE: discovery and some work on 677162, 677211, 677480; initial branch for 677632; [14:14] λ TODO: releases, nightlies, banshee tests [14:14] λ BLCK: None. [14:14] nessita, do you know if lucio and guillermo are on holidays, marianna needs them [14:15] mandel: yes they are [14:15] mandel: if urgent, I can contact them [14:15] nessita, I think, so, let me see [14:16] nessita, can you tell them to contact marianna asap, they need to book the hotel asap for the sprint [14:17] nessita, which is next week! [14:18] mandel: I'll talk to marianna [14:18] nessita, ok [14:18] nessita, I started to fill like a 'corre ve y dile' :P [14:28] mandel: already handled [14:29] nessita, thx! [15:29] duanedesign: did you find a bugreport concerning the issue btw ? [16:07] joshuahoover: do you know if their is a bug report about the timeouts when uploading large files over dial up connections? [16:09] duanedesign: not that i'm aware of, though it's likely there's something there for timeouts when uploading large files [16:36] duanedesign: okay then, I'll file a report about those :) [16:38] mahen: ok :) [16:39] mahen: can you post the bug numbers here when you do. Thank you! [16:55] duanedesign: here it is : https://bugs.launchpad.net/ubuntu/+source/ubuntuone-client/+bug/680128 [16:55] mahen: Error: Bug #680128 is private. [18:06] hi all [18:06] you have a typo [18:06] "This share is no longer available [18:06] This share has already been accepted by someone else. [18:06] If this is now what you where expecting, try contacting the person who gave you the link. [18:06] " [18:06] last sentence, 4th word [18:13] rajul: thanks! can you please file a bug? [18:13] https://bugs.launchpad.net/ubuntuone-client/+filebug [18:14] rajul: please detail where you're seeing this typo [18:17] nessita: https://bugs.launchpad.net/ubuntuone-client/+bug/680159 [18:18] Launchpad bug 680159 in ubuntuone-client "Typo in a string after clicking an expired shared-folder-link (affects: 1) (heat: 6)" [Undecided,New] [18:19] rajul: where are you seeing this? nautilus? web site? [18:20] thisfred: would you be up for a review? not trivial but fun (?) [18:20] rajul: ah, web site. Thanks! [18:20] yes :-) [18:20] bye! [18:21] nessita: in a minute [18:21] thisfred: awesome! [18:21] nessita: paste me the link! [18:22] thisfred: the high count of diff'ed lines comes from moving files from a directory to another https://code.launchpad.net/~nataliabidart/ubuntu-sso-client/split-gui/+merge/41369 [18:24] nessita: I'm on it. I may ask you for one in return. Also not small, but for the greater good: the branch that will start enforcing u1lint in desktopcouch. (and thus fixes a bazillion lint issues.) [18:24] thisfred: sure, shoot! [18:24] thisfred: for my merge proposal, detailed instructions on testing were added as description [18:24] awesome === didrocks1 is now known as didrocks [18:27] hi all [18:27] hi rickspencer3, how are you? [18:27] I've been keeping all of my notes in a desktopcouch app [18:28] I want to reinstall, how can I make sure all my notes are safely on the server? [18:28] vds, CardinalFang, thisfred: can you take this one? ^ [18:30] rickspencer3: that's a tricky one. Are those tomboy notes, or a different db altogether? [18:30] thisfred, different [18:30] it's my own app [18:30] "daily-journal" [18:30] rickspencer3: ah ok. (should still be using the same db, but that's a different discussion for a different day ;) [18:31] anyhoo [18:31] thisfred, no [18:31] I thought tomboy went through this screwy snowy API [18:31] a successful replication will signify they're there, but those are hard to come by [18:32] rickspencer3, you can verify by looking at the replication log. ~/.cache/desktop-couch/log/desktop-couch-replication.log [18:32] rickspencer3, A line starting asking 'http://localhost:42715/' to replicate todo to {'url': 'https://couchdb.one. ... [18:32] rickspencer3: it does, but it does end up in the notes database, and as long as your app respects the notes record type, and puts everything else in application_annotations['daily-journal'] your notes would work in both apps [18:32] but again, that's for later [18:32] thisfred, does the ubuntuone preferences dialog cover desktopcouch, or such file sync? [18:32] rickspencer3, with the appropriate db for "todo". [18:33] rickspencer3, and following that is the result line. replicate result: {'status': '200', ... [18:33] preferences does not list arbitrary databases to toggle sync of [18:33] but when it says "sync in progress" does that count for desktopcouch? [18:33] only some known ones, like bookmarks, contacts, and gwibber [18:33] no [18:33] dudes [18:33] the status is just for files [18:34] desktopcouch is not synced on-demand [18:34] rickspencer3: we will be working on getting succesful replication notices into zeitgeist this cycle, which will then tell you when the last one for a particular db was. But that's not started yet [18:34] rickspencer3: no it does not AFAIK [18:34] thisfred: but still, they will not be on demand, right? [18:34] dobey: nope, although we could add that [18:35] Pushed on demand, but we don't know when the demand is for pulling. [18:35] rickspencer3: so the replication logs are your best bet for now [18:35] rickspencer3: to be super sure, I'd back up the .couch file before reinstalling [18:35] thisfred: is zg tracking any desktopcouch db? I don't think so... === larsemil_ is now known as larsemil [18:35] CardinalFang: i guess we'd have to add something to the storage protocol for that, and have syncdaemon tell desktopcouch to sync [18:35] thisfred: I mean "will" [18:35] dobey, Yes. [18:36] so if there's no status:200 since 3 days ago, I am not up to date? [18:36] if I backup .couch and then just copy it over when I reinstall, will that work? [18:36] rickspencer3, Yes. And yes. [18:37] CardinalFang, where is .couch? [18:37] rickspencer3, to make sure we're talking about the same thing: ~/.local/share/desktop-couch/ [18:37] ok [18:37] nessita: I think that's on the roadmap, right? [18:38] I see .local/share/desktop-couch is not small [18:38] * rickspencer3 drums fingers [18:38] thisfred: we will track zg events for ubuntu one related, you aresaying that independent dbs will be tracked too? [18:39] thisfred: I'm not sure, that's why I'm asking you [18:40] nessita: eh, every db in couchdb is ubuntu one related, unless you disable replication, right? [18:40] in desktopcouch couchdb that is [18:40] This is part of what we'll be figuring out I guess [18:41] we don't want to flood the user, but it' [18:41] d definitely be interesting to know about successful replications, esp. as long as they are not the norm :( [18:41] thisfred: hum [18:42] thisfred: I think I need to talk to alecu about this to have a clearer picture [18:43] nessita: my branch (now starting on reviewing yours) https://code.launchpad.net/~thisfred/desktopcouch/my-use-devtools/+merge/41497 [18:43] nessita: I have only the vagues understanding of the ZG work, so I could be completely wrong [18:43] It would not be the first time [18:43] today. [18:44] thisfred: reviewing... [18:46] geeze, mu couch directory is 5.3 gigs! [18:46] rickspencer3: and without gwibber_messages.couch? [18:47] I don't know [18:47] don't discount the views for gwibber_messages [18:47] I remember this particular database using a lot of space in the past [18:47] who live in separate files [18:48] yeah, it's huge, because gwibber stored every single message as it comes in, which is the worst way to write to couchdb. [18:48] compaction helps [18:48] but we don't do that automatically [18:49] thisfred: running ./run-tests fail with [18:49] fp = open(bookmark_template) [18:49] UnboundLocalError: local variable 'bookmark_template' referenced before assignment [18:50] huh, weird, does not do that here [18:50] File "/home/nessita/canonical/desktopcouch/review_my-use-devtools/desktopcouch/application/start_local_couchdb.py", line 207, in update_bookmark_file [18:50] looking [18:50] thisfred: want the full trace? [18:50] thisfred: ah! I know what can be. I don't have desktopcouch installed (I needed to confirm that gwibber doesn't use dc anymore) [18:51] you shouldn't need it to be installed to run tests in the tree [18:51] dobey: makes sense, but I want to confirm that's the issue [18:52] confirmed [18:52] thisfred: desktopcouch needs to be installed at system level to test run [18:52] nessita: yeah, I see. That sucks [18:52] thisfred: any idea why? [18:52] also that implies it talks to the real bookmark file [18:52] is it easu fixable? [18:52] nessita: it should not [18:53] let me see. [18:53] thisfred: also, I've got this failure https://pastebin.canonical.com/40030/ [18:53] Error, I mean, Error [18:54] nessita: when you do ./run-tests do the first two lines look like this: https://pastebin.canonical.com/40031/ ? [18:54] people [18:54] pastebin.ubuntu.com for publicly visible things. [18:54] dobey: thru [18:54] dobey: sry force of habit [18:54] true* [18:55] http://pastebin.ubuntu.com/535306/ [18:55] thisfred: there are at least 3 instances of desktopcouch that get started up in the tests [18:55] thisfred: yes, they do. full run at http://pastebin.ubuntu.com/535307/ [18:56] nessita: thx [18:56] thisfred: there are also some logging formatting errors (TypeError: not all arguments converted during string formatting) [18:56] thisfred: those should be fixed as well [18:56] CardinalFang: so desktopcouch tests seem to require desktopcouch is installed. That's pretty bad... :( [18:57] nessita: Yeah, I have no idea where they come from... :S [18:57] thisfred: I'll help you find that [18:58] thisfred, eh? [18:59] CardinalFang: nessita is reviewing my branch, and it breaks horribly [18:59] CardinalFang: while the tests pass hee [18:59] here [18:59] CardinalFang: uninstall desktopcouch and related and try to run the tests [18:59] they won't run [19:00] CardinalFang: full trace http://pastebin.ubuntu.com/535312/ [19:01] So for one thing start_local_couchdb.py is under tested, since there is a path through it that leads to the use of an undeclared variable [19:02] nessita, PYTHONPATH=`pwd` ./run-tests # what does this do? [19:02] CardinalFang: let's see [19:03] CardinalFang: exact same trace [19:03] CardinalFang: u1trial adds . to the sys.path [19:03] CardinalFang: try it yourself, uninstall everything dc-related [19:03] nessita, doing now. [19:04] thisfred: bin/desktopcouch-pair line 653 should be logging.exception("Service %s had an error", srv_name) [19:04] instead of logging.error("Service %s had an error", srv_name, e) [19:04] nessita: thx, good find [19:04] nessita: more correctly it should probably have a ": %s" added at the end of the string [19:04] thisfred: checking if that was the only issue.... [19:05] dobey: nopes [19:05] dobey: on try:except you have to use logging.exception [19:05] and not log the exception yourself [19:06] dobey: logging.exception handles the logging of the exception within a context where an exception occurred in a graceful manner [19:06] thisfred: that wasn't the (only) problem, I ll keep checking [19:07] * dobey suspects there may still be many problems, but less than there were before [19:07] yep [19:07] I meant regarding log formatting... not the whole thing :-) [19:08] thisfred: also, but this is mostly me thinking out loud, there mixed are %s and %r [19:08] there are mixed* [19:08] thisfred: no need to change that noe, of course [19:11] thisfred: same fix (logging.exception instead of anything else) on desktopcouch/application/pair/couchdb_pairing/dbus_io.py:103 (though this case should not be failing) [19:11] thisfred: same file, same fix, line 133 [19:13] nessita: huh? You mean use the comma syntax and %r in both? [19:13] thisfred: nopes, replace logging. for logging.exception [19:13] thisfred: and remove any formatting [19:13] thisfred: do you know what logging.exception do? [19:14] thisfred: if not, what I'm saying is probably chinese :-) [19:14] nessita: I can guess probably [19:14] thisfred: let me show you [19:15] hi [19:15] anybody there [19:15] thisfred: http://pastebin.ubuntu.com/535316/ [19:15] nessita: in testing your branch, to what do I connect d-feet? [19:15] hey [19:16] thisfred: the exception traceback is automatically logged when using logging.exception [19:16] blip: hi there [19:16] nessita: awesome, fixing that [19:16] thisfred: you just need to add a proper message, without caring about the exception [19:17] thisfred: regarding d-feet, you need to connect to the session bus [19:17] thisfred: File -> Connect to Session Bus [19:17] filter per com.ubuntu.sso service [19:17] nessita: thx, gotcha [19:18] i have got several tropuble when i want to connect [19:18] to the server [19:18] in my computer [19:18] thisfred: and in the /com/ubuntu/sso/credentials path, browse the CredentialsManagement iface [19:18] blip: how are you connecting? what ubuntu are you running? [19:18] is not running [19:18] well [19:19] i put the ubuntu into [19:19] virtual machine [19:19] but is not working [19:19] blip: how can you tell is not working? [19:19] thisfred: fwiw, i just proposed a branch to add coverage reporting to u1trial, as well [19:19] blip: I mean, what are you expecting to see that you're not seeing? what ubuntu are you running? [19:21] thisfred: same logging.exception fix for start_local_couchdb.py:234 [19:21] thisfred: no! sorry, my lie. That line is juts perfect [19:21] dobey: let me know if you want me to review that [19:22] sure, go ahead [19:22] https://code.edge.launchpad.net/~dobey/ubuntuone-dev-tools/add-coverage/+merge/41503 [19:23] dobey: I like show_missing=True, but fear I may be alone in that [19:24] thisfred: i wouldn't mind if it didn't make the output harder to read [19:25] dobey: yeah, a little, but there's an easy and fun way to make it prettier: increase coverage ;) [19:25] yes, well. i'm not going to increase coverage of everyone else's code just to make the output easier to read [19:25] I like to see when there's a single statement or maybe two untested in a file. That's low hanging fruit, usually [19:26] a percentage doesn't tell me that without doing math in my head, which it's not cut out for ;) [19:26] thisfred: found another issue: (desktopcouch/application/migration/__init__.py) 53 logging.info("Migrating DB: ", db.db.name) [19:26] yeah, but for large files with little coverage, you get multiple lines of output from show_missing [19:26] yep [19:26] nessita: thx fixing [19:27] thisfred: and that was the last culprit (as far as test coverage goes) [19:28] nessita: revno 224 pushed [19:28] thisfred: ack [19:28] dobey: +1d [19:28] thisfred: if it was '\n\t'.join(x.name for x in missing_methods) or something, then i'd like it more :) [19:29] nessita: I can't get the import errors you promised when testing your branch [19:29] thisfred: what dbus methid you invoked? login or register? [19:29] dobey: since you parse and redisplay the lint output..... ;) [19:29] nessita: both [19:29] nessita: commented on the proposal [19:29] thisfred: are you sure you're running the dbus service from my branch? [19:30] thisfred: show_missing doesn't give parseable output in the respect. it just gives a string of number pairs [19:30] nessita: I ran the killall and start from your branch yes [19:30] dobey: yeah, let's forget about it for now, any coverage stats at all are awesome [19:31] thisfred: so, let's go from the top since the ImportError should appear :-). I'll be asking silly questions but I want to know we're in synch. How do you setup a branch to review it? [19:34] nessita: bzr branch lp:~nessita etc. [19:35] nessita: wait! [19:35] nessita: I lied [19:35] thisfred: so, recommended way of setuping a review is: branch project trunk, then bzr merge target branch to ensure that target branch doesn't generate conflicts [19:35] thisfred: you did? [19:35] The import errors are totally there [19:36] thisfred: I told you! :-P [19:36] I just expected errors in the UI or something :) [19:36] thisfred: ah no, we signal back every outcome [19:36] but they're in the console of course [19:36] thisfred: my bad for not being explicit about that [19:36] I'm too used having alecu doing the reviews (bad nessita, bad!) [19:37] nah, it's pretty obvious if you're not stupid. [19:37] I was just doing twelvity things at once again [19:39] nessita: +1 [19:39] thisfred: awesome, thanks! [19:40] thisfred: I'm still having the test Error on your branch desktopcouch.application.pair.tests.test_couchdb_io.TestCouchdbIo.test_get_database_names_replicatable [19:40] thisfred: I do have desktopcouch installed [19:40] maybe I need some other package? [19:41] nessita: I don't think so. CardinalFang any ideas? (test error at the end of http://pastebin.ubuntu.com/535307/ ) [19:42] I have never seen that one before [19:45] hrmm [19:45] oh i know how to fix that [19:45] one second [19:46] thisfred: in test_couchdb_io.py change the import of unittest from twisted.trial to just be import unittest [19:47] dobey: will do [19:48] thisfred: I tried trunk but I've got ImportError: No module named coverage [19:48] ah fun [19:48] nessita: ah, yeah, that runtest.py assumes you have coverage installed. [19:49] that is gone on my branch, but .... [19:49] ok, I'll wait your fix then [19:49] well, gone partially [19:49] dobey: we can't skip that one test then. I think I'll kill it anyway. It talks to the internet. [19:49] thisfred: skip the one io test? [19:50] dobey: there's a conditionally skipped test [19:50] thisfred: the reactor error when away when i switched it to use plain unittest [19:50] huh [19:50] s/when/went/ [19:50] dobey: ah yes, but your provider likely does not hijack non existing domains then [19:50] thisfred, No, I don't have any specific idea. [19:51] which goes to show that the test is not all that unit ;) [19:51] dobey: fun, now I get the sorted error [19:51] heh [19:52] thisfred: well i didn't see anything in the runtests.py that suggested it did anything beyond just collecting the tests and running them, in that respect [19:52] thisfred: so i presume the issue is coming up now because u1trial installs a glib twisted reactor [19:52] thisfred: where runtests.py did not [19:53] thisfred: i guess it was always sullying the reactor, but there wasn't always a running reactor [19:54] right [19:55] anyways [19:57] CardinalFang: any news on the tests depending on an installed dc? [19:58] nessita: i wonder what specifically is requiring something to be installed, there [20:00] * nessita wonders too [20:00] nessita: pushed 225, which should solve the reactor issue [20:00] dobey: ah, I just remember. Any news on the nautilus plugin crash issue? I'm having u1client-gnome uninstalled because it kills my syste, [20:01] system* [20:01] thisfred: ack [20:02] nessita: i have not seen any new information on it, no [20:02] dobey: what new info do you need? besides the one from Thomas [20:03] thisfred: I have tons of FIXMEs and TODOs [20:03] XXX I mean [20:03] and some lint errors:desktopcouch/application/pair/__init__.py: [20:03] 19: [W0511] FIXME constants should be upper case [20:03] desktopcouch/application/pair/tests/test_couchdb_io.py: [20:03] 31: [W0611] Unused import httplib2 [20:03] 32: [W0611] Unused import socket [20:04] nessita: i need a backtrace from him. even with the extra glib symbols, your backtrace simply looks like something is corrupting memory somehow, and isn't making much sense [20:04] dobey: is there any chance you give review the nautilus plugin to look for "obvious" memory issues? [20:04] nessita: yes, if I understand correctly, those will not block landing branches, but hopefully nag people into fixing the issuyes [20:05] thisfred: I agree on XXX and FIXMEs (though I think they do block tarmac) [20:05] thisfred: but the unused import should be fixed [20:05] nessita: ah yes, that's weird [20:06] nessita: i looked at libsyncdaemon where your trace points, and i don't see anything there. [20:07] nessita: unused imports removed in 226 [20:07] thisfred: ack [20:07] dobey: Did I misread u1lint? It seems to do *something* special with W0511 messages [20:08] dobey: to be clear, my question is, will these block in tarmac? [20:08] My hope is no :) [20:09] My name is legion [20:10] thisfred: "maybe" [20:10] I can live with maybe [20:10] thisfred: i think pylint exits with a non-zero value now for FIXME, where it didn't used to [20:10] ah [20:10] thisfred: if your branch gets blocked by that, i can hack u1lint to do something about that [20:10] that would suck, but I can make them into TODO I guess :) [20:10] dobey: will let you know [20:11] although, actually, i also have to change the config to use ./run-tests instead of ./runtests.py before it will potentially succeed anyway [20:11] thisfred, dobey: from my POV, I prefer tarmac not landing branches with XXX and FIXMEs and TODOs [20:11] dobey: I thought I saw some hackery to that effect in u1lint already [20:11] thisfred, dobey: and making those bugs in LP [20:11] nessita: they should be bugs if they are going to be there, but i don't think we should block on them being there [20:12] blocking on bugs existing in the code is dumb, because there are always going to be bugs [20:12] thisfred: so, in the code we may find a comment like # needs better implementation (LP: #XXXXX) [20:12] nessita, thisfred, I have a patch for the not-installed testing problem. That problem was created last Friday or so. [20:12] nessita: I agree in principle, but after fixing a gazillion lint issues, I'm not gonna file 200 bugs as well [20:12] thisfred: I understand. [20:12] CardinalFang: awesome, let me at it! [20:12] dobey: the problem is how do you enforce people filling bugs for XXXs and related? [20:13] thisfred: there is some hackery in that respect, but the exit code gets looked at before whether or not the lint warnings contained the W0511 values [20:13] ah ok [20:13] nessita: well, we could add code to ensure that there is a bug in the comment [20:13] thisfred: ok, test pass, lint issues solved (except those XXX and related). Reviewing code now. [20:14] nessita: such that it has to be "FIXME http://launchpad.net/bugs/532434" [20:14] Launchpad bug 532434 in linux (Ubuntu) "E: linux-image-2.6.31-14-generic: subprocess installed post-installation script returned error exit status 2 (affects: 1) (heat: 11)" [Undecided,Expired] [20:14] dobey: that seems, to me, a bit overkill. Just reject branches with lint issues, no matter what they are [20:14] thanks for nothing botboy [20:14] and we don't have to add any logic [20:14] nessita: that seems overkill, since W0511 isn't a lint issue exactly [20:15] like I said, that was my POV [20:15] nessita: we could just disable the warning and it would have same effect [20:15] the whole point of enabling that in pylint is so that they are visible, not necessarily to block on them [20:15] thisfred: why did you moved the docstring in bin/desktopcouch-get-port? [20:16] thisfred: the correct place for the docstring is *after* the copyright and license [20:16] nessita: not according to pylint [20:16] :( [20:16] yes according to pylint [20:16] thisfred: maybe you misread the message? [20:16] oterhwise it would have to be before the #! comment too [20:16] the message is just misleading [20:16] dobey: nope it accepts that first [20:17] thisfred: it accepts any comments first [20:17] the message is just misleading because it says "line 1" [20:17] thisfred: I'm testing now, I'm pretty sure lint will not make moving the docstring [20:17] nessita: dobey ah, maybe it's the pep8 checker then? [20:17] no [20:17] I get warnings when it's not at the top [20:17] or well, the message is misleading [20:17] whoever prints the message [20:18] thisfred: I'm running pylint with the docstring moved and I have no messages related to that [20:18] thisfred: the first line of executable python code must consist of a docstring [20:18] thisfred: the number of comment lines above it is inconsequential [20:18] dobey: nessita, I will move them back wherever I did that. [20:18] thisfred: yes please, and show me the error if you have any [20:19] thisfred: the docstring itself is not pep-257 compliant, but that's another issue [20:19] nessita: it's probably as dobey says and I misread the message [20:19] and lint will not complain about that [20:19] we need a docstring linter [20:19] anyone know how to grep for """ at the beginning of a file? :) [20:20] thisfred: instead, I would recommend: [20:20] thisfred: bzr diff --old=../trunk --using=meld [20:20] thisfred: that's how I check the code when reviewing [20:20] and you can edit in place [20:20] nessita: yeah, but I may have done some of them on previous branches [20:20] thisfred: argh, and who approved!!!!! [20:20] :-) [20:21] nessita: also I don't like to edit in meld, it leaves whitespace, and insrets tabs if you're not careful [20:21] nessita: not you, that's for sure :) [20:21] thisfred: yes, that's the only con I have [20:21] thisfred: maybe this would help: [20:21] nessita: I love it for reviews though, or figuring out what went wrong :) [20:21] find -name '*.py' | xargs head [20:22] thisfred: that will show the first 10 lines of every .py file [20:23] thisfred: though that will not cover bin/, you should go by hand there [20:23] thisfred, find . -type f | while read f; do sed -e 'p;q' "$f" |grep -q '^"""' && echo $f; done [20:24] CardinalFang: I want to marry you. I will tell my wife tonight. [20:24] Roger. [20:24] only 52 files :) [20:29] you changed 52 files to put the docstring at the absolute top? [20:29] sucks to be you ;) [20:29] dobey: no way less [20:29] dobey: a lot of them have no copyright [20:29] DON'T MAKE ME ADD THAT AS WELL [20:30] almost done [20:30] what. files without copyrights? [20:30] yeah SSSSH! [20:30] I'm not doing it [20:30] i think i will add a checker for that too [20:30] you can't make me [20:30] sure i can :) [20:30] I will review the branch gladly [20:30] * dobey writes a tarmac plug-in for that real quick [20:31] NOOOOOEs [20:31] Anyone here able to talk about the ubuntu-sso dbus API for applications? [20:32] mterry: nessita would be my best guess [20:33] * mterry gives a pregnant look at nessita [20:34] nessita: 227 pushed, now with less stupid! [20:34] mterry: I'm here! [20:35] mterry: I hope the pregnancy is not contagious :-P [20:35] otherwise we should not be talking [20:36] nessita, no touching, don't worry [20:36] jeje [20:36] mterry: what can I do for you? [20:36] nessita, so... sil was talking to me (the maintainer of Deja Dup) about adding support for backing up to Ubuntu One server-side-only storage [20:37] nessita, and he pointed me at part of the story, the sso bits to log into Ubuntu One [20:37] nessita, and I played with it, but I don't get it. :) [20:37] mterry: yes, we currently provide a Dbus service to query for credentials for any app. What programming language are you using? [20:38] nessita, let me explain my confusion in a sec [20:38] nessita, (vala) [20:38] mterry: ok, I read you [20:39] nessita, I call login_or_register_to_get_credentials and it opens a pretty little dialog, but I'm thinking it's not solving my use case, and I'm not sure what I'm supposed to use instead. This API asks for stuff like a terms url and reads like I'm asking the user to sign into *Deja Dup*, but I want something to log into *Ubuntu One* [20:40] mterry: right, so, 2 things [20:40] mterry: are you coding for natty and above, right? [20:40] nessita, yes [20:41] mterry: so you should be using the new SSO iface (what you're using is the old one). The difference is onyl about how parameters are passed, so we can talk using the old method as reference, but you will need to migrate to new one (should be fairly easy) [20:42] mterry: if your goal is to check if a user has a Ubuntu One token, you should query the find_credentials() method, passing as parameter 'Ubuntu One' [20:42] nessita, I should be using /com/ubuntu/sso/credentials instead of /credentials, I'm guessing? [20:43] mterry: yes! and the iface is called CredentialsManagement [20:43] mterry: please note this method, in the new iface, will not return immediately since the keyring can block [20:43] nessita, oh. the old iface specifically talked about how great it was that it wasn't blocking... [20:43] mterry: on the new iface, you should call find_credentials('Ubuntu One', {}) [20:43] nessita, ACK [20:44] mterry: that will return thru signals: either CredentialsFound or CredentialsNotFound [20:44] mterry: if no credentials were found, here comes the need of using GUI part [20:44] (so far no GUI was involved) [20:44] ACK [20:44] Taking a break from all my worries sure would help a lot. [20:44] bbiab [20:44] nessita, oh wait. when you said blocking, you mean non-blocking it sounds like, if it returns via signals [20:45] mterry: yes, sorry, I wasn't clear enough. Former find_credentials was indeed blocking since accessing the keyring is blocking [20:45] nessita: ping me if there's more wrong with my branch, though, or when you approve it. That one is sort of urgent. [20:45] thisfred: I will [20:46] mterry: new find_credentials, is not blocking and return thru signals. So, back to the GUI need: the user has no Ubuntu One credentials and you want to offer to her to either login in or signup [20:47] so complex [20:47] nessita, yup! [20:47] mterry: and here comes the tricky part (I'm just realizing that this is indeed tricky and we may provide an easy way to solve this, but I need to discuss a new idea with my boss) [20:47] well he wants to tell ubuntuone to offer that [20:47] not to do it himself so much. [20:48] dobey: yes, we should offer a dbus call, whithin u1 to get new accounts [20:48] nessita, yeah, seems like the register+login call is gone, split in twain. [20:49] mterry: theoretically, you should invoke 'register' or 'login' with a fixed set of parameters, specific to Ubuntu One [20:49] so, specific params will be: [20:49] app_name: 'Ubuntu One' [20:49] extra args, a dict with: [20:50] * mterry is thinking that https://wiki.ubuntu.com/SingleSignOn/UbuntuSsoClient could use all this info :) [20:50] mterry: yes, we have a bug to update that :-) [20:50] nessita, but continue, interested in the dict info [20:51] extra dict: {'tc_url': "https://one.ubuntu.com/terms/", 'ping_url': "https://one.ubuntu.com/oauth/sso-finished-so-get-tokens/", 'help_text': "Ubuntu One requires an Ubuntu Single Sign On (SSO) account. This process will allow you to create a new account, if you do not yet have one."} [20:51] mterry: as you can see, that parameter set is extremely specific to Ubuntu One [20:51] so we should definitively offer a shorcut whithin ubuntu one [20:51] nessita, :-/ Yeah [20:52] nessita, for translation purposes if nothing else [20:52] mterry: I can provide a solution (or a plan) next Wednesday. Can you wait until then? or use something else until then (like the log call)? [20:52] long* [20:52] nessita, yeah no rush at all. I'm just doing some prep work in the UI before the backend stuff (pushing/pulling/listing files in Ubuntu One) is done [20:53] nessita, do you know anything about the ETA for that stuff? [20:53] mterry: please define "that stuff" :-) [20:53] just to be sure I m etaing the right thing [20:54] nessita, my app needs the ability to put, get, and list files in U1 server-side-only storage (from Python this time) [20:55] mterry: hum, as far as I know we currently don't have the ability to put, get and list files. We should check with aquarius (sil) if that's part of the plan for the new AIPs [20:55] APIs* [20:55] mterry: I can provide ETAs for the replace of the get credentials burden :-) [20:56] nessita, the first parameter of this dbus API, it seems like it shouldn't be translated (used as a key for credentials), but at the same time, it is shown in the UI [20:56] mterry: the app name is never translated [20:56] nessita, aquarius has been talking to me about the need for those API bits [20:56] Ubuntu One is the same in any language [20:57] nessita, well, OK. Fine for Ubuntu One. But this seems like a more general-purpose API, and may not be true for other things? [20:57] mterry: just because something is shown in the UI, it shouldn't necessarily be translated. [20:57] mterry: it is a general purpose api, to create a SSO account to any app. We assumed the app name is not translatable... [20:58] nessita, ahem, back [20:59] nessita, well, I don't really care, since I'm only interested in Ubuntu One here, but I wouldn't have thought that was a safe assumption [20:59] mterry: I see. I'll make sure to add that to the wiki page [21:00] mterry: so, regarding the API for file management, we should ask sil. You can count on the improved Dbus method to specifically create a Ubuntu One account, but currently is not available [21:00] nessita, dobey's right though that perhaps you want to only show the untranslated version for security reasons or something, but I don't know the places these strings get used [21:00] mterry: well it doesn't really matter if the string does get translated or not, though [21:01] mterry: it's just a string label. if the user is using a translation they will probably understand what it is if they look on the web or wherever it might show up [21:01] nessita, sure. He mentioned that someone else was working on the files API. I don't recall who [21:01] mterry: ah, ok [21:01] dobey, with that attitude, why bother translating anything at all :) [21:02] mterry: well brand names shouldn't be translated. they are in fact, untranslatable. [21:03] dobey, that's not true. Plenty of brands have localized versions. I think McDonald's has a phonetic version in Chinese and such [21:03] mterry: yes, well; people do actually do stupid things sometimes, without necessarily thinking about the consequences. [21:03] dobey, but brands aren't the same as applications names. Calculator's name is translated [21:04] mterry: calculator is not an application name. gcalctool is not translated. [21:04] but gcalctool isn't really shown in the UI anywhere [21:04] only in the about box [21:05] dobey, right, and that's why I'm asking how these strings are used. If the API wants an appid, gcalctool should be passed, if it wants something to present to the user, _("Calculator") should be passed. Hence my request to be able to pass both fields. [21:07] mterry: your request makes sense and with the new dbus iface we can add extra parameters without breaking the dbus api to former clients [21:07] mterry: right now, the (visible) app name is also the app id [21:08] i don't think it makese sense; but only because i don't see any technically valid reason to haave anything other than what the user sees [21:08] and in either case, "Ubuntu One" should never be translated [21:13] dobey, the point is that the user would see the translated version (unless we only want to show the appid for security reasons -- i.e. to prevent malicious apps fooling people) [21:14] thisfred, https://code.edge.launchpad.net/~cmiller/desktopcouch/code-split-changes-relative-path-to-configs/+merge/41515 [21:15] mterry: i don't think that is a valid way of implementing security. at least, it is very easily defeatable [21:15] CardinalFang: ah, thanks, so that was all my fault then? :) [21:15] thisfred: shall I retry? [21:15] Eh, the compulsory-auth test fails too, so no. [21:16] mterry: it is very easy to get a translation for the app name; probably more so in ubuntu for certain apps, given that translations may installed without the application being installed [21:17] dobey, probably agreed re:security. I was just trying to think of reasons you didn't want to show the translated name [21:18] dobey, but a naive attempt at getting app name would fail in the case of gcalctool being the appid [21:18] dobey, hence why the app needs to provide it [21:18] mterry: i don't have any good reason to not show _("Calculator") or something; but for "Ubuntu One" we are not called "Ubuntu Uno" [21:19] dobey, I have not been talking about the Ubuntu One case at all here [21:19] mterry: i don't think the app providing both is going to solve that issue. [21:20] dobey, solve which issue? [21:20] 16:18 < mterry> dobey, but a naive attempt at getting app name would fail in the case of gcalctool being the appid [21:21] basically i don't see any valid technical reason to provide the appid [21:21] dobey, ah, you've been anti-appid. My understandings of your comments made me think you were anti-translation [21:21] at that point, we're basically attempting to implement another crappy third party web authentication mechanism over dbus [21:22] might as well just generate UUIDs for developers and tell them to keep them secret :P [21:22] dobey, how else would sso find your credentials without a key (the appid)? [21:23] thisfred: ping [21:23] nessita: eh sry retry what? [21:23] mterry: the same way it does now? [21:23] thisfred: I'm confused (a bit). Are the docstring issues solved? [21:23] is the not having dc installed issue solved? [21:24] mterry: currently if you use translated strings there, it means if you change your translation, you have to log in again. [21:24] but eh [21:24] dobey, right, that's the problem we're talking about [21:24] nessita: 1. yes, on my branch in rev 227 [21:24] nessita: 2. hopefully, on chad's ^^ branch [21:25] mterry: right. i guess i don't see any reason that things that would use translatble strings there, would have to use sso. but eh [21:25] thisfred: have you pushed rev 227? [21:26] nessita: yep [21:26] thisfred: ok, starting fresh since I don't have those [21:26] nessita, btw, the new-style API dropped the combined register+login. The expectation is that my app will show both options to the user, rather than having that choice (login/register) be made sso-side? [21:26] mterry: if you try them both, you'll see that the GUI is the same. Register also offers login at the bottom, like before [21:27] mterry: login provides login inly [21:27] only* [21:27] mterry: we improved just the names and parameters [21:27] and asynchronism (if such word even exists :-P) [21:28] nessita: would you care to review https://code.edge.launchpad.net/~dobey/ubuntuone-dev-tools/add-coverage/+merge/41503 ? [21:28] dobey: I'm happy to [21:29] nessita, OK, cool. I was expecting when I originally tried register_and_login that the login would be high-priority and there would be a small button to register. But it was the other way around. Is it so rare that a user would need to login? (because as an app author, I can't see why I would ever call 'login' and thus assume that there is no way the user hasn't already got an account) [21:29] mterry: software center app wanted this funct6ionality [21:29] functionality* [21:29] nessita: thanks [21:30] nessita, what's the use case for the login call then? (use case would be greatly increased if there was a 'register' button in the login screen) [21:30] mterry: I'm not sure, they ask "we want a login only screen, with no visible registration" [21:31] they ask for* [21:31] :-) [21:31] nessita, oh, the login-only was the Software Center ask. I assumed they asked for the register-focus [21:31] maybe [21:31] at that point our schedule was really tight and the APIs were fixed [21:33] nessita, well, I suspect most users are familiar with a web-style login that offers the ability to login and a small button for the once-in-a-lifetime register press. The way the API is now, as a non-Software-Center app author, I can't imagine calling 'login', so must call 'register'. But I feel that that screen is so busy and unfamiliar as a login mechanism that the user might think it's *only* for registering [21:33] thisfred: I may be crazy myself, but bin/desktopcouch-get-port keeps having the docstring at the top [21:34] mterry: I agree. Can you please add a bug report to ubuntu-sso-client to include registration on the login screen? [21:34] nessita: oops may have skipped those, since they're not .py [21:34] thisfred: same for bin/desktopcouch-pair [21:34] yeah [21:35] nessita, OK [21:36] nessita: 228 pushed [21:36] thisfred: same for bin/desktopcouch-service [21:36] thisfred: did you fix all the bin scripts? [21:37] yep [21:37] thisfred: SERVICE = DesktopcouchService(init_mainloop()) should not use uppercases [21:37] thisfred: only module level constants are upppecases [21:38] nessita: yeah, probably not, I'll escape that instead [21:38] escape? [21:38] thisfred: lint will not complain [21:38] yes it will [21:38] that's not a module level constant [21:38] no! :-) [21:38] thisfred: I just tried it [21:39] nessita: ah, not with our pylintrc. It did before though [21:39] ah! [21:39] :-) [21:39] nessita: ah, no: it does not because the C0103 is escaped in the file [21:40] nessita: because the filename itself is ungood [21:40] good enought for me [21:41] nessita, https://bugs.launchpad.net/ubuntu-sso-client/+bug/680240 [21:41] Launchpad bug 680240 in ubuntu-sso-client "Provide a combined login+register screen with an emphasis on logging in (affects: 1) (heat: 6)" [Undecided,New] [21:41] nessita: pushed 229 [21:41] mterry: awesome, thanks! [21:41] thisfred: thanks! [21:47] thisfred: not related to your branch, but: why are you accessing the keyring? [21:48] yay, my computer locked up again :( [21:50] nessita: desktopcouch stores couchdb authentication tokens in the keyring [21:50] nessita: not for sso, but for local couchdb [21:51] dobey: can that use ussoc? [21:51] no [21:51] it has nothing to do with connecting to the internet [21:51] dobey: but sso can store and find credentials without internet [21:52] and now, we have dropped the dependency with the keyring! using the dbus service, so this would work out of the box with kwallet [21:52] nessita: it completely abstracts the keyring api? or it requires all the extra sso related stuff for that? [21:52] dobey: it abstracts storing, finding and clearing credentials [21:52] you do need to provide an app name [21:53] i don't think the way it does that makes sense for things that don't use the SSO [21:53] dobey: by "extra sso related stuff" what do you mean? [21:54] nessita: anything extra that is not directly required in the secretes storage API [21:55] dobey: then no, no extra sso bits [21:56] then what does it need the app name for? [21:56] dobey: to create a token name [21:56] thisfred: approved. Great work, really, you rock! [21:57] thisfred: you may wanna set the commit message? [21:57] nessita: i don't think that's the way it should work. [21:58] dobey: I imagine you would say something like that :-) [21:59] nessita: well there is a conflict of interest there. [21:59] nessita: many thanks, that was an epic review. [22:00] thisfred: it was! but I'm happy to have made it (please correct my crappy english) [22:01] nessita: ussoc creates tokens name "app name-machine" right? [22:01] app_name @ machine_name [22:03] right; i don't think that's relevant for the desktopcouch tokens in question [22:04] dobey: is just a token name... [22:05] so is a uuid [22:06] thisfred: can you please do another review? this one is much easier than the one before, and very similar review process https://code.launchpad.net/~nataliabidart/ubuntu-sso-client/store-creds/+merge/41521 [22:07] thisfred: description on how to test, attached to the merge proposal [22:07] nessita: sure thing, I'm on it [22:07] anyway, i'm outta here for the night; later [22:07] later dobey [22:08] dobey: ping before you go [22:08] dobey: shouldn't the import coverage be conditional to having it installed? [22:24] ok, gotta go [22:24] see yall tomorrow!