/srv/irclogs.ubuntu.com/2011/03/25/#launchpad-yellow.txt

daniloshum, on launchpad.dev/firefox "Subscribe to bug mail" doesn't turn to "Edit bug subscription" anymore, but I guess that's a design decision (so you can add more subscriptions)12:10
gary_posterhey benji, danilos.  We have two important things that need to happen that are on my plate, and I'd like to reduce that number by 1.  :-) one is to respond to gmb's review to get the client side branch landed, and the other is to work more on the sql that may have contributed to the mail incident yesterday.12:30
gary_posterI am going to focus first on the sql for the mail incident, because I want to get that squashed, and the fix I did yesterday may have helped but was not enough.  When one of you is ready to take something else, we should rearrange.12:31
danilosgary_poster, ack12:31
gary_posterthanks12:31
benjigary_poster: well, I can't think of anything reasonable to do for the email bug I was working on so I should either start doing unreasonable things or put it on the back burner12:32
gary_posterbenji, I vote for back burner :-)  Please indicate on the bug what you've tried and looked at so far; maybe also ask for a way to dupe; and then mark as incomplete.  Then check back, and we'll coordinate12:34
danilosgary_poster, btw, what should we do for the server side of the BSF.description XSS thing? throw an exception (if so, which one?) or silently ignore disallowed characters?12:34
benjik12:34
danilosValueError seems like a good candidate, but not sure how well it works with our API12:34
gary_posterdanilos, was going to say ValueError also.  Benji, I foget how the exception import thing works.  Do you have a recommendation?12:35
gary_postersorry, lower-case, "benji" :-)12:35
benjiyep, ValueError will work fine, you just need to wrap it in a call to expose()12:36
gary_posterdanilos ^^ cool?12:37
benjidanilos: from lazr.restful.error import expose12:39
danilosgary_poster, benji, thanks, I'll look it up12:39
gary_postercool12:39
benjigary_poster: I assume https://code.launchpad.net/~gary/launchpad/accordion-client-1/+merge/54715 is the right MP.  If so I'll start now.12:45
gary_posterbenji, that's the one12:48
gary_posterI guess I'll have to merge your work in12:48
gary_posterso that it is a ssociated to the right MP12:48
benjik12:49
=== gary-lunch is now known as gary_poster
gary_posterbenji did you get my message?  My internet connection had a hiccup when what sounded like a neighborhood transformer blew12:54
gary_posterThat, or someone took a shotgun to some power equipment12:55
gary_posterIt was "I guess I'll have to merge your work in"..."so that it is a ssociated to the right MP"12:55
danilosgary_poster, fwiw, benji said "k" to that earlier :)12:56
gary_posterheh, ok thanks danilos :-)12:57
danilosgary_poster, also, since we are getting stuff reviewed should we propose additional branches for merge using regular process using accordionoverlay as a dependency, or perhaps propose for merging into accordionoverlay? (so we can get independent reviews)12:58
benjigary_poster: yep I got it13:00
gary_posterdanilos, yes, I was thinking about that too, earlier.  bac, benji, danilos, I propose that all future client-side work go to devel, and not out integration branch (despite the fact that I labeled this branch for MP review as a -1) and that we go through the normal review process.13:00
gary_posterThe only possible exception would be the link branch bac is working on and that I touched on, as bac prefers.  Agreed?13:00
gary_posterthanks benji13:00
bacok13:00
gary_postercool13:01
danilosgary_poster, sounds good13:01
gary_postercool13:01
benji+113:01
gary_postergreat.  thanks all13:01
gary_posterbenji I moved your bug card to Cancelled.  If we get an actionable reply fro Robert we can schedule that separately13:02
danilosgary_poster, also, just to make sure it's not forgotten, the fact that link "Subscribe to bug mail" on launchpad.dev/firefox doesn't turn into "Edit bug subscription" anymore is a design decision, right? (and we'll be solving editing existing ones differently)13:02
benjik13:03
gary_posterdanilos, yes, there are two cards for this in FW 1 (I just tweaked the wording of one of them): "Link bug target subscription edit page from target's main page and bug pillar main page." and "Structural subscription edit/delete page should also allow adds".13:06
gary_posterThen also I just added one in the backlog for work on turning off the subscriber list: "Make sure users can easily see summarized information about *their* subscriptions on bug page and bug target page."13:06
danilosgary_poster, ok, just wanted to make sure it's there since I just noticed it :)13:07
danilosok, I'm back to preparing an MP for my branch dealing with two cards13:08
gary_posterdanilos, yes, thank you, your question made me clarify some things on the board, and that needed to be done, so cool.13:08
gary_posterdanilos, I was wrong.  Your filter code did make it to production, though I'm not sure how since it was not part of the diff merged to the tree from devel.  I must have missed a second merge.  So that, I assume, is the source of 1/2 of the large amount of SQL that Ian found last night: https://bugs.launchpad.net/launchpad/+bug/742230 .13:18
_mup_Bug #742230: Too much repeated SQL in send-bug-notifications job <Launchpad itself:Triaged by gary> < https://launchpad.net/bugs/742230 >13:18
gary_posterCould I have a call with you to talk over approaches?  I think I understand what is going on, and I *don't* think I see how to make it dramatically better--just combining those two sql bits for each person (which might be a bit nasty code wise).13:18
gary_posteroh, mup, *now* you want to say hi.  I see how it is.13:18
danilosgary_poster, sure thing, let me get mumble going13:18
gary_posterthank you13:18
benji     .set("text", desc);13:57
* danilos -> food14:21
bacgary_poster: i forgot to mention i am OCR today, though i have mostly ignored it15:59
gary_posterbac :-) ok15:59
benjigary_poster: would you have expected the Windmill tests to pass on lp:~gary/launchpad/accordion-client-1?17:43
gary_posterbenji, I would have had no idea. :-/17:43
benjiI'll give you one guess. ;)17:44
gary_posterbenji, I felt I was kind of the messenger on that branch, if you know what I mean17:44
gary_posterheh, got it17:44
benjiyep, just wanted to make sure that they weren't passing for you and failing for me17:44
gary_posterno, never even ran them I'm afraid. :-/17:44
benjion the other hand, if I get them to pass again then I'll have a 500 line diff of lint fixes17:45
gary_posterwoo hoo!17:45
=== Ursinha is now known as Ursinha-lunch
bachi gary_poster19:52
gary_posterhey bac19:52
bacworking with curtis we think we've tracked down the problem19:52
gary_posterfantastic!  I hope?19:52
bacthough i'm not fully understanding it19:52
gary_posterassuming the problem is not something like "we use Python"19:52
bactake the works 'layers', 'getMultiAdapter', 'monkeypatch', 'directlyProvides' and mix them until frothy19:53
bacso...19:53
gary_posterheh19:53
bacat one point in MenuAPI there is a comment "we should get the layer from the request"19:54
baci think that is the crux of the problem19:54
gary_posterah19:54
bacwe set the layer using directlyProvides19:54
bacbut i'm unclear wth that is doing and how to interrogate the request to get it back19:54
gary_posterok19:54
bacthoughts?19:54
gary_posterdirectlyProvides manipulates a private bucket of interfaces off of an object, IIRC19:55
gary_posterlayer interfaces are generally supposed to provide an interface themselves19:55
gary_posterwhich is slightly mindblowing19:55
gary_posterbut can help when you are trying to interrogate19:55
gary_posterlet me see if I can find an example, because I don't remember precisely how to take advantage of that19:56
bacok19:56
* gary_poster wishes that the word layer were not so common19:58
* gary_poster finds ./zope.publisher-3.12.0-py2.6.egg/zope/publisher/skinnable.py and ./zope.publisher-3.12.0-py2.6.egg/zope/publisher/skinnable.txt in the grep list...feel free to follow along, or not...20:00
* gary_poster has headache20:03
gary_posterok bac.  what interface are you directly applying?20:06
bacapp layers like BugsLayer, etc20:07
gary_posterk20:07
gary_poster1 sec, seeing if this works20:07
baca la from lp.bugs.publisher import BugsLayer20:08
gary_posteryeah, found it thanks20:09
gary_posternope, we don't do the expected thing.  However that would have only slightly improved things.20:13
gary_posterSo bac, the way  you do it is you iterate over the interfaces that might be a layer and ask if the request implements it.  Yup, dumb.  The improvement that vanilla Zope provides is that you can make a call to get all the layers ("getSiteManager().getUtilitiesFor(IBrowserSkinType)") and iterate those.  We don't play that game.20:15
gary_posterSo...20:15
gary_posterthere's also the question of whether you are removing the previous layer interface20:16
gary_posterI dunno if you are20:16
gary_posterMay I see the menu code in question, bac?20:16
baclib/lp/app/browser/tales.py20:17
bacgary_poster: look for "We should be retrieving"20:17
gary_postergot it thanks20:17
gary_posterbac, so the Zope solution for this is the following:20:18
gary_posteryou register all layer interfaces as utilities providing IBrowserSkinType, with the facet names20:18
gary_posteras the utility name20:19
gary_posterthen you get the registered interfaces and their names from the CA (using getSiteManager(). getUtilitiesFor(IBrowserSkinType))20:20
gary_posterand iterate over them until you get an interface that the request provides20:20
gary_posterthat's the one (as long as old layers have been removed)20:20
bacwow20:20
gary_posterand you have the name and the interface20:20
gary_posterheh, I suspect that's not a good wow20:21
baci was hoping for request.layer20:21
gary_posterthe zope approach had that automated20:21
gary_posternope20:21
baccurtis also suggested to ditch the views-based testing i'm doing and use a test browser20:22
baci think i may investigate that20:22
bacsince it will allow our publisher's monkeypatching to be used20:22
gary_posterit's an idea20:22
gary_posteralternatively you could implement our own version of setting a layer on the request20:23
gary_posterthat stashes layers20:23
gary_posterand gives them back and does the right thing and so on20:24
gary_posterbut that's probably not what you want to do20:24
=== Ursinha-lunch is now known as Ursinha
gary_posterI'm out.  I'll be working a bit this weekend because I didn't get my self-eval done, so I'll probably look at email if anyone needs anything.  Have a great weekend21:01

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