Page MenuHomePhabricator

joshuaspence (Joshua Spence)
Code Monkey

Projects (91)

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Sunday

  • Clear sailing ahead.

User Details

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

Recent Activity

Today

joshuaspence requested review of D20555: Add a hook method that is called before `ArcanistLinter::getLinterConfigurationOptions`.
Fri, May 24, 4:45 AM
joshuaspence updated the diff for D20523: Add a hook method that is called after `ArcanistLinter::setEngine`.

Rebase

Fri, May 24, 12:22 AM

Yesterday

joshuaspence updated the diff for D20526: Make it easier to parse external linter versions.

Minor

Thu, May 23, 10:20 PM
joshuaspence updated the summary of D20526: Make it easier to parse external linter versions.
Thu, May 23, 10:10 PM

Wed, May 22

joshuaspence updated the diff for D20526: Make it easier to parse external linter versions.

Implement parseVersionOutput in ArcanistExternalLinter so that it can be proxied from within another instance of ArcanistExternalLinter

Wed, May 22, 3:27 AM
joshuaspence updated the summary of D20526: Make it easier to parse external linter versions.
Wed, May 22, 3:24 AM
joshuaspence updated the diff for D20542: Be more strict when checking linter versions.

Rebase

Wed, May 22, 1:59 AM
joshuaspence requested review of D20542: Be more strict when checking linter versions.
Wed, May 22, 1:25 AM
joshuaspence requested review of D20541: Use the checkstyle reporter with JSHint.
Wed, May 22, 1:00 AM
joshuaspence updated the diff for D20526: Make it easier to parse external linter versions.

Rebase

Wed, May 22, 12:50 AM
joshuaspence added a comment to D20532: Fix handling of empty line/column in linter tests.

Unrelated but I noticed that ArcanistBundleTestCase::testGitRepository fails locally for me when running arc unit --everything:

Wed, May 22, 12:37 AM
joshuaspence updated the summary of D20526: Make it easier to parse external linter versions.
Wed, May 22, 12:32 AM

Tue, May 21

joshuaspence updated the summary of D20532: Fix handling of empty line/column in linter tests.
Tue, May 21, 8:34 AM
joshuaspence updated the diff for D20532: Fix handling of empty line/column in linter tests.

Remove description since it can span multiple lines

Tue, May 21, 8:34 AM
joshuaspence added a comment to D20526: Make it easier to parse external linter versions.

Semi-related thought: the current behavior of getVersion (return a string if successful, false if unable to determine the version or null if no version exists) is rather awkward and I feel like we should throw some sort of ArcanistUnableToDetermineLinterVersionException instead of returning false.

Tue, May 21, 8:18 AM
joshuaspence requested review of D20532: Fix handling of empty line/column in linter tests.
Tue, May 21, 8:02 AM
joshuaspence added a revision to T6854: Modify the `lint-test` file format to allow for assertions against linter codes: D20532: Fix handling of empty line/column in linter tests.
Tue, May 21, 8:02 AM · Lint
joshuaspence closed D11176: Modify the `lint-test` file format to allow for more powerful assertions.
Tue, May 21, 3:48 AM
joshuaspence committed rARCdd514e268b2c: Modify the `lint-test` file format to allow for more powerful assertions (authored by joshuaspence).
Modify the `lint-test` file format to allow for more powerful assertions
Tue, May 21, 3:48 AM
joshuaspence closed T6854: Modify the `lint-test` file format to allow for assertions against linter codes as Resolved by committing rARCdd514e268b2c: Modify the `lint-test` file format to allow for more powerful assertions.
Tue, May 21, 3:48 AM · Lint
joshuaspence updated the diff for D11176: Modify the `lint-test` file format to allow for more powerful assertions.

Rebase

Tue, May 21, 3:47 AM

Mon, May 20

joshuaspence updated the diff for D20526: Make it easier to parse external linter versions.

Remove unrelated change

Mon, May 20, 2:07 AM
joshuaspence added inline comments to D20526: Make it easier to parse external linter versions.
Mon, May 20, 2:05 AM
joshuaspence requested review of D20526: Make it easier to parse external linter versions.
Mon, May 20, 1:57 AM

Fri, May 17

joshuaspence abandoned D11773: [Draft] Convert `ArcanistScriptAndRegexLinter` to `ArcanistExternalLinter`.

Not actively working on this.

Fri, May 17, 2:24 AM
joshuaspence abandoned D10741: Added SCSS-Lint linter.

Moving this to flarc.

Fri, May 17, 2:22 AM
joshuaspence abandoned D11657: Add a ShellCheck linter.

Moving this to flarc.

Fri, May 17, 2:20 AM
joshuaspence abandoned D15133: Allow objects implementing `ArrayAccess` to the passed to `idx`.

Not actively working on this.

Fri, May 17, 1:52 AM
joshuaspence abandoned D14936: Convert passphrase to edit engine.

Not actively working on this.

Fri, May 17, 1:52 AM
joshuaspence abandoned D14655: Add an ID field to `PhabricatorBotTarget`.

This code is gone.

Fri, May 17, 1:51 AM
joshuaspence abandoned D14616: Consolidate two linter rules.

Not actively working on this.

Fri, May 17, 1:51 AM
joshuaspence abandoned D14482: Improve FontAwesome icons.

Not actively working on this.

Fri, May 17, 1:51 AM
joshuaspence abandoned D14474: Improve a bunch of translation strings.

Not actively working on this.

Fri, May 17, 1:50 AM
joshuaspence abandoned D14460: Provide more context to naming hook linter.

Not actively working on this.

Fri, May 17, 1:15 AM
joshuaspence abandoned D14416: Make all comments quotable.

Not actively working on this.

Fri, May 17, 1:13 AM
joshuaspence abandoned D14074: Add escaping for Checkstyle output.

Not actively working on this.

Fri, May 17, 1:13 AM
joshuaspence abandoned D13373: Separate interfaces in library maps.

Not actively working on this.

Fri, May 17, 1:10 AM
joshuaspence abandoned D13271: Rename DoorkeeperBridge subclasses.

Not actively working on this.

Fri, May 17, 1:10 AM
joshuaspence abandoned D12634: Extend revert edges.

Not actively working on this.

Fri, May 17, 1:09 AM
joshuaspence abandoned D11504: Add a linter rule for PHP indentation.

Not actively working on this.

Fri, May 17, 1:09 AM

Thu, May 16

joshuaspence requested review of D20523: Add a hook method that is called after `ArcanistLinter::setEngine`.
Thu, May 16, 1:58 AM

Wed, May 15

joshuaspence committed rARC82445bb60534: Let lint rules support anonymous classes (authored by wjiang).
Let lint rules support anonymous classes
Wed, May 15, 1:11 AM
joshuaspence closed D19741: Let lint rules support anonymous classes.
Wed, May 15, 1:11 AM
joshuaspence committed rPHU6c83b169bc18: Fix class attribute node in anonymous class (authored by wjiang).
Fix class attribute node in anonymous class
Wed, May 15, 12:56 AM
joshuaspence closed D19740: Fix class attribute node in anonymous class.
Wed, May 15, 12:55 AM
Herald updated subscribers of T4334: Support PHP5.4+ syntax in XHPAST.
Wed, May 15, 12:55 AM · XHPAST

Tue, May 14

joshuaspence abandoned D18379: Add a "Reviewed By" Herald condition.
Tue, May 14, 11:25 PM
joshuaspence committed rARC6a8e76db329e: Allow `buildFutures` and `resolveFutures` to be overridden (authored by joshuaspence).
Allow `buildFutures` and `resolveFutures` to be overridden
Tue, May 14, 11:10 PM
joshuaspence closed D19730: Allow `buildFutures` and `resolveFutures` to be overridden.
Tue, May 14, 11:10 PM
joshuaspence committed rARCfceac878f112: Allow `setCustomSeverityRules` to be overridden in subclasses (authored by joshuaspence).
Allow `setCustomSeverityRules` to be overridden in subclasses
Tue, May 14, 11:06 PM
joshuaspence closed D20514: Allow `setCustomSeverityRules` to be overridden in subclasses.
Tue, May 14, 11:06 PM
joshuaspence committed rARC4f583dded366: Call `$linter->setEngine` in linter tests (authored by joshuaspence).
Call `$linter->setEngine` in linter tests
Tue, May 14, 11:02 PM
joshuaspence closed D20515: Call `$linter->setEngine` in linter tests.
Tue, May 14, 11:02 PM
joshuaspence added a comment to D19730: Allow `buildFutures` and `resolveFutures` to be overridden.

Thanks for the reviews :)

Tue, May 14, 2:23 PM
joshuaspence accepted D20505: Remove unnecessary "," from Pylint version regex.
Tue, May 14, 12:40 AM
joshuaspence accepted D20510: When a user pastes a Phabricator URI into the search box, redirect to the URI.
Tue, May 14, 12:39 AM
joshuaspence accepted D20511: Provide an extension point for handling hyperlinks in remarkup in a special way.
Tue, May 14, 12:38 AM
joshuaspence accepted D20512: Specialize rendering of self-URIs in the form "/X123".
Tue, May 14, 12:36 AM
joshuaspence requested review of D19730: Allow `buildFutures` and `resolveFutures` to be overridden.
Tue, May 14, 12:32 AM
joshuaspence updated the summary of D20514: Allow `setCustomSeverityRules` to be overridden in subclasses.
Tue, May 14, 12:30 AM

Mon, May 13

joshuaspence updated the diff for D20514: Allow `setCustomSeverityRules` to be overridden in subclasses.

Remove a TODO comment that is no longer relevant

Mon, May 13, 11:48 PM
joshuaspence requested review of D20515: Call `$linter->setEngine` in linter tests.
Mon, May 13, 4:28 AM
joshuaspence requested review of D20514: Allow `setCustomSeverityRules` to be overridden in subclasses.
Mon, May 13, 4:19 AM

Fri, May 10

joshuaspence edited the content of Community Resources.
Fri, May 10, 12:52 AM

Fri, May 3

joshuaspence edited the content of Community Resources.
Fri, May 3, 4:59 AM
joshuaspence edited the content of Community Resources.
Fri, May 3, 4:58 AM

Fri, Apr 26

joshuaspence requested review of D20481: Apply custom fields implemented using edges to apply validation logic.
Fri, Apr 26, 4:19 AM

Apr 20 2019

joshuaspence added a comment to T13277: In repositories, realign "Track Only", "Autoclose", and "Publish/Notify" toward "Permanent Refs".

I believe there is very little reason for the "Autoclose" and "Publish" behaviors to actually be separate. That is, there are very few use cases where users want a commit to trigger only Herald or only feed or only audits. These use cases do exist (see T9210 for an example of "Herald, No Feed") but they're overwhelmingly niche and off-label.

Apr 20 2019, 2:19 AM · Plans, Diffusion
Herald updated subscribers of T11091: Make `arc patch` try the local working copy and staging areas.
Apr 20 2019, 2:11 AM · Haskell.org, Arcanist

Apr 19 2019

remusvrm awarded Changelog a Like token.
Apr 19 2019, 7:09 PM

Mar 1 2019

joshuaspence awarded D20221: Improve performance of "arc diff" updates for changes with large diff text a Burninate token.
Mar 1 2019, 1:00 AM

Feb 11 2019

joshuaspence awarded D20138: Improve top-level fatal exception handling in PHP 7+ a 100 token.
Feb 11 2019, 11:42 PM
joshuaspence awarded D20143: Let "phlog()" log Throwables a 100 token.
Feb 11 2019, 11:40 PM
joshuaspence awarded D20142: Let the top-level exception handler dump a stack trace if we reach debug mode before things go sideways a 100 token.
Feb 11 2019, 11:39 PM
joshuaspence added a comment to D20116: Explicitly fail if `phutil_build_http_querystring()` is passed a map of nonscalars.

Please report bugs to Discourse, not by making comments on changes or commits. If you believe you know which change caused a problem, you can link to it from your bug report on Discourse. It's easy for us to keep track of threads, and hard to keep track of random comments on already-closed changes. Thanks!

Feb 11 2019, 7:26 PM
joshuaspence added inline comments to D20126: Support a wider range of "Audit" rules for Owners packages.
Feb 11 2019, 6:45 AM
joshuaspence added a comment to D20116: Explicitly fail if `phutil_build_http_querystring()` is passed a map of nonscalars.

This broke some custom fields. Specifically, this custom field results in Phabricator fataling:

Feb 11 2019, 3:31 AM

Jan 21 2019

joshuaspence added a watcher for Plans: joshuaspence.
Jan 21 2019, 1:40 AM

Jan 11 2019

PXke awarded T4558: Make Diviner useful for third-parties a Mountain of Wealth token.
Jan 11 2019, 5:46 PM · Diviner

Dec 13 2018

joshuaspence added a comment to T13219: When returning a writable connection as a "r" connection, label it so it can be reused as a "w" connection.

I am seeing a similar issue on our install:

[2018-12-13 12:20:12] EXCEPTION: (PhabricatorClusterImproperWriteException) Unable to establish a write-mode connection (to application database "phabricator_repository") because Phabricator is in read-only mode. Whatever you are trying to do does not function correctly in read-only mode. at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:119] arcanist(head=stable, ref.master=d9a4293ae734, ref.stable=45a8d22c74a6), phabricator(head=stable, ref.master=2951694c2737, ref.stable=237a2a190984), phlab(head=master, ref.master=564c60d09ff4), phutil(head=stable, ref.master=dd136d1c3712, ref.stable=414a4c6abb1b)
  #0 PhabricatorLiskDAO::raiseImproperWrite(string) called at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:60]
  #1 PhabricatorLiskDAO::establishLiveConnection(string) called at [<phabricator>/src/infrastructre/storage/lisk/LiskDAO.php:1011]
  #2 LiskDAO::establishConnection(string) called at [<phabricator>/src/applications/repository/stora... (619 more bytes) ... at [<phutil>/src/future/exec/ExecFuture.php:380]
[13-Dec-2018 12:20:12 Etc/UTC] arcanist(head=stable, ref.master=d9a4293ae734, ref.stable=45a8d22c74a6), phabricator(head=stable, ref.master=2951694c2737, ref.stable=237a2a190984), phlab(head=master, ref.master=564c60d09ff4), phutil(head=stable, ref.master=dd136d1c3712, ref.stable=414a4c6abb1b)
[13-Dec-2018 12:20:12 Etc/UTC]   #0 <#3> ExecFuture::resolvex() called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:446]
[13-Dec-2018 12:20:12 Etc/UTC]   #1 phlog(PhutilProxyException) called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:453]
[13-Dec-2018 12:20:12 Etc/UTC]   #2 PhabricatorRepositoryPullLocalDaemon::resolveUpdateFuture(PhabricatorRepository, ExecFuture, integer) called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:222]
[13-Dec-2018 12:20:12 Etc/UTC]   #3 PhabricatorRepositoryPullLocalDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:219]
[13-Dec-2018 12:20:12 Etc/UTC]   #4 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:131]
Dec 13 2018, 11:40 PM · Clusters, Infrastructure
joshuaspence added a comment to T13219: When returning a writable connection as a "r" connection, label it so it can be reused as a "w" connection.

I am seeing a similar issue on our install:

Dec 13 2018, 11:38 PM · Clusters, Infrastructure
joshuaspence accepted D19880: Fix another qsprintf() straggler in "Has Open Subtasks".

Looks about right.

Dec 13 2018, 1:07 AM
joshuaspence edited P2111 (An Untitled Masterwork).
Dec 13 2018, 12:36 AM
joshuaspence edited P2111 (An Untitled Masterwork).
Dec 13 2018, 12:25 AM
joshuaspence created P2111 (An Untitled Masterwork).
Dec 13 2018, 12:24 AM

Dec 12 2018

joshuaspence added a comment to T12145: Resource allocator does not create new host resources when one is already active.

I'm having some trouble getting this new behaviour (which IIUC basically means that multiple hosts in a Drydock pool should be load-balanced across). In "active resources" I see three Drydock hosts, which all belong to the same Almanac service. In "active leases", however, I see only a single host lease and many working copy leases.

Dec 12 2018, 10:15 AM · Bug Report, Drydock

Dec 9 2018

joshuaspence added a comment to T12145: Resource allocator does not create new host resources when one is already active.

I'm having some trouble getting this new behaviour (which IIUC basically means that multiple hosts in a Drydock pool should be load-balanced across). In "active resources" I see three Drydock hosts, which all belong to the same Almanac service. In "active leases", however, I see only a single host lease and many working copy leases.

Dec 9 2018, 11:39 PM · Bug Report, Drydock

Dec 7 2018

joshuaspence accepted rP5d54f26daca8: Support reading and querying Almanac service PHIDs via "diffusion.repository..
Dec 7 2018, 2:34 AM

Nov 21 2018

joshuaspence added a comment to T7643: Improve prose diffs (was: description changes don't generate usable diffs).

I do have a real-life example where the prose diff engine rendered a suboptimal diff. I was able to fix it by chanvging the maxmimum length of the edit distance matrix from 128 to 256.

Nov 21 2018, 5:44 AM · Prioritized, Transactions

Nov 19 2018

joshuaspence accepted D19822: Allow "Can Configure Application" permissions to be configured.

I feel like custom forms should have their own edit permissions can that access can be managed more granularly.

Nov 19 2018, 1:21 AM

Nov 8 2018

joshuaspence requested review of D19795: Allow searching for Maniphest tasks by parent/subtask ID.
Nov 8 2018, 12:13 PM

Nov 1 2018

joshuaspence accepted D19768: Fix a bug where "View as Query" could replace a saved query row by ID, causing workboard 404s.
Nov 1 2018, 1:58 AM

Oct 31 2018

joshuaspence added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

To reproduce this issue, just need to Click on Default Column -> View as Query then leaving without Saving the query.

These reproduction steps don't work for me, and don't make sense given how the software works. If you believe you have a set of reproduction steps, can you walk through them step-by-step in more detail so I can reproduce the issue?
If anyone can come up with reproduction steps which actually work, this will probably take me about 3 minutes to fix. The only thing blocking this is that I have no idea how to reproduce it.

Oct 31 2018, 1:22 AM · Workboards

Oct 16 2018

joshuaspence awarded D19734: Try to route cluster writes to nodes which won't need to synchronize first a Doubloon token.
Oct 16 2018, 8:48 AM

Oct 10 2018

joshuaspence added a comment to D19740: Fix class attribute node in anonymous class.

@epriestley, would you mind taking a look at this diff?

Oct 10 2018, 11:31 PM
joshuaspence accepted D19741: Let lint rules support anonymous classes.

Maybe add some comments?

Oct 10 2018, 3:37 AM

Oct 9 2018

joshuaspence accepted D19740: Fix class attribute node in anonymous class.
Oct 9 2018, 3:31 AM
joshuaspence added a comment to D19740: Fix class attribute node in anonymous class.

I think maybe we should keep it as an empty n_CLASS_ATTRIBUTES in case attributes are added later.

Oct 9 2018, 1:43 AM

Oct 8 2018

joshuaspence committed rPHU603209bb1756: Add support for anonymous class (authored by wjiang).
Add support for anonymous class
Oct 8 2018, 11:39 PM
joshuaspence closed D19736: Add support for anonymous class.
Oct 8 2018, 11:39 PM