[00:46] I really, really, really, really wish we had an A/B testing framework in Launchpad [00:48] heh, do we have the metrics to be able to put A/B testing to use? [00:49] rick_h_: That's what I mean [00:50] we have feature flags that could be used to set up the A and B, but we need random user assignment and result reporting to make it useful [00:51] yea, it's a tough product to define what metric we'd want for each A/B case [00:52] what's the current use case? [00:52] * rick_h_ is bored and curious [00:54] rick_h_: A proper a/b testing framework allows you to hook in tests for results. The test could be "number of people who get to a certain page" or "number of people who click a link" etc. [00:56] huwshimi: yea, but LP is so different depending on who visits/use case that it's a bit fun to think of what would be better [00:57] rick_h_: Isn't that the point of doing an A/B test? [01:00] poolie: Could the feature flags system be modified so that instead of showing to a group it could pick users at random? [01:00] sure could [01:01] i would like that very much [01:01] there is a bug asking for it [01:01] poolie: Ooh [01:01] i am happy to either help or to be bribed/distracted in to doing it [01:01] but i need to go out and do some trip prep stuff so probably not today [01:03] poolie: Wow, ok, this makes getting an A/B testing framework possible. It would be farily easy to write the javascript data collection side of things [01:04] the other thing we need is to log it somehow [01:04] either from the http server or something else [01:04] maybe js [01:04] poolie: Yes, there would need to be an AJAX call to log the resaults [01:05] *results [01:25] rick_h_: Are you still around? [01:25] rick_h_: If you are, I have a conflict when I merge your changes for the loading notification. Any ideas? http://paste.ubuntu.com/754337/ [01:26] huwshimi: looking [01:26] rick_h_: Cheers [01:27] huwshimi: bah, yea I moved a couple things that it's not liking, sec [01:27] np [01:28] huwshimi: http://paste.mitechie.com/show/455/ is what it should be. That's merged with rocketfuel-get this evening so should be up to date [01:29] rick_h_: Cheers :) [01:30] rick_h_: Hmm... I lose the order/config bar completely [01:30] huwshimi: make sure that your css combo script in bin gets updated. [01:31] huwshimi: yea, make sure the css combo script is updated and you've got "indicator" css in the combo [01:31] ah I see [01:34] hmmmm.... [01:37] rick_h_: Still nothing [01:37] rick_h_: The indicator css is there and working [01:37] huwshimi: any hints? [01:37] rick_h_: But still no order bar [01:38] rick_h_: The order bar div is completely empty [01:38] oh wait, I have js errors [01:38] poolie: I'm a little unsure about the branch you've put up [01:38] huwshimi: ok, cool. Maybe typo in cleaning up the merge? [01:38] poolie: It looks mostly UI related, so I'd prefer huwshimi look it over. [01:40] StevenK, ok with me, huwshimi do you mind? [01:40] he reviewed the predecessor anyhow [01:40] btw i'm happy to say google is now apparently enjoying the results of the microformat work [01:40] poolie: Sure, mind linking me to the mp? [01:41] huwshimi: https://code.launchpad.net/~mbp/launchpad/888353-microformats-2/+merge/83856 [01:41] StevenK: Thanks [01:41] I'll take a look soon [01:42] thanks [01:42] ok i'm out for a bit, see you later [01:44] rick_h_: on this line "this.set('model', new namespace.BugListingModel({" it says undefined is not a function"" [01:44] huwshimi: in chrome? [01:45] rick_h_: yea [01:45] try on firefox in case you're hitting the chrome issue [01:45] there's a known chrome issue that is in progress of rollback/fix [01:45] unrelated to the spinner [01:46] but BugListingModel is defined in line 37, and this sholdn't be undefined, so not sure what it's not liking there [01:48] rick_h_: Firefox says: "namespace.BugListingModel is not a constructor" [01:49] huwshimi: can you pastebin your whole file then? Something is up. It's defined back in 52 [01:49] huwshimi: http://paste.mitechie.com/show/456/ if you want to rnu diff locally [01:51] rick_h_: Oh, something's very wrong with my file. It's about 70 lines shorter :) [01:51] huwshimi: ah ok. Yea, that'll do it [01:51] oh, there we go. [01:51] rick_h_: just pasted over your new file and it works now. Thanks :) [01:51] huwshimi: re-pushing my branch is case I missed somehting [01:52] huwshimi: ah ok [01:53] rick_h_: Thanks, I might grab your new branch. This is still not working for me. [01:53] (in other ways now) [01:53] huwshimi: ok, yea should just be able to bzr branch bzr+ssh://bazaar.launchpad.net/~rharding/launchpad/buglists-loading-885272/ [01:54] into your lp-branches dir, update the links, and then make run [01:55] rick_h_: Have you just remerged the branch with devel? [01:55] huwshimi: sec I will [01:55] did it this afternoon, but will redo a rocketfuel-get on it and repush [01:55] cheers [01:56] * rick_h_ is still figuring out how best to work around stuff [01:56] rick_h_: rf-get in your devel branch, and then bzr merge ../devel in your other branch [01:57] huwshimi: ok, updated and pushed [01:57] rick_h_: Cheers mate [01:57] StevenK: ok, I've been doing some rf-get right in my branch itself, bad side effects? [01:59] rick_h_: I'm not sure -- that ^ is how I work [01:59] StevenK: ok cool, thanks === jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jtv | Critical bugtasks: 3*10^2 [02:05] rick_h_: You did push the changes? It might just be taking a whiel [02:06] *while [02:06] huwshimi: yes, I pushed but "No new revisions or tags to push." [02:06] so shouldn't be anything new there if you're waiting for new files [02:07] rick_h_: And you did an update of devel (or rocketfuel-get) before you merged devel with your branch? [02:08] rick_h_: Only checking cause when I merge your changes with a fresh branch I get a conflict [02:08] huwshimi: yes, on rev 14404 [02:08] jtv: O hai! https://code.launchpad.net/~stevenk/launchpad/death-to-lazr-testing-tales/+merge/83889 [02:08] hi [02:09] Does that come with coffee? [02:09] Pft, it's +1/-19, like it needs any [02:09] I don't care what it needs. It's what I need that counts. [02:09] huwshimi: ah, sec [02:11] lifeless: As long as we link to the final page. [02:11] I guess. [02:11] We probably need to redirect. [02:13] wgrant: ECONTEXT [02:13] ML archives. [02:13] We can't just show the oldest message by default. [02:13] jtv: Haha [02:13] We would have to default to the last page. [02:13] we can show the list of indices. [02:14] StevenK: it's not funny. [02:14] lifeless: Hm? [02:14] like $every $other $mhonarc $site $out $there [02:14] That's no argument. [02:14] StevenK: what make do I need to do db updates? [02:14] mhonarc is pretty terrible. Basing arguments on what its other users do is illy. [02:14] s [02:14] its other users are using it as it was intended [02:15] I notice now that we don't have monthly groupings [02:15] huwshimi: looks like I'm learning new stuff. rocketfuel-get only updates devel, no matter if it's run from another branch. So merging and resolving now [02:15] so its all messages ever that get reindexed [02:15] rick_h_: To get them rolled out, or to make them? [02:15] wgrant: so most static archiver sites have a page that says [02:15] 'jan 2001' [02:15] roll out to my local db, I've gotten changes from devel and getting missing column oops [02:15] 'feb 2001' [02:15] etc [02:16] StevenK: ^^ sorry [02:16] I'm proposing we in the interim, link to that [02:16] rick_h_: Oh, 'make schema' [02:16] StevenK: ty [02:17] rick_h_: Ah, yes it does. Sometimes you'll get pqm errors if you have conflicts. If you have branches that have been hanging around for a while it's good to do a devel merge just to resolve any issues before you submit for testing [02:17] lifeless: Well, we don't have such a page, but OK. [02:17] wgrant: I'm fairly sure mhonarc knows how to make one [02:18] huwshimi: yea, and this was pulled from deryck's branch so no idea how old it is to start out [02:18] rick_h_: Yeah, that's where it gets hairy. You can always do a devel merge to be sure. [02:20] oh boo, reset my db so lost my feature flags [02:21] rick_h_: Don't you hate that :) [02:22] ok, wtf...all my code is gone now [02:22] bah, this is probably due ot the rollback or osmething arggg [02:25] StevenK: Your sorting in the canonical.lazr branch is wrong. [02:25] subunit, lazr, testools [02:26] huwshimi: ok, pushing changes, gets rid of the js error [02:26] working on getting records back in db so I can test the actual paging and such, but think that might do it [02:28] huwshimi: ok, tests that it works now [02:43] wgrant: Oh sigh [02:43] wgrant: Fixed. [02:43] rick_h_: perfect, all working now :) [02:44] huwshimi: awesome, thanks for your patience withme [02:44] rick_h_: No, no, all good! [02:44] rick_h_: Write a script to populate the db. [02:44] rick_h_: Or 'make iharness' at a pinch [02:44] StevenK: yea, on my todo [02:44] haven't peeked at the db much yet [02:45] Don't look too close, your eyes will bleed. [02:45] StevenK: was actually thinking I need to look at the api and see if I can script stuff using that instead [02:45] StevenK: heh yea, most dbs, and with this one being a bit old, I bet there's some scary in there [02:46] rick_h_: So if you're populating objects to test and play, I'd suggest you just write a script that makes use of LaunchpadObjectFactory. [02:47] rick_h_: Just going to eat some lunch and then send through some feedback for you [02:47] rick_h_: For example, I want a product, I don't care what it is: product = factory.makeProduct() [02:47] StevenK: ok cool, will look it up, taking notes [02:48] rick_h_: LaunchpadObjectFactory is what is used in tests when you see self.factory... [02:49] ah makes sense, I've really only done much on the JS side of things so far. [02:49] Haha, I've tried to stay away from the JS side of things. [03:06] lifeless: we show private teams in the bug subscriptions portal (it used to oops but now fixed). but we explicitly filter out private teams from the branch subscription portal. should we be consistent here? [03:06] nb we filterout private teams the user cannot see [03:07] but we now have a mechanism for rendering private teams even if the user cannot see them [03:08] so, AIUI the new rules we are saying that subscribing to an object discloses the team [03:09] so yes, they should be shown; OTOH have we fixed up any erroneous (e.g. to public branches) subscriptions of private teams yet [03:10] no, not afaik [03:12] we probably want to address that before making the teams visible to any viewer of public artifacts [03:14] i'd have to check - do we allow public bugs to have private subscribers? [03:14] lalalalala [03:15] since if we do allow it for public bugs, shouldn't we allow it for public branches also? [03:15] I think wgrant means 'we have not implemented the UI/business rules around this area, nor around that of handlings privacy transitions of objects [03:16] s/implemented/devised/ [03:16] so, what's the damage in allowing a viewer of a public branch to see that a private team is subscribed to the branch? [03:17] there is none; as long as the private team was told they would disclose their existence [03:17] sure. that's how it is now for bugs [03:17] with the recent changes [03:19] lifeless: if we want to not expose any private subscribers, then i should stop work on this branch entirely, since we will be exposing the existence of private branch owners, reviewers, committers also [03:20] wallyworld_: well we do, subject to the previously discussed caveats [03:20] wallyworld_: which is that if someone doesn't want to be disclosed, they can't interact with the branch [03:21] yes. that point never came up though in our standup when my work on this branch was discussed [03:21] we probably need to refine the definition of interact too, to acknowledge that there are subscribers we don't know about (as anyone we notify could be a multiplier), and anyone that can see a page can poll it [03:22] I will nab sinzui tomorrow about that [03:22] so i guess i can complete the work andbefore landing we may need to do some other work [03:22] you can just ff it perhaps [03:23] could do, but it's already out there for bugs [03:23] we just went ahead and deployed it [03:24] heh [03:24] not sure if any private teams have complained or noticed [03:24] you probably want to check with sinzui [03:24] I'm not in any position to second guess him - I haven't been tracking the detail on how you've been approaching this [03:24] i sort of thought the policy was that it is now ok to expose a team's name / existence [03:25] i'll check tomorrow [03:25] my understanding is that we settled on 'when the team interacts with something' and 'team interactions will prompt to permit the interaction' [03:25] its the second bit I suspect is missing [03:25] yes [03:26] The second bit requires an API break. [03:26] In dozens of places. [03:27] maybe we decided against it then. i can't recall [03:27] I'd worry a little if we had [03:28] because we have a number of policies intended to prevent accidental discovery of private team names [03:28] and not doing the second bit will deeply devalue them [03:28] my memory is fuzzy, so i'm not sure one way or the other [03:29] I thought we were going to skip that, because of the enormous and ever-expanding scope creep it would entail. [03:29] Given recent happenings, I don't think we need any more of that... [03:29] i seem to recall that the discussion was that private team names could be exposed [03:29] and that people would have to given them cryptic names [03:29] if they didn;t want others to guess things [03:34] noone told me :) [03:35] We don't have a compelling, pretty, feasible private team design. [03:35] We no longer have a compelling, pretty, feasible private artifact design. [03:36] lifeless: perhaps we can all have a chat with sinzui tomorrow to clear it up. in case i/we have misunderstood anything [03:38] sure [03:38] I'm here all week :P [03:38] Wait a sec. [03:38] It's Wednesday. [03:38] Why *are* you here? [03:38] lynne told me off for frittering leave away :P [03:38] Heh [03:39] but you're here when you are on leave too [03:41] wallyworld_: Multiple people have told lifeless at one time or another that he sucks at leave. [03:42] i just think he is so attached to his nick that he would hate to not live up to it [03:48] other way around [03:48] the nick has to live up to me [03:49] * wallyworld_ wonders if lifeless is the chicken or the egg [03:51] I can't use = to compare dates in postgres? [03:51] (I don't care about the time) [03:53] you can, but you'll need to cast to date first [03:55] WHERE datecreated = '2011-11-30'::date; == 0 rows [03:56] But max(datecreated) shows 2011-11-30 [03:56] datecreated isn't a date [03:56] WHERE datecreated::date == '2011-11-30'; [03:56] Ah [03:56] or (for more efficiently [03:57] WHERE datecreated BETWEEN 2011-11-30 00:00 and 2011-11-30 23:59:59.99 [03:57] or something [03:58] lifeless: I added a few things into the db using the factory and iharness and forgot to grab their names -- I just wanted the quickest way to grab the details [03:59] Hm. members=[foo] has invited them [04:02] * StevenK wishes alert worked better with zsh [04:20] so [04:21] lazr_dbschema or lazr_postgresql ? [04:21] The former [04:21] or lazr_slony [04:21] With a ., I hope [04:21] nooo [04:22] epic pain and suffering apply to namespaces [04:22] lazr.restful, lazr.restfulclient ? [04:22] terrible [04:22] bugs open for years about import issues in their debs [04:22] heinous tree layout to boot [04:22] The _ offends me [04:22] But fair point [04:23] it could be worse lazrPostgreSQL [04:26] rick_h_: Don't make me send you to bed with no dinner. [04:26] heh, too late, had dinner, but I should go to bed [04:27] lazr.restful* aren't as problematic as lazr.uri. [04:27] But they're still not good. [04:27] Sigh, 31degC makes me sad. [04:27] StevenK: beats 33degF [04:27] Heh, it's like 14 down here. [04:28] micahg: Cold is easy to solve. Heat is not. [04:28] micahg: I'll take it [04:28] while cold: apply clothing [04:28] while hot: raise ImMelting() [04:29] * micahg has this magical thing called A/C [04:29] Haha [04:29] No A/C here, and no option for it. [04:29] what?! [04:29] Rented apartment [04:30] A/C is why I went to college and got a good job. So i can just keep that running all summer and manage to pay the bill [04:31] StevenK: it's a bit over 32°C here, but turns out a fan helps. [04:32] Maybe that's just because it's winter here, but it feels nice & cool. [04:33] jtv: you're in europe atm ? [04:33] Nope. [04:34] ah, 'winter' [04:34] You caught me. We don't _really_ have winter here. [04:34] Australia has summer and lack-of-summer. [04:35] That's what I thought, until an Australian friend moved back there and emailed me a map, making me guess where he lived. [04:36] Thinking it was always hot in Australia, I said "what maniac called that place Sunnyvale?" [04:36] The answer: wow, you guessed our location! We don't understand the name either — it's never sunny here. [04:42] StevenK: one of my Uncles was in Mt Hagen in PNG for many many years. He said they had two seasons. The Wet Season, and the Wetter Season. [04:43] Haha [04:43] and canberra has all four seasons. so nyah. [04:44] spm: What, all the way from grey to misty? [04:45] huwshimi: um. no. that's melbourne. you don't get grey and misty on 600mm average rainful. [04:46] spm: My first experience of Canberra involved not seeing the sun the whole time I was there. [04:46] gees. my inlaws in mackay had one 24 hour period that copped more rain then we get in an average year. [04:46] spm: granted, it was only a little over 24 hours :) [04:47] huwshimi: heh, very unlucky then. a rubbish day here is when you can actually see a cloud in the sky. :-) [04:47] overnight bus, get in a 6am, misty, all day, misty, practice, misty, play gig at night, still misty, bus out at 4am [04:47] ah yes. winter fogs. they can be special. [04:48] spm: At $LAST_JOB, we found a part of southern NT that recieved 3000mm of rain. [04:48] In 48 hours. [04:48] although, the year before I moved here. they had a running joke. What do you call the day after two days of rain? Monday. Apparently it rained 12+ consecutive weekends. [04:49] Ha! [04:49] Tully would be the good one to check. in FNQ. [04:49] A lake formed. === jtv is now known as jtv-afk [05:19] PrivatePersonLinkageError: Cannot link person (name=team-name-100003, visibility=PRIVATE) to (name=None) [05:19] ... so we can't have private subteams? [05:19] Correct. That would make the team's membership opaque. [05:20] In the current rules, the owner might not even be permitted to see that the member existed. [05:20] Right, so there is no point testing for the private subteam case in terms of MixedVisibility? [05:20] Not until we define and implement new rules. [05:22] So according to lifeless, private superteams should not be disclosed [05:22] Right, they're not important. [05:23] StevenK: depends on the viewer :) But yes, not automatically disclosed. [05:23] So I'm confused, since that is the major cause of MixedVisibilityError [05:23] Those need to be hidden. [05:24] When we allow private subteams, they must be shown. [05:24] There's no reason to show private superteams to everyone. [05:24] That benefits nobody. [05:24] Right, so I should fix Person:+index to only return private superteams if the user is a member of the subteam? [05:25] If the user has permission to view the subteam. [05:25] Er [05:25] To view the superteam. [05:25] I'm just worried that is expensive. [05:25] Which membership in the subteam would convey. [05:25] But it's not the only way. [05:25] Howso? [05:25] StevenK: try:except: around it [05:25] It's already shown as because we know they don't have access. [05:25] So we know whether they have access or not. [05:26] But that's the TALES formatter, we aren't filtering the list [05:26] That's irrelevant. [05:26] We have the information. [05:26] So we can filter on it. [05:26] I'm just questioning the cost of calling checkPermission on each superteam [05:26] Clearly it's fine, because we already do it. [05:27] Oh, it's just done in the formatter. [05:27] Otherwise we wouldn't know to raise the soft oops. [05:27] Duh [05:27] Obviously, my brain is made out of silicon. [05:31] Ewww, Person.select() [05:44] argggh [05:44] stuck ec2 instance [05:44] 500dollar ec2 bill [05:45] wow [05:45] WIN [05:45] ow [05:45] Extra Large instance? [05:45] Wait, how long was it stuck? [05:45] $0.68 per High-CPU Extra Large Instance (c1.xlarge) instance-hour (or partial hour) 729 Hrs 495.72 [05:46] wait, it remained stuck for 729 hours?... [05:46] apparently [05:46] No, that can't be right [05:46] Probably a few weeks, plus other usage [05:46] a whole month, yes. [05:46] Since a month is only 730 hours. [05:46] Oh another note. [05:47] If you use 1.5 hours, amazon chargse for 2 hours. (assuming the instance is killed after that) [05:47] we setup the teardown after it sets up [05:47] no, one instance, I'm pretty sure [05:47] my net has been shite [05:47] You don't use ec2 for anything else? [05:47] so I suspect a ec2 instance was kicked off and never had the shutdown timeout called [05:47] StevenK: no [05:47] Ah [05:47] StevenK: or rather, yes, I don't use it for anything else. [05:48] Well, lessson learnt at least :) [05:48] It is well known that lifeless' Internet is crap. [05:48] Maybe someone should check how many instances are around at any time and when it was procurred. [05:48] what lesson? don't use 'ec2 land' ? [05:48] hah [05:49] like a status page showing all currently running instances and when it was taken, should help track it down better. [05:49] lifeless: rvb has a cronjob that checks ec2 ls [05:49] lifeless: Will stuck instances show up with 'ec2 list' [05:49] nigelb: We have that, 'bin/ec2 ls' [05:49] huwshimi: if you think to run it, yes [05:49] ahh [05:49] They show up in the numbers at the bottom. [05:49] lifeless: Haha, ok :) [05:49] They don't necessarily show up in the list, however. [05:49] I normally have a widget - aws-status - that shows all my instances [05:49] however, it hasn't been updated to indicators [05:50] so I don't have it anymore [05:50] StevenK: heh, I got very excited and tried it out :P [05:50] and realized I don't have access ;) [05:51] You do have access :) [05:51] I think you can have access, you just have to pay for it [05:51] hah. [05:52] Oh, you guys use your own accounts and then expense it? [05:52] Yep [05:52] Right [05:53] AHHHH [05:53] ok, that makes sense. I thoguht y'all were sharing one account. [05:53] So if you run ec2 test twice a month it should cost you about $5.50 [05:53] (that's what we do at work) [05:54] We have one account which is paid by corporate card and 3 of us get the keys to that [06:08] o/ nigelb [06:20] Hey spm :) [06:50] lifeless: I can't find the mail again, but I find newest first for mailman to be *backward* from every other mailman instance I play with. [06:56] I agree [06:56] as wgrant says thats not a good reason to do/not do something [06:56] but newest first is just terribly slow the way things are structured today [06:57] lifeless: It just gives me pause to think when looking. Since it performs like a utter dog too, I say change it. [07:03] Oldest-first would work if we didn't have a single archive for all-time. [07:03] s/would work/might be acceptable/ [07:03] Right [07:26] So, how do we upgrade our version of cssutils? [07:26] The current version can't handle some css3 syntaxes [07:27] We're currently using 0.9.66 [07:27] Er [07:27] 0.9.6 [07:27] See versions.cfg [07:28] wgrant: Yup and there's a (stable) version 0.9.7 that supports what I need [07:29] huwshimi: Grab a tarball, add it to download-cache alongside the old one, update versions.cfg. [07:35] wgrant: Where does our config look to grab stuff from? [07:35] wgrant: pypi? [07:35] huwshimi: No, it doesn't look online. It looks in download-cache/dist [07:36] You'll see lots of eggs and tarballs in there. [07:36] wgrant: Oh right, so I need to commit a new tarball? [07:36] huwshimi: Right. [07:36] ah [07:36] huwshimi: There's no PQM/reviews for that branch. You can commit/push directly. [07:37] wgrant: But I need to push the change to lp for the versions.cfg change though right? [07:37] Right. [07:42] wgrant: Do I need to do anything else to make launchpad start using the new version? [07:43] wgrant: Do I need to get it to build a new egg or something [07:43] huwshimi: No. buildout will automatically create the egg from the tarball once you update versions.cfg [07:43] wgrant: Oh, I guess I better run buildout :) [07:43] oops, thanks :) [07:45] Ah, I see, yes. [07:47] Oh, I guess it would help if I changed the versions.cfg of the branch I was using too [08:12] Does anyone know how to enable the beta banner for a page locally? [08:54] Hi [09:07] good morning === almaisan-away is now known as al-maisan === jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugtasks: 3*10^2 === matsubara-afk is now known as matsubara [12:20] Oh, hey, leaving a partial DB patch lying around will break things. Who'da thunk? [12:23] stub: You might enjoy this - http://thedailywtf.com/Articles/Directive-595.aspx === al-maisan is now known as almaisan-away [13:03] morning === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away [14:24] rick_h_: The updated spinner looks good to me. [14:24] abentley: ok cool, Since deryck is going to be here soon I'll want to sanity check with him and if that works then will submit for review/land [14:24] /want/wait [14:25] rick_h_: cool. [14:25] abentley: did you see the emails with huw from last night? Are we supposed to be jumping to the top of the page on next/prev? [14:26] rick_h_: Yes. In an email today, I explained that deryck was going to do that, but I don't think it should be associated with the spinner, just updating the batch. [14:27] abentley: right, ok. [14:35] bac: would you consider re-reviewing https://code.launchpad.net/~abentley/launchpad/person-bug-listings/+merge/83860? I've made an important change. [14:36] abentley: ok [14:36] bac: Thanks. The change is that the view_name is now provided by LP and used by the javascript. [14:44] abentley: it looks good but i have to wonder if there isn't a better way to get the viewname? i don't have any bright ideas but what you've done feels kludgy. [14:46] jelmer: were you going to add me to ~vcs-imports? [14:47] hi dobey [14:47] dobey: sorry, I hadn't understood that you actually wanted to be in ~vcs-imports. One sec, I'll add you. [14:47] bac: I don't know of a better way to get the view name. I believe using getGlobalSiteManager().registeredAdapters() was gary_poster's suggestion. [14:47] jelmer: oh sorry. yes please. thanks :) [14:47] abentley: ok [14:47] dobey: welcome :) [14:49] abentley: done. === Ursinha is now known as Ursinha-lunch [15:13] Hey guys, I'm working with the LOSAs to get a small DB permission change for a script to fix a critical regression; in an email stub said that I "need someone to manually apply the permissions to production" but neither I nor the LOSA know what exactly that means. He asks if "running ./security.py wouldn't work?" Hints? [15:25] abentley, adeuring -- standup in 4 ok? [15:26] deryck: sure. [15:26] deryck: sure [15:26] cool [15:42] hi jelmer [15:42] hi bac === beuno is now known as beuno-lunch [16:12] flacoste: I am in need of someone I can ask a DB deployment question. === abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: abentley | Critical bugtasks: 3*10^2 [16:17] benji: shoot! [16:18] i'll do my best to answer === matsubara_ is now known as matsubara [16:18] flacoste: I'm working with the LOSAs to get a small DB permission change for a script to fix a critical regression; in an email stub said that I "need someone to manually apply the permissions to production" but neither I nor the LOSA know what exactly that means. He asks if "running ./security.py wouldn't work?" [16:19] benji: yes, if we run it as we do as part of nodowntime, that should do the trick [16:19] flacoste: thanks === beuno-lunch is now known as beuno === Ursinha-lunch is now known as Ursinha === jcsacket1 is now known as jcsackett [17:11] sinzui: I have a question about bug 894390, if you've got a second. [17:11] <_mup_> Bug #894390: It's possible for Person.account and EmailAddress.account to be different for the same person < https://launchpad.net/bugs/894390 > [17:12] I do [17:15] sinzui: Okay. Quickly put, then: Will anything really bad happen if we move the code that changes email.account and email.person out of MergePeopleView._doMerge() and into the job code? [17:15] I realise that we're then deferring the check for other email addresses on the dupe account [17:15] quick answer nothing bad [17:16] gmb, I wanted to do it [17:16] But at the moment that check / change is preventing me from putting in a simple constraint to ensure that Person.account and EmailAddress.account point to the same place. [17:16] I think it is a bit tricky because of timing and rules checks [17:17] Yeah. [17:18] gmb, that view code is using the removeSecurityProxy too? I think we really do want that code in the model level [17:18] sinzui: Yup, I thought that too :) [17:18] sinzui: Are we only caring about the user in doing the check in the view? I.e. do we mostly care that they get told if the merge can't happen? [17:18] (Because we could conceivably do all that in a rabbity fashion, hand-wave, etcetera) [17:20] gmb: yes. We really want the user to know that they are done confirming *many* email addresses. The code is counting down to 0 [17:20] Then we tell the user we are going to do it [17:20] Hrrrm. [17:20] We can count down to 1 maybe [17:22] Hmm, possibly. [17:23] sinzui: Actually, if we did the check for emailset.getByPerson(self.dupe).count() > 1 (or whatever) early on in _doMerge(), wouldn't it have a similar effect? [17:23] Oh, no. [17:23] Bother. [17:23] That doesn't actually solve the problem *at all* === salgado is now known as salgado-lunch [17:40] lunch time for rick_h_ and I. [18:45] abentley, Do you have time to review https://code.launchpad.net/~sinzui/launchpad/dsp-vocab-unknown-distro [18:46] sinzui: I can get to it in a bit. [19:10] sinzui: Is it intentional that test_getInputValue_package_spn_dsp_picker_feature_flag and test_getInputValue_package_dsp_dsp_picker_feature_flag have identical comments? [19:11] no :( [19:15] sinzui: around 171 and 187, I think you can simplify getUserBrowser().open(canonical_url(bug)) to getViewBrowser(bug) [19:15] I certainly an [19:16] can [19:17] sinzui: technically, test_setDistribution should have a comment, though I don't know what I'd say. [19:18] sinzui: And there should be a docstring on setDistribution itself. [19:19] I would say it permits the callsite to set the vocab's distribution after the vocab was instantiated by another mechanism [19:20] sinzui: Okay, r=me with those text changes. [19:20] thank you [19:21] sinzui: Could you review one for me? [19:21] yes I can [19:22] sinzui: https://code.launchpad.net/~abentley/launchpad/history-model-fix/+merge/83995 [19:23] sinzui: I can provide some context if you like. [19:23] Does this fix my back button? I sometimes need to go back twice to go back one page? [19:24] sinzui: On the new bug listings? [19:24] yes [19:24] sinzui: It's not a bug I've observed, but I think it might fix that. [19:26] abentley, lint lists 6 files, the diff shows 1 [19:26] sinzui: I don't think lint takes prerequisite branches into account. [19:26] ahh there is a preqeq [19:27] r=me [19:27] sinzui: thanks! [19:35] sinzui: hi [19:35] sinzui: mailman [19:37] yes mailman [19:37] never postwoman [19:37] is it easy to turn on monthly indexes vs all-time ? [19:38] lifeless, I think it is the same work as what I described in my reply to your email. I am not familiar with the switch/flags in the file, but I think it is simple to add and a few days to generate [19:38] coooool === gary-lunch is now known as gary_poster [19:39] do you feel like doing it yourself? [19:39] cause, you have like +10000 from me if you want to [19:40] I will consider it for Friday. I have committed to fixing the so-called "bug supervisor" label on the advanced bug search form for Friday morning [19:40] \o/ [19:42] sinzui: separately [19:43] sinzui: wallyworld_ asked me yesterday about disclosing team names on branch pages; I said my understanding was that was fine as long as we'd cleaned up existing subscriptions to remove teams that don't want to be disclosed [19:43] this turned into a discussion about whether that was work we'd decided to do or not, or something [19:43] 16:25 < lifeless> my understanding is that we settled on 'when the team interacts with something' and 'team interactions will prompt to permit the interaction' [19:44] 16:25 < lifeless> its the second bit I suspect is missing [19:44] 16:25 < wallyworld_> yes [19:44] 16:26 < wgrant> The second bit requires an API break. [19:44] 16:26 < wgrant> In dozens of places. [19:44] 16:26 < wallyworld_> maybe we decided against it then. i can't recall [19:44] 16:27 < lifeless> I'd worry a little if we had [19:44] 16:28 < lifeless> because we have a number of policies intended to prevent accidental discovery of private team names [19:44] 16:28 < lifeless> and not doing the second bit will deeply devalue them [19:44] 16:28 < wallyworld_> my memory is fuzzy, so i'm not sure one way or the other [19:44] 16:28 < wgrant> I thought we were going to skip that, because of the enormous and ever-expanding scope creep it would entail. [19:44] 16:29 < wgrant> Given recent happenings, I don't think we need any more of that... [19:44] 16:29 < wallyworld_> i seem to recall that the discussion was that private team names could be exposed [19:44] 16:29 < wallyworld_> and that people would have to given them cryptic names [19:44] 16:29 < wallyworld_> if they didn;t want others to guess things [19:44] 16:32 -!- timrc [~tim@99-57-130-76.lightspeed.austtx.sbcglobal.net] has joined #launchpad-dev [19:44] 16:34 < lifeless> noone told me :) [19:44] 16:35 < wgrant> We don't have a compelling, pretty, feasible private team design. [19:44] 16:35 < wgrant> We no longer have a compelling, pretty, feasible private artifact design. [19:44] 16:36 < wallyworld_> lifeless: perhaps we can all have a chat with sinzui tomorrow to clear it up. in case i/we have misunderstood anything [19:44] -fin [19:46] I think my team was slowly understanding what I meant by traversal. wallyworld_ did produce a branch that seem to do the right thing to check if a user may access a subordinate object [19:46] we have not solved the important case yet to say we really know how to do this...eg stop avoiding the private team p3a subscription problem [19:47] anyhow, I believe you have a standup. Perhaps I can join at the end of that and we can have a brief chat? I don't want to be adding confusion to your team when they ask me things :) [19:47] lifeless, We do not yet know how to present pages when the user as restricted access [19:47] okay === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away [19:51] lifeless, https://code.launchpad.net/~wallyworld/launchpad/view-private-branch-artifacts-605130/+merge/83915 shows the draft that wallyworld_ took after discovering the bug was about traversal [19:55] Not that I'm going to add anything of value here, but most of our (Commercial Engineering) privacy needs could be met if running own instance of Launchpad were more feasible [19:55] let the firewall naturally provide most of the security for us [19:56] doesn't solve the problem of privacy for external customers though (unless they too ran their own instances of Launchpad) [19:57] timrc: AIUI thats bogus :) [19:57] timrc: because you have multiple vendors you collaborate with, and you don't want mutual-disclosure amongst them [19:58] if we could bring up separate launchpad instances for each, though? [19:58] that would imply Launchpad were much lighter than it is today, though [19:58] it would be a totally different thing at that point [20:06] there has been customer interest to put image building behind the firewall but what of the archive? on the face of things launchpad seems perfectly suited for that, but in practice, that would be a nightmare [20:06] more like a set of bugzilla instances :-) [20:06] which means, no collaboration between them [20:06] which isn't what LP is about [20:09] flacoste, how do private projects within launchpad.net collaborate today? [20:10] timrc: well they use multiple bug tasks [20:10] I thought that was going away :) [20:10] you asked today? [20:10] lol ok [20:10] but you are right [20:10] fair enough [20:10] that's changing to use linking between issues [20:10] so that it's easier to manage the conversations [20:11] and easier to understand who has access to what [20:11] but linked issues will still make it easier to collaborate than setting separate bugzilla instances [20:11] which really never talk to each other [20:11] as a back story [20:11] Canonical and Ubuntu started by using bugzilla itself [20:12] and then quickly saw that trying to talk to upstream would never scale with it [20:12] and that's when LP was born [20:12] Federate your Launchpad instances so BigCo's launchpad instance is comprised of all the data from launchpad.net and launchpad.bigco.com [20:12] well, its bug tracker at least [20:12] timrc: yep, that would be another way of doing it [20:12] but more work [20:12] and you guys have waited long enough already ;-) [20:13] lol [20:14] federation has the same issues FWIW [20:15] 'if I reply to this bug, who sees the response' [20:15] 'who is this bug accessible to' [20:15] 'who should control accessibility to this bug' [20:15] depends on where the bug originates? [20:15] sure [20:15] if the bug originates on launchpad.bigco.com than by default it's only visible to people with access to launchpad.bigco.com [20:15] but if you get notified on bugs that are just federated in [20:16] and you reply with proprietary info because you are confused... [20:16] deryck: chat? [20:17] abentley, deep in sprinting right now. [20:17] deryck: okay. [20:17] abentley, is this about something you're hacking on? [20:17] deryck: Yes. [20:17] lifeless, we have a nice banner that says "this bug is private"... I can envision the same here [20:17] timrc: right, but you see that its not something improved by federating [20:18] abentley, is this something you need me for, or could someone else pre-imp you? [20:18] timrc: federating doesn't naturally solve it [20:18] lifeless, it seems more intuitive, the separation seems clearer [20:19] deryck: I wanted some policy direction, but I think I can get started without it. [20:19] you don't set a privacy bit, it's implied by organizational structure [20:19] I think federating is a good way to think about the problem [20:20] but I don't think the act of federating itself solves much, not if you have it all automated [20:21] abentley, ok, cool. Thanks! [20:25] okay, well thanks for humoring me :) i know your time is precious [20:26] I am trying to find a critical bug I can work on in my spare time -- need you guys focused on privacy! ;) [20:29] abentley: free for a review? https://code.launchpad.net/~jcsackett/launchpad/fancy-filebug-part2/+merge/84004 [20:31] jcsackett: I don't understand the difference between a private bug and a private-by-default bug. [20:32] jcsackett: Do you know why these ribbons are implemented in JavaScript? [20:35] abentley: private by default is projects where all reported bugs are automatically marked as private. [20:36] jcsackett: I got confused because I didn't understand were were talking about a bug that doesn't exist yet. [20:36] abentley: ah, yes, this is on +filebug, so as you're reporting it. [20:36] sorry if my mp didn't make that clear. [20:37] as to the javascript, abentley, it was written originally for existing bugs, so that it would dynamically display when a bug was marked as private or public once it already existed. [20:37] it seemed better to just reuse that even in non-dynamic situations then create another display. [20:37] and in the case of toggling the security related stuff, the dynamic part is actually desireable. [20:38] jcsackett: It just seems bad not to provide these ribbons to non-JS users. [20:39] jcsackett: Our new beta banner was based on these ones, so I've filed Bug 891697 about it. [20:39] <_mup_> Bug #891697: Beta banner is not shown if JavaScript is disabled. < https://launchpad.net/bugs/891697 > [20:40] abentley: that's fair. [20:40] abentley: i *believe* the old privacy display (the grey stripey edging) still shows when you're looking at a private bug if you don't have JS. [20:40] but having something like the banner still work would be better. [20:40] jcsackett: oh, that's good. [20:41] * timrc tests that [20:43] r=me. I prefer "set up" rather than "setup" for the verb, but I guess both are used. [20:43] jcsackett, it does indeed show the grey stripey edge [20:43] abentley: thanks. i've updated your bug to explicitly include the privacy banner, b/c the same considerations apply. [20:55] hi all [21:09] abentley, I share your observation about the privacy banner. It was interactive. We removed the hide button, so it is just structure and CSS now. in fact, we still load the old css. you will see the old background stripe on the left when the page loads :( [21:14] thats good if js is disabled ;) === matsubara is now known as matsubara-afk [21:21] sinzui: timrc disabled js and confirmed that the old background strip appears [21:22] hi poolie [21:22] hi there [21:22] benji: are we ready to renable the translations jobs? [21:23] benji: a user complained again on #launchpad [21:23] lifeless, flacoste it is not good, it is only acceptable. The page could have used the pretty CSS by default! [21:23] flacoste: we are (well, they weren't jobs before, but now are) [21:23] sinzui: right [21:24] benji: care to file a RT for it? I'll put it at the top of the queue [21:24] gray stripey edge is definitely subtle [21:24] flacoste: the only problem remains that there is a disagreement about how exactly that is done, or if anything needs to be done at all [21:24] benji: what's the disagreement about? [21:24] I've grown to depend on the red bar to make sure I'm not about to do something regrettable [21:24] if only I had it for other aspects of my life [21:25] flacoste: I wasn't around when it was last discussed but the way it was communicated to me was that nothing needed to be done and the jobs would simply begin running [21:25] benji: i doubt that [21:25] flacoste: you and me both :) [21:25] benji: right, we need a new cron job [21:25] there is a generic script to run these jobs [21:26] but the arguments to the script are job-specific [21:26] iow, the config section to use [21:26] right (cronscripts/run_jobs.py) [21:27] flacoste: I'll file an RT to add "cronscripts/run_jobs.py pofile_stats" to the crontab or equivalent. [21:28] benji: thx, let me know the # so that i can adjust the priority [21:28] flacoste: will do [21:34] flacoste: RT #49635 [21:34] <_mup_> Bug #49635: adept is _really_ slow. < https://launchpad.net/bugs/49635 > [21:37] benji: thx [21:37] np [21:41] sinzui: so what time is the clal ? [21:42] 19 minutes [21:42] we use mumble [21:42] kk [21:42] I suspect we are the last team to use mumble [21:44] o/ sinzui [21:47] poolie, Last year, I had mumble on all the time and talked many times a day. Used mumble about 7 time a week now. :( [21:47] that is more often than me [21:47] if i had better audio hardware [21:47] i would use it more [21:47] not sure what that would look like though [21:49] if it worked better in .nz I would use it more ;) [21:54] sinzui, in U1 we only use mumble, a lot of us are on it for the full working day and move between rooms to talk to people [21:55] beuno, That is what I remember the ~launchpad team was doing 12 months ago [21:58] lifeless: it's been fine for me lately [21:58] of course i have super internet in the office [21:58] (by nz standards) [21:59] beuno: I can't work like that - too much distractions (see for instance the research into productivity losses in open plan offices) [22:00] lifeless, right, so my work is basically interrupt-based, so if anyone is blocked on something, they can just jump in and talk [22:00] when I need to focus, I close it [22:01] beuno: they can do that to me too; but when its not happening I am focused ;) === abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugtasks: 3*10^2 [22:01] lifeless, it's a bigger barrier if you need to ping someone on irc, get them to log in, adjust their mic, etc etc etc [22:02] if I'm already there, it's cheap and quick [22:02] sinzui: We never really did that on the Code team. [22:02] beuno: perhaps [22:02] lifeless, then we also have a policy where developers always work in pairs, so they have their own channels [22:02] I can get dragged into those [22:03] or other developers can get pinged to join them === jcsackett|afk is now known as jcsackett [22:03] it's been quite good for us [22:03] OTOH, when it's hammer time, people even drop off of IRC :) [23:18] StevenK, bug 603732 [23:19] <_mup_> Bug #603732: If there is no driver a maintainer should be able to accept a bug nomination < https://launchpad.net/bugs/603732 > [23:33] wallyworld_, Do you want to talk about launchpad.LimitedView on mumble [23:34] sinzui: ack [23:42] is it just me who sees ec2 host keys getting cached in my real keyring by ec2test?