[00:00] cjwatson: How are we going to produce the C translations files? [00:00] (also, your LongDescription interpretation is inverted, AFAICS) [00:00] C as opposed to en? [00:00] Well, do we produce the ones it's going to look for by default? [00:02] inverted> oh bugger, you're right, silly inscrutable docs === sidnei_ is now known as sidnei [00:08] apt-ftparchive defaults to writing to Translation-en, and mvo told me he'd just stop uploading -en in the i18n custom uploads. But perhaps it ought to be C, or perhaps the client ought to be a bit smarter here ... [00:09] Note that it is currently not possible to create these files with apt-ftparchive. [00:09] From the manpage. [00:09] Not in my version [00:10] Ahem. I was looking at carob accidentally. [00:10] Indeed, natty's is a bit more encouraging. [00:11] hmm. I wonder if this is going to need YA lucid backport though ... [00:12] That stuff should be somewhat self-contained, if we want to convince mvo to backport the patch... [00:12] I'll discuss the question of using Translation-C with mvo. At worst it would just be a matter of setting TreeDefault::Translation / Tree::blah::Translation [00:13] backporting the patch will happen [00:13] both mvo's manager and his tech lead want this :-) [00:13] Heh [00:13] Useful. [00:14] I'll fix the inversion. Should I rename the database column as well? I kind of like having the new column be False by default, though [00:15] so split_long_descriptions True => LongDescription "false" [00:15] I'm not sure. Possibly include_long_descriptions defaulting to True would work... [00:15] Hmmm [00:16] oh, there's default= in Bool [00:17] I'm OK with that if it seems less confusing [00:17] anything else from a first pass that I should sort out? [00:19] cjwatson: Looks reasonable. [00:25] Cool, thanks. I'll work on that tomorrow then [00:25] Great! [00:29] wallyworld_: Is your last comment in bug #803996 a regresion on qastaging? [00:29] <_mup_> Bug #803996: person picker widget doesn't show link to unassign myself < https://launchpad.net/bugs/803996 > [00:29] wgrant: not sure if it's a regression [00:30] but it pertains to that bug so i added it as a comment to ensure the full scope of the issue was fixed [01:02] StevenK: How goes the vocab? [01:09] wgrant: *RARGH* [01:10] As expected! [01:13] wallyworld_: should it hold up deploying? [01:14] lifeless: not imho. it's a minor usability issue (page refresh fixes it) and i'm not even sure it's a regression [01:14] i just noticed it doing some unrelated qa [01:14] wallyworld_: then you might like to file a new bug for it, to fit the qa process [01:15] lifeless: there's a bug already. i just augmented the bug details to provide extra info [01:15] wallyworld_: but its the bug that will be closed when we deploy on thursday [01:16] wallyworld_: if you land another incremental branch for it between now and then, we'll be unable to qa it, and the downtime deploy will get more hairy [01:16] lifeless: ? the bug is associated with a kanban card that is in the todo list [01:16] and... we're qa-bad for it now [01:16] rev 13392 is broken [01:17] I thought it would be. [01:17] But where? [01:17] compare https://launchpad.net/~launchpad-dev/+members and https://qastaging.launchpad.net/~launchpad-dev/+members and then click next in both on the 'active member' batch [01:17] lifeless: bug 803996 is only triaged. that's the one i added the extra info for based on by observations when playing with qas [01:17] <_mup_> Bug #803996: person picker widget doesn't show link to unassign myself < https://launchpad.net/bugs/803996 > [01:18] lifeless: Ah, indeed. [01:18] wallyworld_: ah, cool [01:18] wallyworld_: sorry for my confusion [01:18] lifeless: np. it was well worh the question [01:18] worth [01:18] wgrant: the memo is not being adapted, so the memo for nav A is affecting the content for nav B [01:18] Yup. [01:19] frell [01:19] Revert or fix? [01:19] revert [01:19] I think revert. [01:19] Yeah. [01:19] unknown number of instances [01:19] wgrant: how would you feel if I asked you to do the honours ? [01:20] I've been chasing emails and stuff so far today - I only just got to doing qa on this [01:20] Like I've done that a bit too much in the last week, but okay. [01:20] * wgrant does it. [01:20] I will dig up the MP and explain the situation on it === mwhudson__ is now known as mwhudson [01:21] I have 6 reversion branches in ~/launchpad/lp-branches :( [01:21] :( conflicts [01:21] in a .txt file [01:22] Yeah [01:22] Which is merged. [01:22] its shallow - just keep the trunk version [01:22] the change was from explicit url to ... [01:22] but oh the pain - if it makes your eyes bleed, I will do it [01:23] hmm [01:23] the alternative is to not back this out [01:23] lets talk through it for a second: [01:24] - for any given navigator, it will work to navigate it as long as you don't switch navigators half way through things [01:24] - multi-navigator pages are the exception [01:24] - and switching should be rarer still [01:24] But if we revert now, we can deploy it on Friday and be able to easily revert if something goes wrong. [01:24] so, what about filing a critical and rolling forward [01:25] This change is scary and hard to verify completely. [01:26] there may be other unintended side effects [01:27] or this one may go deeper than thought [01:27] We lose little by reverting it now. [01:27] We gain flexibility. [01:28] And, given the mess that the last 1.5 weeks have been, I think that is a good thing. [01:29] I'm not worried about it landing later [01:29] I was thinking about the headache of the reversion branch [01:29] thats all [01:30] wgrant: how fugly does the reversion look ? [01:30] Not very. Just running the tests now. [01:32] so bug batches look fine [01:32] though 'Last' still times out (because the order reversing stuff is not yet hooked up to any lp batches) [01:47] lifeless: Shall I land the revert? [01:48] wgrant: it was fairly clean? if so yes. [01:49] !2 [01:49] I just --take-other on the story, and it passes fine. [01:52] * wgrant lands. [01:54] Bah, forgot r-c === lifeless changed the topic of #launchpad-dev to: devel in RC until r13403 deployable | Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 220 - 0:[######=_]:256 [02:14] 220? [02:14] :( [02:18] jtv: this may be fallout from red's current work - https://bugs.launchpad.net/launchpad/+bug/808950 [02:18] <_mup_> Bug #808950: DistroSeries:EntryResource:searchTasks AssertionError: wrong You exported name as an IChoice based on an SQLObjectVocabularyBase, you should use lazr.restful.fields.ReferenceChoice instead < https://launchpad.net/bugs/808950 > [02:19] jtv: I don't know if it is|isn't [02:21] mpt: hi [02:22] mpt: how would you feel if your transcribed talk was edited - treated as a live doc? E.g. where you give the example of having the word 'should', I would like to add 'add', 'remove', 'change', and perhaps more as other 'words to be wary of' === wgrant changed the topic of #launchpad-dev to: devel in RC until r13405 deployable | Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: wgrant | Critical bugs: 220 - 0:[######=_]:256 [02:51] wallyworld_: Around? [03:09] lifeless: Can I add X-Lazr-OopsId headers to webapp OOPSes too? [03:10] (to display less useless errors when pickers fail) [03:11] wgrant: can you rename it? [03:11] The other one is set in lazr.restful, I believe. [03:11] wgrant: X-LP-OOPSID everywhere would make me happy. [03:12] Sadly I guess clients may depend on it. [03:12] And it is not overridable without lazr.restful changes. [03:15] so there are I guess 3 q's [03:15] can we add a header: absolutely [03:15] should it be the same as the API one? I dunno [03:15] does the name matter? not really, but X-LP-OOPSID is or even X-OOPSID would be a lot better [03:17] wgrant: you could add whatever name and rename it later [03:17] wgrant: I don't mean to inflae the work you have to do [03:21] Grar [03:21] I hate Soyuz. [03:22] Stop deleting evidence. [03:24] no sequitur ? [03:25] Yes [03:25] Soyuz will let you delete a publication multiple times. [03:25] Each attempt will overwrite the last date. [03:25] So I can't see what this user actually did to break their archive. [03:33] https://dev.launchpad.net/LEP/FastDowntime for those liking 'agile' [03:35] yay [03:35] indeed [03:44] poolie_: I'm pretty sure both frontends are broken mimetype-wise. [03:44] poolie_: But not all of them have the bad data cached all the time. [03:44] I've seen text/html from both. [03:44] stub: hiya [03:44] Hi [03:45] poolie_: Indeed, there are logs in the bug to show it happening from both. [03:46] stub: I'm just filing bugs for fastdowntime at the moment [03:46] Cool. [03:46] stub: Thanks for landing batchnav! however we've had to roll it back - found a corner case [03:46] when we have two navs on one page the new variables need their name mangled [03:47] I think the pgbouncer config on prod is setup, but waiting on pgbouncer installation on sourcherry to proceed. Silly losas think testing is a good thing or something! [03:47] mad buggers [03:47] spm: can we get it on sourcherry then ? [03:47] We have 2 batchnavs on one page? [03:47] stub: yeah - e.g. ~launchpad-dev/+members [03:47] last I heard the rt was with stephan [03:48] so its an easy fix, I commented in the MP [03:48] wgrant, oh i see [03:48] stub: installed [03:49] that is easier to explain than having persistently different behaviour between what should be identical machines [03:49] spm: And permissions on /etc/pgbouncer contents set so I can configure it? [03:49] i assume at this stage we're not pulling pgbouncer into the lp-db-deps? [03:49] poolie_: Yes. :/ [03:50] Perhaps we should go poking in squid caches or logs or something. [03:50] spm: No. Maybe one day if the rollout script is tested with out test suite in the -dev packages. [03:50] oki [03:50] bbiab [03:50] normally we object violently to 'install package' unless it's in the meta, but I'll let this ride for once. [03:50] where violently == 4x2. [03:50] wgrant, in that case it actually is a dupe [03:50] where violently == 4x2/ip [03:51] poolie_: I've already fixed that up :) [03:51] thanks [03:51] spm: I'm not fussed, but we will only need it installed on at most two machines so similar to haproxy. [03:51] it occurred to me it would be interesting to have a losa look directly at the backend and see what it answers [03:51] (+staging) [03:51] presumably always the correct thing [03:51] poolie_: We've never seen the backend return bad data. [03:51] poolie_: But it possibly only does it in response to certain request headers. [03:52] stub: have at it [03:52] how would you know if the backend returned bad data? [03:53] poolie_: With manual testing, this is. [03:53] iow what i said has already been tried? [03:53] stub: I'm not sure of your meaning wrt machines similar to haproxy, wrt staging? [03:53] poolie_: Yes. [03:54] spm: At most, we want pgbouncer running on two production machines + staging, similar to our HAProxy dependency. So putting it in the -db meta package didn't occur to me. [03:56] Probably more a puppet thing since it one package + several customized configs [03:56] oh I see. right. [03:58] whats the name of the codebrowse url mapper thingy? [03:58] lifeless: Are you expecting me to sort the batch navigator branch or is it punted to a bugs team? [03:59] lifeless: branch-rewrite [03:59] stub: Its in limbo [03:59] stub: a bugs team working on batch related timeouts would have motivation to do it === poolie_ is now known as poolie [03:59] stub: if you want to do it, be my guest; not expecting you to do so (or not to do so) [04:00] lifeless: It is a dependency of a bug abel is assignedl [04:00] I'll checkout the required work after breakfast. [04:00] stub: I think abel should do it then, it should be pretty easy. [04:01] but sure, EIDONTCARE :) [04:02] I'm going to pull out our reliance of transaction-persistent cursors from garbo.py so we can run pgbouncer in transaction mode rather than session mode. [04:03] Which is a bit sucky, as I thought that code was rather cool ;) [04:03] Think I'll need to replace it with two connections to remain efficient. [04:04] stub: it was cool, but I totally endorse that change [04:06] stub: could we do a brief voice call ? [04:07] stub: I want to check I didn't miss anything for round one of fast downtime [04:07] Sure. I'll just plug stuff in. [04:16] https://dev.launchpad.net/LEP/FastDowntime [04:40] wgrant: has lazr.amqp had its non-longpoll expunged? ready for rename ? [04:41] lifeless: It hasn't. [04:42] I might look at that this afternoon. [04:42] bug 809132 [04:42] <_mup_> Bug #809132: lazr.amqp is overly broad < https://launchpad.net/bugs/809132 > === Ursinha is now known as Ursinha-afk [04:56] wgrant: hi. i had to go out and sort out some car issues :-( back now [04:58] wallyworld_: Was wondering how to mock out HTTP requests in the picker for unit testing. [04:58] wgrant: we have about 3 different Y.io mocks [04:59] the bugs js uses one style [04:59] I saw MockIo, but it's only used in one place. [04:59] Seems to be from lazr-js. [04:59] there's also mickio.js brought across from lazr-js [05:00] in other places, a js object is constructed with just the method (eg patch) that is to be patched implemented [05:00] in most cases, the mock io object is passed to the js business logic [05:00] pickerpatcher uses Y.io directly. [05:00] I want to test the handling of errors. [05:00] yes, see ^^^ [05:00] Ah [05:01] the most common approach seems to be to pass an optional io object to the business lgoic [05:01] if io===undefined, use Y.io [05:01] else use the mock [05:01] there's implementations in out code base that allow the expected api call to be chacked and a return result to be provided [05:02] if you search for IOStub you'll see some examples [05:02] but I'd rather get a good, reusable implentation into our testing framework [05:02] and have everything use that [05:02] wgrant: where is longpoll deployment at? [05:03] lifeless: Yes. [05:03] would a bug be helpful ? [05:03] * lifeless makes one [05:04] Possibly. [05:07] wgrant, huh, well spotted with the 304 [05:07] that's pretty perverse [05:07] does it give you a body, or just the header? [05:08] poolie: lifeless did the real diagnosis :) [05:08] It just gives the header. [05:09] ok, ciao [05:15] Well, that lazr.amqp pruning was easy. [05:15] poolie, hi! [05:16] hi sidnei [05:17] poolie, i had a question about branch splitting earlier, not sure you saw it [05:18] hi [05:18] there is 'bzr split' [05:18] wgrant, couldn't it just not give a content-type header? [05:20] poolie: Possibly very true. [05:20] poolie, so after splitting a directory from the tree, does it get removed from the original tree or does that need to be done manually? [05:21] "Any HTTP/1.1 message containing an entity-body SHOULD include a Content-Type header field defining the media type of that body." [05:21] poolie: So, looks like we can omit it. [05:21] Particularly since we have no entity-body. [05:21] grarr [05:21] Just ran into this bug when trying to build lazr.amqp :( [05:23] Blah. [05:23] right [05:23] i thought it was normally omitted [05:23] twisted.web.server.Request.process sets it to text/html at the start of the request :/ [05:23] So we'd need to delete it... [05:23] sidnei, you will then have one tree with the subdirectory excised, and underneath it another checkout with that tree present [05:23] hm that's a bit presumtuous [05:24] i guess it depends if you want to fix this in twisted or to work around it [05:24] Would be nice to fix it in Twisted, but not sure how to do that in a backwards-compatible manner. [05:25] Or we could just declare the existing behaviour broken. [05:25] Perhaps. [05:25] 304 could perhaps just squash the ct [05:25] Indeed. [05:25] it seems unlikely anyone would really want that behaviour [05:25] Probably a good idea. [05:28] A self.responseHeaders.setRawHeaders("content-type", []) after the self.setResponseCode(NOT_MODIFIED) seems to work sensibly. [05:28] Is a little ew, though. [05:29] twisted was designed with POMA in mind (as opposed to POLA - http://en.wikipedia.org/wiki/Principle_of_least_astonishment) [05:29] Heh [05:30] sidnei, anyhow i suggest you at least try split [05:30] what are you going to want to do with these branches in future? [05:31] wgrant, it should possibly be more general than just c-t and 304 but ... [05:31] this would be the main case i guess [05:32] poolie, https://bugs.launchpad.net/graphite/+bug/501828 [05:32] <_mup_> Bug #501828: Create separate branches for the webapp, carbon, and whisper < https://launchpad.net/bugs/501828 > [05:34] poolie, which, btw, is still using pack-0.92. guess it's time for upgrade :) [05:36] * wgrant stabs buildout in the eye. [05:36] FASTER [05:37] Haha [05:38] lifeless: txamqplongpoll, maybe? [05:51] wgrant: sure [05:51] though txlongpoll is a bit snappier [05:51] lifeless: It is, but it's also more generic. [05:52] Although possibly reasonable. [05:53] txhttpamqp ? [05:54] That's even more syllables. [05:54] Perhaps we should just do txlongpoll, as you say. [06:19] Hmm. [06:20] Maybe we should just run txlongpoll from a package. [06:20] Since all its runtime deps are in main. [06:21] Hm, no, python-txamqp is not in main, but it's in some PPA I have, but I can't think which. [06:21] s/have/had/ [06:21] Must have been u1 or something. [06:29] wgrant: no, because we can't sanely upgrade from packages (now, if ever) [06:29] Bah. [06:30] danilos: bmp-inline-diffs has the wrong cursor for the expander link... it looks to me like perhaps the CSS needs to be adjusted so that .expander-node.js-action has the cursor:pointer style, or something like that? [06:30] danilos: or is there something my branch is missing? [06:33] wgrant: we need to address that eventually, but I'd rather not put 'fix python packaging upstream' in our criticalpath [06:34] wgrant: btw, has your revert landed ? [06:35] lifeless: It passed buildbot 10 minutes ago. [06:35] how are we on assessing 13391 [06:36] An indeterminate point between "handwave" and "kill me now" [06:38] Ah. [06:38] It says "Remove Person", when it shouldn't be talking about removing people and should be sentence case. [06:38] I don't trust it any more. [06:38] Tempting to revert. [06:38] page? [06:40] Any person chooser on a traditional form. eg. the bug supervisor field on https://launchpad.net/launchpad/+configure-bugtracker [06:40] Or assignee on +filebug [06:40] wallyworld_: ^ is that intentional ? [06:41] i think so [06:41] Sentence case looks and is wrong. [06:41] "remove person" is a bit violent. [06:41] But it seems to mostly work. [06:41] it's config - it can be changed [06:41] Person is wrong too [06:41] s/Sentence/Title/ [06:41] (teams are not people outside of LP's schema :)) [06:42] it should say Remove Assignee for bug task pickers and whatever the default text is elesewhere (unless overridden) [06:43] so i guess the default text is wrong plus some overrides are required [06:43] oh, there is a regression [06:43] I've just been reading the code so far. [06:43] on https://qastaging.launchpad.net/launchpad/+configure-bugtracker [06:43] What's the regression? [06:43] go to the bottom - e.g. security contact [06:43] click on 'Choose...' [06:43] Hm. [06:43] If you reopen it goes away. [06:43] then click on the search widget (don't change the text) [06:43] now try to remove the assignee [06:44] however the regression is live on prod already [06:44] so its not a new problem [06:44] ah, except [06:44] on prod if you reopen the picker [06:44] you get the buttons back to remove assignee etc [06:45] I have to run - can you two - wallyworld_ , wgrant - decide if this is really a regression or not, and revert or file a bug accordingly? cheers, [06:45] * lifeless goes [06:45] that issue i am looking at now - the remove/pick me buttons not reappearing after a search [06:45] it's not a regression [06:45] wallyworld_: They also don't appear if you reopen the picker while the textbox is empty, AFAICT. [06:45] It is very odd. [06:46] they won't appear if a search has been done [06:46] So, the UI text is pretty bad and needs fixing, but rolling back is expensive... [06:46] it's not a regression, so rolling back won't help [06:47] the issue was present in the original work john did afaict [06:47] Which isn't a regression? [06:47] the buttons disappearing [06:48] after a search [06:48] Ah. [06:48] i have a simple fix for the disappearing buttons issue but writing a test is a bitch [06:48] without any io stubs :-( [06:48] the wrong Remove Person text is also not a regression [06:48] i can'r recall when that branch landed [06:49] It's currently "Remove assignee" on production. [06:49] Which is correctly capitalised, and only questionably worded, not outright wrong :) [06:49] Removee assignee everywhere? [06:49] Yes. [06:49] https://launchpad.net/launchpad/+configure-bugtracker [06:50] ok. the branch that changed the wording was done to address a bug that said "Remove assignee" was wrong [06:50] It's less than ideal. [06:50] so it's wrong differently [06:50] But "Remove Person" is doubly wrong. [06:51] don't be a case nazi :-). we can live with "incorrect" case, no? [06:51] It is terribly ugly. [06:51] it's just the use of the word Person in cases where it's a team? [06:51] That too. [06:51] beauty is in the eye of the beholder [06:51] i honestly can't see why this is such a showstopper [06:52] it's easily fixed i'm sure [06:52] Because I don't trust the branch and am looking for excuses to revert it. [06:52] why don't you trust the branch? [06:53] besides cosmetics, is there anything *functionally* wrong? [06:54] Because I've had to revert it once already, along with 6 other things in the last week, it uses string concatenation to create HTML, the text is wrong, there are underlying bugs with the previous branch that aren't yet resolved, suggesting everything is more fragile than we can imagine... [06:55] there was one reverted due to a true/True issue but this is a different branch now afaik. the concat and etc and text don't warrent a rollback. they can be fixed [06:56] This is a relanding of the true/True issue branch. [06:56] not exactly - it also has other stuff in there if i am correct [06:57] Sure. [06:57] But it is a superset of the branch that was rolled back. [06:57] + fixes [06:57] yes, believe so [06:58] so we have 3 outward facing issues - text, wording and the disappearing buttons issue. [06:58] disappearing buttons i have a fix for but need to figure out what effort i should expend writing the %@^!$ test without a io stub [06:59] the text case is ugly but cosmetic [06:59] the wording is unfortunate and we can land a fix quickly [06:59] (three *known* outward facing issues, but OK) [07:00] i don't think any others have come up so far? [07:00] Right, so any other problems are as-yet unknown. [07:00] there's only a finite number of use caases to check [07:00] lol [07:00] where finite is not that large [07:01] i mean in terms of how pickers are wired up [07:02] rather than actual instances on all lp pages [07:26] lifeless: hi. That API bug you ran into looks like a Bugs problem, not apparently related to our derivation work. [07:32] jtv: You haven't been playing with distroseries vocabs at all? [07:33] hi wgrant: you're talking about that Bugs API problem? [07:33] jtv: Yeah. [07:33] It looks like it may be a distroseries vocab change, which rvba has been touching a bit lately IIRC. [07:34] I think so, yes === pjdc_ is now known as pjdc [07:59] good morning [08:01] Bom dia [08:07] I think I almost understand buildout! [08:15] bigjools: Morning. [08:15] morning wgrant [08:16] wgrant: Are we deployable *now*? [08:16] StevenK: Has qastaging updated? === almaisan-away is now known as al-maisan [08:16] bigjools: lazr.amqp is to be torn apart and renamed. [08:16] qas is running r13405 [08:17] As we don't use anything except for lazr.amqp.async [08:17] lifeless suggests deleting everything else and renaming to txlongpoll [08:17] dramatic [08:23] Yay, batchnav is no longer broken. [08:24] We may be deployable. [08:24] If we are very lucky. [08:54] Did batchnav get fixed or are you talking about the rollback? [08:55] stub: The latter. [08:57] wgrant: Nah. Never seemed worth the trauma or load. [09:15] jtv: its a bugs call, but it looks like a distroseries thing [09:15] lifeless: yes — you could ask le stigue if his vocab work might have played a role, but he's unavailable today. [09:18] lifeless: the method smelled like IHasBugTasks. [09:18] sure, I was just grabbing the closest red teamer :) [09:18] * jtv wonders idly what connotations "red teamer" might have in English [09:19] Still, probably safer than "scarlet brigade." That sounds positively filthy. [09:19] night night [09:19] night! [09:35] adeuring, hi, I suppose you don't want to finish reviewing https://code.launchpad.net/~danilo/launchpad/replace-expanders-2/+merge/67314 and I should reassign back to lp-reviewers? [09:35] danilos: sure, I can do it [09:46] adeuring, cool, thanks (I've fixed the problem with the focus event, should be fine now) [09:46] danilos: yes, I already noticed it! [09:47] adeuring, yeah, the problem was not fixing the issue, but keeping the keyboard focus behaviour :) [09:48] dar=me (had to raid my desk to find my notes from friday ;) [09:50] danilos: r=me [09:50] adeuring, cool, thanks [10:03] allenap, bigjools: Any objections to the pruning, renaming, and removal from LP? [10:03] wgrant: of amqp? [10:03] bigjools: Yes. [10:04] no [10:04] Thanks. [10:04] lifeless, I'm not sure how I feel about others editing it, but it's quite short, so perhaps there could be a Comments/Discussion section underneath? W.r.t. "add"/"remove"/"change", really any imperative summary falls into that category ("Make this work this way"). Excellent for issues classed as to-dos, not so good for issues classed as defects. [10:04] I have a deployment strategy now too. [10:09] wgrant: For lazr.whatevernameyoupicked or LP itself? [10:09] StevenK: txlongpoll (née lazr.amqp) [10:11] wgrant: what's the "tx" bit? [10:11] bigjools: Twisted extensions [10:11] https://launchpad.net/tx [10:11] ... [10:12] is it moving out of lazr? [10:12] That's apparently the plan. [10:12] k [10:12] It is de-Zoped and now entirely twisted. [10:13] https://launchpad.net/txamqp [10:13] arf [10:13] txamqp is the AMQP library it uses. [10:13] yeah [10:13] which begs a question ... [10:13] Oh? [10:13] WTF didn't anyone think to use tx-something in the first place! [10:13] Well, it had all the Zopey crap in it initially. [10:13] where anyone == landscape guys [10:14] Ah [10:14] anyway, all's well [10:15] I also now understand buildout. [10:15] Which is handy for this sort of thing. [10:21] is anything special going on at present? I am trying to add a tag to https://bugs.launchpad.net/openquake/+bug/803419 but launchpad will not let me [10:21] <_mup_> Bug #803419: permission denied for relation geography_columns < https://launchpad.net/bugs/803419 > [10:22] yes, something Is Bad [10:23] also, when I refresh the bug page it will say "Log in/Register" although I *am* logged in.. [10:23] al-maisan: You're not anymore [10:23] The session DB was just ... cleansed [10:24] how interesting ;) [10:24] Ah no, we do have an issue [10:24] al-maisan: Wait a few? [10:24] sure [10:32] al-maisan: Should be OK now, if you log in again. [10:32] wgrant: thank you! [10:32] The session DB switch was a little more troublesome than expected. [10:33] mrevell, hey, I wonder if I should say things like "they is" for the "singular they" :P [10:33] I was able to add the tag FWIW .. thanks again !! [10:33] mrevell, also, are we seriously on British English for LP? [10:35] danilos, Singular they is perfectly acceptable English :) As for British English ... well ... maybe this needs more discussion on the list but the company standard is British English and we are rebranding LP to fit more in line with the company brand. [10:35] Canonical code seems to be American English, while our text seems to be British English... I don't know why we'd use American anywhere :/ [10:35] For a long time, I think the interface text was a case of personal choice, then we settled on a policy of American English (I forget the reasons why) but for a couple of years now our company policy has been explicitly to use British English. [10:36] mrevell, "they is" sounds very weird to me, but then again, my English is better than yours :P [10:36] There's.... a singular they? [10:37] mrevell, should we make use of the scripts different en_GB teams have to switch the hood to the bonnet across the board? [10:37] danilos, Oh, I thought you were joking. Singular they still takes "are". It's a compromise. It's better than using "he" everywhere, it's also better than using "she" every now then as a token effort. [10:37] danilos, Such scripts exist? [10:37] mrevell, right, I was joking but I didn't realise you were as well :) [10:37] haha [10:38] jpds, a recent invention, I am sure :) [10:38] * mrevell goes to find the Oxford Style Manual [10:38] can we please nuke the Oxford Comma from orbit? [10:38] mrevell, good excuse to be gone for hours, good luck and enjoy the beer :) [10:38] On a positive note, we'll have lots of "How do I fix the color for that box?" "Add a u" [10:38] It was right next to me. I'm just finding the right page. [10:38] Is there such a thing as a "webservice console" [10:38] ? [10:39] I mean a script that uses launchpad lib to query the webservice for testing? [10:40] henninge, I've seen it mentioned a few times, if there is, it's probably hosted as a project on LP :) [10:40] henninge, perhaps lpshell by poolie [10:40] * henninge looks [10:41] henninge, there is a gui client in wrested [10:41] and there is lpshell in lptools [10:41] it depends what specifically you want to do [10:42] poolie: lpshell sounds like what I am looking for. Thanks [10:44] poolie: only there is no lpshell in lptools [10:44] henninge: lp-shell [10:44] oh, and ubuntu-dev-tools [10:48] danilos, Basically, singular they, otherwise known as "generic they" has been used in English for hundreds of years. The alternative is to use generic "he", which is nowadays unacceptable for appearing to refer to one gender only (rather than being used in place of a neuter). From what I've read over the years, dislike of singular they appears to be an American hang-up. [10:49] poolie: Thanks for forwarding that. [10:50] mrevell, oh, that's nice, I've only seen increased use of it in the last few years in the day-to-day communication (I've seen it used in literary works from way past) [10:51] +1 to they [10:51] s//hooray for they [10:51] danilos, I think it's used increasingly as a way to avoid any unintended gender bias. I think it works well for that and it's a bonus that Shakespeare used it. [10:51] heh [10:51] :) [10:51] mrevell, anyway, what I was trying to say with the comment was that you may want to explain that "singular they" is still used with "are" for those non-English developers such as me, just so we don't have to think twice :) === al-maisan is now known as almaisan-away [10:52] mrevell, I used to use "they" just as if it were the plural they, so the term "singular they" confused me [10:52] danilos, Ah, thanks, yes. [10:53] danilos, I shall change it to "generic they" and give a usage example. [10:53] jml: What is https://blueprints.launchpad.net/lazr.amqp/+spec/silly-blueprint? [10:53] mrevell, cool, thanks [10:53] danilos, maxb, poolie: lp:ubuntu-dev-tools/lp-shell is what I was looking for. Thanks! [10:54] mrevell, the more examples actually taken from lp text, the better, imo [10:56] poolie, Cool. I'm always tempted to use "That and a pair of testicles" as an example of what we're trying to move away from. [10:56] Has that been removed yet? [10:56] But, yeah, I'll use some real world examples. Any suggestions gratefully received :) [10:56] I recall its abolition was considered a couple of years back. [10:57] wgrant, Yeah, it went quite a long while back AFAICR> [10:57] s/>/. [10:57] Good, good. [10:57] mrevell, that is a perfect example [10:58] i might have even excised them [11:02] poolie, I'm probably missing something but I'm not sure I understand the problem with "Read about uploading"-style links. [11:02] Can you help me understand? [11:02] i will try [11:03] should it be "Tell me about uploading" or "Read about uploading"? [11:03] it's not a critical bug [11:03] it just kind of sticks out to me as possibly inconsistent [11:03] or should it be "Help on uploading" [11:04] Oh, I see. [11:04] the question is, is it just a noun phrase describing what's at the end of the link, or is either lp or the user the subject of an imperative [11:06] I think that in line with mpt's guidance "As a user, you interact with the control, so it speaks as your voice", it should be "Tell me about..." The imperative seems to make the link more personal; maybe even friendlier. [11:07] right, though perhaps "tell me about" is verging on too cute [11:08] but i think the essential thing is that most hyperlinks, as opposed to buttons, don't have verbs at all [11:08] (is this true?) [11:09] poolie, We have "Report a bug", "Ask a question" etc as hyperlinks, rather than buttons. [11:10] So, if there is a tendency not to have verbs in links then we don't have it as rule, I'd say. [11:10] yeah, i was just thinking that [11:11] we have a weak pattern of links that appear in button-like places being phrased more like actions, and those that appear in text being more like real hyperlinks [11:11] We tend to use a verb, I think, where there's a definite action, rather than just a request to list information. [11:11] s/definite action/something that changes data [11:11] right, perhaps that's the rule [11:12] that it shouldn't be "Tell me about blah" or "show blah" or "list blah" [11:12] maybe there's even a rule for that? [11:13] I don't think it's a written rule. I'll trawl the dev wiki and elsewhere for anything else and attempt to bring it all together. I'm also going to go read up on what other people have done with the wording of help links :) [11:13] ok [11:14] i don't want to cause people to get stuck on that particular question [11:15] I think it's an interesting point though and I bet other people have handled it in ways that we can borrow. [11:17] there are probably a lot of other style guides that cover it [11:18] it seems like the current wording page assumes that only buttons are actions, which is not ture [11:20] mrevell, btw, you should talk to en_GB people about the script, I am sure they have a few handy [11:22] danilos, Cheers. Do you have an idea of who I should speak to? [11:23] mrevell, http://live.gnome.org/BritishEnglish is a good starting point (there's a script there as well) === wgrant changed the topic of #launchpad-dev to: devel in RC until r13405 deployable | Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 220 - 0:[######=_]:256 === mrevell is now known as mrevell-lunch [12:17] wgrant: you noticed my attempt to get top contributor :) [12:17] jml: Heh [12:17] Then I turned off blueprints. [12:19] good thought. [12:23] flacoste: I think lp:~benji/launchpad/bug-781600 is ready for you to look at; do you want to do a formal review or an informal one? === matsubara-afk is now known as matsubara === almaisan-away is now known as al-maisan [12:44] OK, how do I sign files in lib/lp/archiveuploader/tests/data/suite/? The existing ones are signed with key ID 6C64A8C5, and I *know* I've done this before but I can't remember how. I've found lib/canonical/launchpad/ftests/gpgkeys/foo.bar@canonical.com.sec, but it has a password I don't know, and lib/canonical/launchpad/ftests/gpgkeys/foo.bar@canonical.com-passwordless.sec has a different key ID. [12:45] lib/lp/archiveuploader/tests/data/secring.gpg looked plausible but doesn't contain this key. === mrevell-lunch is now known as mrevell [12:53] that's confusing, the last time I did this apparently I got it from lib/canonical/launchpad/ftests/gpgkeys/ - but where did I get the passphrase? [12:53] which script do I need to run on dev to create a diff for a merge proposal? [12:54] bigjools,wgrant: do either of you know the answer to my gpg question? [12:54] cjwatson: the password is "test" [12:55] IIRC [12:55] That is also my recollection. [12:55] NFI why someone decided it was a good idea to add a password [12:55] aha! thank you [12:56] henninge: run_jobs in the right job source [12:56] (I'm fixing up dpkg-xz-support) [12:56] I forget the name but you have powers to find out :) === dobey_ is now known as dobey [12:57] bigjools: thanks, looking [12:58] henninge: there's a mergeproposaldiffpreview or similar [12:58] job, I mean [12:58] henninge: make sync_branches [12:58] Or cronscripts/mergeproposaljobs.py [12:58] Or you could run the job directly, but I don't know if that actually works these days. [12:59] ah that's it [13:00] wgrant: cronscript/merge-proposal-jobs does not do it, neither does make sync_branches :( [13:00] henninge: We found during the sprint that some occasionally got stuck somehow... perhaps the job has failed? [13:00] Try resubmitting or deleting and recreating. === Ursinha-afk is now known as Ursinha [13:03] ok I can't stare at this issue any longer, I need help. What are the usual reasons a security adapter is not called? [13:03] bigjools: The object is not proxied. [13:03] Diff? [13:03] it is [13:04] http://pastebin.ubuntu.com/642617/ [13:04] I am fixing an existing problem I found when realising a permission test was in the zopeless layer [13:05] makePlainPackageCopyJob() is returning a proxied object [13:06] Does test_extendMetadata_is_privileged still pass? [13:07] not any more [13:07] that's the one that was in the zopeless test layer [13:07] it only passed because the zcml was fucked [13:07] Hmm. Possibly relevant is that your adapter is for IPackageCopyJobEdit. It should normally be for IPackageCopyJob, but that's hopefully not what's breaking this. [13:07] ah... [13:07] It's still odd and should be fixed. [13:08] let's see [13:09] didn't fix it, no [13:09] Try the adaption manually, and see if gets the right adapter? [13:11] I can't remember the runes [13:12] Let me see. [13:12] sleep deprivation does that [13:13] I've been up since 3am :) [13:13] (Pdb) queryAdapter(pcj, IAuthorization, name='launchpad.Edit') [13:13] [13:16] ta [13:17] so that worked, but ... :/ [13:17] It's really like it's running with PermissiveSecurityPolicy... [13:19] yes [13:19] the zcml looks ok though [13:20] flacoste, https://bugs.launchpad.net/launchpad/+bug/775691 : should we contact david planella with danilos's analysis or should we treat the migration as escalated? danilo says the migration will be pretty tough, and there are workarounds [13:20] <_mup_> Bug #775691: Empty translations on one side do not get translated by the other side < https://launchpad.net/bugs/775691 > [13:24] bigjools: Ahahahah [13:25] bigjools: It's a PlainPackageCopyJob, not a PackageCopyJob. [13:25] :/ [13:25] [13:25] [13:25] [13:25] [13:25] [13:26] of course - it's bloody delegating [13:26] gnargh [13:26] thanks wgrant [13:26] Hmm, I'm trying to fix my dpkg-xz-support branch and getting very confused about tests. I have a testXZDebUpload test defined right after testLZMADebUpload, and basically cargo-culted from it. testLZMADebUpload tests for package uploads in the NEW queue, so I did the same in testXZDebUpload. But apparently the upload ends up in ACCEPTED instead, suggesting that something isn't being torn down properly. How do I get ... [13:26] ... rid of the stale state from the previous test? [13:26] this is in lib/lp/archiveuploader/tests/test_uploadprocessor.py [13:27] cjwatson: it's likely to be the upload policy, not test isolation [13:27] wouldn't the same policy apply to both lzma and xz uploads? [13:28] paste a diff [13:28] cjwatson: You're sure you cloned the right upload? [13:28] All DB state should be reset between tests, unless scripts are doing something bad. [13:28] it's probably a package with ancestry [13:28] I *think* so ... [13:28] so gets auto-accepted [13:28] https://code.launchpad.net/~cjwatson/launchpad/dpkg-xz-support-619152/+merge/32868 [13:29] er, bollocks, that's stale, one moment [13:37] bigjools: the MP's being slow to update, but http://paste.ubuntu.com/642636/ is my current diff against devel [13:41] benji: i'll do a formal one [13:42] gary_poster: let's leave that decision to david [13:42] flacoste: cool, in that case I'll write up an MP and ping you when it's ready === matsubara is now known as matsubara-afk [13:42] benji: great [13:42] oh, yes, and it doesn't look like test isolation because 'bin/test --pdb -t lp.archiveuploader.tests.test_uploadprocessor.TestUploadProcessor.testXZDebUpload' shows the same thing [13:42] cjwatson: the one in accepted will be the source [13:43] flacoste: ack will do [13:43] cjwatson: looks like a genuine upload failure [13:44] check what processUpload returns [13:44] Aha. Is the upload log left anywhere, or do I just need to pdb it? [13:44] it probably gets cleaned up unless you can see something hiding in /tmp [13:45] I'd pdb it [13:46] OK, thanks [13:57] SystemError: "E:This is not a valid DEB archive, it has no 'data.tar.gz', 'data.tar.bz2' or 'data.tar.lzma' member" [13:57] We need an apt backport too, it seems :-( === danilo_ is now known as danilos [14:21] cjwatson: bugger [14:29] flacoste: ok, the MP and MP-inspired polishing is done: https://code.launchpad.net/~benji/launchpad/bug-781600/+merge/67704 [14:31] cjwatson: heh, that point was raised in April on the MP as well [14:33] bigjools: that was python-apt, and I'm testing with that [14:33] but there's a bit of relevant code in apt too [14:33] ah ok, thought you meant the former === al-maisan is now known as almaisan-away [14:55] benji: i'll probably only review after lunch [14:55] sounds good [15:34] adeuring: I found the error cause. [15:34] adeuring: it is not revision ids. [15:35] henninge: cool, what was the problem? [15:35] adeuring: diffstat is defined as a Text field but it contains a dict. [15:35] {u'__init__.py': (1, 0)} [15:35] henninge: argh... [15:36] adeuring: the standard marshaller applies a blanket unicode cast to all values. [15:36] so it becomes u"{u'__init__.py': (1, 0)}" [15:36] henninge: interesting... I'm wondering why nobody noticed this before in API applications... [15:37] adeuring: as I said, it simply converted to unicode which our marshaller doesn't do [15:37] I guess nobody ever used this particular value [15:38] henninge: right, seems so [15:38] adeuring: I have to leave now, I will think about a proper fix tomorrow. [15:38] probably just do the same thing ... [15:38] henninge: schönen feierabend [15:38] danke === beuno is now known as beuno-lunch === deryck is now known as deryck[lunch] === salgado is now known as salgado-lunch === deryck[lunch] is now known as deryck === beuno-lunch is now known as beuno === salgado-lunch is now known as salgado [17:08] Nobody here to review https://code.launchpad.net/~jtv/launchpad/bug-809211/+merge/67731 ? [17:14] jtv: tl;dr. sorry. [17:18] is valc-0.14 actually vala git HEAD? [17:18] s/valc/valac [17:18] sorry [17:18] wrong channel [17:18] oops [17:24] cross-posted from canonical/#tech, is there a way of using virtualenv without it downloading packages from the internet all the time? [17:26] gary_poster: you know about this stuff, right? [17:27] jml: as in someone wants to use virtualenv and locally install eggs themselves? [17:28] jcsackett: yeah. I've got the eggs from *previous* runs of virtualenv, and sometimes like creating new branches and hacking on them without internet access. [17:28] jml, somewhat. Making a new virtualenv without downloading packages might or might not be supported. Once it is installed, [17:28] I'm pretty sure that setuptools/distribute allows you to specify where to look for eggs [17:28] buildout uses those options itself [17:29] I'm not sure what those options are, but that's where I'd start [17:29] gary_poster: ok, thanks. [17:29] np === Ursinha is now known as Ursinha-lunch [18:19] sinzui: http://approvaltests.sourceforge.net/ [18:32] sinzui: pycharm includes image diff support in 1.5, so would probably be possible to have good tool support there [18:32] :) === thekorn_ is now known as thekorn === almaisan-away is now known as al-maisan [19:27] morning === al-maisan is now known as almaisan-away [19:30] already? Unfair! [19:31] nigel: happens like clockwork [19:33] heh [19:40] flacoste: ping [19:56] * abentley finds it depressing that "[] !== []" in JavaScript. Also finds !== depressing. [19:57] * maxb blinks, and cries [19:57] seriously, wtf? [19:58] Oh, because Array does define sensible equality :-/ [19:58] In python, "[] is []" also evaluates to false. Makes sense to me. [19:58] !== is object identity rather than equality IIRC [19:59] That's right. [20:00] Isn't !==, the not of === which is object equality? [20:01] cjwatson, jtv: No, !=== is object identity. !== is no-coerce object inequality, != is coerce object inequality. [20:01] s/equality/identity [20:01] oh dear god how many operators [20:01] and I'm speaking as somebody who likes writing perl [20:02] hi lifeless [20:02] benji: i sent you a bunch of comments on your branch [20:03] flacoste: thanks, I'm looking at them now [20:03] benji: let me know if there is anything confusing in them [20:03] flacoste: I forgot to ask you about my emeritus idea on the call yesterday [20:03] cjwatson: I tell a lie. You are correct. However, [] != [] too. [20:03] flacoste: on first reading everything looked good [20:03] lifeless: i liked it! [20:04] I'll take it to -dev ? [20:05] maxb: btw, I think that duping you did is incorrect [20:05] maxb: before I undo it, can you explain why they are dupes? [20:05] The merged proposed team membership? [20:06] It seemed like both bugs were complaining about being unable to operate on merged proposed team members [20:06] bug 204002 is about proposals after doing amerge [20:06] <_mup_> Bug #204002: can't approve/decline a member with a merged user <404> < https://launchpad.net/bugs/204002 > [20:06] bug 393914 is about actual membership after a merge [20:06] <_mup_> Bug #393914: ~team membership of ~X-merged can not be deactivated <404> < https://launchpad.net/bugs/393914 > [20:07] AFAICT that is [20:10] maxb: ^ [20:11] Oh. I figured they both must be talking about proposed membership, on the assumption that actual memberships would have been fixed up by the merge process [20:24] benji: on bug 809470, did you mean 'triaged low' ? [20:24] <_mup_> Bug #809470: Wishlist: Time and Taskplanning