Page MenuHomePhabricator
Feed Advanced Search

Apr 5 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 5 2020, 12:50 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 3 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 3 2020, 7:03 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Apr 3 2020, 6:56 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

XHPAST currently can't build an AST for $result = yield ..., even though this is a valid construct. This is probably a straightforward fix.

Apr 3 2020, 2:38 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 2 2020

epriestley added a comment to T13500: During startup, guarantee "(string)1.23" is "1.23", not "1,23".

See also T13209.

Apr 2 2020, 11:32 PM · Arcanist
epriestley added a revision to T13209: How To Properly Escape Commands on Windows (A Dark Tragedy): Unknown Object (Differential Revision).
Apr 2 2020, 8:44 PM · Arcanist, Windows
epriestley added a revision to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable: Unknown Object (Differential Revision).
Apr 2 2020, 8:44 PM · Windows
epriestley added a revision to T13209: How To Properly Escape Commands on Windows (A Dark Tragedy): Unknown Object (Differential Revision).
Apr 2 2020, 7:40 PM · Arcanist, Windows
epriestley added a revision to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable: Unknown Object (Differential Revision).
Apr 2 2020, 7:40 PM · Windows
epriestley added a comment to T13209: How To Properly Escape Commands on Windows (A Dark Tragedy).

See also:

Apr 2 2020, 7:35 PM · Arcanist, Windows
epriestley added a comment to T13209: How To Properly Escape Commands on Windows (A Dark Tragedy).

See also:

Apr 2 2020, 6:12 PM · Arcanist, Windows
epriestley added a project to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable: Windows.
Apr 2 2020, 6:12 PM · Windows
epriestley added a revision to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable: Unknown Object (Differential Revision).
Apr 2 2020, 3:20 PM · Windows
epriestley reopened T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable as "Open".

PHI1667 has a couple of adjacent issues that I think aren't fully covered here.

Apr 2 2020, 3:13 PM · Windows

Apr 1 2020

epriestley closed T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable as Resolved by committing Restricted Diffusion Commit.
Apr 1 2020, 11:11 PM · Windows
epriestley added a revision to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable: Unknown Object (Differential Revision).
Apr 1 2020, 11:06 PM · Windows
epriestley added a comment to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable.

This may partly have arisen from changes to Future behavior, not just bypass_shell changes. In particular, ExecFuture already had approximately the desired behavior, but was documented like this:

Apr 1 2020, 10:58 PM · Windows
epriestley added a comment to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable.

A subproblem here is that start <url> fails on Windows with bypass_shell. The likely fix is to make cmd /c start, not start, the default "browser" on Windows.

Apr 1 2020, 10:41 PM · Windows
epriestley added a comment to T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable.

Another possibility is to do a Filesystem::binaryExists() functional test on the subprocess binary, assume the failure is "missing binary" if that test fails, and assume the failure is catastrophic otherwise.

Apr 1 2020, 10:37 PM · Windows
epriestley triaged T13504: "proc_open()" may fail to return a resource on Windows if the command isn't executable as Normal priority.
Apr 1 2020, 10:36 PM · Windows
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Apr 1 2020, 5:33 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Mar 29 2020

epriestley added a comment to T13500: During startup, guarantee "(string)1.23" is "1.23", not "1,23".

I made some effort to find an approach here, but I think it needs to wait until Toolsets define our config/caching better. In particular, guaranteeing this naively in arc requires running a subprocess (to execute locale -a, to enumerate available locales on the system) and possibly functionally-testing hundreds of locales (or, in the general case, an arbitrarily enormous number of locales). The functional test for UTF8 behavior requires running another subprocess, to echo 🐑.

Mar 29 2020, 5:10 PM · Arcanist

Mar 22 2020

epriestley lowered the priority of T13499: Make "undefined index" PHP errors throw a RuntimeException from Normal to Wishlist.

D21044 may resolve this alone, but I suspect there will be at least a little bit of followup work so I'm going to leave this open for the moment.

Mar 22 2020, 7:43 PM · Infrastructure

Mar 20 2020

epriestley added a revision to T13499: Make "undefined index" PHP errors throw a RuntimeException: Unknown Object (Differential Revision).
Mar 20 2020, 7:38 PM · Infrastructure
epriestley closed T13498: "arc diff" may fail with Toolsets code when trying to build a ConduitEngine to upload files as Resolved by committing Restricted Diffusion Commit.
Mar 20 2020, 7:19 PM · Arcanist
epriestley added a revision to T13498: "arc diff" may fail with Toolsets code when trying to build a ConduitEngine to upload files : Unknown Object (Differential Revision).
Mar 20 2020, 7:18 PM · Arcanist
epriestley triaged T13503: Index Paste documents in Ferret as Low priority.
Mar 20 2020, 7:12 PM · Search, Paste
epriestley triaged T13502: Guidance on installing Excel export support requires clicking a button labeled "Download Data" as Low priority.
Mar 20 2020, 7:06 PM · Data Exporters
epriestley added a member for Blessed Committers: ptarjan.
Mar 20 2020, 6:45 PM

Mar 18 2020

epriestley added a comment to T13243: Writing to streams can run into issues with EINTR.

It's true that it has been 12 years, but I'm sure fwrite() will start returning an error code when it encounters a permanent, fatal EPIPE error condition soon.

Mar 18 2020, 10:10 PM · Infrastructure

Mar 11 2020

epriestley closed T7697: Drag and drop a text fragment to top-right search box adds it to the placeholder as Resolved.
Mar 11 2020, 3:38 PM · Firefox

Mar 9 2020

epriestley added a comment to T13501: Improve search index normalization of "é" and other characters with variants or multiple representations.

We also have two separate pieces of ngram extraction code:

Mar 9 2020, 5:43 PM · Search
epriestley added a comment to T13501: Improve search index normalization of "é" and other characters with variants or multiple representations.

For now, I'm going to change the ngram slicing to be character-oriented. This should never be worse than the current behavior, and moves us closer to effective normalization.

Mar 9 2020, 5:38 PM · Search
epriestley added a comment to T13501: Improve search index normalization of "é" and other characters with variants or multiple representations.

This appears to be the unicode normalization chart:

Mar 9 2020, 5:27 PM · Search
epriestley triaged T13501: Improve search index normalization of "é" and other characters with variants or multiple representations as Low priority.
Mar 9 2020, 5:16 PM · Search

Mar 6 2020

epriestley added a subtask for T7339: Raise a setup warning when the "en_US.UTF-8" locale is unavailable: T13500: During startup, guarantee "(string)1.23" is "1.23", not "1,23".
Mar 6 2020, 5:53 PM · Diffusion (v3)
epriestley added a parent task for T13500: During startup, guarantee "(string)1.23" is "1.23", not "1,23": T7339: Raise a setup warning when the "en_US.UTF-8" locale is unavailable.
Mar 6 2020, 5:53 PM · Arcanist
epriestley triaged T13500: During startup, guarantee "(string)1.23" is "1.23", not "1,23" as Normal priority.
Mar 6 2020, 5:46 PM · Arcanist
epriestley triaged T13499: Make "undefined index" PHP errors throw a RuntimeException as Normal priority.
Mar 6 2020, 5:22 PM · Infrastructure
epriestley triaged T13498: "arc diff" may fail with Toolsets code when trying to build a ConduitEngine to upload files as Normal priority.
Mar 6 2020, 5:10 PM · Arcanist
epriestley closed T13497: Arc may fail on startup with a error about missing "default" config, a subtask of T13490: Upgrade all "classic" Arcanist workflows to Toolsets, as Resolved.
Mar 6 2020, 4:33 PM · Arcanist
epriestley closed T13497: Arc may fail on startup with a error about missing "default" config as Resolved.
Mar 6 2020, 4:33 PM · Arcanist
epriestley added a comment to T13497: Arc may fail on startup with a error about missing "default" config.

If you're affected by this and arc upgrade doesn't work, the easiest fix is to run git pull in arcanist/.

Mar 6 2020, 4:33 PM · Arcanist
epriestley added a revision to T13497: Arc may fail on startup with a error about missing "default" config: Unknown Object (Differential Revision).
Mar 6 2020, 4:31 PM · Arcanist
epriestley added a parent task for T13497: Arc may fail on startup with a error about missing "default" config: T13490: Upgrade all "classic" Arcanist workflows to Toolsets.
Mar 6 2020, 4:30 PM · Arcanist
epriestley added a subtask for T13490: Upgrade all "classic" Arcanist workflows to Toolsets: T13497: Arc may fail on startup with a error about missing "default" config.
Mar 6 2020, 4:30 PM · Arcanist
epriestley triaged T13497: Arc may fail on startup with a error about missing "default" config as Normal priority.
Mar 6 2020, 4:30 PM · Arcanist

Mar 2 2020

epriestley renamed T13496: Print the object destruction log to stdout/stderr when run interactively via `bin/remove destroy` from Print the objet destruction log to stdout/stderr when run interactively via `bin/remove destroy` to Print the object destruction log to stdout/stderr when run interactively via `bin/remove destroy`.
Mar 2 2020, 5:39 PM · Infrastructure
epriestley triaged T13496: Print the object destruction log to stdout/stderr when run interactively via `bin/remove destroy` as Wishlist priority.
Mar 2 2020, 5:18 PM · Infrastructure
epriestley added a comment to T13111: Periodically run `git prune` on Git working copies.

Does using --max-pack-size to reduce the maximum packfile size really let Git "checkpoint" after each packfile, so the process is effectively resumable?

Mar 2 2020, 4:36 PM · Phacility, Diffusion
epriestley added a comment to T13111: Periodically run `git prune` on Git working copies.

PHI1655 identifies a specific case where enormous packfiles may create problems:

Mar 2 2020, 3:56 PM · Phacility, Diffusion
epriestley updated the task description for T13156: Plans: Improve Phacility UI for managing instance managers and cards.
Mar 2 2020, 2:30 PM · Plans, Phacility

Feb 28 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

I have some code which runs and looks plausible (i.e., not covered in piles of callback garbage), at least:

Feb 28 2020, 4:58 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T7339: Raise a setup warning when the "en_US.UTF-8" locale is unavailable.

See https://discourse.phabricator-community.org/t/data-truncated-when-pushing-into-repository/3586/ for what is likely to be a related issue.

Feb 28 2020, 2:54 PM · Diffusion (v3)
epriestley added a comment to T5816: Unhandled Exception ("AphrontQueryException").

The real root cause of this issue may have been a locale setting which uses comma as a decimal separator, see T7339.

Feb 28 2020, 2:51 PM · Aphront, Maniphest

Feb 27 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

Here's an actual example of loadHardpoints($objects, $hardpoint):

Feb 27 2020, 5:21 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

In the specific case of the Hardpoints, we currently often have code which loads objects but doesn't do anything with them. For example, most Query classes use didFilterResults() to fill things-that-sure-look-like-hardpoints, but few do anything with the results.

Feb 27 2020, 3:30 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley closed T13177: ServiceProfiler integration should be a configurable part of Future, not hard-coded into subclasses (HTTPSFuture, ExecFuture) as Resolved.

I'm going to mark this as resolved, since:

Feb 27 2020, 3:06 PM · Infrastructure
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Feb 27 2020, 2:53 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T13177: ServiceProfiler integration should be a configurable part of Future, not hard-coded into subclasses (HTTPSFuture, ExecFuture): Unknown Object (Differential Revision).
Feb 27 2020, 2:53 PM · Infrastructure
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Feb 27 2020, 2:13 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Feb 27 2020, 12:17 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 26 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 8:30 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Feb 26 2020, 7:34 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Feb 26 2020, 4:59 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley updated the task description for T13488: Upgrading: Early 2020 Changes to Arcanist.
Feb 26 2020, 4:52 PM · Arcanist, Installing & Upgrading
epriestley updated the task description for T13488: Upgrading: Early 2020 Changes to Arcanist.
Feb 26 2020, 4:52 PM · Arcanist, Installing & Upgrading
epriestley added a revision to T11968: Decide the fate of FutureGraph: Unknown Object (Differential Revision).
Feb 26 2020, 4:39 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley updated the task description for T13488: Upgrading: Early 2020 Changes to Arcanist.
Feb 26 2020, 4:38 PM · Arcanist, Installing & Upgrading
epriestley added a comment to T11968: Decide the fate of FutureGraph.

The core idea in D5104 + D5105 is that $future->resolve() and id(new FutureIterator(array($future)))->next() (like, roughly) execute meaningfully different code paths.

Feb 26 2020, 4:29 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

Somewhere in experimental or wilds, I introduced ArcanistConduitEngine. This has some weird fake future stuff going on, so this is probably now ripe.

Feb 26 2020, 4:14 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T13490: Upgrade all "classic" Arcanist workflows to Toolsets: Unknown Object (Differential Revision).
Feb 26 2020, 4:11 PM · Arcanist

Feb 25 2020

epriestley added a revision to T13490: Upgrade all "classic" Arcanist workflows to Toolsets: Unknown Object (Differential Revision).
Feb 25 2020, 9:50 PM · Arcanist

Feb 24 2020

epriestley added a comment to T6703: Allow multiple copies of the same auth provider type.

Couple of notes on the state of affairs here:

Feb 24 2020, 9:27 PM · Auth
epriestley added a revision to T13493: JIRA API has changed identifiers from "key" to "accountId": Unknown Object (Differential Revision).
Feb 24 2020, 9:23 PM · Auth
epriestley added a comment to T5591: Add default domain to Google auth.

As of early 2020, this change works:

Feb 24 2020, 9:20 PM · Restricted Project, Restricted Project, Auth
epriestley closed T4289: JIRA authenticator JIRA version 5 compatibility, a subtask of T5422: Does Phabricator integrate with JIRA?, as Wontfix.
Feb 24 2020, 9:10 PM · Guides, Doorkeeper
epriestley closed T4289: JIRA authenticator JIRA version 5 compatibility as Wontfix.

JIRA did this (changed how accounts are identified) again recently (key is now accountId), see T13493.

Feb 24 2020, 9:10 PM · Auth
epriestley added a comment to T13463: When a commit is discovered, treat the related revision's "Related Tasks" as "Ref Txxx".

One minor issue with this is that there's some duplication when the commit Fixes Txxx and the associated revision already has the edge (which is very common if the commit Fixes Txxx, because the revision almost always also Fixes Txxx):

Feb 24 2020, 9:00 PM · Maniphest, Differential, Diffusion
epriestley closed T5028: Commit message text formatting in remote git repository (SSH) is not preserved as Resolved by committing Restricted Diffusion Commit.
Feb 24 2020, 8:37 PM · Diffusion
epriestley added a comment to T5028: Commit message text formatting in remote git repository (SSH) is not preserved.

To follow up on this:

Feb 24 2020, 7:53 PM · Diffusion
epriestley added a revision to T5028: Commit message text formatting in remote git repository (SSH) is not preserved: Unknown Object (Differential Revision).
Feb 24 2020, 7:47 PM · Diffusion
epriestley added a comment to T5028: Commit message text formatting in remote git repository (SSH) is not preserved.

I can't find any changelog in any version of Git which mentions the introduction of %B. The %B behavior was introduced in this commit in March, 2010:

Feb 24 2020, 7:21 PM · Diffusion
epriestley added a comment to T13188: CircleCI 1.0 sunsets on August 31, 2018; CircleCI 2.0 can not work with Phabricator.

See also PHI1605 (internal), which provides some evidence that:

Feb 24 2020, 5:05 PM · Guides, Harbormaster
epriestley closed T13495: In Firefox 73 and some other browser at non-100% zoom levels, Chinese glyphs cause tokenizer tokens to take up too much vertical space as Resolved by committing Restricted Diffusion Commit.
Feb 24 2020, 4:00 PM · Design
epriestley added a revision to T13495: In Firefox 73 and some other browser at non-100% zoom levels, Chinese glyphs cause tokenizer tokens to take up too much vertical space: Unknown Object (Differential Revision).
Feb 24 2020, 3:47 PM · Design
epriestley claimed T13495: In Firefox 73 and some other browser at non-100% zoom levels, Chinese glyphs cause tokenizer tokens to take up too much vertical space.
Feb 24 2020, 3:30 PM · Design
epriestley triaged T13495: In Firefox 73 and some other browser at non-100% zoom levels, Chinese glyphs cause tokenizer tokens to take up too much vertical space as Wishlist priority.
Feb 24 2020, 3:30 PM · Design

Feb 23 2020

epriestley added a revision to T13490: Upgrade all "classic" Arcanist workflows to Toolsets: Unknown Object (Differential Revision).
Feb 23 2020, 5:30 PM · Arcanist
epriestley added a revision to T13490: Upgrade all "classic" Arcanist workflows to Toolsets: Unknown Object (Differential Revision).
Feb 23 2020, 4:33 PM · Arcanist
epriestley added a comment to T13493: JIRA API has changed identifiers from "key" to "accountId".

I landed everything so far to master. The new behavior in master should be:

Feb 23 2020, 2:01 AM · Auth
epriestley added a revision to T13493: JIRA API has changed identifiers from "key" to "accountId": Unknown Object (Differential Revision).
Feb 23 2020, 1:36 AM · Auth
epriestley added a revision to T13493: JIRA API has changed identifiers from "key" to "accountId": Unknown Object (Differential Revision).
Feb 23 2020, 1:20 AM · Auth
epriestley added a revision to T13493: JIRA API has changed identifiers from "key" to "accountId": Unknown Object (Differential Revision).
Feb 23 2020, 1:17 AM · Auth
epriestley added a revision to T13490: Upgrade all "classic" Arcanist workflows to Toolsets: Unknown Object (Differential Revision).
Feb 23 2020, 1:16 AM · Arcanist
epriestley added a comment to T13493: JIRA API has changed identifiers from "key" to "accountId".

I stumbled across what appears to be a very mild security issue in JIRA that impacts this flow. I've reported it to Atlassian's bug bounty program here (this link may or may not be visible to anyone else):

Feb 23 2020, 12:45 AM · Auth

Feb 22 2020

epriestley added a revision to T6703: Allow multiple copies of the same auth provider type: Unknown Object (Differential Revision).
Feb 22 2020, 10:30 PM · Auth
epriestley added a revision to T13493: JIRA API has changed identifiers from "key" to "accountId": Unknown Object (Differential Revision).
Feb 22 2020, 10:30 PM · Auth
epriestley added a comment to T13493: JIRA API has changed identifiers from "key" to "accountId".

This change sequence is almost ready to remove readers and writers to accountID, but there's still a unique <accountType, accountDomain, accountID> key on the table. Removing accountID writers completely will mean that the second user to link an account of a particular type (say, an Asana account) will run into a unique key error (since they'll write a second "Asana" account with the same empty accountID as the first "Asana" account).

Feb 22 2020, 8:54 PM · Auth
epriestley added a revision to T13493: JIRA API has changed identifiers from "key" to "accountId": Unknown Object (Differential Revision).
Feb 22 2020, 6:28 PM · Auth