I found this channel incredibly helpful for repairing/replacing components on boards:
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
All Stories
Aug 2 2021
Jul 27 2021
Jul 26 2021
I caught one cosmetic issue in D21711, but this works properly for me locally now. Thanks!
I ran into this while trying to reproduce the issue:
Jul 22 2021
Jul 21 2021
The stalled transactions on this host published after I deployed the update.
(After picking up D21697, the approach works properly in my environment where I originally ran into this, but there are a couple of rebase calls still present in ArcanistMercurialLandEngine that don't use the new API yet.)
This happens when a recipient list includes an Owners package which has been destroyed. Specifically, we'll exit this section of PhabricatorMetaMTAMemberQuery with out the PHID in $package_map, and then fail to return it:
Marking this as resolved by D21700. If there are further details or input we can re-open to further address.
Jul 20 2021
Jul 19 2021
I'm also surprised that rebase extension isn't enabled by default. I guess I have been turning it on in my default setup.
I like that idea. I'll take a look.
...perhaps we should consider a way to do this automatically or at least less-manually.
Jul 16 2021
- Cryptographically Random Orbit Sander
Jul 15 2021
This ("Queued at") looks suspicious:
Jul 13 2021
In D21685, I've imposed stricter rules for which state transitions are allowed: for example, you can't issue a "pause" command to a build that is already pausing.
Jul 11 2021
There are a bunch of libraries to help with this that I obviously won't be using because I didn't write them...
I think not all versions of Windows + PHP require adjusting php.ini, but some nontrivial subset do -- enough that arc itself emits some flavor of guidance on this:
This is no longer my fight.
One thought here is that updating variables_order is fine on the server, but I really don't want to force arc users to muck with php.ini.
This seems to be resolved already but just wanted to add a note - I believe Windows users currently need to modify php.ini to enable the curl extension for arcanist to work. This is from our internal documentation for installing PHP for arcanist:
Browse to C:\tools\php[some version number]. Edit php.ini as listed below.
- Note: The following modifications remove the semi-colon at the start of the line. Semi-colons are comments in .ini files and these changes are uncommenting and updating the lines.
- Find the line ;extension=curl and remove the semicolon.
- Locate the line ;date.timezone = and replace it with date.timezone = UTC to prevent PHP from yelling at you.
Jul 9 2021
For now, this has been working fine as a simple CLI flow.
Jul 8 2021
Ah okay, I'll do some other testing. I was also wondering if there would be cases in Phabricator where something is doing something like if (get_class($a) == 'PhabricatorEnv') {... which if so I'm guessing would cause failures.
One other case where "Phabricator" appears is in HTTP and Email headers, e.g. X-Phabricator-XYZ. For a separate project wanting to update these I think a slow migration approach is needed, to allow recipients currently expecting the existing fields. I'm guessing there isn't a reasonable change here for the upstream.
Depending on how many of these we end up with, I think an email-header-prefix sort of config option might be reasonable.
Oh and then for existing installs this would just default to X-Phabricator-XYZ to continue with existing behavior?
One other case where "Phabricator" appears is in HTTP and Email headers, e.g. X-Phabricator-XYZ. For a separate project wanting to update these I think a slow migration approach is needed, to allow recipients currently expecting the existing fields. I'm guessing there isn't a reasonable change here for the upstream.
Jul 7 2021
I should probably just set up a blog or something since I don't expect to bring any microcontroller components upstream, but until then:
Jul 1 2021
In T13658#255994, @epriestley wrote:Create Platform::getProjectRepo() to return "phabricator", or instead detect the repository name.
I suspect having this method do anything nontrivial may lead to some weird boostrapping issues, where it gets called very early during startup or with a partially built environment or during exception handling or whatever and not everything you expect to be available is actually available, so I suspect you'll have the best luck by just hard-coding this.
(For example, Phabricator reads PHABRICATOR_INSTANCE from the environment very early.)
Ah I did have a suspicion that would be tricky but was thinking to give it a shot. Hardcoding is probably just going to be easiest.
Jun 30 2021
Proof-of-concept only for class_alias():
This is a bit out there, but: PHP once had something called classkit and later runkit, which perhaps exists as runkit7 now, that let you dynamically rename classes at runtime. In theory, you could use this as a compatibility layer to support mass renaming of classes: if code asks for PhabricatorXYZ, look for GenericXYZ (or XYZ, or consult a mapping), then make a runtime copy of the class. This narrow capability may be in PHP's core as class_alias(), now.
Create Platform::getProjectRepo() to return "phabricator", or instead detect the repository name.
Jun 29 2021
Jun 28 2021
Interestingly this is the output I get when using hg log to print out the commit message containing smart quotes with different encodings -- this behavior is the the same for both PowerShell (chcp 65001) and cmd.exe (chcp 437) and no errors occur.
$ hg log -r tip --template "{desc}" # "default" encoding A test
Jun 27 2021
I think the global flag is reasonable.
In Mercurial, with certain character sets, some arc workflows may fail in arc-hg while trying to perform UTF8 operations.
I'm doing some testing to find an appropriate update to arcanist for this. I ran into another issue, when patching down a revision which has unicode characters in the summary on a windows machine. I could try to whack-a-mole these different issues but since Mercurial's --encoding argument is a global option do you think it would be wise to update ArcanistMercurialAPI::buildLocalFuture() with this?
diff --git a/src/repository/api/ArcanistMercurialAPI.php b/src/repository/api/ArcanistMercurialAPI.php index e5c2078b..ac72c356 100644 --- a/src/repository/api/ArcanistMercurialAPI.php +++ b/src/repository/api/ArcanistMercurialAPI.php @@ -15,7 +15,7 @@ final class ArcanistMercurialAPI extends ArcanistRepositoryAPI { protected function buildLocalFuture(array $argv) { $env = $this->getMercurialEnvironmentVariables();
Jun 25 2021
Jun 24 2021
Jun 17 2021
Jun 16 2021
Jun 9 2021
Jun 8 2021
Jun 7 2021
Jun 5 2021
Jun 4 2021
My company was a loving user of Phabricator (local server!) for over 10 years. I still fondly remember the discussions here and talking through new applications, testing changes, and so much more. I know that the use of this tool permanently shaped hundreds of engineers' views on code quality, review, the software development lifecycle, and so on. It will be missed.
Jun 3 2021
Thank you @epriestley and all of Phacility. Phabricator is a shining example of a well-engineered product that itself encourages better engineering processes and having fun while doing so. I had a great time learning and using Phabricator and it has left a big impact. I only wish I could have been more involved in the development and community. Wishing everyone the best!
@avivey: a few folks have started discussing collaboration in the #phabricator channel on libera.chat irc network.
Jun 2 2021
Thank you @epriestley (and @btrahan, @chad, and others) for the great work done here!
I could not find in the documentation how are we supposed to set a value for a custom field of type "user".
In particular, I am looking at doing this: set the default value to the current user (the user creating the Maniphest task)
Jun 1 2021
This is approximately working now, although the "button" is currently this mess: