[15:54:44] legoktm: Is https://www.mediawiki.org/wiki/Continuous_integration/Phan#Running_Phan right? I don't see vendor/bin/phan, only vendor/bin/phpunit. [16:09:09] Can someone verify for me whether they are able to clone a MW extension repo (e.g. Cite or TemplateData) from Gerrit (or GitHub) with git 2.21.0? I'm getting the same error on all four variants: "fatal: multiple updates for ref 'refs/remotes/origin' not allowed" [16:09:21] It's fine on 2.17 [16:11:04] <_joe_> Krinkle: uhm strange [16:11:06] https://gist.github.com/Krinkle/fac27525552dc339c184eea4191d3b68 [16:11:18] <_joe_> I'm on 2.20.1 [16:11:49] <_joe_> I can clone fine [16:12:52] Yeah, it was fine on 2.20.1 for me as well before last night's upgrade. [16:12:55] <_joe_> Krinkle: have you tried --no-tags ? [16:13:28] I don't know about that but trying it just now, leads to the same error [16:13:47] <_joe_> ok, I hoped we used tags in some now-disallowed way [16:14:41] is there a no-branches option? [16:15:09] Anyway, this seems to affect a clone from GitHub as well, and I assume that git should be able to clone any repo from github without fatal errors like this [16:15:13] <_joe_> I don't think you can not receive rremote branches [16:15:22] <_joe_> yeah, it's pretty strange [16:15:43] <_joe_> I'd look at the output running with GIT_TRACE=1 [16:15:46] Ha, if I move my .gitconfig out of the way, it works. [16:15:49] so must be something in my settings [16:15:54] <_joe_> heh [16:16:01] <_joe_> interesting though [16:17:13] <_joe_> Krinkle: btw I've answered to your concerns in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikimediaEvents/+/492306 , I hope I addressed them. I have to admit I am a bit cargo-culting whit frontend js, although the documentation of the mw api is quite good [16:18:12] Looks like this like made it fail: [16:18:12] [remote "origin"] [16:18:13] fetch = +refs/heads/*:refs/remotes/origin/* [16:18:16] No idea why I added that. [16:21:40] <_joe_> I have no idea what that does [16:22:02] <_joe_> interesting though [16:22:51] "The fetch refspec is +refs/heads/*:refs/remotes/origin/*, this means 'fetch all refs under refs/heads, and map them to refs/remotes/origin'. The leading + means that git will accept any update, not just updates that are descendants of the current values of the local refs, thus allowing history rewriting." [17:01:54] hi tgr - regarding https://gerrit.wikimedia.org/r/491400 I'm not sure if it is a FP. It'd be good however to have the patch merged, cherry-picked to the current wmf version(s) and finish that rename :) [17:02:15] I wish I could help with the xss compain [17:04:46] hauskatze: yeah, trying to figure out what's going on there [17:07:54] Krinkle: git tends to add that line automatically when you set up a remote [17:08:06] it basically just means, fetch all branches/tags [17:11:09] I think in the end the error just means you have that line twice in your config [18:19:08] tgr: I had it in my ~/.gitconfig [18:19:19] so I guess something changed in git 2.21 that makes it no longer tolerate that [19:33:12] tgr: so I see the patch is now merged and cherry picked (I guess not yet scap-ed?) How shall we proceed? Will we use the maintenance script to unblock the rename so it continues or do we rollback the rename and retry from start? [20:14:46] TimStarling: when youre around - could you confirm I understand timeout logic correctly? https://phabricator.wikimedia.org/T216860#4982456 [20:37:21] anomie: oh, I messed up. I think its in the root of the git dir as phan [20:39:55] legoktm: That's what I thought, but I wasn't sure. [21:53:58] legoktm: question: I am trying to enable new phan for WikibaseCirrusSearch ext, and it depends on Wikibase & CirrusSearch. I added them to config, but it seems to still not find classes defined in Wikibase/Cirrus. Any idea why could that be? [21:54:03] it's in https://integration.wikimedia.org/ci/job/mwext-php70-phan-docker/21489/console [21:54:46] legoktm: does it need extension.json or something other in dependent extensions? [21:55:13] the phan patch is https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikibaseCirrusSearch/+/492576 [21:55:21] tgr / Reedy with the fix backported on Renameuser, can the rename be finished or are we waiting on something else? :) [21:55:58] green light from the DBAs, since this is a rename with a huge number of edits [21:56:42] aha; as far as I was told, the rename on commons was okay on db_master but I'm not sure what they meant - I'll ping Manuel [21:56:43] Krinkle: yes, specifically, in HHVM it is possible to configure whether CPU or wall clock time is used, and we select wall clock time [21:57:29] it's okay, it just should be done at a time of day when they can be available [21:58:33] tgr: I understand we need the script to reenqueue the job again right? [21:58:46] yeah [21:59:12] okay so nothing I can do; I'll ask them nonetheless [22:01:00] and done, left a question at the task [22:21:18] legoktm: nm I found the error... my mistake. [23:02:40] eprodromou: I skimmed the website and spec of graphql for half an hour or so, that's the extent of my experience with it [23:02:57] but I gather it's really more software than spec [23:03:02] That answers my question! [23:03:23] that is, there is a specific implementation which everyone is using, nobody is doing GraphQL from scratch [23:03:43] Have you tried https://graphql.wmflabs.org/ ? [23:03:51] no [23:04:01] It might be interesting to play around with [23:04:46] so when you say it can be at the network edge in front of REST, my understanding is that that is really the only game in town [23:05:15] which might also connect with some of mobrovac's concerns about flexibility and configurability [23:05:43] I think there are a few implementations, https://graphql.org/code/ [23:06:30] There's a server that seems popular, https://www.apollographql.com/docs/apollo-server/ [23:07:28] Here is my rough take: I don't think it's in our interest or in our DNA to make a bet on a new technology and say, "This is our preferred API." [23:09:17] * bd808 assumes that all "one API standard to make everything interoperable and discoverable" schemes are snake oil [23:09:23] I think frontend teams should just be writing their own server-side API modules, I don't think they should be finding ways to work around not being able to do that [23:10:21] it is Conway's Law I guess, but in theory it is fixable, we can have people temporarily assigned to projects or whatever [23:11:56] That's probably a fair point [23:12:07] OK, so in theory you could have a GraphQL server written in PHP, but presumably nobody would actually want to do that, except as a toy [23:12:12] bd808: that's probably fair [23:12:26] TimStarling: I guess I should figure out what this labs code is [23:12:38] the idea of it is that a cache hit ratio of zero is justifiable if the server is at the edge [23:12:48] I don't see how you can make GraphQL work any other way [23:13:14] have PHP at the edge I guess [23:13:21] I think we have an extension for MW that does GraphQL too [23:14:48] how far are you going to take this design document into technical details? [23:15:23] like exact paths [23:15:59] I think that probably goes over the border from "product" to "architecture" [23:17:15] There are some finer points, like whether we allow both page IDs and page titles in the paths, or one or the other [23:17:39] how about pinning down requirements from clients, the exact modules they need? [23:18:00] That I can do. [23:18:28] for example you have "As a mobile native software developer at WMF, I want to have a backend for consuming all parts of pages from WMF sites" [23:18:39] Yes [23:18:39] I think this is a reference to an existing RESTBase endpoint? [23:18:46] That was reading a page [23:18:53] "reading a page" [23:19:36] The RESTBase API lets you read a whole page, read just the lead plus sections, or read just the "rest" [23:20:07] So, definitely taking that down to the next level of granularity [23:20:19] Similarly, there's some hand-waving over "admin functionality" [23:20:34] And getting down to what can be done in detail is important [23:20:43] So I can make those finer-grained [23:21:22] I think the "Functional Requirements" might be a useful place to get into that level of detail [23:21:24] I would like to have a use case table: what is being done by the action API, what is being done by RESTBase, what the modules are currently called, and ideally some rows for near future requirements that don't exist yet in either [23:21:56] currently I have to read this and translate descriptions back to module names to understand it [23:22:27] I hear you [23:22:40] OK, I'm happy to do that, that's an excellent next step [23:22:47] I'm going to do it as a separate document though [23:22:55] sounds good [23:22:59] maybe a spreadsheet [23:23:47] That's what I was thinking [23:23:57] Or a table on MediaWiki.org [23:24:10] I'll start with a spreadsheet [23:27:17] OK, I'm going to work on this this week, will share as soon as it's started [23:27:57] All right, I need to run [23:28:10] Dinner time on the East Coast of North America