/srv/irclogs.ubuntu.com/2010/01/14/#ubuntuone.txt

urbanapejblount, I figured it out. I was never unsubscribing that button from the action, so every time you click it, it adds on more subscribers.00:35
=== mr_ian_ is now known as mr_ian
statikall better now04:24
urbanape jblount: fixed the extra event subscribers. Pushing now13:46
urbanapequestion: If a file is public, should its URL that we expose in the file table be its public URL?13:47
=== gnomefreak is now known as thunderstrck
=== thunderstrck is now known as gnomefreak
=== gnomefreak is now known as gnomefreak76
=== gnomefreak76 is now known as gnomefreak
=== gnomefreak is now known as gnomefreak76
=== gnomefreak76 is now known as gnomefreak
jblounturbanape: Is there a good reason for that? Swapping the urls out seems like extra complication for little benefit.14:06
urbanapeno, no particular reason, just asking14:07
urbanapeconsistency, really.14:07
urbanapethen, you could just right-click on the URL, copy it, paste it into IM or whatever14:07
urbanapeif the file is public, always deal with its public URL.14:07
jblountYeah. I'd actually prefer it becuase it exposes the url closer to top level...14:07
* jblount takes note that public files probably need to be indicated as such somewhere in the ui other than just in the details overlay14:09
urbanapealso a good idea14:09
urbanapeI had these questions for johnlea yesterday, but he was away14:09
urbanapeif he wants to chime in ^^14:09
johnleaurbanape: what's the question?14:13
urbanapeshould we decorate the file table entries in any way when they're available as a public file?14:13
johnleaurbanape: the file table is not exposed through the UI?14:17
urbanape?14:17
johnleaurbanape: what is the file table?14:17
urbanapein the /files/ ui14:17
urbanapein the web UI, if a file is public, should we decorate it any way so that the user can see at a glance?14:18
johnleaahhh, you are talking about the files page on the website14:18
johnleayes14:18
johnleawe need to design how published files are going to be indicated on the desktop, and then when that is agreed use that as the basis for modifying the website14:19
urbanapeso, nothing right now. that's fine14:20
johnleamy todo list is: 1. file sync (UDFs) 2. file share 3. file publish14:21
Overtone_My machines are not sync'ing at the moment. Is this a common problem for anyone?14:22
urbanapejohnlea, does that mean we shouldn't have the publish capabilities exposed in the web ui yet?14:23
jblounturbanape: No. We're not going to wait to expose this feature until it's ready on the desktop.14:25
jblountOvertone_: You are the second person I've heard report it, and I know we're having some database related issues.14:25
Overtone_Is there anything I can do to help debug it?14:26
jblountOvertone_: I don't believe so, all of our db hackers are working on it right now.14:28
Overtone_OK, I'll wait a while and try again later!14:28
jblountOvertone_: Thanks, sorry for the trouble!14:33
dobeyhrmm14:37
johnleaurbanape, yes hold off exposing the publish capabilities in the web interface until we have designed how it will work on the desktop14:40
urbanapejohnlea, jblount, and anyone else involved: Please work out a consistent story.14:40
dobeyheh14:43
dobeythis one time...14:43
jblounturbanape: Keep hacking, I'm pretty sure statik wouldn't want us to slow down on this and doesn't want to wait to expose the feature, but he's a little busy with the db weirdness.14:43
urbanapethis calls for Thunderdome.14:44
* dobey goes over to the xbox and puts in Borderlands14:44
johnleaurbanape, jblount: I'm not sure it is worth implementing a feature that without a design when it is due to be designed in the near future.  You can implement something, but it after the design work is done the required functionality is different the work may be wasted.15:00
johnleaif15:00
* johnlea going into meeting15:01
dobeyjohnlea: do you and otto have a few minutes for a call today?15:01
jblountDesktop+ MEETING BEGINS (although a little late)15:09
jblountSay "me" to document your status, we're doing DONE / TODO / BLOCKED today.15:09
CardinalFangme15:09
jblountme15:09
teknicome15:09
aquariusme15:09
jblountme15:10
rodrigo__me15:11
dobeyme15:11
CardinalFangReady?15:12
jblountCardinalFang: I'm ready !15:13
CardinalFangDONE: Found bug/test-failure in merged Tomboy/Notes code.  Half sick-day15:13
CardinalFangTODO: File bugs and blueprints.  Fix that Tomboy/Notes bug.15:13
CardinalFangBLOCKED: None.15:13
CardinalFangjblount, what do you see, from there on the summit of Mount Dora?15:13
jblountDONE: Got my stupid cranky server fixed in the morning, worked on layout bugs15:13
jblountTODO: Keep hacking on https://bugs.edge.launchpad.net/ubuntuone/+bugs?field.searchtext=&orderby=-importance&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_supervisor=&field.bug_commenter=&field.subscriber=&field.omit_dupes.used=&field.omit_dupes=on&field.has_patch.used=&field.has_cve.used=&field.tag=gd&field.tags_combinator=ANY&search=Search15:13
jblountBLOCKED: None15:13
jblountteknico: YOU!15:13
teknicoDONE: more fighting with funambol_cared (#506898); worked on a user's problems accessing the contacts web IU (#506584); started implementing the mobile sync REST API for client app (#504689)15:13
teknicoTODO: land a branch for configuring funambol for sending sms messages (#418048); more work implementing the mobile sync REST API for client app (#504689)15:13
teknicoBLOCK: ubuntuone-storage-protocol misbehaving (#506974)15:13
tekniconext: aquarius15:13
aquarius⚀ DONE: spec file delivery downloader daemon; many design discussions15:13
aquarius⚁ TODO: redo music store URLs; have music library page send message to downloader daemon and row to database; make workitems of outstanding todo items; make tomboy first-sync experience nicer15:13
aquarius⚂ BLOCKED:15:13
aquariusrodrigo__, go15:13
rodrigo__• DONE: Contacts picker design discussions with John and Otto. Checked with Ken status of music store packages. Retrieve oauth credentials from keyring in music store widget. Fixed JS code in music store widget. On-call review. CouchdbAuth object in couchdb-glib15:14
rodrigo__• TODO: Conflict resolver tool in pair tool. Look at becoming a MOTU (https://wiki.ubuntu.com/UbuntuDevelopers). Make sandy's snowy test suite work with our server (http://git.gnome.org/cgit/snowy/tree/api/tests.py). Discuss with jdo and aquarius about oauth token per app, not per machine?15:14
rodrigo__• BLOCKED: no15:14
rodrigo__go dobey15:14
dobeyi thought it was jblount's turn again, since he said me twice :P15:14
dobey☺ DONE: More testing code for login script15:14
dobey☹ TODO: More new UI code and tests15:14
dobey☹ BLCK: None.15:14
jblount(Sorry I'm confusing did everyone get a chance? )15:16
dobeye'run dat's hur15:17
jblountwell, EOM15:18
=== CardinalXiminez_ is now known as CardinalFang
* johnlea is back from meeting15:23
urbanapeoh, damn. me:15:25
urbanapeDONE: Finished the green/red flash for the public files UI. Who knows its current state?15:25
urbanapeTODO: Back to Bindwood - migration and subsequent client code paths.15:25
urbanapeBLOCK: None15:25
gourgihey jblount i updated my contacts error 500 bug (#506584) with the oopsid ,15:25
jblountgourgi: Nice, thanks for the update!15:26
teknicogourgi, thanks, I'll have a look15:26
gourgijblount teknico you welcome, tell me if anything more needed15:27
dobeyclearly gweather is confused about what the weather is15:33
dobeybecause it is most definitely not raining here.15:33
dobeyat least it's supposed to break 50F today15:34
rodrigo__adiroiban, I've added the CouchdbAuth object, now for basic auth, you just need to add an 'Authorization' HTTP header, right?15:41
=== rodrigo__ is now known as rodrigo_
adiroibanrodrigo_: thank. I will change my code.15:42
rodrigo_adiroiban, well, wait, we need to define how the auth will be done15:42
rodrigo_if you just need to add an HTTP header, a 'gchar *add_http_header ()" virtual method would be enough15:42
adiroibanmy path uses the libsoup authentication api15:43
rodrigo_yeah, I was thinking about just not doing the SoupAuth stuff15:43
adiroibanand it can be used for basic or digest15:43
rodrigo_hmm, ok, I guess we'll have to add SoupOauth then15:44
adiroibanor other http auth15:44
adiroibanif we want to only support Basic auth15:44
adiroibanwe can have a simple hack15:44
adiroibanand add the headere15:44
adiroibanwith username and plain text password15:45
adiroibanbut since this is a generic couchdb lib15:45
rodrigo_yeah, we should support them both15:46
adiroibanI assume other http auths will be welcomed15:46
aquariusyou can't only support basic auth, since you can't use that for desktopcouch. But supporting basic *and* oauth would be fine, I think15:46
adiroibanfor desktopcouch, oauth is all we need15:46
rodrigo_aquarius, yes, we are adding basic http auth, oauth already supported15:46
aquariusrodrigo_, oh right gotcha :)15:47
rodrigo_just trying to find a good API to support all auth mechanisms15:47
adiroibanrodrigo_: is simle15:47
adiroibanuse the libsoup api15:47
rodrigo_yeah, but not sure yet how to fit oauth there15:48
adiroibanand let developers provide the username and password15:48
rodrigo_will talk to the libsoup developers15:48
adiroibanand define a list o prefered auth methods15:48
adiroibansomething like in ssh15:48
dobeyrodrigo_: what about oauth + libsoup?15:49
rodrigo_dobey, yeah, that's what I'm thinking, adding oauth support to libsoup directly15:49
dobeyrodrigo_: i mean, what's the problem?15:49
rodrigo_it doesn't support it right now, couchdb-glib just adds an Authorization header15:49
adiroibanrodrigo_: basicaly my basic http auth code can also be used for the other methods15:49
rodrigo_dobey, no problem :)15:49
adiroibanjust change the name of the functions15:49
adiroiban:)15:49
dobeywell, aside from oauth :)15:50
rodrigo_adiroiban, yeah, but we can't remove oauth support if we use SoupAuth right now15:50
adiroibanno15:50
adiroibanthere is no oauth support in libsoup15:50
adiroibanso we need libsoup + custom oauth handling15:51
adiroibanbut handling http auth in libsoup is simple15:51
adiroibanas you will only need to connect to „authenticate” signal15:51
rodrigo_yeah, but the "problem" is I want a single auth API, so that you do:15:52
rodrigo_auth = couchdb_auth_new_oauth|http|whatever....15:52
rodrigo_couchdb_session_set_auth (session, auth);15:52
rodrigo_and thus support all auth mechanisms in one call15:53
adiroibanok15:53
adiroibanand what is the current problem15:53
adiroibanthe CouchDBAuth structure15:53
rodrigo_<danw> sure. i'm not totally sure that OAuth fits into SoupAuth though. also, ross burton was looking at this a long time ago and may have done something (possibly in librest?)15:53
adiroibancould have a : type , user, pass, and auth fields15:54
rodrigo_adiroiban, yeah, I guess we'll have to do our CouchdbAuth-based stuff15:54
adiroibanwe already have the oauth fields15:54
adiroibanso we only need to move them in a dedicated structure / class15:54
rodrigo_adiroiban, yeah, but then what the interface of CouchdbAuth would be, or are you saying to have your soupauth-based code in CouchdbAuth and just have a separated CouchdbOAuthAuth for oauth?15:55
rodrigo_http://burtonini.com/bzr/soupoauth/15:56
adiroibanrodrigo_: nope. let me paste the idea15:56
adiroiban:)15:56
rodrigo_ok15:56
statikrodrigo_, have you run jslint on the embedded javascript in your oauth-credentials-from-keyring branch?16:00
rodrigo_statik, no16:00
statikrodrigo_, i'm just nervous about how to test the js, and the long term maintenance of it. what would you think about storing the js in a datafile, and reading it in from the file when you need it? then it would be easier to test changes to the js16:02
rodrigo_statik, yes, that's what I was thinking16:05
rodrigo_statik, it's in the code right now for easier testing, so that you don't need to install the code anywhere and just run it in the source tree16:05
rodrigo_statik, but yeah, I'll move it to a file in the next branch, and add jslint tests to the makefile, then, right?16:06
dobeyis there not a good way to run unit tests on js?16:06
statikdobey: there is, but this branch has javascript embedded in string constants in C files16:06
aquariusthere are semi-good ways -- jsunit, for example -- but it's more complex in the context of JS that expects to be running against a DOM but that isn't in a browser.16:06
statikwhich complicates it somewhat16:06
dobeyrodrigo_: for client i split lint and test into separate rules, and added them as dependencies to the check: rule16:06
rodrigo_dobey, ok16:07
dobeyrodrigo_: so you probably want a jslint rule for jslint, and have check depend on it16:07
adiroibanrodrigo_: http://etherpad.com/fuhKLBwxMH16:12
adiroibanbasicaly I envisioned a CouchDBAuth class that extend SoupAuth16:13
adiroibanextends16:13
adiroibanin SoupAuth we don't have SoupCredentials as it only needs user and password16:14
rodrigo_adiroiban, I see we might not need CouchdbAuth then, just the credentials,16:15
rodrigo_the "authenticate" signal can be in CouchdbSession16:15
adiroibanwell16:16
adiroibanin this case16:16
adiroibanimplementors will not be able to choose fallbacks16:16
adiroibanof we need to implement an api for fallback16:17
adiroibanor we will not support fallbacks :)16:17
rodrigo_and then, how do you pass the correct data to SoupAuth? it only understands username and password16:18
adiroibanexposing an proxied SoupAuth will allow implementations to behave different based on Realm, but mostly on scheme-name16:18
rodrigo_hmm16:19
adiroibanbut maybe nowadays16:19
adiroibanthere are not to many apps using Realm and scheme-name16:20
adiroibanthere is one thing that needs to be changed in the current couchdb-glib logic16:22
adiroibanwe need to have make it „react” to couchdb server auth requrest16:23
adiroibanright now it is pretty dumb16:23
rodrigo_yes, an "authenticate" signal when there is a 401, right?16:23
adiroibanif oauth is enabled by the user16:23
adiroibanoauth will be always used16:23
adiroibaneven if the server does not requires authentication16:23
adiroibanyes16:23
rodrigo_well, that code assumes it's desktopcouch16:24
adiroibanthe change should be done in couchdb_send_message16:24
dobeyverterok: ping16:24
verterokdobey: pong16:24
adiroibanrodrigo_: oauth is a standard auth method in couchdb?16:25
rodrigo_adiroiban, yes, not sure if standard, but it comes by default, not enabled though, AFAIK16:25
adiroibanok16:25
dobeyverterok: hey. i'm confused about how to make a test fail in the callbacks from dbus16:25
rodrigo_aquarius, does couchdb support other auth mechanisms by default?16:26
dobeyverterok: i can make it time out, but that's not a useful failure message16:26
aquariusrodrigo_, only basic auth16:26
aquariusrodrigo_, and oauth16:26
verterokdobey: please elaborate :) in which callback from dbus? the error_handler?16:26
dobeyverterok: the signal handler for NewCredentials for example16:27
rodrigo_adiroiban, ok, so let's see if the whole picture makes sense:16:27
verterokdobey: could you pastebin the code? or is there a branch I can pull?16:27
urbanapejblount, well, in any case, I slightly modified it to update the URL both in the fileTable and in the information overlay depending on its status.16:27
dobeyverterok: my test-login branch in tests/test_login.py16:28
urbanapeI've pushed it to lp:~urbanape/ubuntuone-servers/public-files-webui16:28
dobeyverterok: d.callback(False) doesn't do what i thought it did :)16:28
verterokdobey: ok, gimme 1' to pull16:28
rodrigo_couchdb tries to send_message and get a 401, in which case it emits a "authenticate" signal?16:28
dobeyand calling d.errback() causes a timeout16:28
rodrigo_adiroiban, or should it already have a CouchdbAuth associated to it the 1st time it sends_message?16:29
rodrigo_adiroiban, and call the "authenticate" signal on CouchdbAuth?16:29
adiroibanrodrigo_: if couchdb will only support basic auth and oauth, we can have the libsoup signal implemented in couchdb-glib and not expose it16:30
verterokdobey: you want to fire the oauth_denied?16:30
rodrigo_adiroiban, yes, I'd like to not expose libsoup API in couchdb-glib16:30
dobeyverterok: no, i want to make the test fail if i don't get the signal i'm expecting to get16:30
adiroibanrodrigo_: then just have CouchDBCredential structure16:31
verterokdobey: oh, so I you get other signal, e.g: auth_denied is called, you want it to fail?16:31
adiroibanthat can be created both _with_username_and_password and _with_oauth16:31
dobeyverterok: yes16:31
verterokdobey: d.errback(twisted.python.failure.Failure(Exception('Oops, wrong handler called!')))16:31
adiroibanrodrigo_: and have couchdb_session_authenticate(CouchDBSession session, CouchDBCredential credentials)16:32
dobeyhmm16:32
verterokdobey: the other option is to: d.addCallback(lambda r: self.assertTrue(e))16:32
rodrigo_adiroiban, and when should that be called, when the app using couchdb-glib gets a 401? that is, no management of 401s in couchdb-glib itself?16:32
verterokdobey: you still call d.callback(False), but check for the callback result16:33
dobeyverterok: the errback just gets me a timeout16:33
adiroibanrodrigo_: is should be called instead of the current couchdb_enable_oauth16:33
verterokdobey: could you paste the line of the errback call?16:33
adiroibanrodrigo_: maybe we can call it couchdb_session_set_authentication(CouchDBSession session, CouchDBCredential credentials)16:33
dobeyverterok: i copied and pasted your paste, into the signal handler method :)16:34
verterokdobey: hehe, probably a syntax error :)16:34
rodrigo_adiroiban, and no "authenticate" signal in CouchdbSession?16:35
verterokdobey: change it to: d.errback(False)16:35
verterokdobey: in the meantime I'm getting a copy of the branch16:35
dobeyok that works16:35
adiroibanrodrigo_: yes. no exposed „authenticate” signal16:35
adiroibanbut we will need to expose a „authentication-failed” signal16:36
verterokdobey: quite probably a syntax error. you might need to do: from twisted.python import failure and d.errback(failure.Failure(<your failure>))16:36
rodrigo_adiroiban, yeah, ok16:37
dobeyprobably16:37
verterokdobey: but you can pass anything to an errback, but usually it's a Failure instance :)16:37
rodrigo_adiroiban, and CouchdbAuth then disappears?16:37
dobeyyeah16:37
adiroibanrodrigo_: yes16:38
rodrigo_ok, makes sense to me now, we would just use SoupAuth for the non-oauth mechanisms internally in CouchdbSession16:38
adiroibanrodrigo_: yes. the implementation should be similar to my code for basic aouth16:39
rodrigo_yes16:39
adiroibanjust modify couchdb_send_message to also „cry” when oauth is not working16:40
dobeyverterok: thanks again :)16:40
verterokdobey: np, :)16:41
adiroibanrodrigo_: yep. it looks a nice API for me. We can call it couchdb_session_enable_authentication16:43
rodrigo_adiroiban, yes, sounds better than authenticate16:44
adiroibanrodrigo_: i have updated the ehterpad16:44
rodrigo_adiroiban, yeah, I can see you typing :D16:44
rodrigo_adiroiban, instead of _new_with_username_password/_new_with_oauth, wouldn't it look better if we had CouchdbCredentials be username/password based, and then have a separated CredentialsOAuth class?16:49
adiroibanrodrigo_: I am not sure if we are going to see more authentication schemes, so maybe we can get rid of CouchDBCredential and have couchdb_session_enable_auth_with_user_and_pass and16:50
adiroibanouchdb_session_enable_auth_with_oauth16:50
rodrigo_and enable_auth_with_oauth, yes16:50
rodrigo_I guess it makes things a lot easier16:50
rodrigo_and couchdb just supports basic and oauth, so we won't be missing any auth mechanisms16:51
adiroibanthe purpose for CouchdbCredentials is to allow us to add other auth schemes, without changing the existing api16:51
adiroibanso if couchdb is planned to support other auth schemes16:52
rodrigo_right, that would make the api be prepared for extension, so maybe it's a good idea after all16:52
adiroibanit would make sense to have CouchDBCredential16:52
adiroibanif not couchdb_session_enable_auth_with_user_and_pass and couchdb_session_enable_auth_with_oauth should be fine16:52
adiroibanI assume oauth and user/password should be fine by now16:54
adiroibanHTTP Digest and NTML can be implemented using the user and pass api16:55
rodrigo_adiroiban, yes, let's go with ..Credentials object then16:57
rodrigo_adiroiban, but the interface between it and ..Session is not clear to me16:57
rodrigo_adiroiban, should the ...Session object know what to do with each type of credentials? that is, SoupAuth, just add an oauth header, etc?16:58
adiroibanrodrigo_: yes16:58
adiroibanrodrigo_: if couchdb will have Kerberos, I would like couchdb-glib to handle kerberos auth for me16:59
adiroibanrodrigo_: same for an auth scheme based on PKI16:59
adiroibanrodrigo_: just like it does now for oauth16:59
rodrigo_well, what I mean is if it the ..Credentials object should do that17:00
adiroibanrodrigo_: I see Credentials just like an „cached for credentials”17:00
rodrigo_ok, let's try writing some code...17:01
adiroibanthe session should to the hard work17:01
rodrigo_adiroiban, I'll add the _oauth stuff and then you can update your branch to add the http stuff, ok17:01
rodrigo_?17:01
adiroibansure17:01
adiroibanrodrigo_: regarding the debug branch. I will change the coding style.17:04
adiroibanbut what are the coding convetions?17:04
rodrigo_adiroiban, gnome-style is called, afaik :)17:04
rodrigo_do you use emacs?17:04
adiroiban:)17:04
adiroibannope17:04
adiroibangedit + vim17:05
adiroibanbut I will look for gnome coding converions17:05
rodrigo_then, just try to see the rest of the code, and just mimic, I'll shout when you deviate from it :)17:05
adiroibanfor the #undef g_debug17:05
adiroibanif --disable-debug-messages is pass to ./configure17:06
rodrigo_ah, right17:06
rodrigo_ok, update the branch and I'll merge it17:06
adiroibang_debug will be defined to Nothing17:06
adiroibanto avoid wasting some some cpu cycled17:06
adiroibanit is somehow an „extreme” code optimization17:07
adiroibanfor a simple desktop app with 1000 coucdb docs, it will not make a big difference17:08
adiroibanif you don't want it, I will remove it17:09
dobeyverterok: bug #506559 looks like something for you?17:11
ubottuLaunchpad bug 506559 in ubuntuone-client "Ubuntu1 just opens apport whenever I click on the applet" [Undecided,New] https://launchpad.net/bugs/50655917:11
verterokdobey: the apple? :)17:11
verterokdobey: looking17:12
dobeyverterok: it's crashing in _load_pickle in syncdaemon :)17:12
verterokouch17:12
verterokdobey: probably a broken metadata :(17:12
=== teknico_ is now known as teknico
* dobey wonders about this keyring mess a bit17:20
adiroibanrodrigo_: do we still need DEBUG_OAUTH ?17:58
rodrigo_adiroiban, yes, I think so17:59
adiroibansince we have a general DEBUG_MESSAGES17:59
rodrigo_adiroiban, well, if you replace it with that, yes we can get rid of DEBUG_OAUTH18:00
adiroibanrodrigo_: I will replace it :)18:00
* CardinalFang is afk to see dentist, today. Sheesh.18:36
jblountCardinalFang: Yuck. Good look.18:38
urbanapejblount, give my branch a look-see and let me know what you think19:04
urbanape(if you get a few moments)19:04
jblounturbanape: Yessir, I'll pull it down now.19:10
aquariusrodrigo_, ping?19:11
urbanapeyou the man now, dog19:12
iainhaslamHi. Beginner's question I guess, but the FAQ and google didn't help, so here it is: Using ubuntu 9.10, my "Ubuntu One" folder shows different files from the web interface. Q) How can I tell what user account the applet is using?19:14
iainhaslamI'll add some more info if you don't mind: deleted file in /home/(username)/.config/ubuntuone ; restarted ubuntuone; files in the folder are not synced with the web-displayed folder. I've reloaded the web page (several hours after the applet told me everything was up to date). Is there a common reason for this?19:21
iainhaslamHey, sorry for wasting your time. It just started working again, although I'm sure I did exactly the same thing as earlier. Anyway, never mind. (NB probably just deleting that file fixed it, along with removing all currently shared files from the "Ubuntu One Folder). Thanks for your help!19:26
jblountiainhaslam: You are a hero, I'm glad your problem is sorted!19:28
iainhaslamjblount: :) Me too19:28
jblounturbanape: This branch seems to work like we talked about, although I'm still seeing a red flash between clicking "make public" and the page reload.19:31
aquariusdobey, ping19:33
urbanapeweird. I don't get any red flashes at all.19:35
urbanapejust glorious green19:35
urbanapeeven repeatedly clicking the button19:36
urbanapealthough, I forgot to make the appropriate changes to the wording, &c.19:36
aquariusis dobey not around today?19:37
urbanapehe was around earlier19:37
jblounturbanape: Yeah, I can adjust that stuff. I need to do a bit of css to give things the proper padding and what not.19:38
urbanapejblount, also, you shouldn't be seeing the page reload19:38
urbanapeit should do it ajaxically19:38
jblounturbanape: Hrm. I was hoping you would say that.19:38
* urbanape fires up the ol' Firefox.19:39
jblountAre you pushing to lp:~urbanape/ubuntuone-servers/public-files-webui ?19:39
urbanapeI'd been testing it in Chromium19:39
urbanapeyup19:39
urbanapelemme make sure I've pushed it all.19:39
jblountYeah, that might be it.19:39
urbanapeyeah, it's all there19:39
jblounturbanape: Wow, this looks great in Chrome!19:41
urbanapegah19:41
urbanapeyeah, I see the same thing in Firefox.19:41
urbanapedubya tee eff19:41
urbanapedebugging19:45
urbanapegreat, now we're living in a world where Firefox is the throwback.19:45
aquariushow the mighty are fallen, etc19:47
jblountPsh, I've been living in that world ever since Safari got awesome.19:47
aquariuswell, when they bring out a Safari port for Ubuntu...19:47
aquarius...I still won't run it. :)19:47
aquariusChromium's niceness, though19:48
jblountaquarius: Fair enough :)19:48
jblountChromium is super nice. I like that they're brining the focus back to speed.19:49
aquariusI wish Flash crashed less, although tbh if youtube moved to html5 video and that JavaScript flash port works for noddy games like physicsgames.net and Canabalt, I wouldn't need flash19:50
urbanapefigured it out19:52
urbanapejblount, the href for the anchor tag needed to be "#", not just ""19:52
* urbanape guesses19:52
urbanapeanyway, seems to work now. I'll commit and push.19:52
jblountSweetness.19:53
urbanapepushed. give it a shot.19:54
jblounturbanape: This thing rocks like a hurricane. Well done.19:57
urbanapenoice19:58
urbanapedanke19:58
urbanapethere's some sort of nice refactoring that can come out of that19:58
urbanapebut I'm not sure what, just yet.19:58
jblountSo from here, I'll take it and adjust the copy stuff and css stuff and put that noise up for review.20:00
jblountIf we need to put it on zed (currently non-existent) before getting public we cand decide that then.20:00
jblountThat way johnlea + statik + the internet will all be happy and live in harmony.20:01
urbanapeharmonious is good20:02
jblount:)20:02
urbanapeaquarius, still around?20:07
aquariusyep20:07
urbanapedo you have a few minutes to talk about db replication?20:07
aquariusyep20:07
urbanapeso, one thing that bit me quite a bit was u1's version coming back down and imposing itself on my local db.20:08
urbanapeduring testing20:08
urbanapeso, I'm embarking on this migration path for existing users20:08
aquariusok...20:08
* CardinalFang returns triumphant.20:09
urbanapeapart from live testing it thoroughly with my own data, I'm wondering if I can understand what it will try to do a priori20:09
urbanapeyay, CardinalFang! no cavities?20:09
urbanapeso, if I perform a migration, and change a bunch of records, what's the replication behavior in that case? does it go by sequence number? Since I'll have a boat load of new sequences, will u1 pull those and not try to push back old data?20:10
CardinalFangurbanape, 34 years, still zero cavities.20:10
aquariusu1 shouldn't have any changes that aren't local20:11
aquariusif u1 has changes that your machine doesn't, *and* you have changes that U1 doesn't, then it's conflict city20:11
urbanapeso, I guess what I'd been seeing was a result of me deleting my local db, and starting from scratch, in which case, u1 had some revs that were newer?20:12
urbanapeand getting it into a weird state?20:12
aquariusyes, or at least I should say that was the problem20:12
urbanapeyeah, okay. cool. so, basically, in a replication network, whichever host has newer sequences will flow to the others? and then what happens with conflicts? one local host has a sequence 55 where one thing changed and another has 55 where something else changed?20:13
aquariusbasically, yeah20:14
aquariusit's not quite done on sequence numbers, it's done with _rev, but that's the basics of it20:20
urbanapegotcha20:21
urbanapethat makes sense, since sequence numbers are probably only really pertinent to any given host20:21
aquariusyep20:21
urbanapemuch like the accursed itemIds I deal with inside Firefox20:22
diploHi all, anyone know or point me in the right direction of where i can find a way of integrating ubuntu one/couchdb contacts with thunderbird ?21:12
statikhi diplo: aquarius or thisfred or chad can tell you all about that. theres a record format defined on freedesktop.org I think, and you could look at launchpad.net/bindwood to see a firefox plugin that talks to desktopcouch21:13
aquariushey diplo21:14
diplookay thanks, will go take a look, was already thinking of writing a app in python to add contacts as a project as i'm really not a fan of evolution so might as well go the whole hog21:15
aquariusdiplo, the way to do it is to have the Thunderbird addressbook talk to desktopcouch, the user-specific couchdb. As statik says, bindwood is a Firefox extension that talks to desktopcouch (to sync bookmarks), so using similar code would be good -- thunderbird extensions are all XUL and JavaScript the same as firefox ones are21:16
diploGreat thanks, not created an extension for TB/FF before so will be a good experience21:17
thisfreddiplo: also, the desktopcouch mailing list is a good place to discuss such a project, and to ask questions (here is fine too, of course)21:17
* thisfred looks up url21:18
diploheh will do, not even thought about signing up to mailing list21:18
thisfreddiplo:  http://groups.google.com/group/desktop-couchdb21:18
diplothanks very much21:18
thisfrednp, it's a very exciting project, I'm sure people will be glad to help. As a thunderbird user, I know I will ;)21:19
voytechtill: Are you there ?21:19
voytechtill: Where can I find qjson sources21:20
diplobrb sons just got up21:20
aquariusdiplo, the two people who know the most about this area are urbanape (who wrote bindwood, and therefore knows about talking to desktopcouch from inside XUL and with JS) and rodrigo_ (who wrote evolution-couchdb and therefore understands about storing contacts in desktopcouch)21:20
aquariusdiplo, but any of thisfred, CardinalFang, or I can help too :)21:20
=== ubottu is now known as ubott2
urbanapediplo, I'd be happy to talk about it21:29
urbanapeespecially the XPCOM stuff21:29
diploGreat, sorry just got back... I'm away on a course this week but i think i'll start by going through looking at the other sources first and see how much work is involved21:30
diploOne other thing i really want is to be able to start integrating this into windows clients as well as with my work 90% of my day has to be on a windows box at the moment21:31
urbanapeif you want to check out bindwood, I'd suggest you look at the stuff I'm doing now. lp:~urbanape/bindwood/manifest21:31
urbanapethere's been a bit of exploration into getting a desktopcouch on Windows21:31
diployeah was reading up on that yesterday21:31
diploSeems like there is some good documentation for the couch side, i think the hardest part for me will be doing the FF side :)21:41
urbanapediplo, keep in touch. I'll try to help as much as I can21:54
diplothank you, just having a look through everyones code at the mo21:54
diploWill spend some time on it this weekend i think21:55
* jblount may have to stop watching American Idol while working. At least not the try out episodes. 22:23
=== kenvandine_ is now known as kenvandine
belacquaok, so what is the best way to resolve u1conflicts?   I'm not sure I understand when they are generated either.22:48
diplothisfred, aquarius and urbanape, thanks for all your input and help, spent the last hour or so reading up and it looks good. Will add the channel in favs and try and make a start. Off to bed now though :)22:50
diplogn22:50
thisfredlater diplo!22:53
=== mattgriffin1 is now known as mattgriffin
=== jamalta_ is now known as jamalta

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!