joshuaspence (Joshua Spence)
Code Monkey

Projects (83)

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Tuesday

  • Clear sailing ahead.

User Details

User Since
Oct 9 2013, 12:25 AM (176 w, 4 d)
Availability
Available

Recent Activity

Wed, Feb 15

joshuaspence added inline comments to D17357: arc set-config: warn about unknown keys.
Wed, Feb 15, 9:54 PM

Tue, Feb 14

joshuaspence retitled D17350: Allow external linters to operate on multiple paths in batches from Allow external linters to operate on multiple paths to Allow external linters to operate on multiple paths in batches.
Tue, Feb 14, 4:36 AM
joshuaspence created D17350: Allow external linters to operate on multiple paths in batches.
Tue, Feb 14, 3:36 AM

Fri, Feb 10

joshuaspence accepted D17232: Improve `ArcanistDeprecationXHPASTLinterRule` by lowercasing keys in `xhpast.deprecated.functions`.
Fri, Feb 10, 2:45 AM

Thu, Feb 9

shepting awarded D11657: Add a ShellCheck linter a Doubloon token.
Thu, Feb 9, 5:50 PM

Tue, Feb 7

joshuaspence added a comment to I2 Donate to Phacility.

Macro awwyiss2:

Tue, Feb 7, 8:54 PM · Phacility
joshuaspence added a comment to I2 Donate to Phacility.

Can haz badge??? 🍺

Tue, Feb 7, 8:49 PM · Phacility
joshuaspence backed I2 Donate to Phacility with $3.00 USD.
Tue, Feb 7, 8:47 PM · Phacility
joshuaspence backed I2 Donate to Phacility with $1.00 USD.
Tue, Feb 7, 8:43 PM · Phacility
joshuaspence added a comment to T8937: Unclear exception when patching non-existant revision.

I don't believe this is related to E being set in variables_order.

Tue, Feb 7, 8:40 PM · Arcanist

Wed, Feb 1

robertkraig awarded Community Resources a Love token.
Wed, Feb 1, 8:22 PM

Jan 25 2017

1stone awarded T4558: Make Diviner useful for third-parties a Like token.
Jan 25 2017, 8:16 AM · Diviner

Jan 23 2017

joshuaspence added a comment to T12144: Ability to reorder milestones on a project's workboard.
In T12144#208351, @chad wrote:

I'd rather fix the core problem if it's an unclear typeahead.

Jan 23 2017, 1:16 AM · Projects, Feature Request

Jan 22 2017

joshuaspence added a comment to T12144: Ability to reorder milestones on a project's workboard.

My understanding is that subprojects are basically just regular projects but with a parent relationship. We didn't want these projects to pollute the projects typeahead because no-one should be creating tasks within these subprojects (given that these subprojects dictate what we are working on). By choosing "milestone" instead of "subproject", it becomes clearer in the project typeahead that the subproject is internal to the parent project. That is, if we made #our_january_goal a subproject then it would show up in the projects typeahead as "Our January Goal" whereas as a milestone it is rendered as "Our Team (Our January Goal)".

Jan 22 2017, 11:45 PM · Projects, Feature Request
joshuaspence created T12144: Ability to reorder milestones on a project's workboard.
Jan 22 2017, 11:10 PM · Projects, Feature Request
chad awarded T9640: Make Phabricator compatible with PHP7 a Yellow Medal token.
Jan 22 2017, 7:26 PM · Prioritized, Restricted Project, Infrastructure
dmgarcia awarded T9640: Make Phabricator compatible with PHP7 a Yellow Medal token.
Jan 22 2017, 7:20 PM · Prioritized, Restricted Project, Infrastructure
dmgarcia awarded T9640: Make Phabricator compatible with PHP7 a Orange Medal token.
Jan 22 2017, 7:20 PM · Prioritized, Restricted Project, Infrastructure

Jan 19 2017

joshuaspence requested changes to D17232: Improve `ArcanistDeprecationXHPASTLinterRule` by lowercasing keys in `xhpast.deprecated.functions`.

I think you probably want to use CaseInsensitiveArray, otherwise the linter message won't exactly match xhpast.deprecated.functions.

Jan 19 2017, 10:38 PM

Jan 18 2017

cburroughs awarded T5889: Allow herald rules to act on existence of auditors a Mountain of Wealth token.
Jan 18 2017, 9:47 PM · Restricted Project, Audit, Herald
sgielen awarded T9640: Make Phabricator compatible with PHP7 a Yellow Medal token.
Jan 18 2017, 3:25 PM · Prioritized, Restricted Project, Infrastructure

Jan 13 2017

joshuaspence awarded T12101: Phabricator PHP 7 Compatibility a Mountain of Wealth token.
Jan 13 2017, 10:51 PM · Infrastructure, Guides
skibbipl awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Jan 13 2017, 12:09 PM · Prioritized, Restricted Project, Infrastructure
cmmata awarded T9640: Make Phabricator compatible with PHP7 a 100 token.
Jan 13 2017, 10:16 AM · Prioritized, Restricted Project, Infrastructure
Zolli awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Jan 13 2017, 6:03 AM · Prioritized, Restricted Project, Infrastructure

Jan 12 2017

PhoneixS awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Jan 12 2017, 9:58 AM · Prioritized, Restricted Project, Infrastructure

Jan 8 2017

joshuaspence created T12082: Differential emails are rendering literal HTML tags.
Jan 8 2017, 10:33 PM · Differential, Bug Report
joshuaspence abandoned D17159: Testing blocking reviewers.
Jan 8 2017, 10:32 PM
joshuaspence added a reviewer for D17159: Testing blocking reviewers: epriestley.
Jan 8 2017, 10:30 PM
joshuaspence created D17159: Testing blocking reviewers.
Jan 8 2017, 10:28 PM

Jan 2 2017

joshuaspence added projects to T11953: Herald rule for commits on autoclose branch didn't trigger when a commit was first pushed to a branch, then to master (fast-forward): Diffusion, Herald.
Jan 2 2017, 10:26 AM · Diffusion (v3), Herald, Bug Report
joshuaspence added a comment to T11085: Prevent users from generating an ambiguous commit message by editing revisions with the web UI.

You're watching #twitter.

Jan 2 2017, 1:42 AM · Prioritized, Restricted Project, Arcanist, Bug Report

Jan 1 2017

joshuaspence added a comment to T10038: Plan the mid-term pathway for linter bindings.

Do you see there being a "Blessed" foo-linter (maybe as a repo on this instance?), or will there be multiple foo-tributes fending themselves in the wilds of github?

This is all still pretty early, but I imagine this instance mostly just collecting packages into a directory for now. The actual source might be on GitHub, but you'd be able to search this instance to find all foo-linter extensions by authors who had bothered to register their packages.

In some cases, we'd likely pull linters out of arc and turn them into Phacility-Published extensions (secure.phabricator.com/phacility/foo-linter) which we'd sign. These would be "blessed", as long as you continue trusting our signing keys.

In some cases, I'd like to "soft-bless" extensions as "safe, but don't come to us for support" with some sort of "Community Badge of Quality" key. For example, you might publish a secure.phabricator.com/cburroughs/foo-linter) which we'd sign in an advisory way which mean "we looked at the code, it seems fine, but we aren't taking bug reports for it". The UI and arc install would show users that someone they trust also trusts this code.

In some cases, untamed wilds, but collected in one place and searchable, with signing and a consistent toolset.

If nothing is blessed, you may have to make a decision like this yourself:

$ arc install foo-lint
Query "foo-lint" matches multiple packages:

  secure.phabricator.com/alice/foo-lint
  secure.phabricator.com/bob/foo-lint

None of these packages or vendors are signed by anything you trust.

Which package do you want to install?

But I think that should be OK. And we can do some level of positive and negative curation (advisory signing on good packages, disabling bad packages)..

You'll also be able to have an internal package directory for your company's stuff, so you can just publish internal things to it and then everyone can use standard tools to manage extensions.

Some day far in the future I could imagine the package directory integrating with other applications (e.g., giving each package its own repositories and tasks, like GitHub) but that's definitely far in the future. I expect most extensions (like linter bindings) to be small so they wouldn't get much benefit (e.g., 100 lines of code updated a couple times a year) and large extensions (eventually, third-party applications) to probably want to self-host on their own Phabricator instances in most cases.

The immediate goal is just fixing the problem that distributing extensions is a huge pain and all solutions have major downsides, with "convince the upstream to accept the extension" being the best option for everyone but us. The new distribution mechanism would be:

$ arc lint
Okay, automatically installing all the extensions this project needs.

(...prompts if you need to trust new stuff...)

Done!
...
nice lint output

Which fixes distribution. In the long run, there's a lot we can do to build stronger ecosystem tools, but I'm less worried about tackling that stuff today than I am about moving distribution to a broadly reasonable mechanism.

Jan 1 2017, 3:22 AM · Lint, Arcanist

Dec 29 2016

joshuaspence added a comment to D17058: Separate all commit message field parsing out of Differential custom fields.

Thanks for the explanation.

Dec 29 2016, 8:57 PM
joshuaspence added a comment to T11114: Move Differential to EditEngine.

From D17067:

Dec 29 2016, 10:42 AM · Prioritized, Restricted Project, Infrastructure, EditEngine, Differential
joshuaspence added projects to T11343: Generate default "Depends on" line in commit message when multiple diffs are stacked: Arcanist, Differential.
Dec 29 2016, 7:08 AM · Differential, Arcanist, Feature Request

Dec 28 2016

joshuaspence added a comment to D17058: Separate all commit message field parsing out of Differential custom fields.

Also, is it intentional that the field name is wrapped in pht(...) but the field aliases are not?

Dec 28 2016, 11:59 PM
joshuaspence added inline comments to D17058: Separate all commit message field parsing out of Differential custom fields.
Dec 28 2016, 11:52 PM

Dec 15 2016

J5lx awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Dec 15 2016, 7:13 PM · Prioritized, Restricted Project, Infrastructure

Dec 9 2016

rafaelrabeloit awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Dec 9 2016, 3:53 PM · Prioritized, Restricted Project, Infrastructure

Dec 6 2016

salvian awarded T5155: Evaluate support for AWS IAM Roles in S3 Client a Like token.
Dec 6 2016, 9:30 AM · Files

Dec 2 2016

vanmeeuwen awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Dec 2 2016, 6:48 AM · Prioritized, Restricted Project, Infrastructure

Dec 1 2016

joshuaspence added a project to T11933: Let `PhutilTypeLexer` support PHP style qualified names: libphutil.
Dec 1 2016, 1:36 AM · libphutil, Feature Request

Nov 29 2016

joshuaspence added a comment to T11930: Users don't realise that they must link their account.

That didn't seem to be the case. It might have been because we only enforced Google authentication around one year ago, before that users could use a password for authentication. I can check later today, but perhaps the users that ended up with duplicate accounts never setup Google Auth.

Nov 29 2016, 9:42 PM · NUX, Auth
joshuaspence added a project to T11930: Users don't realise that they must link their account: NUX.
Nov 29 2016, 9:35 PM · NUX, Auth
joshuaspence added a comment to T11930: Users don't realise that they must link their account.

To provide some additional context, we originally allowed users to register their own accounts, but we eventually disabled this because we ended up with around 30 duplicate accounts (users with more than one account). I think that this happened because users had listed an alias address in their Phabricator settings, but Google was using a canonical email address to authenticate, which didn't map to any existing user accounts (we have a lot of users that have aliases set up. For example, abraham@mycompany.com would be an alias for the canonical alincoln@mycompany.com address).

Nov 29 2016, 9:35 PM · NUX, Auth
joshuaspence created T11930: Users don't realise that they must link their account.
Nov 29 2016, 9:32 PM · NUX, Auth
joshuaspence added a project to T11509: Provide a way to quickly see if all comments on a diff have been marked as "done": Differential.
Nov 29 2016, 12:32 AM · Differential, Restricted Project, Feature Request
joshuaspence renamed T11495: Drydock doesn't delete working copies from "DryDock doesn't delete working copies" to "Drydock doesn't delete working copies".
Nov 29 2016, 12:30 AM · Bug Report (Needs Information), Drydock
Herald updated subscribers of T11476: Record transaction histories when users edit application capabilities.
Nov 29 2016, 12:28 AM · Contributor Onboarding, Restricted Project, Applications, Feature Request

Nov 28 2016

joshuaspence added a project to T11900: Create bot reviewers that do code analysis and post findings as inline comments.: Differential.
Nov 28 2016, 7:21 PM · Differential, Feature Request

Nov 18 2016

pmatos awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Nov 18 2016, 4:36 PM · Prioritized, Restricted Project, Infrastructure
joshuaspence added a comment to D16822: Add a `phutil_person()` wrapper for the string extractor.

Wouldn't it be better to add some sort of %g format string? If I understand correctly, the current approach doesn't work in cases like this:

Nov 18 2016, 6:49 AM

Nov 3 2016

NMeral awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Nov 3 2016, 7:35 AM · Prioritized, Restricted Project, Infrastructure

Sep 28 2016

joshuaspence added a comment to T11705: Repositories are getting stuck.

Thanks!

Sep 28 2016, 10:02 PM · Diffusion, Daemons
joshuaspence added a comment to T11705: Repositories are getting stuck.

I clicked "Update Now" and the update frequency for our most active repository has dropped back down to 15 seconds.

Sep 28 2016, 2:04 AM · Diffusion, Daemons
joshuaspence created T11705: Repositories are getting stuck.
Sep 28 2016, 2:03 AM · Diffusion, Daemons

Sep 26 2016

joshuaspence closed T11699: `arc patch` is timing out as "Invalid".

Sorry, apparently after running arc upgrade it no longer times out (although it does take a long time).

Sep 26 2016, 4:07 AM · Conduit, Differential
joshuaspence added a comment to T11699: `arc patch` is timing out.
In T11699#195930, @chad wrote:

The error log says July

Sep 26 2016, 2:29 AM · Conduit, Differential
joshuaspence added a comment to T11699: `arc patch` is timing out.

Server

Sep 26 2016, 2:27 AM · Conduit, Differential
joshuaspence added a comment to T11699: `arc patch` is timing out.

Here are some query traces from XHProf:

Sep 26 2016, 1:24 AM · Conduit, Differential
joshuaspence added a comment to T11699: `arc patch` is timing out.
> time echo '{"revisionIDs": [46496]}' | arc call-conduit  differential.querydiffs >/dev/null
Sep 26 2016, 12:13 AM · Conduit, Differential
joshuaspence created T11699: `arc patch` is timing out.
Sep 26 2016, 12:13 AM · Conduit, Differential

Sep 10 2016

joshuaspence renamed T11606: Allow custom fields to accept function tokens like "viewer()" from "Allow custom "users" fields to accept function tokens like "viewer()"" to "Allow custom fields to accept function tokens like "viewer()"".
Sep 10 2016, 12:44 AM · Custom Fields, Typeahead, Feature Request
joshuaspence added a project to T11606: Allow custom fields to accept function tokens like "viewer()": Custom Fields.
Sep 10 2016, 12:40 AM · Custom Fields, Typeahead, Feature Request
joshuaspence renamed T11609: Don't resize small pictures in Remarkup from "don't resize small pictures in remarkup" to "Don't resize small pictures in Remarkup".
Sep 10 2016, 12:38 AM · Remarkup

Sep 8 2016

joshuaspence added a comment to T11610: Call to a member function getCommitDetail() on a non-object.

I was able to reproduce on this install by passing rPf712ae718ccc1c94d882c626ca8626b77346026b to the Herald test console.

Sep 8 2016, 10:46 PM · Diffusion, Herald
joshuaspence created T11610: Call to a member function getCommitDetail() on a non-object.
Sep 8 2016, 10:46 PM · Diffusion, Herald

Sep 7 2016

pouyana awarded T4558: Make Diviner useful for third-parties a Mountain of Wealth token.
Sep 7 2016, 10:25 AM · Diviner

Sep 2 2016

joshuaspence accepted D16484: Use new format for docblock specials when parsing symbols.
Sep 2 2016, 12:03 PM
joshuaspence accepted D16487: Update Diviner for array-valued `@doc-stuff` return values from DocblockParser.
Sep 2 2016, 12:02 PM

Aug 30 2016

joshuaspence added a comment to D16464: Properly Set Host Header in Conduit Client.

Interestingly, I can't see the contents of this diff... I just see "No data available" under "Revision Contents" and nothing under "Diff 39613".

Aug 30 2016, 9:34 AM

Aug 23 2016

joshuaspence added a member for Contributor Onboarding: joshuaspence.
Aug 23 2016, 12:32 PM
joshuaspence awarded T11480: Stop sending misbehaving user nonsense to the error log a Doubloon token.
Aug 23 2016, 12:26 PM
joshuaspence committed rPHU237549280f08: Improve parsing of docblock specials (authored by joshuaspence).
Improve parsing of docblock specials
Aug 23 2016, 2:14 AM
joshuaspence closed D16431: Improve parsing of docblock specials by committing rPHU237549280f08: Improve parsing of docblock specials.
Aug 23 2016, 2:13 AM
joshuaspence updated the diff for D16431: Improve parsing of docblock specials.

Add another test case

Aug 23 2016, 2:11 AM
joshuaspence updated the diff for D16431: Improve parsing of docblock specials.

Don't call array_unique

Aug 23 2016, 1:57 AM
joshuaspence updated the diff for D16431: Improve parsing of docblock specials.

Add another test case

Aug 23 2016, 1:47 AM
joshuaspence added inline comments to D16431: Improve parsing of docblock specials.
Aug 23 2016, 1:44 AM
joshuaspence retitled D16431: Improve parsing of docblock specials from to Improve parsing of docblock specials.
Aug 23 2016, 12:26 AM

Jul 31 2016

Info-Screen awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Jul 31 2016, 8:20 AM · Prioritized, Restricted Project, Infrastructure

Jul 27 2016

joshuaspence added a comment to D16332: Move command spelling correction to libphutil.

Was it intentional that this is no longer case-sensitive? I used this method for a custom linter rule and it no longer detects foobar as a mispelling of FOOBAR.

Jul 27 2016, 11:46 PM

Jul 20 2016

sascha-egerer awarded T5568: Support `.arcunit`, similar to `.arclint` a Hungry Hippo token.
Jul 20 2016, 5:24 AM · Unit, Arcanist

Jun 26 2016

joshuaspence awarded T11217: Make Tokens modular / real application a Like token.
Jun 26 2016, 10:06 PM · Restricted Project, Contributor Onboarding, Celerity, Tokens
joshuaspence added a project to T11218: Differential advanced search: bucket/group by repository: Differential.
Jun 26 2016, 10:04 PM · Restricted Project, Differential, Feature Request

Jun 25 2016

ofbeaton awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Jun 25 2016, 8:38 PM · Prioritized, Restricted Project, Infrastructure
joshuaspence added a project to T11157: ability to disable support for certain VCS: Diffusion.
Jun 25 2016, 11:55 AM · Diffusion, Feature Request
joshuaspence added a project to T11163: Speed up wiki documents creation: Phriction.
Jun 25 2016, 11:54 AM · Phriction, Feature Request
joshuaspence added a project to T11168: Clicking a milestone tag should take you to the workboard, not the milestone project page: Maniphest.
Jun 25 2016, 11:50 AM · Projects, Feature Request
joshuaspence added a project to T11178: Some linters fail without a pathway forward if the PHP "xml" extension is not installed: Lint.
Jun 25 2016, 11:21 AM · Lint, Arcanist, Bug Report
joshuaspence edited the description of T11178: Some linters fail without a pathway forward if the PHP "xml" extension is not installed.
Jun 25 2016, 11:19 AM · Lint, Arcanist, Bug Report
joshuaspence added a project to T11195: Drydock's working copy should run "git lfs fetch && git lfs checkout" for repositories known to use Git LFS: Drydock.
Jun 25 2016, 10:56 AM · Drydock, Feature Request
joshuaspence edited the description of T11195: Drydock's working copy should run "git lfs fetch && git lfs checkout" for repositories known to use Git LFS.
Jun 25 2016, 10:55 AM · Drydock, Feature Request
joshuaspence edited the description of T11195: Drydock's working copy should run "git lfs fetch && git lfs checkout" for repositories known to use Git LFS.
Jun 25 2016, 10:55 AM · Drydock, Feature Request
joshuaspence renamed T11205: Hard/Impossible to disable SSH built-in URIs from "Hard/Impossible to disable SSH built-in uris" to "Hard/Impossible to disable SSH built-in URIs".
Jun 25 2016, 10:51 AM · Diffusion (v3), Bug Report
joshuaspence added a project to T11169: User without "can edit" permission, can change task via comment action: Policy.
Jun 25 2016, 10:50 AM · Policy, Bug Report
joshuaspence added a project to T11207: User can change properties on the task, even when not having edit policy rights: Policy.
Jun 25 2016, 10:49 AM · Restricted Project, Policy, Bug Report
joshuaspence edited the description of T11208: Support Subversion revprops.
Jun 25 2016, 6:06 AM · Restricted Project, Subversion, Diffusion
joshuaspence added a project to T11210: Provide a way to query for commits with not "Done" (or at least unseen) comments: Audit.
Jun 25 2016, 6:05 AM · Audit, Feature Request