[12:04] <matsubara> KurtKraut: that's an interesting feature. I suggest you to file a bug. Usually you would go to the list of open request to verify the ones that need help.
[12:05] <matsubara> since it's not possible to close request you end up with lots of open requests that should be in a closed state
[12:05] <KurtKraut> matsubara, yes, that how I've been doing that. But after clicking and reading about 10 request, I can find only one that stills needs help and I still can contribute with
[12:09] <matsubara> KurtKraut: I feel your pain. I'm the one triaging Launchpad support requests. Are you using the Web UI or the the email interface?
[12:09] <KurtKraut> matsubara, I'm using the web UI
[12:10] <KurtKraut> matsubara, I've never tried thru e-mail. I suppose it would be even messier ;D
[12:10] <matsubara> KurtKraut: currently it's a bit messy indeed. But you could try using your email client filters to help with that.
[12:12] <KurtKraut> matsubara, I check my e-mail mostly in public computers at university. They're all Windows so I can't have an e-mail client. I'm forced to use gmail webmail
[12:15] <matsubara> found it! bug 3157 KurtKraut 
[12:15] <Ubugtu> Malone bug 3157 in launchpad "Anyone should be able to edit a support ticket" [Normal,Confirmed]  http://launchpad.net/bugs/3157
[12:16] <KurtKraut> matsubara, it would be good. be besides that, non-replied equest should be also trackable.
[12:16] <matsubara> KurtKraut: please file a bug: https://launchpad.net/products/launchpad/+filebug
[12:17] <KurtKraut> I'm doing that at the moment ;D
[12:18] <KurtKraut> matsubara, done. Check if https://launchpad.net/products/launchpad/+bug/42665 is understandable
[12:18] <Ubugtu> Malone bug 42665 in launchpad "LP should allow tracking support requests that has not been replied yet" [Normal,Unconfirmed]  
[12:18] <matsubara> KurtKraut: thanks,
[12:20] <matsubara> KurtKraut: i think so.
[12:22] <elmo> https://launchpad.net/distros/ubuntu/dapper/+source/gnupg/+pots/gnupg/pt_BR
[12:22] <elmo> if TODO is 0, why is the bar split in two, with 70% being marked NEW ?
[12:22] <elmo> (in the lowermost left hand portlet)
[12:23] <matsubara> elmo: I think there's an open bug about that.
[12:23] <elmo> ok
[12:25] <matsubara> elmo: bug 39291
[12:25] <Ubugtu> Malone bug 39291 in rosetta "status bar on package listing wrong" [Normal,Confirmed]  http://launchpad.net/bugs/39291
[12:25] <elmo> matsubara: cool, thanks
[01:13] <mdke> spiv: ping?
[01:30] <mdke> spiv: if you get this, just chasing up on my emails.
[01:31] <mdke> -> bed
[03:40] <lifeless> Znarl: or elmo: there is a new rt request for balleny.
[03:40] <lifeless> appreciate if that can be done asap
[03:59] <mpt_> Gooooooooooooooooood afternoon Launchpadders!
[03:59] <mpt_> salgado, pong
[04:03] <mpool> good morning
[04:04] <KurtKraut> good night (in UTC-3) :P
[04:43] <dilys> Merge to devel/launchpad/: [trivial]  Fix bug 41138 (+viewstatus crashes when opening a remote bug) (r1846: Brad Bollenbach)
[04:54] <stub> There is no security contact for firefox in Ubuntu, so security contact will be subscribed to this bug :-(
[05:06] <stub> lifeless: pull problems building a production branch
[05:07] <lifeless> stub: meep. 
[05:07] <stub> lifeless: https://chinstrap.ubuntu.com/~dsilvers/paste/filezCqOgx.html
[05:07] <lifeless> funnily enough, I'm working on that bug right now
[05:07] <lifeless> or that class of bug anyhow
[05:07] <stub> heh. I can workaround I think.
[05:08] <lifeless> lets see
[05:08] <lifeless> give me a second
[05:09] <stub> ok.
[05:09] <lifeless> what is foo ?
[05:09] <stub> The branch I just tried to merge into - the one in the paste
[05:09] <lifeless> what dir are you working in so we dont conflict
[05:10] <stub> I'm working in ~pqm/production/launchpad
[05:10] <lifeless> ok, I'll work in foo
[05:10] <stub> Gah... forgot to fix the config files
[05:11] <lifeless> foo pulled ok
[05:13] <stub> It did?
[05:13] <lifeless> yup
[05:13] <stub> Hmm.... 
[05:13] <lifeless> (for me)
[05:13] <stub> I'm using bzr in ~pqm/bin, with no PYTHONPATH set
[05:17] <stub> Worked fine. I'm renaming foo back to launchpad and will push that.
[05:29] <stub> Launchpad is going down in 15 mins for a regular code update. Estimated down time is 10 minutes. Wikis will be in read only mode during this period.
[08:02] <SteveA> morning
[08:02] <SteveA> spiv: hi
[08:03] <SteveA> stub: hello
[08:03] <SteveA> mpt or mpt_: hello
[08:03] <spiv> SteveA: Hello.
[08:04] <SteveA> spiv: voice call tonight?
[08:04] <spiv> SteveA: Turns out that while my headphone jack now works, my microphone jack doesn't.  I've filed a bug :/
[08:04] <spiv> SteveA: That'd be good, but it'll have to be POTS I'm afraid.
[08:05] <stub> SteveA: Morning
[08:05] <mpt_> hi SteveA 
[08:24] <stub> lifeless: pqm web ui is giving tracebacks btw.
[08:25] <SteveA> spiv: pick up a $10 sound card perhaps?
[08:26] <spiv> SteveA: You can get $10 sound cards that fit in laptops?
[08:26] <SteveA> are you sure your mic jack doesn't work?  for mine and many others, you need to turn on the mic amplifier (or some such switch) in the alsa settings
[08:27] <lifeless> stub: yes, known
[08:28] <spiv> SteveA: I spent a long time yesterday, probably much more than is sensible, trying to make it work, and trying every possible combination of alsa settings and the like.  Googling suggests it's a driver issue.
[08:28] <SteveA> i see
[08:46] <SteveA> spiv: is it fixed in some kernel out there?
[08:46] <spiv> SteveA: Not that I know of.
[08:47] <SteveA> do you still have that desktop machine?
[08:48] <dilys> Merge to devel/launchpad/: [trivial]  Fix https://launchpad.net/bugs/41108 and remove the warn_about_no_published_uploads config options that I forgot to remove from staging and jubany's config files. (r1847: Guilherme Salgado)
[08:49] <spiv> No, its disk is sitting in our headless router, and the rest is sitting in a cupboard.  It wouldn't shock me if it doesn't boot anymore, even if I put the disk back in... the woes I had with that system are a long story (but boring).
[08:51] <SteveA> spiv: http://www.gwctech.com/ebproductdetail.asp?id=88  <--- apparently work on linux
[08:52] <SteveA>  US$20
[08:54] <spiv> SteveA: Cool, I'll see if I can find one locally (but that will have to wait until tomorrow).
[08:57] <SteveA> spiv: that was for a quick google of "usb soundcard linux ubuntu"
[08:57] <SteveA> there are probably others
[08:59] <spiv> Yeah, I'll look tomorrow, when the shops are open.  There ought to be something cheap.
[09:07] <jamesh> spiv: I've had good success with my Logitech USB headset, which is one less thing to cart around compared to a headset + USB sound card
[09:08] <spiv> jamesh: Cool, thanks.
[09:09] <jamesh> spiv: Ekiga and Skype seem to work quite nicely with multiple sound cards too
[09:10] <jamesh> Ekiga can be set to ring on one card but use the other one for conversations
[09:10] <spiv> jamesh: That's good, because if I bought a new headset and things *still* didn't work, I might have to kill something ;)
[09:11] <jamesh> spiv: the one time I did have trouble was when I left the headset plugged in when rebooting, and the sound cards got numbered in the other order
[09:11] <spiv> It's frustrating, my stolen laptop had no issues (and even had a builtin mic that worked surprisingly well for voip!)...
[09:11] <jamesh> deleting ~/.asound* can sometimes help too :)
[09:12] <spiv> jamesh: Heh.  Thanks for the tip :)
[09:12] <jamesh> despite its faults, OSS was a lot easier to understand and debug
[09:17] <spiv> Yeah, I'm learning that.
[09:18] <spiv> I preferred it when I was happily ignorant :)
[09:22] <carlos> morning
[09:23] <SteveA> hi carlos
[01:08] <SteveA> sabdfl: hi
[01:08] <sabdfl> SteveA: got it already :-)
[01:08] <SteveA> okay
[01:10] <SteveA> stub: ping
[01:10] <ddaa> heya
[01:11] <SteveA> hello david
[01:11] <lifeless> print "hello, world!'
[01:11] <ddaa> lifeless: unclosed quote
[01:11] <lifeless> only if its python
[01:12] <ddaa> Which chrisforsaken language supports unmatched quotes like that?
[01:13] <lifeless> dunno
[01:14] <SteveA> visual basic had in interesting tolerence for variable names that differ only in case
[01:14] <ddaa> lifeless: "Is all the bzr-side stuff in place for repositories and knits? If so, the LP-side can drop in when it's ready."
[01:15] <ddaa> can your reply to that?
[01:16] <lifeless> I'm not sure what the question means
[01:16] <SteveA> BjornT: interested in working from my place on friday?
[01:16] <lifeless> what is the LP side
[01:16] <lifeless> what support is desired?
[01:16] <ddaa> lifeless: that's a recent message from sabdfl in the "Hg user survey" thread
[01:17] <ddaa> I think the LP support mentioned here is Supermirror support.
[01:17] <SteveA> this is about making it so that our sftp service and launchpad branch data model and UI can support knits and repositories
[01:17] <sabdfl> if not now, then at least in a few months, using bzr 0.8
[01:17] <lifeless> righto
[01:18] <lifeless> so the bzr 0.8 code format is stable
[01:18] <ddaa> since there are a few questions about bzr-side status of knits, repos, and LP integration, I'd like you or mpool to reply on list.
[01:18] <lifeless> spiv has merges in the queue for rocketfuel to update it to having the bzrlib that will support this
[01:19] <lifeless> then it can be rolled out in the next rollout, and the supermirror will mirror knit repos happily
[01:19] <lifeless> reading from repositories is part of that.
[01:19] <lifeless> having the sftp server host repositories is quite a different problem, and there is a bug open in malone about that. It needs some specification to decide what the beahviour should be
[01:20] <lifeless> IOW, this week, or next, tops.
[01:20] <lifeless> for publishing from a knit repo to the supermirror
[01:20] <ddaa> SteveA: who will maintain the agenda for bzr meeting. We should talk about fixing bug 41414.
[01:20] <Ubugtu> Malone bug 41414 in launchpad "supermirror-branch-puller ignores format changes" [Normal,Unconfirmed]  http://launchpad.net/bugs/41414
[01:21] <ddaa> that's likely to become a sticky problem once we have knit support rolled out.
[01:21] <ddaa> and people start converting existing weave branches to knit
[01:21] <lifeless> ddaa: if SteveA is amenable, salgado is the right person to do the implementation
[01:22] <SteveA> phone, back in a minute
[01:23] <lifeless> sabdfl: does that answer your question ? 
[01:23] <ddaa> lifeless: there was also some mention of support for the lp:// url scheme
[01:24] <lifeless> ddaa: bjornt and mpool were the ones working on that. AIUI it was blocked on zope 3.2 but now isn't
[01:29] <lifeless> carlos: ping
[01:29] <carlos> lifeless: pong
[01:29] <lifeless> please update teh status of your branch on pending-reviews
[01:30] <carlos> lifeless: I'm finishing that atm
[01:30] <carlos> will do as soon as I do the push
[01:54] <matsubara> good morning!
[01:54] <stub> SteveA: pong
[01:55] <SteveA> talking to david for a couple of minutes
[01:59] <salgado> mpt, still around?
[02:01] <carlos> mpt: I need you too :-P
[02:01] <dilys> Merge to devel/launchpad/: [trivial]  More cosmetics on analyze-error-reports: make headers nicer (r1848: kiko)
[02:02] <ddaa> stub: I'd like to have a chat with you about COUNT() optimisation, caching and db denormalisation
[02:03] <stub> ok
[02:03] <ddaa> stub: ping me when you are free
[02:07] <stub> ddaa: ping
[02:09] <ddaa> stub: so how to optimise pages that need many many COUNT queries? Let me give you some context.
[02:10] <ddaa> The recent oops report showed that the branch listing page for the vcs-import user frequently times out. It's a page with a few hundred branches, so it's quite pathologic, but we should be ready to handle that much for product and prodject branches in the future.
[02:10] <stub> COUNT() is going to be as slow as doing the actual select, and that is not going to change. 
[02:10] <ddaa> The culprit is that displaying each branch in the listing involving two COUNT queries
[02:11] <ddaa> one for all revisions in the branch, one for the revisions in the past month
[02:11] <ddaa> I can imagine multiple ways of optimising those queries, so I would like your opinion
[02:12] <stub> Any page that is not batched is broken as far as I am concerned - even if the batch size is set high and batching generally never happens, if there is no theoretical limit to the number of items being displayed then we can assume that occasionally there will be insane numbers. And attempting to display insane amounts of items is broken.
[02:13] <stub> It might be possible to collapse that into a single query, using a group by clause.
[02:13] <salgado> lifeless, I assume you've seen the breakage of pqm.launchpad.net?
[02:13] <stub> I would have to see the existing queries and attempt to collapse it into a single one. However, the load on the DB is still just as much - you are only saving some round trip time.
[02:13] <ddaa> I think batching would be quite annoying on those page, so I want to look for ways to optimise things out as much as possible at first.
[02:13] <stub> salgado: Yes - lifeless knows
[02:14] <stub> ddaa: Batching needs to go in. Even if you set it to a high number, it needs to be there.
[02:14] <ddaa> stub: mh... did not think of group by...
[02:14] <stub> (and that goes to everyone else writing unbatched pages!)
[02:15] <carlos> lifeless: updated
[02:15] <ddaa> stub: one way to optimise this page is just to cache the counts in the Branch table. It's a bit more complexity on the branch scanner, gives away a bit of robustness for the "revisions in past month" stat, but it nice and simple.
[02:15] <carlos> mpt: are you around? my dsl line went down...
[02:16] <mpt> carlos, vaguely
[02:16] <mpt> salgado, pong
[02:17] <salgado> mpt, have you seen my email about the new shipit?
[02:17] <ddaa> stub: other ways involve things like: 1. compute the total count by getting the first and last RevisionNumber by sequence for a Branch and substract the sequence of the first from the sequence of the last.
[02:17] <mpt> salgado, about the style sheets? yes
[02:17] <stub> ddaa: yes, we do similar caching elsewhere. If it is ok for the cached counts to get out of date, we can rebuild caches daily. If that is not good enough, we might be able to maintain them with database triggers (or Python code if we can guarantee nothing else updates that particular chunk of data without bypassing the API you define)
[02:18] <stub> ddaa: That would be just as slow. I expect the timings would be identical.
[02:18] <ddaa> 2. duplicate the Revision date on the RevisionNumber and add an index that makes it fast to select the RevisionNumbers for a Branch later than a given timestamp. 
[02:18] <mpt> salgado, my #1 priority is to get the next lot of MaloneSimplifications landed, though I am often pulled away from that to do various things about the menus
[02:18] <ddaa> 3. do not duplicate the date, but create a view that joins Revision and RevisionNumber
[02:19] <stub> The join would be fast I suspect - no need to denormalize at this stage.
[02:20] <ddaa> stub: that system is very amenable to caching, since we have only a single code path _and_ a single process to update the RevisionNumber and Revision tables (it's the branch scanner)
[02:21] <ddaa> stub: I wanted to know if you could think of any system that would bring similar benefits without making the branch scanner more complex.
[02:21] <jordi> hey
[02:22] <jordi> got a call from carlos, his network link is unstable, and went to have lunch
[02:23] <ddaa> stub: so, what's your recommendation?
[02:23] <ddaa> (aside from batching, which is good for search engines and webmail, but not good in that case IMO)
[02:24] <stub> ddaa: Trying to do a single query instead of two counts is a noble goal. You may get the results you need by joining Branch and BranchRevision, possibly doing some final counts in Python if the SQL gets hideous. But ideally, instead of issuing 100 queries, we want to issue 1 that generates all the stats you need.
[02:24] <mpt> carlos, I'm going to sleep RSN
[02:25] <mpt> oh, thanks jordi 
[02:25] <mpt> jordi, tell carlos to e-mail me :-)
[02:25] <stub> ddaa: I'd need to see the existing queries to give a pointer on that, but it would almost certainly involve using GROUP BY
[02:26] <carlos> mpt: I added a branch to your UI review queue, I need some help with way we should link to the new form I'm adding there
[02:26] <carlos> mpt: I will send you an email anyway if you don't read this before I'm back after lunch
[02:26] <ddaa> stub: mh... okay, so that would be a pretty hideous query with group by and count subqueries (I can only imagine what it might look like), but you mean that the DB would be able to optimise things out pretty well, right?
[02:26] <stub> ddaa: Even if you need to do 5 or 10 queries because the SQL would be too hideous otherwise, it will still likely be a win to issuing a few hundred simple ones.
[02:26] <mpt> carlos, there are no UI reviews any more
[02:27] <ddaa> stub: I like this idea very much. Keep display complexity in display code. I want to try it.
[02:30] <salgado> hey stub. do you have a few minutes? I need some help with one of the shipit reports
[02:30] <stub> salgado: sure
[02:38] <ddaa> stub: https://chinstrap.ubuntu.com/~dsilvers/paste/fileMnqr7T.html
[02:39] <ddaa> that might involve some heavy handed refactoring, but I think it's worth it, so do not let that stop you.
[02:40] <lifeless> mpt: uhm, there are still ui reviews, but they are no longer a requirement for merging
[02:41] <lifeless> mpt: in that people will still want help designing the ui. I don't care whether you manage your time and the list of people wanting your help via the wiki page or not..
[02:41] <lifeless> but I suggest that some coordination is good.
[02:42] <stub> ddaa: So we need to take that as a basis, and get those two stats for a set of rows rather than a single row. Do you want me to try and assemble that into a suitable SQL query?
[02:43] <ddaa> stub: that would be nice. That would allow me to file a bug with all the interesting details attached. BTW, would I be allowed to attach your SQLese in the bug?
[02:44] <stub> ddaa: I don't have a problem with that, but Mark has been known to freak. Private bug will be fine though.
[02:44] <stub> ddaa: I'll have a look after I've sorted Salgado's query
[02:45] <ddaa> okay, will make private and subscribe Launchpad Devels...
[02:54] <ddaa> stub: thanks for the branch-scanner rollout, I see that the RevisionNumber.destroySelf fix has landed :)
[03:02] <ddaa> hey kiko
[03:19] <SteveA> ddaa: is a time and day set for next week's bzr meeting?
[03:19] <ddaa> still waiting for jamesh reply
[03:19] <ddaa> but it looks like it's going to be Tuesday 0800 UTC
[03:20] <SteveA> not monday?
[03:20] <ddaa> monday is a national holiday in france :)
[03:21] <carlos> mpt: well, more than UI review what I need is some help from you to know where should I add such link ;-)
[03:21] <kiko> carlos, did the esperanto user reply back?
[03:21] <ddaa> SteveA: then, we can see if we can make it happen on the next  monday
[03:21] <carlos> kiko: no
[03:21] <SteveA> ok.  so, set it for tuesday 0800 UTC.  please send out an email confirming it
[03:23] <carlos> kiko: btw, PoMsgSetPage is also done, the only remaining issue is the way to link to that new page
[03:24] <kiko> carlos, good work. so can I see an example up and running?
[03:25] <stub> ddaa: https://chinstrap.ubuntu.com/~dsilvers/paste/fileA9QPfa.html
[03:25] <carlos> if you download my branch, yes ;-)
[03:25] <kiko> carlos, you don't have it publically accessible?
[03:25] <carlos> kiko: let me see this new router I have, perhaps I could redirect the port to my laptop...
[03:28] <stub> ddaa: And https://chinstrap.ubuntu.com/~dsilvers/paste/filevR04LL.html
[03:28] <carlos> kiko: try this http://39.red-88-9-28.dynamicip.rima-tde.net:8086/
[03:28] <carlos> it doesn't work for me, but I'm not sure it's because I'm inside my LAN...
[03:28] <kiko> looks good
[03:28] <carlos> ok
[03:28] <stub> ddaa: The last one seems to be what you are asking for
[03:29] <carlos> kiko: http://39.red-88-9-28.dynamicip.rima-tde.net:8086/distros/ubuntu/hoary/+source/evolution/+pots/evolution-2.2/es/1/+translate 
[03:29] <ddaa> stub: thank you, I'll check that out after lunch
[03:30] <ddaa> ddaa.belly.append(lunch)
[03:32] <carlos> hmm I'm getting a deprecation warning...
[03:32] <carlos> https://chinstrap.ubuntu.com/~dsilvers/paste/filesVYWDk.html
[03:33] <carlos> SteveA, BjornT_: ^^^
[03:35] <Kinnison> what happened to the top bar?
[03:35] <BjornT_> carlos: you can ignore it. it something that we should fix, though, there should be a bug open on this.
[03:36] <carlos> BjornT_: ok
[03:36] <carlos> Kinnison: I don't see any difference ...
[03:37] <kiko> carlos, I don't understand that page
[03:38] <Kinnison> carlos: http://users.pepperfish.net/dsilvers/js-disabled.png
[03:38] <carlos> kiko: what exactly?
[03:39] <kiko> carlos, the page appears to be a rosetta translation page with a single entry
[03:39] <carlos> kiko: that's the point ;-)
[03:40] <carlos> kiko: here you see one of the differences:
[03:40] <carlos> http://localhost:8086/distros/ubuntu/hoary/+source/evolution/+pots/evolution-2.2/es/14/+translate
[03:40] <carlos> vs
[03:40] <carlos> http://localhost:8086/distros/ubuntu/hoary/+source/evolution/+pots/evolution-2.2/es/+translate?count=1&offset=13
[03:40] <carlos> kiko: change the URL to my IP address, please
[03:40] <kiko> carlos, I'm on the phone, give me 20m
[03:40] <carlos> ok
[03:53] <ddaa> Kinnison: looks like a CSS bug.
[03:53] <ddaa> There's a missing list display attribute for that list, I think.
[04:20] <ddaa> matsubara: can you close https://launchpad.net/products/launchpad/+ticket/812 as answered, please?
[04:21] <matsubara> ddaa: no, I can't. Only launchpad admins or the user who filed the support request can close it
[04:22] <ddaa> duh
[04:22] <ddaa> matsubara: is that reported as a bug?
[04:23] <matsubara> ddaa: yes.
[04:24] <matsubara> ddaa: bug 3157
[04:24] <Ubugtu> Malone bug 3157 in launchpad "Anyone should be able to edit a support ticket" [Normal,Confirmed]  http://launchpad.net/bugs/3157
[04:29] <ddaa> kiko-phone: ping
[04:40] <ddaa> kiko: would it be possible for salgado to work on bug 41414 in the next couple of weeks?
[04:40] <Ubugtu> Malone bug 41414 in launchpad "supermirror-branch-puller ignores format changes" [Normal,Confirmed]  http://launchpad.net/bugs/41414
[04:40] <kiko> uhm
[04:40] <kiko> maybe.
[04:40] <kiko> MAYBE.
[04:40] <kiko> it's a big maybe
[04:41] <ddaa> salgado knows the branch puller inside out, and this bug can cause very serious performance problems after we have rolled out the upgraded bzrlib (spiv is working on that) and people start upgrading existing weave branches to knits.
[04:42] <ddaa> it's not on fire yet, but it will be urgent eventually
[04:43] <salgado> ddaa, so, all that needs to be done is check if the format in the destination branch is older than the format in the source branch, and in that case throw away the existing destination branch and mirror it again?
[04:44] <carthik> Hi, the default sort order on LP is "priority, then severity"
[04:45] <ddaa> salgado: mhh...
[04:45] <carthik> However, in the list of bugs, none of the table columns have the title "priority" or for that matter " severity"
[04:45] <kiko> carthik, it's in flux; it will soon be simplified to a single "importance".
[04:45] <carthik> kiko, thank you.
[04:45] <ddaa> salgado: I suggest we have this discussion on the bug, so lifeless can keep track of it.
[04:46] <ddaa> I think it should be a bit different from what you say.
[04:46] <salgado> okay. I'll comment there and then you answer there
[04:46] <carthik> kiko, also, making a change to a bug's meta-info and adding a comment there (At the top, the dropdown "State" menu) does not allow me to subscribe to the bug, unlike adding a normal comment at the bottom of the thread. Is this being sorted out too?
[04:48] <kiko> carthik, yes, it's a wart. one which I don't have a good answer to at the moment, though.
[04:49] <carthik> kiko, thanks a lot. I appreciate the quick responses :)
[04:49] <kiko> the only immediate idea I have is displaying or repeating the table of statuses at the boom of the bug close to the add new comment
[04:49] <kiko> but that has a lot of drawbacks
[04:50] <kiko> so it's a tricky problem
[04:55] <zakame> hi all
[04:55] <kiko> hello zakame 
[04:56] <zakame> I'd like to inquire about the LaunchpadSupportApp spec, has there been any progress on it? =)
[04:56] <zakame> hi ki	! :D
[04:57] <kiko> zakame, some progress yes -- have you been looking at /support on launchpad?
[04:59] <zakame> no, actually I was meaning to do a proposal for Ubuntu on the SoC, about a better bug reporting tool/suite... I was looking at the UDU BugReportingRoadmap earlier
[05:06] <ddaa> salgado: bug 41414
[05:06] <Ubugtu> Malone bug 41414 in launchpad "supermirror-branch-puller ignores format changes" [Normal,Confirmed]  http://launchpad.net/bugs/41414
[05:07] <ddaa> salgado: note that the second comment is "it would be nice if"
[05:08] <carlos> BjornT, SteveA: I need to create a FileUpload object for a doc test, any suggestion?
[05:10] <BjornT> carlos: it depends on what you intend to test. for bug attachments i simply did:
[05:10] <BjornT> >>> file_upload = StringIO(...)
[05:10] <BjornT> >>> file_upload.filename = 'file.name'
[05:12] <carlos> BjornT: the problem is that our view class checks that we are getting a FileUpload
[05:12] <carlos> because sometimes, epiphany submissions were giving us a unicode string
[05:13] <carlos> BjornT: I'm not checking that concrete part, I just need to emulate a submission with the upload to check later that some attributes were set to the right values
[05:14] <carlos> BjornT: I guess I could add that check code inside the pagetest and let zope to handle the upload, right?
[05:14] <carlos> a pagetest is just a doc tests with extra 'sugar'
[05:26] <BjornT> carlos: well, you could simply create a FileUpload object. you just need to pass it an object which has 'file', 'headers' and 'filename' attributes.
[05:27] <carlos> BjornT: ok, let's try...
[05:52] <carlos> BjornT: thanks, it worked, I have the test finished now
[06:03] <SteveA> carlos: did you get the getView issue sorted?
[06:04] <carlos> SteveA: getView? the FileUpload question?
[06:04] <SteveA> you pasted a link to a deprecation warning
[06:04] <carlos> oh, that one
[06:04] <carlos> SteveA: BjornT said that I can ignore it
[06:04] <SteveA> to do with using getView where now it should be getMultiAdapter
[06:04] <SteveA> okay.
[06:04] <carlos> that there is a bug already filed and will be fixed 
[06:05] <SteveA> i, or some other zope3 internals person, will fix it later
[06:09] <carlos> ok, thanks
[06:18] <carlos> kiko: hi, do you have time for a fast review?
[06:18] <carlos> kiko: it's a fix for https://launchpad.net/products/rosetta/+bug/41653
[06:18] <Ubugtu> Malone bug 41653 in rosetta "Importation of po file goes in the wrong template" [Major,In progress]  
[06:18] <kiko> ok
[06:18] <carlos> kiko: https://chinstrap.ubuntu.com/~dsilvers/paste/filej6jncz.html
[06:18] <kiko> it's "Import", though, not "Importation"
[06:19] <kiko> -        potemplate = pofile.potemplate
[06:19] <kiko> unused, pyflakes caught, correct?
[06:19] <carlos> right
[06:19] <carlos> ;-)
[06:20] <kiko> I saw that last week when I did a big pyflakes run
[06:20] <kiko> +The FileUpload class needs a class with the attributes: filename, file and
[06:21] <kiko> actually, it "requires an instance", not a class
[06:21] <kiko> carlos, does this test fail if you revert the fix?
[06:21] <carlos> kiko: yes
[06:22] <kiko> can you explain how the pofile attribute was being set before?
[06:22] <carlos> that's the point of it ;-)
[06:22] <kiko> or was it always null?
[06:22] <carlos> kiko: the problem is that it was not being set
[06:22] <kiko> ever?
[06:22] <carlos> kiko: until the guess code is executed
[06:22] <kiko> how did we know that an upload was for a... wow
[06:22] <kiko> I see
[06:23] <carlos> It makes no sense to guess it when you know exactly it
[06:23] <kiko> that's a pretty big bug
[06:23] <kiko> how did it work before?
[06:23] <carlos> well, the guess was working, and hidding it
[06:23] <kiko> before the new translation upload queue?
[06:23] <carlos> kiko: the schema was really different
[06:24] <kiko> how did we store uploads?
[06:24] <carlos> kiko: inside IPOFile.rawfile
[06:24] <mdke> carlos: https://launchpad.net/bugs/42645 is fixed, thanks very much
[06:24] <Ubugtu> Malone bug 42645 in rosetta "bad merge" [Major,Confirmed]  
[06:24] <kiko> carlos, also, do you not feel that we should be supplying pofile to addOrUpdateEntry() instead of doing it in the browser code?
[06:24] <carlos> mdke: hmm, I did nothing...
[06:24] <mdke> or at least, the symtom is fixed
[06:24] <kiko> I understand it is optional
[06:25] <mdke> carlos: ah, i know: it was from an upload to the distro yesterday, that must have restored the template. 
[06:26] <carlos> kiko: well, we could do it that way too... it's just that the method is growing a lot... I'm even thinking on moving the potemplate argument outside it
[06:26] <carlos> mdke: I guess
[06:29] <kiko> carlos, moving stuff out of the API by doing assignment after calling the function is kind of a bad idea
[06:31] <carlos> kiko: well, the API is to add entries to the queue, after that, you improve the data you have for that import, sometimes you will know it directly when it's created and other times you will know it later with our guess code
[06:31] <kiko> well
[06:31] <kiko> here's my rationale
[06:31] <kiko> the /action/ of adding or updating entries
[06:31] <kiko> should allow you to specify a pofile if you know it
[06:31] <kiko> and if you remove it from the API
[06:32] <kiko> then it is not clear to people using it
[06:32] <kiko> now
[06:32] <kiko> I will tell you something which looks weird in that API
[06:32] <kiko>              sourcepackagename=self.context.potemplate.sourcepackagename,
[06:32] <kiko>              distrorelease=self.context.potemplate.distrorelease,
[06:32] <kiko>              productseries=self.context.potemplate.productseries,
[06:32] <kiko>              potemplate=self.context.potemplate)
[06:32] <kiko> no wonder you have a lot of arguments!
[06:34] <carlos> kiko: I see this like, for instance, IPersonSet.createPersonAndEmail, you fill the basic information and later you can set other fields
[06:38] <kiko> carlos, can you not just supply potemplate to that API?
[06:38] <kiko> are there places where you supply SPN, DR, PS that is different to the potemplate (or where the potemplate is absent?)
[06:40] <carlos> kiko: there are places where I don't know the potemplate
[06:41] <carlos> and also, there are other situations where the potemplate information is not the same as the direct arguments, like for KDE .po files
[06:41] <carlos> the .po files are stored in a sourcepackage and the .pot in another one
[06:42] <kiko> I see
[06:42] <kiko> okay
[06:43] <kiko> r=kiko either way, but I'd consider adding the pofile to the argument (and I think that createPersonAndEmail is a different sort of problem and perhaps broken as well)
[06:44] <carlos> kiko: Ok, I'm going to add the pofile argument to be consistent with potemplate and if I have some time to cleanup APIs I will revisit this and change it in a better way
[06:44] <carlos> kiko: thanks for the review
[06:44] <kiko> cool
[06:44] <kiko> sure enjoy it
[06:51] <ohoel> does launchpad handle gnome cvs accounts in any way?
[06:53] <carlos> ohoel: no
[06:53] <ohoel> hmm, ok. is there a way to delete an account?
[06:53] <ohoel> I've got ivindHoel which is in use, and ivindHoel2 which must have been made by mistake
[06:55] <salgado> ohoel, you can merge them at https://launchpad.net/people/+requestmerge
[06:55] <salgado> (you have to be logged in with the account you want to keep)
[06:59] <ohoel> salgado: thanks
[07:14] <carlos> see you later
[07:59] <AlinuxSOS> hello dear people
[08:00] <AlinuxSOS> question: Is Mozilla Firefox 1.5 imported into rosetta?
[08:01] <SteveA> AlinuxSOS: hi.  i think the rosetta people are not here at the moment.
[08:01] <AlinuxSOS> :)
[08:02] <AlinuxSOS> jogging somewhere ?:)
[08:02] <AlinuxSOS> hehe
[08:02] <SteveA> perhaps
[08:03] <SteveA> i think the weather is nice for that in spain
[08:06] <mdke> AlinuxSOS: I don't think firefox uses rosetta for translations, it is done upstream.
[08:06] <mdke> the mozilla localisation is really odd
[08:08] <AlinuxSOS> odd ?
[08:09] <AlinuxSOS> the problem is that translation is ready
[08:09] <mdke> it uses plugins, xpi files
[08:09] <AlinuxSOS> but noone makes mozilla-firefox-locale-ka pack
[08:09] <mdke> AlinuxSOS: if you have a translation, file a bug on mozilla-firefox-locale-all and attach the translated xpi file 
[08:09] <AlinuxSOS> mdke, :) I've alredy done it
[08:10] <mdke> AlinuxSOS: fine, no problem then.
[08:10] <AlinuxSOS> 2 months ago
[08:10] <AlinuxSOS> I've send file ka_GE.xpi for 1.5.0.1 Firefox
[08:10] <mdke> AlinuxSOS: bug number?
[08:10] <AlinuxSOS> but nothing is done :(
[08:11] <AlinuxSOS> who is mozilla-firefox-locale-all packager?
[08:11] <AlinuxSOS> no numbers
[08:11] <AlinuxSOS> there is no package
[08:11] <AlinuxSOS> so no bugs at the moment.
[08:16] <mdke> AlinuxSOS: what is the bug number you filed with the translation?
[08:17] <AlinuxSOS> mdke, I'm talking with David Moreno Garza
[08:17] <AlinuxSOS> who promissed me mozilla-firefox-locale-ka (Georgian) package
[08:18] <AlinuxSOS> but seems that nothing is done :(
[08:18] <AlinuxSOS> it's really frustrates me.
[08:18] <AlinuxSOS> http://www.gia.ge/dormidon/main.php?root=117 even new translations are ready
[08:18] <AlinuxSOS> and no packages :(
[08:19] <mdke> AlinuxSOS: you said that you filed a bug 2 months ago, just give me the number and I'll ensure it gets looked at
[08:21] <AlinuxSOS> I've sent .xpi file directly to the Packager
[08:21] <AlinuxSOS> mdke, ti parler in privato :)
[08:21] <mdke> AlinuxSOS: that will not help. As I said, file a bug on mozilla-firefox-locale-all, and attach the translated xpi file.
[08:22] <mdke> either you've done that, or you haven't
[08:22] <mdke> which is it?
[08:23] <AlinuxSOS> I've sent ka_GE.xpi file to a damog (David Moreno Garza) directly who prommised me that he would be glad to do debian/ubuntu .deb package of locale
[08:23] <AlinuxSOS> but nothing is done
[08:23] <mdke> AlinuxSOS: ok. If you follow the procedure I mentioned, that will ensure that it will get done.
[08:23] <AlinuxSOS> before I was talking with him via ICQ
[08:24] <AlinuxSOS> this 2 month offline
[08:24] <mdke> c'mon dude, trust me, and file a bug as I've said.
[08:24] <mdke> it will work, many other languages have done it during this release cycle
[08:26] <AlinuxOS> mdke, where ?
[08:26] <AlinuxOS> in rosetta?
[08:26] <AlinuxOS> could you please tell me where can I do it
[08:26] <mdke> AlinuxOS: for the third time. mozilla-firefox-locale-all.
[08:26] <AlinuxOS> I simply trusted this guy
[08:26] <AlinuxOS> :(
[08:26] <AlinuxOS> eh
[08:26] <AlinuxOS> what's this ? a package ? :) site
[08:27] <mdke> click here:
[08:27] <mdke> https://launchpad.net/distros/ubuntu/+source/mozilla-firefox-locale-all/+filebug
[08:27] <mdke> fill in the boxes, then submit the bug.
[08:27] <mdke> then, attach the xpi file
[08:39] <AlinuxOS> mdke, thank you!
[08:42] <AlinuxOS> mdke, is there a whish list ?
[08:47] <mdke> AlinuxOS: for what?
[08:47] <AlinuxOS> :)
[09:26] <bradb> BjornT: Any reason why the email interface shouldn't populate the launchbag? I'd at least like to reliably get the current bug from there for this event handler I'm writing.
[09:34] <BjornT> bradb: when can't you get the bug reliably?
[09:34] <bradb> BjornT: Maybe it's just the tests, but bugnotifications.txt fails, for example.
[09:35] <bradb> I assumed the LB is currently populated only on traverals.
[09:35] <bradb> and traversals
[09:36] <bradb> (the test fails because it hits my event handler, raising an error trying to access .bug on the LB.)
[09:37] <bradb> There's another way I can solve this, which is pretty easy too, which is with IHasBug.
[09:41] <BjornT> bradb: right, it's populated only on traversals. i think you should avoid using the LB in the event handler, since it's like using a global variable, but you might want to check with SteveA what he thinks about it.
[09:41] <bradb> I'll just make sure everything implements IHasBug, I think. The my handler can assert that the event.object is either an IBug or an IHasBug.
[10:05] <simira> is it possible to sort members list for a group after karma?
[10:12] <salgado> simira, that's not possible today, but it's a trivial change, so if you file a bug I'll make sure it gets fixed soon
[10:53] <mdz> is there any way I can query for bugs which are assigned to someone (not a particular person, but anyone)?
[10:53] <sfllaw> Like, not-nobody?
[10:53] <sfllaw> That would be nice.
[10:59] <mdz> yes
[10:59] <mdz> e.g., I'd like to see all unconfirmed bugs which are assigned to somebody
[11:00] <Seveas> mdz, https://launchpad.net/distros/ubuntu/+bugs?field.searchtext=&orderby=-priority%2C-severity&field.status%3Alist=Unconfirmed&field.severity%3Alist=Wishlist&field.severity%3Alist=Minor&field.severity%3Alist=Normal&field.severity%3Alist=Major&field.severity%3Alist=Critical&field.priority%3Alist=Wontfix&field.priority%3Alist=Low&field.priority%3Alist=Medium&field.priority%3Alist=High&assignee_option=an
[11:00] <Seveas> y&field.assignee=&field.owner=&field.component-empty-marker=1&field.omit_dupes.used=&field.omit_dupes=on&field.has_patch.used=&field.has_no_package.used=&search=Search+bugs+in+Ubuntu
[11:00] <Seveas> woah
[11:00] <Seveas> basically: yes you can, eith the detailed search form
[11:01] <Seveas> Assignee: "doesn't matter"
[11:01] <Seveas> ah crud, that brings in unassigned as well
[11:01] <Seveas> nvm
[11:02] <simira> Seveas: ever heard of http://url.err.no/? (shorturl)
[11:02] <Seveas> simira, yeah, didn't realize the url was that horrific
[11:02] <simira> :D
[11:10] <sfllaw> tinyurl is also good.
[11:14] <sabdfl> evening all
[11:15] <kiko> hello sabdfl
[11:16] <sabdfl> kiko: i have a very short patch for your review (28 lines)
[11:17] <simira> evening sabdfl 
[11:17] <sabdfl> kiko: https://chinstrap.ubuntu.com/~dsilvers/paste/fileQvZ7do.html
[11:17] <sabdfl> could you look at that for me please?
[11:17] <kiko> sabdfl, why are you moving the zcml around?
[11:18] <kiko> so from reading this patch what you are doing is making sure all languages appear in the distroreleaselang pages. is that it?
[11:19] <sabdfl> kiko: cleanliness
[11:19] <sabdfl> yes - folks have been asking for that forever, i got frustrated waiting
[11:20] <kiko> okay
[11:20] <sabdfl> without this, you have to enter the language code manually to start the pofile
[11:20] <kiko> can you clarify cleanliness -- I don't have enough context
[11:20] <sabdfl> it's a [trivial]  fix *except* for the slightly unrelated issue of distrorelease.potemplates
[11:20] <sabdfl> which is list()'ifying its results
[11:20] <sabdfl> also, the naming is not great, but we have no precedent
[11:20] <sabdfl> actually, we do, but as a method
[11:20] <kiko> it looks okay to me
[11:20] <sabdfl> getPoFileOrDummy
[11:21] <sabdfl> i thought this way was better
[11:21] <kiko> true.
[11:21] <kiko> but I don't quite understand what you mean by list()ifying inside DistroRelease.potemplates being a problem
[11:21] <sabdfl> i don't think Carlos is grokking the dummy thing yet, will be interesting to see if he's done something similar for POMsgSetView
[11:22] <sabdfl> in order to sort by potemplate.potemplatename.name
[11:22] <kiko> yes I saw that
[11:22] <kiko> but it was that way already, right?
[11:22] <sabdfl> distrorelease.potemplates does a selectBy, listifies, and sorts
[11:22] <sabdfl> yes, but i would expect you to ask me to fix it since i'm touching that code
[11:22] <kiko> is it even fixable, however? 
[11:23] <sabdfl> https://launchpad.net/products/rosetta/+spec/potemplate-priorities
[11:23] <kiko> I remember we spoke of this and I looked into it and it doesn't seem to be fixable the right way
[11:23] <sabdfl> well
[11:23] <sabdfl> with prejoins, we should be able to orderBy['-priority', 'potemplatename.name'] 
[11:23] <kiko> are you suggesting orderBy=['POTemplateName.name'] ?
[11:23] <kiko> yeah, but that's a bit of a hack
[11:23] <sabdfl> ed zachary
[11:24] <sabdfl> not at all, it maps perfectly to the SQL
[11:24] <sabdfl> does it work now?
[11:24] <kiko> well, it's a bit of a hack because you are now taking advantage of prejoins adding in the table in the select
[11:24] <kiko> which is rather unrelated IYSWIM
[11:24] <sabdfl> yes... but I see the prejoin as an integral part of the query
[11:25] <sabdfl> i think you like to prejoin in the view
[11:25] <sabdfl> to optimise for particular cases
[11:25] <sabdfl> whereas in this case I *know* i want the potemplatename
[11:25] <kiko> I haven't given this enough thought, but I'd be fine with you changing that to be an orderBy if you think it's better.
[11:25] <sabdfl> ok, if it works, I'll do that
[11:26] <kiko> I have some reservations about using prejoin and orderBy that may be pure brazilian prejudice
[11:26] <kiko> so don't wait for my psychoanalysis ;)
[11:26] <sabdfl> i know where you are coming from
[11:26] <sabdfl> but then i've always felt that preJoin should be a selectBy optional keyword argument
[11:26] <sabdfl> along with orderBy
[11:27] <kiko> yeah, andrew said that doing that would mean it would never be upstreamable because they had rejected patches in the past that affected select*By
[11:27] <kiko> 's API
[11:28] <sabdfl> upstream has issues, don't they
[11:28] <sabdfl> have you chatted with gustavo about sql alchemy?
[11:29] <kiko> well, the danger is colliding/sandbagging an existing user who used prejoin as a column name
[11:29] <kiko> which I find somewhat understandable
[11:29] <kiko> yeah we did at FISL
[11:29] <kiko> he is finding it very agreeable
[11:29] <kiko> (I only think it's nicer because it is being maintained!)
[11:34] <sabdfl> it should be possible to make it preJoin to avoid case issues (python is case sensitive, SQL is not)
[11:34] <sabdfl> a column called preJoin could just as easily be referred to as prejoin
[11:43] <sabdfl> interesting
[11:44] <sabdfl> kiko: result.orderBy(['potemplatename.name'] )
[11:44] <sabdfl> does not error
[11:44] <sabdfl> but does not work, either
[11:44] <sabdfl> >>> for p in hoary.currentpotemplates: print p.potemplatename.name
[11:44] <sabdfl> ...
[11:44] <sabdfl> evolution-2.2
[11:44] <sabdfl> pmount
[11:44] <sabdfl> pkgconf-mozilla
[11:44] <sabdfl> interesting
[11:44] <kiko> and adding the orderBy in the select() call?
[11:46] <sabdfl> gives a tricky error... missing FROM clause for potemplatename
[11:46] <sabdfl> i'll need to join them in there
[11:46] <kiko> yeah, I assumed that.
[11:46] <kiko> I'd leave it as a list()
[11:47] <kiko> it will not issue extra queries thankfully
[11:47] <kiko> because of your prejoin()
[11:47] <sabdfl> could be several hundred in that list()
[11:47] <kiko> it's okay
[11:47] <kiko> it's not expensive
[11:48] <kiko> it's only expensive if it causes SQL to be issued.
[11:48] <kiko> (which you're already fixing with your prejoin)
[11:48] <sabdfl> ok, done
[11:48] <sabdfl> will land it with r=kiko
[11:49] <sabdfl> tomorrow, if tests pass tonight
[11:53] <kiko> sabdfl, I keep trying to figure out a way of making po_files_or_dummies simpler
[11:53] <kiko> sabdfl, I also wonder whether a property is appropriate given it does cause two largish queries to be issued
[11:53] <kiko> mmmm
[11:54] <sabdfl> you only ever call it once, and you do need both queries
[11:54] <kiko> yeah, but database API is API to the world
[11:54] <sabdfl> other option was to put this logic in the view class
[11:54] <sabdfl> view/pofiles
[11:54] <kiko> there is rosetta browser code that does exactly that
[11:55] <sabdfl> not for distroreleaselanguage there is not
[11:55] <kiko> agreed agreed
[11:55] <mdke> hi sabdfl 
[11:56] <mdke> sabdfl: you might have seen in your email, spiv answered about the two wiki specs we've discussed: it seems he has a few ideas and not too much work is required, are you ok with him doing a few hours on it?
[11:57] <sabdfl> mdke: you'll need to clear that with stevea, +1 from me, if he asks you can quote me
[11:57] <mdke> sabdfl: right, thanks.
[11:58] <lifeless> morning
[11:58] <mdke> SteveA: still around?
[11:59] <sabdfl> hey lifeless
[11:59] <mdke> morning lifeless 
[11:59] <sabdfl> lifeless: how do i test knits?
[11:59] <lifeless> sabdfl: for launchpad, there is a test branch on chinstrap.
[11:59] <sabdfl> mpt: is there any solution in the pipeline to the FOUC?
[11:59] <lifeless> one second