/srv/irclogs.ubuntu.com/2011/09/19/#launchpad-dev.txt

lifelessany reason we can't run it right after ?00:00
wgrantIt'd run into the 0902 run, so that wouldn't happen.00:01
lifelesswgrant: can has review?00:03
wgrantlifeless: Sorry, missed that. Will look in a sec.00:03
wgrantJust fixing test failures from yesterday's largish branch series.00:03
wgrantlifeless: Could you do the sort of query that jtv asked for https://code.launchpad.net/~jtv/launchpad/bug-613823/+merge/75773?00:23
wgrantlifeless: The approver is cronned on staging.00:23
lifelesswgrant: hmm ?00:23
wgrantlifeless: There are QA instructions in that MP.00:24
wgrantI don't have staging DB access.00:24
lifelesssorry to be a nuisance, but can you translate to sql ?00:24
wgrantSELECT * FROM translationimportqueueentry WHERE error_output IS NOT NULL AND status = 5 ORDER BY date_status_changed DESC LIMIT 10;00:25
lifeless000:25
wgrantThat's upsetting. I guess I will check it with hloeung later.00:26
wgrantlifeless: Does oops-timeline really only lose us two lines of code?00:29
lifelesswgrant: yes, but it saves duplication for other folk glueing them together00:30
wgrantTwo lines of duplication?00:30
lifelessabout 1000:31
wgrantstsly?00:31
lifelessduplication has never been about size of code though00:31
wgrantsrsly?00:31
wgrantlifeless: Do our consumers cope with the s/db_statements/timeline/?00:35
mwhudsonhttps://code.launchpad.net/~mwhudson/launchpad/feature-flag-xmlrpc/+merge/75673 if anyone is bored...00:36
lifelesswgrant: oops-tools is a version locked buildout project.01:09
lifelesswgrant: it uses datedir-repo which this change doesn't affect, because its not a labelled key in the rfc822 format01:10
lifelesswgrant: that said, I have a branch for it which updates-and-corrects01:11
lifelesswgrant: that also needs a review :) - code.launchpad.net/~lifeless/oops-tools/timeline/+merge/7594101:12
lifelessmwhudson: ping01:15
mwhudsonlifeless: hello01:16
lifelesswant to talk (you know, by airwaves) about branch access?01:17
mwhudsonah sure01:18
mwhudsonlifeless: mumble/skype/pots01:18
mwhudson?01:18
lifelessthe second door01:18
pooliemwhudson, just a random idea01:18
poolieis it cleaner to pass a dict that can contain a username and possibly other stuff?01:19
pooliei don't know if that will be easier to evolve or not01:19
mwhudsonpoolie: what would the values in the dictionary be?01:19
lifelessobjects!01:19
poolieusername='mbp' client_ip='1.2.3.4'01:19
poolieetc01:19
mwhudsonah01:19
pooliebzr_version='2.4.4'01:19
mwhudsonlifeless: haha, this is xmlrpc01:19
poolie#quotes01:23
wgrantlifeless: Ahh, so it doesn't actually make a difference in the serialised format?01:27
lifelessright01:34
lifelesswgrant: were you going to review the oops-tools one too ?01:59
wgrantlifeless: Done.02:01
StevenKOh look, pocketlint deals with JS.02:05
StevenKIf only I knew that on Friday.02:05
nigelbheh02:05
nigelbWhat happened on Friday?02:06
nigelbAlso, I thought pocketlint dealing with JS was one of its biggest advantages.02:06
StevenKI was dealing with the same JS branch, but I had broken the JS badly so Firefox didn't love me and refused to render the page02:07
nigelbOuch.02:07
nigelbDidn't firebug help?02:07
StevenKNo, it just told me I had a syntax error on line 68,000 something02:07
StevenKWhich wasn't very handy02:08
nigelbYeah.02:08
nigelbI like how firebug throws a weird bug when you make a mistake in JSON.02:08
nigelbI spent about 20 minutes for that, until I discovered jsonlint helps.02:08
nigelbStevenK: But if you click on the error it should take you to that line, letting you debug it.02:09
nigelbNot like that's easy either.02:09
StevenKAnyway, pocketlint has solved my issue.02:09
nigelb:)02:10
nigelbI hope noone stabs me for the number of revisions I've made undeployable.02:10
wgrantYou've only made 13 undeployable, which is probably the least I've seen from non-APAC breakage.02:11
wgrantI get stabby when it gets above 50.02:11
nigelbnon-APAC?02:11
StevenKAPAC is Asia-Pacific02:12
wgrantUS/EU breakage often gets nasty.02:12
nigelb"technically" I live in APAC02:12
wgrantWell, yeah.02:12
wgrantJust!02:12
lifelesseasily02:12
lifelessasia goes -way- west02:12
wgrantShh.02:12
nigelbMiddle east is west of me.02:13
nigelbSo, i'm not "just" Asia :P02:13
lifelessisn't it to the bosphorus?02:14
nigelbYeah02:14
lifelessbeautiful river02:14
nigelblifeless: At some point I need to pick your brain further re:js-oopsd02:15
nigelbBut at a later point when I'm not sleep deprived!02:15
wgrantreprocess-hwdb-submissions is doing well for itself.02:18
wgrant90272 None: None02:18
lifelessnigelb: ok02:19
wallyworld___lifeless: can you tell me the code that gets invoked when serving loggerhead pages like to http://bazaar.launchpad.net/~johndoe/project/files02:22
wgrantwallyworld___: You're trying to add the privacy overlay thing?02:22
wallyworld___yes02:22
wgrantRun away.02:22
wgrantWe have no loggerhead customisation story these days :/02:23
* wallyworld___ starts running02:23
=== wallyworld___ is now known as wallyworld
wgrantWhich means we have to copy the LP-specific template and JS into the loggerhead tree. And have it there polluting everyone's installations.02:23
wgrantEven though it's only relevant to us.02:23
wgrantAnd our theme.02:23
wallyworldyuck02:23
nigelbCan't fork it?02:23
=== wallyworld is now known as Guest73189
wgrantForking it is not a good option.02:24
nigelbLike have a branch with launchpad changes, and keep merging trunk into it.02:24
wgrantWe should have an alternate theme.02:24
wgrantWell.02:24
wgrantReally we should use LH as a service.02:24
lifelesserm02:24
wgrantAnd import it into the LP UI.02:24
lifelessright02:24
mwhudsonif request is a ILaunchpadRequest, what is request.principal?02:24
wgrantBut that may happen in three decades.02:24
lifelessthe ideal thing is to make LH a background service.02:24
wgrantUntil then we need something better.02:24
wgrantmwhudson: *probably* an IAccount.02:24
lifelessin the mean time, we a) maintain loggerhead, b) deploy trunk.02:24
wgrantmwhudson: Or it may have an adapter to IAccount.02:24
nigelbAH02:25
lifelessGuest73189: your nick is bust :)02:25
Guest73189yeah :-(02:25
Guest73189keeps happening02:25
nigelbSo logggerhead won't actually show files form a private branch?02:25
wgrantnigelb: It does.02:25
wgrantnigelb: It just doesn't say that it's private.02:25
nigelbAHH.02:25
mwhudsonwgrant: ah, it's a ILaunchpadPrincipal02:26
nigelbStupid question - Isn't loggerhead already a service?02:26
mwhudson(well, if it's not unauthenticated)02:26
wgrantmwhudson: Does that handle stuff like IWeaklyAuthenticatedPrincipal?02:26
wgrant(which should really be INotActuallyAuthenticatedAtAllPrincipalButSomePeopleApparentlyCannotHandleEmailSigningBecauseTheyLikeToUseGmail, but that's a bit long)02:27
nigelbheh02:27
mwhudsonwgrant: basically02:28
mwhudsoni have a request02:28
mwhudsoni want a person, or None02:28
nigelbI remember doing this elsewhere.02:28
lifelessnigelb: it is but it displays a web UI of its own02:28
lifelessnigelb: using different templates, middleware, and web stack.02:29
lifelessnigelb: its not a *backend* service that the LP web app can consume02:29
nigelbAHH.02:29
lifelessnigelb: its just a sibling website that happens to be themed the same way02:29
nigelbThat means loggerhead should first expose such a service in trunk and then we need to grab that and use that?02:29
lifelessit has a bit of such a service02:29
lifelessit needs more02:29
lifelessand it needs to be -much- faster02:30
nigelbAgree on that one.02:30
lifelessits fast-path is tolerable but its slow path needs to be two orders of magnitude faster02:30
lifelessinteresting  https://www.facebook.com/notes/facebook-engineering/making-facebook-self-healing/1015027524869892002:34
mwhudson(fwiw, i think IPerson(request.principal, None) is what i want)02:34
StevenKwallyworld__: Can I force an overlay to the top?02:38
wallyworld__StevenK: you mean so that it always stays on top?02:38
StevenKwallyworld__: Give me a tick, preparing screenshots02:39
wallyworld__ok02:39
StevenKwallyworld__: http://people.canonical.com/~stevenk/Subscribe-popup.png02:41
* wallyworld__ looks02:41
StevenKwallyworld__: That's the "before" shot -- it's a private bug and I've clicked the "subscribed to all notifications" link for the popup02:42
wallyworld__and the confirm overlay appears beneath?02:42
StevenKwallyworld__: http://people.canonical.com/~stevenk/Subscribe-popunder.png02:42
nigelbNeeds z-index magic :-)02:42
wallyworld__StevenK: overlays have a zIndex propety02:42
* wgrant invokes mpt.02:42
wallyworld__StevenK: default is 002:42
StevenKOh no, I've angered wgrant.02:43
wgrantNested overlays... this doesn't seem right.02:43
wallyworld__StevenK: http://yuilibrary.com/yui/docs/overlay/02:43
StevenKwallyworld__: Higher is on top, or lower is?02:43
wallyworld__StevenK: ummmm. higher i *think*02:44
nigelbHigher.02:45
* nigelb helpfully links to http://www.w3schools.com/cssref/playit.asp?filename=playcss_z-index&preval=202:45
wallyworld__StevenK: sort of agree with wgrant though. i'd like to see the click in the "remove" link result in the confirmation exapnding out below the link via an animation02:45
wgrantRight.02:45
wallyworld__sort of like for the stuff i did for confirming bug assignees02:45
wgrantThe dialog mutate by expanding, or using a second step.02:45
wgrants/mutate/should mutate/02:45
StevenKYou two suck, or something.02:46
wgrantDialogs are bad the best of times.02:46
wallyworld__you've been peeking in my window again haven't you02:46
nigelbActually, I'll agree with them as well.02:46
* wallyworld__ needs to close the curtains02:46
StevenKs/two/three/02:46
nigelbSo, StevenK wasted 2 days of JS hacking only to be mpt'd :P02:46
StevenKNot really02:47
StevenKSince there are two callsites02:47
wgrantI always expect a few days of hacking on a new technology to have to be thrown out at least a couple of times.02:47
wgrantAnd while feature squads seem to like introducing tech debt and terrible UI, I think we should try to do this at least vaguely properly.02:48
nigelbwhat's tech debt? I see that used in tags.02:48
wgrantLaunchpad.02:49
nigelbHeh.02:49
wgrantLaunchpad is mostly tech debt.02:49
wgranthttp://c2.com/cgi/wiki?TechnicalDebt02:49
lifelesswgrant: I've seen worse.02:50
wgrantlifeless: Huh?02:50
wgrantWhere?02:50
wgrantCOBOL doesn't count.02:50
nigelbAh.02:50
wallyworld__wgrant: minestar02:50
lifelesswgrant: Micropay02:50
wgrantOK, software that isn't meant to be enterprisey?02:50
lifelesswgrant: .... unlike LP ?02:50
wallyworld__wgrant: win32 api :-)02:51
nigelbIsn't LP the enterprisey codehosting website? ;-)02:51
wgrantLP isn't meant to be enterprisey, I don't think. It is, but I don't think it was meant to be.02:51
lifelesswgrant: and yeah, a few things do come to mind that rival LP for 'wants refactoring soooo bad'02:51
nigelbIt may not be meant to be enterprisey, but some of the best features are enterprisey.02:51
nigelb(lp)02:51
lifelesswgrant: see rule #1: all software sucks.02:51
wgrantlifeless: We just have no way to make it not suck.02:52
wgrantBecause nobody wants to reduce tech debt.02:52
nigelbDelete more code. That's code that's guaranteed to not suck :-)02:52
wgrantMaintenance squads can't fix it, and feature squads won't.02:52
wgrant=> we are fucked02:52
wgrant:)02:52
StevenKEverything will be better when we have no criticals.02:52
StevenKOH WAIT02:52
wgrantHahahahahahahhaa02:52
nigelbBwahaha02:53
StevenKI could not help myself ...02:53
wgrantSpeaking of which,.02:53
nigelb390 bugs with tech-debt :/02:53
wgrantnigelb: And that's mostly just the really bad stuff.02:53
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: -| Critical bugs: 260 - 0:[########*** stack smashing detected ***: ./lp terminated
StevenKBleh, still 260.02:54
StevenKWe are going *backward*02:54
nigelbwgrant: Some seem to be not very had.02:54
nigelb*hard02:54
wgrantnigelb: Some aren't, no.02:54
wgrantnigelb: And even the big stuff is not hard.02:54
wgrantI spent a few hours yesterday and very nearly disposed of Zopeless.02:54
StevenKwgrant: How did that turn out?02:54
wgrantStevenK: Some test failures in the last branch in the series.02:55
wgrantWhich removes ZTM's commit/abort/begin methods, and initZopeless' return value.02:55
wgrantLeaving ZTM to be moved into DBConfig in the next branch.02:55
wgrantStill have to strip out Zopeless mail somehow.02:55
wgrantBut it's all pretty well detangled now.02:56
lifelessgreat02:56
wgrantinitZopeless' callsites are limited to core base classes and buildd-manager.02:56
wgrantWhich means we can finally untangle the damned dbuser handling.02:56
wgrantWhich is roughly quadruplicated at the moment.02:56
mwhudsonpoolie: is there a reason that there are scopes team:foo but server.edge?02:57
wgrantAnd it also means the Zopeless layers can die, which simplifies things a bit.02:57
mwhudsoni.e. ':' vs '.'02:57
pooliemwhudson, i don't think there's any really good reason03:01
poolieyou could look at it as 'server_edge=True' vs 'server=edge03:01
lifelesso/ 90K hwdb exceptions03:03
wgrantYup, the reprocessing seems to be going well...03:04
lifeless181 AttributeError: 'LaunchpadTimeoutError' object has no attribute '__traceback__' looks suspect03:04
wgrantlifeless: I pointed that out last week, yeah. The attempted reraising is bad.03:04
wgrant__traceback__ was added in 2.7, wasn't it?03:04
lifelesswgrant: did you file a bug ?03:04
wgrantMaybe even 3.x.03:04
wgrantNo.03:04
lifelesswgrant: or reopen it ?03:04
wgrantI had three production breakages.03:04
lifelessI'm not criticising03:04
lifelessI'm asking so I don't duplicate work.03:05
wgrantYou should have been :P03:05
wgrantI haven't, no.03:05
wgrantWell, really I wanted to see if anyone else would pick it up.03:05
lifelessIIRC benji worked on it ?03:05
wgrantI think that's right.03:05
wgrantlifeless: So, for science, I'd like to leave it a couple of days and see if a maintenance squad notices.03:05
lifelesswell03:06
lifelessI've mailed benji03:06
wgrant:(03:07
StevenKSUCCESS!03:07
StevenKMy confirmationoverlay works for +subscriptions03:07
StevenKwallyworld__: *prod*03:08
wallyworld__StevenK: ouch!~03:08
wallyworld__StevenK: excellent03:08
wallyworld__StevenK: you are now a yui expert :-)03:09
nigelbTrapped! :P03:09
wallyworld__and i'll assign all the js bugs to you!03:09
StevenKwallyworld__: Suggestions about how to break up the form_content in http://pastebin.ubuntu.com/692723/ ?03:09
* wallyworld__ looks03:09
nigelbwgrant: Deploying today?03:09
wallyworld__StevenK: you can use a join03:10
wallyworld__give me a sec and i'll find an example03:10
wgrantnigelb: Funny you should ask.03:10
wgrant13:09:58 < wgrant> hloeung: We need to do a nodowntime rollout today so we can turn gina on.03:10
wgrantnigelb: So, you weren't quite perfectly timed, but 'tis acceptable.03:10
nigelbwgrant: Almost immediately? :-)03:10
nigelbwhat channel was that? Canonical IRC?03:11
wgrantMaybe. Some preparation to do, and we are down to one LOSA this week.03:11
StevenKnigelb: Yes, a private one.03:11
wgrantYeah, that was #launchpad-ops on the Canonical network.03:11
lifelessmwhudson: don't you hate all the boilerplate glue to say 'this code at that endpoint' ?03:11
mwhudsonlifeless: YES03:11
nigelbStevenK: ah, I have an example of join somewhere I think.03:11
mwhudsoni used a bit less boilerplate than some though03:11
wallyworld__StevenK: search for join('') or join("") in js03:11
wallyworld__there's quite a few places03:11
mwhudsonsome endpoints have the xml-rpc methods in a view on the application endpoint object03:12
wallyworld__StevenK: you can use string concat if it's only 2-3 lines.03:12
mwhudsoni just put the methods on the application endpoint object03:12
nigelbStevenK: ['foo', 'bar'].join('')03:12
wallyworld__but any longer, a join is recommended03:12
nigelbwhere foo and bar are 50 to 70 chars each.03:12
nigelbwgrant: I'm technically a jQuery person more, but YUI is quite neat :-)03:13
nigelberr03:13
nigelbwallyworld__: ^03:13
wallyworld__nigelb: ?03:14
nigelbwallyworld__: I played around a lot with it for that bug title fix. Its different, but now I think in a better way.03:14
wallyworld__nigelb: oh, you mean you like yui. it's not too bad actually. i think it's 2nd most popular framework behind jQuery03:16
StevenKwallyworld__, nigelb: Fixed, thanks.03:16
nigelbStevenK: \m/03:16
StevenKI think I need to revert bug_subscription_portlet changes while I work out how to expand it03:17
StevenKPerhaps I'll do the changes in two branches03:17
lifelessmwhudson: I've done a review03:18
lifelessmwhudson: its probably a bit opaque. Two key things - please don't duplicate code (team: magic string handling), and a bit fuzzier one that you may want to ping me on03:19
mwhudsonlifeless: you have?  i don't see a review03:19
lifelessmwhudson: process-incoming.py03:19
mwhudsonah03:19
mwhudsonlifeless: did you see my response to poolie's comments?03:19
StevenKwallyworld__: I'll grab you after lunch on how to test this thing?03:20
wallyworld__StevenK: ok03:20
nigelbYUI tests! Fun! :-)03:20
StevenKwallyworld__: No promises on where I'll grab you03:20
lifelessyes, I think dict for scopes was confusing (because scopes are containers), but coming from the same place I am03:20
StevenK:-P03:20
wallyworld__oh, one can only hope03:20
lifelessmwhudson: docs are in docstrings.03:21
mwhudsonlifeless: were you under the impression that i know what you're talking about?03:22
lifelessmwhudson: yes!03:23
lifelessmwhudson: poolie pointed you at docs, you found an empty file.03:23
mwhudsonwell, i still don't know what needs to be _updated_03:23
lifelessmwhudson: I believe they are in module docstrings instead03:23
mwhudsonall the code i added has docstrings03:23
lifelessyes, but nothing points at your code; thats the point I think.03:23
mwhudsonah oik03:24
lifeless__init__.py03:24
mwhudsonlifeless: were you reviewing the originally proposed version, or r13974 ?03:27
lifelessmwhudson: the mailed out version03:27
mwhudsonlifeless: ok, look again please03:27
lifelessmuch better03:29
lifelessmwhudson: back to you :)03:45
mwhudsonlifeless: lol, guess what my working copy looks like03:46
mwhudsondefault_scopes = (DefaultScope(),)03:47
lifelessmwhudson: :)04:00
mwhudsonlifeless: back to you (hopefully not much more of this)04:02
lifelessmwhudson: your example is missing a :04:04
lifeless'codehosting.use_forking_server', ['user:' + user_name])04:04
lifeless->04:04
lifeless'codehosting.use_forking_server', ['user:' + user_name]):04:04
mwhudsonah04:05
mwhudsonok04:05
mwhudsonlifeless: thanks04:07
mwhudsoni wonder if i can still land code ...04:08
lifelessshould be able to04:08
lifelesshave I put you in the emeritus team yet ?04:08
mwhudsondon't think so04:08
lifelesswant me to?04:09
mwhudsonlifeless: are you aware of a bug report about this?04:09
lifelessabout what?04:09
lifelessoh04:09
lifelessuhm04:09
lifelessthere may be one04:09
mwhudsonlifeless: what impact does being the emeritus team have?04:09
mwhudsonok, i'll search04:09
lifelessyou'll get review mail which we don't [yet] have a good offswitch for04:09
lifelessyou get bugcontrol privs, and push privs to ~canonical-launchpad-branches04:10
lifelessmwhudson: ah you are in it04:10
mwhudsonoh ok04:10
lifelesshttps://launchpad.net/~canonical-launchpad-emeritus04:10
mwhudsoni don't get review mail...04:10
StevenKNo PQM access?04:10
mwhudson(which i am happy with, before you do anything about that :p)04:11
lifelessmwhudson: its not fully setup up :)04:11
lifelessmwhudson: the intent is to get you review privs, which currently implies mail.04:11
lifelessmwhudson: [sorry]04:11
mwhudsonlifeless: i appear to be able to approve merge proposals04:11
mwhudsoni am still in ~launchpad mind04:12
lifelessmwhudson: ah, well then :P04:12
lifelessmwhudson: its moot till you leave that04:12
mwhudsonok04:12
lifelessStevenK: yes, if pqm is integrated with LP (which it was till the code decided their old automation design was wrong)04:14
StevenKlifeless: Right, so the intent is that canonical-launchpad-emeritus members continue to have PQM?04:15
lifelessStevenK: the intent is that emeritus devs lose nothing if they are still @ canonical, and lose write-to-deployed-branches only, if they are not.04:16
lifelesse.g. be as close to an open source project as we can with our current constraints04:16
StevenKwallyworld__: *grab*04:19
StevenKwallyworld__: Let me just get some tea04:19
wallyworld__StevenK: oooh. a little hiher04:19
* StevenK goes to scrub his hands with solvol and steel wool04:19
wallyworld__StevenK: so you got your tea?04:28
StevenKwallyworld__: Indeed. Ready when you are.04:29
wallyworld__StevenK: ok, so you want to write a yui test for your confirmation overlay functionality?04:30
StevenKwallyworld__: Yup. I'm on mumble if that makes it simpler.04:30
wallyworld__StevenK: ok. i'll just grab my headset. one of the kids has nicked it04:30
StevenKHah04:31
wgrantAh, finally.04:42
wgrant~jans has added their OpenPGP key.04:42
wgrantThey've uploaded 18 packages this morning.04:43
wgrantOver several hours.04:43
wgrantCauses lots of process-upload cronspam :(04:43
StevenKHah04:43
wgrantBut maybe it will stop now.04:43
nigelbwgrant: Don't you have filters for that sort of thing?04:50
wgrantnigelb: That's one of the few user errors that still generates emails.04:52
wgrantnigelb: I tried to fix it one day, but then found terrible security holes and never visited that code again.04:53
wgrantAh, I see that sinzui had a productive anti-tech-debt Sunday as well.04:54
nigelb:)04:58
StevenKwgrant: Oh?04:58
wgrantStevenK: You might recall I was talking about pagetitles last week on the call.04:58
wgrantStevenK: sinzui deleted much of it.04:58
StevenKNeat04:59
mwhudsonwgrant: can you talk to sinzui about blueprints next?05:05
wgrantHeh05:05
StevenKHaha05:05
nigelbJust delete the folder?05:05
nigelbI can do that. :P05:05
StevenKmwhudson: You want blueprints deleted?05:05
wgrantDamn, ZTM will probably fall tomorrow. Then I'll need to find another target for my wrath :(05:05
StevenKwgrant: lib/canonical05:06
wgrantStevenK: canonical.lp no longer exists in devel... will that do?05:06
nigelbWHAT05:06
nigelb!!05:06
wgrantcanonical.lp, not canonical.launchpad :(05:07
nigelbAh!05:07
mwhudsonwgrant: actually, talk to him about ILaunchBag05:07
nigelbI did wonder if I patched something in canonical.launchpad only for you to delete it.05:07
wgrantmwhudson: I've tried to rip out bits of that myself, but it's not easy :(05:07
wgrantZTM was pretty easy, just very involved and tedious.05:08
StevenKILaunchBag needs to die05:08
nigelbWait ILaunch*Bag*?05:08
nigelbI first read it as Bug and I was WTF.05:08
wgrantIt's like a global variable, except more subtly hidden.05:08
mwhudsonwgrant: s/getUtility(ILaunchBag).user/IPerson(get_current_browser_request(), None)/ should do a bunch of it05:08
mwhudsonbut you might get a million tests to fix05:09
wgrantmwhudson: Also doesn't catch non-browser users.05:09
wgranteg. the email interface uses LaunchBag in places.05:09
wgrantBecause why not.05:09
mwhudsonah, this relates to that other bug05:09
mwhudsonscripts don't do participations rite05:09
wgrantScripts do a lot of things not right.05:10
wgrantI need to talk to Zope people about zope.app.testing.functional.FunctionalTestSetup, too.05:10
wgrantOr maybe just replace FunctionalLayer with ZopelessLayer and see what blows up.05:10
mwhudsonhttps://bugs.launchpad.net/launchpad/+bug/62319905:10
_mup_Bug #623199: scripts do not establish valid zope partiticipations <lp-foundations> <Launchpad itself:Triaged> < https://launchpad.net/bugs/623199 >05:10
wgrantAh05:10
* mwhudson evaporates05:16
* wgrant gets the condensor.05:17
StevenKwallyworld__: How can I determine what to put in Y.one() for the overlay?05:30
wallyworld__StevenK: Y.one('#id') where id is the overlay id if you know it05:30
wallyworld__StevenK: or Y.one('.yui3-overlay-xxxx') where xxx is the class05:30
StevenKYes, my question is how to determine the overlay id, since I don't05:31
wallyworld__StevenK: you can set the id. give me a minute to check05:31
wallyworld__StevenK: you have a content_box which you create -eg Y.Node.create("<div #id='foo'></div>")05:33
wallyworld__StevenK: then you can create the overlay, telling it to use this content_box05:33
wallyworld__see picker_patcher.js around line 5405:34
wallyworld__this creates an Activator but the concept is the same I think05:34
StevenK        var co = Y.one('.yui3-overlay-confirmationoverlay');05:36
StevenK        Y.Assert.isNull(co);05:36
StevenKwallyworld__: ^05:36
wallyworld__StevenK: are you saying the asset fails? or passes?05:36
StevenKI'm not saying either yet, I'm saying that the code I have at the moment.05:37
wallyworld__or that's what you are proposing05:37
wallyworld__?05:37
wallyworld__ah. that will work if there's only one confirmation overlay05:37
wallyworld__otherwise you will need to set the content box05:38
wallyworld__in the initialisation params05:38
wallyworld__of the overlay05:38
StevenKIf the subscription js is creating two confirmation overlays, that is news to me05:39
wallyworld__StevenK: i mean on the page. so long as the node used as the root for .one() is correctly set it will work05:40
wallyworld__ie use can use Y.one() which is for the whole page or05:40
wallyworld__node.one() which just looks at children of the node05:41
StevenKNo failures05:41
StevenKLet me break it05:41
StevenKwallyworld__: So I get failures, but none about my code05:53
wallyworld__StevenK: what sort of failures?05:53
StevenKhttp://pastebin.ubuntu.com/692789/05:54
* wallyworld__ looks05:55
wallyworld__StevenK: the test invokes test_unsubscribe_with_warning_action which clicks the link and looks at the mocked io values05:58
wallyworld__StevenK: so with the confirmation dialog there, it doesn't get to do the expected io05:58
StevenKwallyworld__: Right, so that's fine that it fails -- but test_on_unsubscribe_updates_info doesn't fail05:58
wallyworld__but since your test is failing, it may be that the Y.one(.xxxx) is wrong05:58
StevenKMy test is failing to fail05:58
wallyworld__i would use firebug to inspect the css class used05:58
wallyworld__for the confirmation overlay05:59
StevenKclass="pretty-overlay-window yui3-widget yui3-overlay yui3-pretty-overlay yui3-lazr-formoverlay yui3-lp-app-confirmationoverlay yui3-widget-positioned yui3-widget-stacked"05:59
StevenKThat bit?05:59
wallyworld__yep, use 'yui3-lp-app-confirmationoverlay'06:00
StevenKWith no dot?06:00
wallyworld__sorry, with a dot06:00
wallyworld__StevenK: to be pedantic, you could use Y.one('.yui3-overlay .yui3-lp-app-confirmationoverlay')06:01
wallyworld__which will require both classes to be present06:01
wallyworld__but try the simple case first06:01
StevenKwallyworld__: Which still doesn't fail how I want06:19
wallyworld__StevenK: how does it fail now?06:20
StevenKwallyworld__: The same way06:20
StevenKWhich means Y.Assert.isNull(co) is true06:20
wallyworld__StevenK: and you are sure the overlay is always being created06:21
StevenKwallyworld__: Well, I'd like to debug this somehow, but I have NFI how06:21
wallyworld__StevenK: you open the html harness in chrome and use firebug06:22
wallyworld__or firefox06:22
wallyworld__but for yui tests, chrome seems to work better06:22
wallyworld__run the tests one to load the scripts, then switch to the test_xxxx.js script and set a breakpoint06:22
wallyworld__and hit refresh06:22
poolieo/ wallyworld__06:29
wallyworld__hi poolie06:29
wallyworld__StevenK: i may have mislead you. to test for both classes, you use Y.one('.foo.bar') <- without the space, slip of the fingers06:33
wallyworld__poolie: how can i help?06:34
pooliejust saying hi06:36
wallyworld__poolie: just checking, just in case :-)06:37
jtvhi mrevell!07:01
mrevellMorning!07:01
jtvmrevell: we just rolled out a small but hopefully helpful Translations change that may be worth announcing.07:02
jtvAny suggestions for how/where I ought to do that?  I haven't kept track.07:02
mrevelljtv, I'd always favour a blog post. We can then reference that elsewhere.07:03
lifelesswgrant: closing in on u1; up for 2 tiny reviews in the same theme ?07:04
mrevellTop notch, btw.07:04
jtvthanks mrevell07:04
rvbawgrant: Hi, if you haven't (re-)reviewed my branch yet, I'll split the changes like you suggest.07:05
wgrantrvba: That would be great -- as it stands it's pretty impractical to see what's what, as I'm sure you've found.07:06
wgrantlifeless: Possibly. Links?07:06
lifelesshttps://code.launchpad.net/~lifeless/python-oops-wsgi/timeline/+merge/75960 https://code.launchpad.net/~lifeless/python-timeline/wsgi/+merge/7595907:06
rvbawgrant: Indeed. I'll do that this morning.07:06
lifelesswgrant: ^07:26
pooliewallyworld__, hey thanks for grabbing bug 696954, that has bothered me in the past07:27
_mup_Bug #696954: Allow persons in project roles to access private bugs <disclosure> <Launchpad itself:In Progress by wallyworld> < https://launchpad.net/bugs/696954 >07:27
wallyworld__poolie: np. it's on the disclosure todo list :-)07:27
pooliehm07:28
pooliekinda seems like some scope creep there07:29
pooliebut i'm happy it's getting done07:29
pooliei think there may be dupes or near dupes of it07:29
poolieno need to find them now i guess07:29
wallyworld__poolie: disclosure covers who has access to information just as much as who doesn't07:29
wallyworld__i'll try and see that any dupes are linked to this bug07:30
lifelesswallyworld__: you'll need to be very careful about query changes - lots of room for foot-gun on performance in this area; OTOH brad snuck some of it in already before the re-org, so we may be lucky.07:32
wallyworld__lifeless: the accepted pattern seems to be union of sub queries. i've put up a mp this afternoon along those lines and was going to do something similar here07:33
lifelesswallyworld__: its not so much a matter of patern, as bug queries being right on the cliff face of timeouts07:33
lifelesswallyworld__: so adding more work to them has a high probability of pushing them over the cliff07:34
pooliewallyworld__, so it's kind of a beer conversation but it kind of seems like tackling every bug kinda related to the feature may cause features to run long and starvation of other areas07:34
lifelesswallyworld__: -> need to make it as much faster as the extra work you are asking it to do.07:34
pooliebut i am really happy to see this one fixed07:34
lifelesswallyworld__: I'd allow several days for dealing with performance impacts alone07:34
pooliewallyworld__, oh the one i filed was bug 74688707:35
_mup_Bug #746887: private bugs get stuck invisible to developers <disclosure> <Launchpad itself:Triaged> < https://launchpad.net/bugs/746887 >07:35
pooliewhich is a direct dupe of yours, i'd say07:35
pooliebut now duped against bug 69697307:35
_mup_Bug #696973: There are no roles that can see all private artifacts in (public or private) projects <disclosure> <projects> <teams> <users> <Launchpad itself:Triaged> < https://launchpad.net/bugs/696973 >07:35
wallyworld__lifeless: recently, bug task assignee was added to the allowed viewers of private bugs. i've taken the same approach for https://code.launchpad.net/~wallyworld/launchpad/pillar-owners-private-bug-visibility-702429/+merge/75961 i can give you some sql to run on staging if you want07:36
wallyworld__poolie: i'll see if yours is a dup and link it07:37
lifelesswallyworld__: its not that simple :) - you'll find you need to look at prod (because its in the grey area), and compare bug search timeout counts before/after you go live, and see if there is a regression, and if so toggle it off.07:37
wallyworld__lifeless: actually, i can optimise it a bit - only do the sql depending on which pillar is not none07:38
wallyworld__lifeless: ok. i'll make the optimisation before i land. and gather some stats as you suggest07:39
lifelesswallyworld__: how? (We have queries that cover all pillars - site wide bug queries)07:39
lifelesswallyworld__: one big thing you can do to make this safer is feature-flag the new query.07:39
lifelesseasy to do, big rewards, I mean.07:39
wallyworld__lifeless: yes ok. optimisation not feasible as you say. but i will do a ff07:40
wallyworld__actually, i could do the project roles work as per 969793 behind the same ff perhaps07:41
lifelessbug 96979307:41
lifelessno mup?07:42
wallyworld__um, 69695407:42
wallyworld__sorry07:42
wallyworld__wrong bug07:42
lifelessbug 69695407:42
_mup_Bug #696954: Allow persons in project roles to access private bugs <disclosure> <Launchpad itself:In Progress by wallyworld> < https://launchpad.net/bugs/696954 >07:42
lifelesswallyworld__: cool; if you need specific stuff tested, yes I'd be happy to help.07:49
lifelesswallyworld__: we can only get pretty gross results from staging as I mentioned though :( - clearly good and clearly bad, but its poor on 'maybe'07:50
wallyworld__lifeless: thanks. i guess i'll need you if it all blows up on prod and we have to turn off the ff :-)07:50
lifelesswallyworld__: trivial queries will always be fine. You'll have trouble, if you do, on: project queries (e.g. launchpad-project), and Ubuntu queries, and site-wide queries.07:51
wallyworld__lifeless: well fingers crossed. if you are interested, https://pastebin.canonical.com/52955/ the unions after bug task assignee are the new ones07:53
adeuringgood morning08:04
rvbawgrant: I know you're busy right now and this is not urgent at all, but I've refactored the branch: the first one is https://code.launchpad.net/~rvb/launchpad/sync-bug-827608-credit-copy/+merge/74769 and the second one is https://code.launchpad.net/~rvb/launchpad/sync-bug-827608-credit-copy-2/+merge/7495808:09
bigjoolslifeless: are you around in about 20 minutes to talk about python-oops?08:25
lifelessI think so08:25
bigjoolsthanks, just need to do my team call08:26
lifelesswgrant: sorry to be a nag, was that yes or no to the reviews?08:30
wgrantlifeless: Sorry, unexpectedly busy. I can look tomorrow (I'm OCR), but I guess you want to toss them at someone else.08:30
lifelessI'm nearly EOD too, I may just nab you in the morn08:31
lifelessI need to finish the storm component before it all becomes relevant.08:31
lifelessthats nearly done08:31
=== almaisan-away is now known as al-maisan
bigjoolslifeless: hi08:46
bigjoolsskype?08:46
lifelesssure08:47
cjwatsonok, what the heck does https://launchpad.net/ubuntu/+source/clang/2.9-11ubuntu1/+build/2792745 mean08:49
cjwatson"Currently building" "Finished 7 hours ago (took 18 hours, 12 minutes, 50.6 seconds)"08:49
cjwatsondefinitely still going, still getting build output08:50
bigjoolsit's a bug08:50
thumpercjwatson: confused08:50
thumperhi bigjools08:50
* bigjools looks up the bug08:50
bigjoolsyo thumper08:50
wgrantcjwatson: Yeah, came upon that earlier... it finished on celbalrai, but then $something happened and it was redispatched. I haven't seen that happen for 18 months...08:50
wgrantcjwatson: It is building now, and should upload as normal in ~22 hours, at which time it will look sensible again,.08:51
bigjoolsI think it's part of bug 71796908:51
_mup_Bug #717969: storeBuildInfo is sometimes ineffective <boobytrap> <buildd-manager> <Launchpad itself:Triaged> < https://launchpad.net/bugs/717969 >08:51
cjwatsonah, ok, I wouldn't have been able to find that bug :)08:51
wgrantThat's a possibility, yes.08:51
wgrantIt's not a case of that bug that we've seen before, but it is a similar sort of thing.08:51
bigjoolsthe bug title needs to change08:51
bigjoolsmight it have been to do with the FDT?08:52
wgrantbigjools: No, this was hours ago.08:52
wgrantThe initial issue was 6 or 7 hours ago.08:52
cjwatsonshould I add a screenshot or something to that bug?  The evidence will go away in the near future08:52
bigjoolsok08:52
wgrantcjwatson: That would probably be useful. Also useful is the API representation of the build: add /api/devel to the start of the path to get that.08:53
cjwatsonOK08:53
bigjoolslifeless: ok ready when you are, can't see you on skype08:53
lifelessI'm rbtcollins08:55
* bigjools blind dials08:56
=== dpm_ is now known as dpm
daniloslifeless, hi, where's the code for ppr pages? I assume it process launchpad appserver log files, right?09:58
daniloss/process/processes/09:58
mptStevenK, whatever it was I did, I apologize10:02
lifelessdanilos: ztrace files yes10:03
lifelessdanilos: its in the lp tree10:03
daniloslifeless, oh right, thanks10:05
daniloslifeless, btw, how would you feel if we add the request duration to the apache log files as well?10:07
lifelessdanilos: no particular opinion; I thought apache log format had that anyeway10:08
daniloslifeless, it doesn't, unfortunately, common format only lists request *end* time afaict10:09
daniloslifeless, ok, I'll bring it up with LOSAs since this may affect our log processing scripts as well10:09
danilosand actually it's the time request was received, some stale reference for my previous claim :)10:11
mptStevenK, fwiw, I can't see what's in the "Unsubscribe" overlay on that screenshot, but it looks reasonably probable that fixing bug 795180 would make it unnecessary.10:18
StevenKmpt: I'm fixing a seperate bug -- if a user is unsubscribing themselves from a private bug, they should be warned.10:30
mptStevenK, oh, then I'll have to agree with wgrant then. :-) That warning could be indented under the one of those three commands that deprives you of access.10:32
StevenKmpt: I've already been convinced. I just need more JS knowledge.10:33
mptk10:34
wgrantAh, good, so I invoked mpt correctly, and shall not incur too much of his wrath.10:51
jtvstub: I wonder if garbo should report how many iterations and “items” a job got through before being killed.  Nice to know if we're making progress, and whether a job is still needed.11:49
stubjtv: Sounds useful. Would need to be in DBLoopTuner but that is fine.11:50
jtvYeah.11:51
wgrantstub: Can we abolish database/schema/pending?11:51
matsubaradanilos, hey there, the script that loads oops into the oops-tools database caught up during the weekend and those SMS oopses should now be available for viewing11:53
stubwgrant: Replacing it with what?11:55
wgrantstub: Well, it seems to have been used roughly twice in the last two years.11:57
stubwgrant: I guess it can go - nothing in there at the moment that is useful11:57
wgrantIt should at least be emptied out.11:57
wgrantNothing in there is useful now, and I don't really think there's much of a case to put stuff in there.11:58
stubwgrant: yer. Will need to find somewhere for templates etc. for data migration type scripts. That is going to happen more and more with fastdowntime.11:58
wgrantThat's true.11:58
lifelessjamesh: https://code.launchpad.net/~lifeless/storm/wsgi closes the loop11:58
wgrantNothing in there deserves to stay, but I'm not sure if the directory itself should...11:58
danilosmatsubara, cool, thanks12:01
matsubaradanilos, you're welcome12:02
wgrantrvba: I think those two branches look fine.12:21
wgrantrvba: It's hard to say for sure, but the test changes look pretty sane.12:21
rvbawgrant: Okay.  Thanks for looking at it again.12:21
=== benji changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: benji | Critical bugs: 260 - 0:[########*** stack smashing detected ***: ./lp terminated
wgrantstub: Do you recall why our store names include the config section name? We never change it outside tests...12:40
wgrantI guess it may have been a WHUI attempt to permit usage of multiple concurrent configs.12:42
* wgrant deletes it to see what breaks.12:43
wgrantAh, of course. It's the only way to get the section name into LaunchpadDatabase.12:44
wgrantUnless I just fix it to always use canonical.config.dbconfig...12:44
wgrantWhich it already does, because the other case is WHUI.12:44
jtvhey benji—I've got a gigantic lint branch up for review.  Not expecting anyone to read it in full, but since I don't see how it could be Q/A'ed, I'd prefer not to make it self-reviewed as well.12:51
benjijtv: sure, I'll take a look12:51
jtvthanks12:51
wgrantcjwatson: There are some complexities to exporting changeOverride, sadly.12:53
wgrantcjwatson: Permissions are one difficult bit.12:53
wgrantAnother is getting the same source+binaries behaviour.12:53
cjwatsonI looked at permissions and that part looked OK; launchpad.Edit permissions on SPPH/BPPH already look sane12:58
cjwatsoni.e. basically archive owner with a few warts12:58
stubwgrant: I suspect the code you are looking at was assembled (I won't say 'designed') before canonical.config.dbconfig existed.12:58
adeuringbigjools, wgrant: I want to create a set of BinaryPackageBuilds for all possible values of BuildStatus. When I then create a +builds view, the resultset of the view is sometimes empty: http://paste.ubuntu.com/693006/ I get empty results set for the statuses built, building, pending. Any suggestions?12:59
cjwatsonwgrant: and surely the source+binaries behaviour could be handled by the caller?12:59
cjwatsonI would've thought lib/lp/soyuz/scripts/changeoverride.py could basically be transmogrified into an API script12:59
wgrantcjwatson: Probably, yes, assuming the relevant methods on SPPH are exposed.12:59
wgrantSPPH.getPublishedBinaries or whatever it is.13:00
wgrantcjwatson: The API's SPPH.requestDeletion does source+binary implicitly, but that makes less sense for overrides, as they may differ.13:00
cjwatsonrequestDeletion's implicit behavior is annoying; it's too constrained to implement lp-remove-package.py over the API13:01
cjwatsonwe need to do things like deleting individual NBS binaries, deleting only a source package when its binaries have been taken over by another package, ...13:01
wgrantstub: Possibly. Since nothing seems to use LaunchpadDatabase or a DBPolicy with anything other than the current section, I'm hoping this ec2 run will succeed. Then I can move ZTM's remaining user handling crap into DBConfig, and it can finally die.13:01
wgrantcjwatson: Indeed.13:02
wgrantcjwatson: I forget if we expose BPPH.requestDeletion.13:02
cjwatsonand yes, only being able to overrides for everything in a source package at once would be so limiting as to be useless13:02
wgrantcjwatson: But do you ever want to delete a source without deleting binaries from that source?13:02
cjwatson*do overrides13:02
cjwatsonwgrant: only if those binaries have been taken over by some other source.  I'm never sure whether LP will notice that correctly on removal13:03
benjidid the +activereviews page change?  The organization looks different -- and less useful :(13:03
cjwatsonlp-remove-package normally does seem to, admittedly13:03
wgrantcjwatson: We identify BPPHs for BPRs that were built from a build for the SPR that's being deleted.13:03
cjwatsonthe other use case for deleting binaries is when they fail to build (even if they aren't actually NBS) and we don't want to ship unsupportable stuff13:03
wgrantcjwatson: Names aren't used at all.13:03
cjwatsonOK, that would be safe13:04
wgrantYeah, deleting binaries I can understand, and is easily supportable.13:04
wgrantDeleting sources without their binaries would require slightly more creative API construction.13:04
cjwatsonI can see why you might not want to expose API methods that produce orphaned BPRs13:04
wgrantExactly.13:04
benjioh! it's because it doesn't know who I am, I need to log in13:05
jtvbenji: those are two independent statements, there should be no comma, between, them, how are you, I am fine?13:06
benjijtv: this is true; my IRC copy editor is on vacation today so you'll have to deal with small imperfections13:07
deryckMorning, all.13:07
jtvbenji: I see.  Now compare your case to deryck's, who seems to be verbless at the moment.13:08
jtvHi deryck.  :)13:08
deryckhi13:08
benjijtv: I guess he accidentally a word.13:08
deryckNot sure I get the verbless comment. ;)13:08
jtvderyck: I was being a pedantic prick with benji, and when he made up a semi-plausible excuse, I started using you as a bad example instead.  :)13:10
jtvThe “verbless” refers to the absence of verbs in “morning, all.”13:10
deryckah13:11
cjwatsonAh, that invented Victorian grammar. :-)13:11
deryckArguments about language on the Internet always end well. ;)13:12
cjwatsonI'll just cite http://languagelog.ldc.upenn.edu/nll/?p=3338 and leave it at that :-)13:13
deryckheh13:15
=== Ursinha is now known as Ursinha-brb
deryckabentley, hi.  we're back to mumble this week.13:30
jmlcjwatson: I stopped reading Language Log ages ago when it went through a period of being a blog about how badly the BBC do science reporting. I'd forgotten how good it can be.13:37
=== jtv is now known as jtv-afk
=== al-maisan is now known as almaisan-away
=== bdmurray_ is now known as bdmurray
jcsackettsinzui: available to mumble?14:51
sinzuiyes.14:51
=== Ursinha-brb is now known as Ursinha
jcsackettexcellent.14:52
abentleyderyck: chat?15:10
deryckabentley, sure.  let me grab coffee and then meet you in mumble.15:10
abentleyderyck: cool.15:10
lifelesssinzui: morning.15:17
sinzuihi lifeless15:17
=== salgado is now known as salgado-lunch
lifelesssinzui: did you see the rollback of subscription-changes-on-toggling-private-flag-in-bugs ?15:18
sinzuiI did.15:18
lifelesssinzui: there is some confusion about whether a) wallyworld was confused or b) I was confused about the design15:18
sinzuiI told wallyworld that OEM has direct subscriptions removed so I thought he did the right thing15:19
lifelesssinzui: I promised him I would touch base with you directly to clear things up15:19
lifelesssinzui: do you mean they do the following with the old code: a) make private; b) remove the resulting direct subscriptions ?15:19
sinzuiWe can cut that feature and land the structural subscription part only. OEM can report a bug if they believe the behaviour is still broken15:19
sinzuilifeless, OEM removes anyone they do not know to be associated with their projects15:20
sinzuiIt has nothing to do with direct/indirect. It is simply a matter of disclosing info15:20
lifelesssure, but the indirect-become-direct behaviour is a part of the story15:21
lifelessin that it requires an explicit act to become a subscriber without that15:21
lifeless[for a non-project-person]15:21
lifelesssinzui: anyhow, the result of ditching -all- direct subscribers is that we can't have symmetrical code as we designed : we would have to special case according to increasing or decreasing sensitivity15:23
sinzuiSure, but disclosing private/secure information costs millions, and users who cannot see who is subscribed (api/email) are trusting Lp to do the right thing15:23
lifelessagreed on the result of a mistake, but we're talking about the case of taking a bug that was open, private, which clearly means that the info in it was public at one point.15:24
lifelesssuch super sensitive things should be created private to start with, so there is no chance of disclosure, and the transition code becomes irrelevant15:25
sinzuiBut the subsequent private conversation was never public15:25
sinzuiThis case might better be solved by bug linking15:25
lifelessthe transition code flow we discussed was designed for dealing with private-security becomes private-non-security, and vice verca.15:25
lifelessyes, I think a private discussion about a bug reported by a person outside the project should be done with a lnked private bug15:26
lifelessis there an option to say 'bugs on this project cannot be filed open' ?15:27
sinzuiAs I wrote to wallyworld, we will only deal with structural subscriptions (remove the direct changes) so that the common case works as users expect (and Lp claims to do)15:27
lifelessok15:27
lifelessI think I know what that means, and will look over someones shoulder when v2 of it goes up :)15:28
lifelessto make sure I understand, so I have a clue and don't trigger a late rollback :)15:28
sinzuilifeless,  was also cut the unsubscribe-security-contact-bug-supervisor rule when a bug because public/non-security because there was disagreement. I just want to land what we agree solves most of the problem15:29
lifelesssinzui: oh, thats surprising.15:30
lifelesssinzui: I agree on landing the uncontentious bits15:30
lifelesssinzui: but am also curious what the disagreement was15:30
sinzuiwgrant believed the security contact may want to follow the conversation after the issue was made non-security, or even choose to re-secure it if it is decided the change was a mistake15:31
lifelessbtw, I have a sneaking suspicion we might be able to address some performance issues if we materialize subscriptions (like we do teamparticipation). IMBVW15:31
sinzuiwgrant, is planing for that :)15:32
lifelesssinzui: (re-securing - a test that they receive the 'it is now public' notification would cover that (and be a solid expectation too))15:32
lifelesssinzui: following-the-conversation : tough. :)15:32
lifelesssinzui: they can subscribe when they get the notification that says 'xyz is now public and you are no longer subscribed'15:33
bigjoolslifeless: 1. wth are you still doing awake, and 2. any objections to me throwing the management rabbit  plugins in the LP PPA?15:33
sinzuilifeless,  yes, ensuring notification may be the correct way to handle this.15:33
lifelessbigjools: 1. Cynthia. 2. No objections.15:33
bigjoolscopy!15:33
lifelessbigjools: btw, I think one of the bugs confused you15:35
bigjoolsquite possibly15:35
bigjoolswrite better descriptions then :)15:35
lifelessbigjools: the ..139 bug is about snarfing issues from *rabbit*, not longpoll15:35
lifelessthe ...136 bug is about issues from longpoll.15:35
bigjoolsI realised that much15:36
lifelessso how is 136 a pre-req for 139 ?15:36
bigjoolsdid I get them the wrong way around?15:36
lifelessthey are unrelated15:36
bigjoolshmm15:36
lifelesstwo separate services, both need tell-us-what-went-wrong integration of some sort, to avoid a human going and looking at log files.15:37
bigjoolsyer right, I'm confused. My bad.15:38
lifelessno worries :)15:38
bigjoolsthe management interface is quite neat BTW15:38
lifelesscool15:38
bigjoolsI am poking messages through and the web page updates almost instantaneously :)15:38
lifelessjames_w: https://launchpad.net/testr_recipe is a 40415:53
lifelessjames_w: the url is on your pypi page15:53
bigjoolslooks interesting that15:57
james_wwell where did that go then?15:59
james_wI wonder if I ever actually registered it15:59
james_wah https://launchpad.net/testr-recipe15:59
=== deryck is now known as deryck[lunch]
stublifeless: https://code.launchpad.net/~wallyworld/launchpad/branch-privacy-trigger/+merge/75189 might interest, as it is a DB patch that should land with code changes (the tests for the trigger behaviour)16:13
=== salgado-lunch is now known as salgado
gmbjtv: Could you take a look at https://answers.launchpad.net/launchpad/+question/171451 for me? I don't know the answer.16:48
gmbthis one, also: https://answers.launchpad.net/launchpad/+question/17145016:48
bigjoolswhere do I set the default reviewer for a project?16:49
bigjoolswell, trunk branch16:49
bigjoolsnm found it eventually16:50
=== beuno is now known as beuno-lunch
=== deryck[lunch] is now known as deryck
sinzuijcsackett, do you have a moment to discuss http://pastebin.ubuntu.com/693202/ on mumble?17:36
jcsackettsure.17:37
timrcoff hand is there an easy way to get get a bug object via a .getBugByURL()-like API call :)?17:58
=== beuno-lunch is now known as beuno
sinzuitimrc, the lp object has a top-level bug collection. You only need the id from the URL18:07
sinzuilp.bugs[284141] will get bug #284141 regardless without need of knowing the projects it affects18:08
_mup_Bug #284141: PPA upload permissions should be decoupled from its team membership. <lp-soyuz> <ppa> <soyuz-upload> <Launchpad itself:Triaged> < https://launchpad.net/bugs/284141 >18:08
timrcsinzui, okay that can work18:08
timrcsinzui, thanks18:08
nigelbjtv: Hey, do you know why your MP (the one linked on your blog post) turns up with an empty diff?18:37
nigelbs/your/Launchpad18:37
nigelbThat's probably going to be confusing for everyone who clicks through :)18:37
nigelbsinzui: Heh, after much fun with regressions, I finally fixed the bug title feature :-)18:55
nigelbs/fun/fail/g works as well.18:55
sinzuinigelb, I saw. Thank you for following up18:57
nigelbsinzui: Embarassing mistakes. But learned YUI testing well now :-)18:58
sinzuinigelb, You have nothing to be embarrassed about. Now wrongly closing 10,00 bugs in production does cause some embarrassment.18:59
nigelb...wow18:59
flacostenigelb: yes, now 4 years since that event, but sinzui is still talking about it :-)19:23
sinzuiI was traumatised19:23
sinzuiWhen I am described as "legendary", I think "what? Who knows me?", then I remember the 10,000 bugs.19:25
nigelbhaha19:35
nigelbsinzui: I was traumatised with nightmares of wgrant stabbing me for making a bunch of revs undeployable :P19:37
sinzuinigelb, :)19:39
nigelbsinzui: I think someone new has more "fame" now with the accidental auto-sync that happened this cycle :P19:45
sinzui:)19:45
lifelessflacoste: hi; will be with you soon20:20
flacostelifeless: no worries, working on the QBR stuff20:21
lifelessjames_w: ah, should be simple to fix the pypi ref then :)20:29
james_wlifeless, already done20:30
lifelessjames_w: I wanted to look at the code to see if you setup a run --parallel config20:30
lifelessjames_w: but IIUC you use the .testr.conf in the tree, so thats still manual ?20:30
james_wit also has code to generate .testr.conf20:30
lifelesscool!20:31
lifelessdoes it setup a parallel conf or the older run-without-knowing style?20:31
james_wit's old20:40
lifelessif you have a look at testtools .testr.conf, or even testrepositories itself, you can see the changes quite easily.20:48
lifelessshould I file a bug ?20:48
=== matsubara is now known as matsubara-afk
=== benji changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 260 - 0:[########*** stack smashing detected ***: ./lp terminated
james_wlifeless, go ahead21:49
jelmer'morning lifeless21:52
nigelbmorning... wait a minute.21:53
nigelbjelmer: aren't you somewhere in Europe? :)21:53
jelmerlifeless: you approved one of my bzr-search branches and spoke the ever legendary word "doit", but you own lp:bzr-search; is there any chance you can merge it for me or change ownership to ~bzr/~bzr-search?21:54
lifelessjelmer: no I don't :)21:54
jelmerlifeless: :-) thanks21:55
jelmernigelb: Yeah :-) I think it's evening for both of us, right?21:56
nigelbI've passed the point where I can call it evening ;)21:56
nigelbI still haven't slept so I'll claim evening :P21:57
pooliesleep well, nigel21:58
poolieand sleep enough21:58
nigelb:)21:58
nigelbThanks poolie!21:59
=== salgado is now known as salgado-afk
=== lifeless changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 260 - 0:[########*** stack smashing detected ***: kees pinged
lifelesswgrant: reviews plox23:22
=== wgrant changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: wgrant | Critical bugs: 256 - 0:[########*** stack smashing detected ***: kees pinged
lifelesswgrant: https://code.launchpad.net/~lifeless/python-oops-wsgi/timeline/+merge/75960 https://code.launchpad.net/~lifeless/python-timeline/wsgi/+merge/7595923:56
wgrantlifeless: Sorry, on a call right now.23:58
lifelesskk23:58

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