[16:24] <Pegasus_RPG> Hello. I'm thinking about hacking on Launchpad to add the ability to edit comments. Does Launchpad.net run on the trunk version or on some stable milestone?
[16:26] <cjwatson> very close to tip
[16:27] <cjwatson> if we've just done a deployment, then it runs exactly on the tip of lp:launchpad
[16:29] <Pegasus_RPG> Cool. The wiki says to talk about it in here before starting to hack. Are there any pitfalls regarding this issue? https://bugs.launchpad.net/launchpad/+bug/80895 and probably https://bugs.launchpad.net/launchpad/+bug/668267 as well
[16:29] <mup> Bug #80895: comments on bugs/answers/merge proposals/etc cannot be edited <canonical-losa-lp> <feature> <lp-answers> <lp-bugs> <Launchpad itself:Triaged> <https://launchpad.net/bugs/80895>
[16:29] <mup> Bug #668267: No way to remove nuclear launch codes from comments on bugs, answers, merge proposals. <canonical-losa-lp> <dhrb> <lp-bugs> <Launchpad itself:Triaged> <https://launchpad.net/bugs/668267>
[16:30] <cjwatson> have you thought about the social issues?  e.g. what's to stop somebody engaged in an argument on a bug from editing a comment further up and gaslighting people by claiming they never said something?
[16:31] <Pegasus_RPG> I was thinking just to allow the author to edit their own comments
[16:31] <Pegasus_RPG> (There are many times I wish I could do that...)
[16:31] <cjwatson> OK, that's too broad and won't fly on its own.  Matthew's suggestions in #80895 are one possibility, but it does need care and thought
[16:31] <mup> Bug #80895: comments on bugs/answers/merge proposals/etc cannot be edited <canonical-losa-lp> <feature> <lp-answers> <lp-bugs> <Launchpad itself:Triaged> <https://launchpad.net/bugs/80895>
[16:32] <cjwatson> (i.e. time-limited)
[16:32] <cjwatson> Consider also the approach exemplified in https://www.dreamwidth.org/support/faqbrowse?faqid=47 : "You can edit your own comments on any journal, as long as the comments have not yet been replied to. You can't edit other people's comments posted on your entries, or edit comments after they've been replied to"
[16:33] <Pegasus_RPG> Good point. That sounds fair.
[16:33] <Pegasus_RPG> (That's how phpBB works too)
[16:33] <cjwatson> There's also the possibility of leaving the original comment around for inspection, but off to the side, like what happens if you edit a bug description
[16:33] <cjwatson> That doesn't address the "accidentally posted your house address in a comment" issue, but does address the typo issue
[16:34] <Pegasus_RPG> The admin hide ability that's already there addresses that though, right?
[16:34] <cjwatson> Yes, and people can in fact hide their own comments entirely too
[16:35] <cjwatson> Though I think possibly only on bugs (I can't recall about questions)
[16:35] <cjwatson> All of bugs, questions, and merge proposals are distressingly separate here
[16:36] <Pegasus_RPG> So that case (sensitive info) is covered. I just want to have the ability to edit my own comments because I tend to have additional thoughts or notice typos after I post.
[16:36] <cjwatson> Partially covered, because only bugs (or possibly only bugs and questions0
[16:36] <Pegasus_RPG> yeah that's a problem too
[16:36] <Pegasus_RPG> (Why are the three mechanisms separate code-wise?(
[16:36] <cjwatson> This is quite a big project.  I'd suggest trying to identify smaller pieces that you can tackle in smaller units
[16:37] <Pegasus_RPG> Sure. I would start just on the bugs since that's what we use the most.
[16:37] <cjwatson> Aim for each change to come in at 800 lines max
[16:37] <cjwatson> Partly because somewhat different requirements; partly because they were initially built by different subteams
[16:38] <Pegasus_RPG> ...and nobody is interested in a giant refactor I'm sure. :)
[16:38] <cjwatson> They're not totally separate, but certainly not as well-factored as they could be
[16:39] <Pegasus_RPG> Funnily enough, I haven't yet found out what language LP is written in. I'm assuming Python?
[16:39] <cjwatson> Yes
[16:39] <cjwatson> three quarters of a million lines of it
[16:39] <cjwatson> Not to scare you. :-)
[16:40] <Pegasus_RPG> Nah, Mixxx is pretty big as well, though it's C++. (We use Python for the Scons build system though.)
[16:40] <cjwatson> (Some dependencies have bits of C and such for performance, but it's almost entirely Python, built on the Zope stack.)
[16:41] <Pegasus_RPG> Is LP still actively developed? I noticed last-changed dates on some wiki pages like the roadmap are years ago.
[16:41] <cjwatson> I apologise in advance for the extremely slow bootstrap process.  It'll get better once we've finished switching to git, but I'm waiting for our sysadmins to find time to get to my buildbot upgrade ticket before we can make further progress on that ...
[16:41] <cjwatson> You can look at http://bazaar.launchpad.net/+branch/launchpad/changes to see commit dates, which are somewhat more accurate
[16:42] <Pegasus_RPG> Yeah... bazaar's slowness on LP is the reason we no longer host our code there
[16:42] <Pegasus_RPG> (That and git's merge wizardry)
[16:42] <cjwatson> LP had its staffing heavily cut a few years back, and it's certainly a much smaller team than it was, but there are still a couple of us working on it.
[16:43] <cjwatson> (And several major features that have been developed since that cut)
[16:43] <Pegasus_RPG> Okay that's good to know. It has its strong points over other code-hosting/collaboration sites which is why we still use it
[16:44] <Pegasus_RPG> But we do indeed miss the integration of bugs and code/branches
[16:45] <cjwatson> Right, that was what first sold me on LP as an Ubuntu developer ten years ago or so :)
[16:45]  * Pegasus_RPG wonders if other sites expose enough info to be able to have LP yank the needed info over their APIs...
[16:45] <cjwatson> We do import a bunch of stuff.
[16:46] <cjwatson> Not anything like merge proposals, though.
[16:46] <Pegasus_RPG> Yeah... the biggest reason we use the other site we do is the ease of doing merge proposals, discussions, comments, etc.
[16:47] <Pegasus_RPG> It would at least be great if LP could monitor the APIs and auto-link a bug to someone's merge proposal on the other site.
[16:47] <Pegasus_RPG> But one thing at a time. :)
[16:48] <Pegasus_RPG> I assume there are plans to have LP work as seamless with Git as it does with Bazaar?
[16:49] <cjwatson> Pegasus_RPG: It almost does today.  Just a few remaining bits of parity and some tidying up of the merge proposal UI.
[16:49] <Pegasus_RPG> oh sweet
[16:50] <cjwatson> I think the only missing features are translations integration, useful subscriptions, and RSS feeds.
[16:51] <Pegasus_RPG> On that train of thought, I told LP to import our trunk from the other site, and it did, along with the branches, but there's no facility to specify in a series that the code for that series is in one of those already-imported branches. Should I file a bug on this?
[16:51] <cjwatson> For Bazaar or Git?
[16:51] <Pegasus_RPG> Git
[16:51] <Pegasus_RPG> "If the code is already in a Bazaar branch registered with Launchpad link the branch to this series. "   I need that but for Git
[16:52] <cjwatson> The association with Git branches is somewhat deliberately weaker than with Bazaar.
[16:52] <cjwatson> Mainly because Git branches are more ephemeral in database terms, and often in practice too.
[16:52] <cjwatson> Why specifically do you need a hard database-level association (as opposed to e.g. writing something in the series description)?
[16:52] <Pegasus_RPG> How so? We treat our git branches pretty much like we did Bazaar ones
[16:52] <Pegasus_RPG> we make them for stable release series as well as bug fixes
[16:53] <cjwatson> LP doesn't get to intervene when git branches are deleted in the same way that it does when bzr branches are deleted
[16:53] <cjwatson> So having a hard association with a series is problematic
[16:53] <Pegasus_RPG> Oh I guess I don't. It would just make it more convenient to see the link on the series page in the same place.
[16:54] <cjwatson> https://bugs.launchpad.net/launchpad/+bug/1580167
[16:54] <mup> Bug #1580167: Hide the "Code for this series" UI in projects that are configured to use git <confusing-ui> <git> <lp-code> <ui> <Launchpad itself:Triaged> <https://launchpad.net/bugs/1580167>
[16:54] <cjwatson> (That said, we might need to tackle this if we do translations integration)
[16:55] <Pegasus_RPG> (BTW, mup is including the > in the URL, making it not directly clickable.)
[16:56] <cjwatson> I'm not sure I have any idea who runs mup; I /ignore it :-)
[16:57] <Pegasus_RPG> (or it's my IRC client...)
[16:57] <Pegasus_RPG> Testing: <https://bugs.launchpad.net/launchpad/+bug/1580167>
[16:57] <mup> Bug #1580167: Hide the "Code for this series" UI in projects that are configured to use git <confusing-ui> <git> <lp-code> <ui> <Launchpad itself:Triaged> <https://launchpad.net/bugs/1580167>
[16:57] <Pegasus_RPG> yep, my client, sorry
[16:58] <cjwatson> The <URL> convention is reasonably old, although it's always been disputed
[16:58] <cjwatson> If we did a series link for git, I think we'd have to do the same kind of thing we do for MPs, where you can have a link but the link is allowed to go away.
[16:59] <cjwatson> i.e. stored as repository + a text column for the branch; the link changes style when it stops referring to anything; and deleting the entire repository checks and either prevents deletion or breaks the link
[17:00] <Pegasus_RPG> Sound good to me
[17:01] <Pegasus_RPG> When one imports a Git tree so it can be reached at lp:project, is it made to look like a bazaar tree to LP or does it fully understand Git at this point? (e.g. if I did bzr branch/checkout lp:project, would that work?)
[17:01] <cjwatson> It's native.
[17:01] <cjwatson> No bzr/git translation in either direction is involved.
[17:01] <Pegasus_RPG> ok good
[17:01] <Pegasus_RPG> so that command would fail
[17:01] <cjwatson> Yes
[17:02] <cjwatson> lp:turnip (historical reasons ...) is the slightly specialised git server; it uses git send-pack/receive-pack for most of the hard work, but has some translation layers on top.
[17:02] <cjwatson> e.g. so that we don't have to move storage around when its logical location in the LP taxonomy changes
[17:06] <Pegasus_RPG> okay checkout of lp:launchpad done
[17:06] <Pegasus_RPG> err branch
[17:06] <cjwatson> You're going from https://dev.launchpad.net/Running/LXD ?
[17:06] <cjwatson> (If not, I strongly recommend doing so)
[17:08] <Pegasus_RPG> uh no, https://dev.launchpad.net/Getting
[17:08] <Pegasus_RPG> oh crap, thanks for the warning
[17:10]  * cjwatson edits that a bit
[17:13] <cjwatson> You can do the Running/LXD bit and then run utilities/rocketfuel-setup inside the container in the branch you now have checked out (possibly moving it into the right place first; you can have it be somewhere other than that page says, but you need to adjust ~/.rocketfuel-env.sh if so, so depends how strongly you feel about your homedir layout)
[17:52] <Pegasus_RPG> I first need to upgrade my kernel, heh
[19:20] <Pegasus_RPG> Does anyone know if there is an OAuth API for LP/Ubuntu One so that we could have people use their LP credentials to access our wiki for example? Searching the Web only refers to the now-defunct one.ubuntu.com service.
[19:21] <Pegasus_RPG> Similarly, can people use other OAuth ID providers (e.g. Facebook) to log in to Launchpad?
[19:24] <cjwatson> Other services can authenticate against login.ubuntu.com, which is the same as login.launchpad.net (just a different frontend hostname).
[19:24] <cjwatson> However, it is not possible to use other providers to sign in to Launchpad.
[19:25] <cjwatson> login.ubuntu.com is an OpenID provider.
[19:25] <cjwatson> https://help.launchpad.net/YourAccount/OpenID
[19:27] <Pegasus_RPG> OpenID 2.0 or OpenID Connect?
[19:27] <Pegasus_RPG> looks like 2.0
[19:32] <Pegasus_RPG> Unfortunately that is falling out of favor and OpenID Connect (based on OAuth) is taking its place