Page MenuHomePhabricator

joshuaspence (Joshua Spence)
Code Monkey

Projects (91)

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Friday

  • Clear sailing ahead.

User Details

User Since
Oct 9 2013, 12:25 AM (284 w, 23 h)
Availability
Available

Recent Activity

Fri, Mar 1

joshuaspence awarded D20221: Improve performance of "arc diff" updates for changes with large diff text a Burninate token.
Fri, Mar 1, 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 added a commit to T4334: Support PHP5.4+ syntax in XHPAST: rPHU603209bb1756: Add support for anonymous class.
Oct 8 2018, 11:39 PM · XHPAST
joshuaspence closed D19736: Add support for anonymous class.
Oct 8 2018, 11:39 PM
joshuaspence added a comment to D19736: Add support for anonymous class.

Automated landing didn't work so I'll do it the old-fashioned way.

Oct 8 2018, 11:35 PM
joshuaspence accepted D19736: Add support for anonymous class.
Oct 8 2018, 12:54 AM

Oct 4 2018

joshuaspence added a comment to T5097: `arc lint --everything` uses a large amount of memory in when executed in large repositories.

@epriestley, would you be open to making the chunk size configurable? Changing the chunk size from 32 to 512 reduced the amount of time required for us to lint ~1500 TypeScript files from 370 seconds to 66 seconds.

Oct 4 2018, 3:00 AM · Arcanist
joshuaspence abandoned D17350: Allow external linters to operate on multiple paths in batches.

I can just do this with D19730 instead.

Oct 4 2018, 12:18 AM

Sep 17 2018

joshuaspence added a revision to T11699: `arc patch` is timing out: D19680: Don't pass `revisionIDs` to `differential.querydiffs`.
Sep 17 2018, 4:57 AM · Conduit, Differential

Sep 6 2018

joshuaspence committed rARC30b7835c37b5: Allow `willLintPaths` and `didLintPaths` to be overridden (authored by joshuaspence).
Allow `willLintPaths` and `didLintPaths` to be overridden
Sep 6 2018, 2:44 AM
joshuaspence closed D19630: Allow `willLintPaths` and `didLintPaths` to be overridden.
Sep 6 2018, 2:44 AM

Sep 5 2018

joshuaspence added a comment to rPc5960c71f929: Splice in a patch to remove Phriction content rows with no document.

That seems weird, but it sort of expected/desirable.

If the Conduit calls for Branches/Tags fail to generate, we put the error message from the call into the email. This seemed better than: dropping the email; omitting the sections; or putting a generic "something went wrong" message in the email. D13319 and T8574 appear to be the genesis of this behavior.

In most cases, the error is a Conduit-level error ("your account is disabled", "the specified repository does not exist") and one or two lines long, and the message is likely relatively useful in understanding why that section didn't render.

In this case, the host itself was toast since I couldn't get through storage upgrades without this patch, so we got an actual HTTP-level error, and the exception message for these is just a big chunk of the response body since it's sometimes useful in understanding what went wrong.

So even though this outcome is a little goofy, I think all the rules that led us there are mostly pretty reasonable, and don't see anything obvious that should be changed/fixed.

Sep 5 2018, 2:03 AM
joshuaspence added a comment to D19630: Allow `willLintPaths` and `didLintPaths` to be overridden.

T13098 is "happening" very "soon" quote unquote "quote" "unquote" "Soon™".

Sep 5 2018, 1:59 AM

Sep 4 2018

joshuaspence added a comment to D19630: Allow `willLintPaths` and `didLintPaths` to be overridden.

I believe it is nearly the end of days for this version of arc so I'm fine with just letting some stuff like this in.

Sep 4 2018, 7:53 PM

Sep 3 2018

joshuaspence abandoned D19629: Link to PHP external symbols using HTTPS.

Almost all of us:

Looks like it depends on which instance you hit: https://www.ssllabs.com/ssltest/analyze.html?d=www.php.net&latest

Sep 3 2018, 10:26 PM
joshuaspence requested review of D19630: Allow `willLintPaths` and `didLintPaths` to be overridden.
Sep 3 2018, 5:24 AM

Sep 2 2018

joshuaspence requested review of D19629: Link to PHP external symbols using HTTPS.
Sep 2 2018, 11:08 PM

Sep 1 2018

joshuaspence added a comment to rPc5960c71f929: Splice in a patch to remove Phriction content rows with no document.

Unrelated to this change, but this is from the email I received about it:

Sep 1 2018, 9:24 PM

Aug 20 2018

joshuaspence added a comment to T7303: Provide OAuth access to Conduit.

Even with OAuth, you still can't make AJAX requests to Conduit from client-side JavaScript, right? Is the idea that the backend code uses OAuth to talk to Conduit on a user's behalf?

Aug 20 2018, 8:06 AM · Restricted Project, Conduit, Restricted Project

Aug 15 2018

joshuaspence committed rPHUc309c5d93354: Ignore PHP types for "needs" symbols (authored by joshuaspence).
Ignore PHP types for "needs" symbols
Aug 15 2018, 8:46 PM
joshuaspence closed D19590: Ignore PHP types for "needs" symbols.
Aug 15 2018, 8:46 PM
joshuaspence updated the diff for D19590: Ignore PHP types for "needs" symbols.

Fix someone else's mistakes

Aug 15 2018, 8:45 PM
joshuaspence committed rPHUac350a7fe787: Extract needed classes/interfaces from return types (authored by joshuaspence).
Extract needed classes/interfaces from return types
Aug 15 2018, 8:43 PM
joshuaspence closed D19589: Extract needed classes/interfaces from return types.
Aug 15 2018, 8:43 PM
joshuaspence committed rPba25586016b2: Improve symbol generation scripts (authored by joshuaspence).
Improve symbol generation scripts
Aug 15 2018, 8:40 PM
joshuaspence closed D19588: Improve symbol generation scripts.
Aug 15 2018, 8:40 PM
joshuaspence requested review of D19590: Ignore PHP types for "needs" symbols.
Aug 15 2018, 2:17 AM
joshuaspence requested review of D19589: Extract needed classes/interfaces from return types.
Aug 15 2018, 2:07 AM
joshuaspence requested review of D19588: Improve symbol generation scripts.
Aug 15 2018, 1:26 AM

Aug 9 2018

joshuaspence accepted D19570: Correctly spell 'committer'.
Aug 9 2018, 8:07 PM

Aug 2 2018

joshuaspence added inline comments to D19491: Attach identities to commits and users to identities.
Aug 2 2018, 10:16 PM
joshuaspence added inline comments to D19491: Attach identities to commits and users to identities.
Aug 2 2018, 4:36 AM

Jun 29 2018

DragonBe awarded T7408: Consider dropping support for older versions of PHP a Like token.
Jun 29 2018, 11:35 AM · Restricted Project, Infrastructure

Jun 5 2018

joshuaspence added a member for Clusters: joshuaspence.
Jun 5 2018, 10:45 PM
joshuaspence added a member for Drydock: joshuaspence.
Jun 5 2018, 10:45 PM
joshuaspence added a member for EditEngine: joshuaspence.
Jun 5 2018, 10:45 PM
joshuaspence added a member for Guides: joshuaspence.
Jun 5 2018, 10:45 PM
joshuaspence added a member for Inline Comments: joshuaspence.
Jun 5 2018, 10:45 PM
joshuaspence added a member for Mailing Lists: joshuaspence.
Jun 5 2018, 10:44 PM
joshuaspence added a member for Nuance: joshuaspence.
Jun 5 2018, 10:44 PM
joshuaspence added a member for Packages: joshuaspence.
Jun 5 2018, 10:44 PM
joshuaspence added a member for Plans: joshuaspence.
Jun 5 2018, 10:44 PM
joshuaspence added a member for Process Improvement: joshuaspence.
Jun 5 2018, 10:44 PM
joshuaspence added a member for Transactions: joshuaspence.
Jun 5 2018, 10:44 PM
joshuaspence added a member for Workboards: joshuaspence.
Jun 5 2018, 10:43 PM
joshuaspence added a member for Almanac: joshuaspence.
Jun 5 2018, 10:40 PM

Apr 8 2018

joshuaspence added a comment to D18643: Remove "arc lint --cache".

There's still a bunch of logic in ArcanistLintEngine and ArcanistLintEngine regarding caching... should that be removed/deprecated as well?

Apr 8 2018, 12:48 AM

Mar 9 2018

joshuaspence accepted rP9d0cf3c8b82d: Before anyone notices, break the API.
Mar 9 2018, 8:51 PM
Gryllida awarded T9412: Annotate all the reasons that a user is included on the recipient list for mail a Love token.
Mar 9 2018, 12:48 AM · llvm, Restricted Project, Mail

Feb 20 2018

Herald updated subscribers of T5590: Change diffusion.allow-http-auth into an application policy and improve security features.
Feb 20 2018, 10:01 PM · Security, Diffusion

Jan 6 2018

cspeckmim awarded Changelog a Mountain of Wealth token.
Jan 6 2018, 4:47 PM

Jan 4 2018

arend.danielek awarded T9640: Make Phabricator compatible with PHP7 a Like token.
Jan 4 2018, 10:38 PM · Prioritized, Restricted Project, Infrastructure

Dec 28 2017

joshuaspence added a comment to T5155: Evaluate support for AWS IAM Roles in S3 Client.

FWIW, I am using a custom file and mail engine that utilises the AWS SDK and supports instance profile credentials. See P2082 and P2083. You need to install and require the AWS SDK before using these extensions.

Dec 28 2017, 2:10 AM · Files
joshuaspence created P2083 PhlabS3FileStorageEngine.php.
Dec 28 2017, 2:09 AM
joshuaspence created P2082 PhlabAmazonSESMailImplementationAdapter.php.
Dec 28 2017, 2:08 AM

Nov 26 2017

joshuaspence committed rPHU32746e8b0793: Add support for nullable parameter types (authored by joshuaspence).
Add support for nullable parameter types
Nov 26 2017, 10:42 PM
joshuaspence closed D18770: Add support for nullable parameter types.
Nov 26 2017, 10:42 PM
joshuaspence added a commit to T4334: Support PHP5.4+ syntax in XHPAST: rPHU32746e8b0793: Add support for nullable parameter types.
Nov 26 2017, 10:42 PM · XHPAST

Nov 24 2017

joshuaspence updated the diff for D18770: Add support for nullable parameter types.

Update src/parser/xhpast/parser_nodes.php

Nov 24 2017, 5:13 AM
joshuaspence committed rPHUae80e72461d2: Fix node for nullable return value (authored by joshuaspence).
Fix node for nullable return value
Nov 24 2017, 3:27 AM
joshuaspence added a commit to T4334: Support PHP5.4+ syntax in XHPAST: rPHUae80e72461d2: Fix node for nullable return value.
Nov 24 2017, 3:27 AM · XHPAST
joshuaspence closed D18639: Fix node for nullable return value.
Nov 24 2017, 3:27 AM
joshuaspence added a comment to D18770: Add support for nullable parameter types.

I will land it shortly.

Nov 24 2017, 2:08 AM

Nov 16 2017

mormegil awarded T12144: Ability to reorder milestones on a project's workboard a Haypence token.
Nov 16 2017, 3:53 PM · Projects, Feature Request

Nov 13 2017

joshuaspence requested review of D18770: Add support for nullable parameter types.
Nov 13 2017, 4:37 AM
joshuaspence added a revision to T4334: Support PHP5.4+ syntax in XHPAST: D18770: Add support for nullable parameter types.
Nov 13 2017, 4:36 AM · XHPAST

Oct 10 2017

joshuaspence added inline comments to D18679: Dump tables one at a time, rather than all at once.
Oct 10 2017, 8:10 AM

Oct 9 2017

joshuaspence added inline comments to D18679: Dump tables one at a time, rather than all at once.
Oct 9 2017, 9:17 AM

Sep 27 2017

joshuaspence created D18650: Allow filename for linter tests to be explicitly specified.
Sep 27 2017, 5:14 AM

Sep 25 2017

joshuaspence created D18639: Fix node for nullable return value.
Sep 25 2017, 5:32 AM
joshuaspence added a revision to T4334: Support PHP5.4+ syntax in XHPAST: D18639: Fix node for nullable return value.
Sep 25 2017, 5:32 AM · XHPAST
joshuaspence committed rPHU134b16a724eb: Update `parser_nodes.php` (authored by joshuaspence).
Update `parser_nodes.php`
Sep 25 2017, 3:21 AM
joshuaspence committed rPHU2596aecadc53: Add support for nullable return types (authored by joshuaspence).
Add support for nullable return types
Sep 25 2017, 3:11 AM