Page MenuHomePhabricator
Feed All Stories

May 28 2023

epriestley accepted D21866: Addressing some PHP 8 incompatibilities - Remarkup.
May 28 2023, 11:03 PM
epriestley accepted D21864: Addressing some PHP8 incompatibilities - Diffusion & Differential.
May 28 2023, 11:02 PM
cspeckmim updated the diff for D21867: Updates for Mercurial's HTTP protocol.

Maybe better querystring parsing

May 28 2023, 10:51 PM
cspeckmim updated the diff for D21866: Addressing some PHP 8 incompatibilities - Remarkup.

Clean up loop logic

May 28 2023, 10:50 PM
cspeckmim updated the diff for D21864: Addressing some PHP8 incompatibilities - Diffusion & Differential.

Remove calls to phlog

May 28 2023, 10:49 PM

May 27 2023

epriestley added a comment to D21865: Updates for PHP 8.2 compatibility - Arcanist.

PhutilJSONParserException is sometimes handled specifically:

May 27 2023, 4:03 AM
epriestley added a comment to D21864: Addressing some PHP8 incompatibilities - Diffusion & Differential.

My preferred behavior is that the error is reported to the user, but not sent to the error log.

May 27 2023, 3:55 AM
cspeckmim planned changes to D21865: Updates for PHP 8.2 compatibility - Arcanist.
May 27 2023, 2:31 AM
cspeckmim planned changes to D21866: Addressing some PHP 8 incompatibilities - Remarkup.
May 27 2023, 2:23 AM
cspeckmim planned changes to D21867: Updates for Mercurial's HTTP protocol.

If you want to try to handle these cases, I think it would be reasonable to make AphrontApplicationConfiguration store the raw strings somewhere before it sends them to PhutilQueryStringParser so you don't have to copy/paste 100 lines out of readHTTPPOSTData().

But presumably we're more in "fix urlencode() and call it a day" territory here than "rewrite the whole stack to support pure passthrough for a case that probably never occurs in the wild".

I will take the fix urlencode route for now but this is good to know

May 27 2023, 2:20 AM
cspeckmim added a comment to D21864: Addressing some PHP8 incompatibilities - Diffusion & Differential.

The two phlog() commands introduced in error handling seem unrelated, can we strip those out of this change? Everything else looks good.

May 27 2023, 2:13 AM
epriestley accepted D21866: Addressing some PHP 8 incompatibilities - Remarkup.
May 27 2023, 12:26 AM
epriestley requested changes to D21867: Updates for Mercurial's HTTP protocol.

This is a big mess, but here's some general guidance (see also inline):

May 27 2023, 12:11 AM

May 26 2023

epriestley requested changes to D21865: Updates for PHP 8.2 compatibility - Arcanist.

I think the JSON change is suspicious, everything else looks good.

May 26 2023, 11:45 PM
epriestley requested changes to D21864: Addressing some PHP8 incompatibilities - Diffusion & Differential.

The two phlog() commands introduced in error handling seem unrelated, can we strip those out of this change? Everything else looks good.

May 26 2023, 11:37 PM
cspeckmim retitled D21866: Addressing some PHP 8 incompatibilities - Remarkup from Addressing some PHP 8 incompatibilities - Remarpkup to Addressing some PHP 8 incompatibilities - Remarkup.
May 26 2023, 9:03 PM
cspeckmim published D21867: Updates for Mercurial's HTTP protocol for review.
May 26 2023, 8:53 PM
cspeckmim published D21866: Addressing some PHP 8 incompatibilities - Remarkup for review.
May 26 2023, 8:11 PM
cspeckmim published D21865: Updates for PHP 8.2 compatibility - Arcanist for review.
May 26 2023, 7:55 PM
cspeckmim published D21864: Addressing some PHP8 incompatibilities - Diffusion & Differential for review.

I probably have missed some code paths but this revision has touched a lot of files as-is

May 26 2023, 7:51 PM

May 24 2023

cspeckmim added inline comments to D21862: Addressing some PHP 8 incompatibilities.
May 24 2023, 9:32 PM
cspeckmim closed D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 24 2023, 9:11 PM
cspeckmim committed rP58995268dd97: Addressing some PHP8 incompatibilities - ProfileMenuItem (authored by cspeckmim).
Addressing some PHP8 incompatibilities - ProfileMenuItem
May 24 2023, 9:11 PM
cspeckmim closed D21862: Addressing some PHP 8 incompatibilities.
May 24 2023, 9:10 PM
cspeckmim committed rPf6214f060e78: Addressing some PHP 8 incompatibilities (authored by cspeckmim).
Addressing some PHP 8 incompatibilities
May 24 2023, 9:10 PM
cspeckmim updated the diff for D21862: Addressing some PHP 8 incompatibilities.

Updating to verify before landing that I haven't included further changes

May 24 2023, 9:09 PM
cspeckmim added a revision to T13588: PHP 8 Compatibility: D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 24 2023, 9:07 PM · Infrastructure
cspeckmim updated the summary of D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 24 2023, 9:07 PM
cspeckmim added a revision to T13588: PHP 8 Compatibility: D21862: Addressing some PHP 8 incompatibilities.
May 24 2023, 9:06 PM · Infrastructure
cspeckmim updated the summary of D21862: Addressing some PHP 8 incompatibilities.
May 24 2023, 9:06 PM
epriestley accepted D21862: Addressing some PHP 8 incompatibilities.

I didn't catch anything that looks suspicious or hazardous. Thanks!

May 24 2023, 4:35 PM
epriestley accepted D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 24 2023, 4:12 PM

May 16 2023

cspeckmim updated the diff for D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.

Revert change that doesn't distinguish between invalid vs. inaccessible dashboards

May 16 2023, 4:41 PM
cspeckmim updated the diff for D21862: Addressing some PHP 8 incompatibilities.

Fixed another issue with user log entries

May 16 2023, 4:40 PM
cspeckmim planned changes to D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 16 2023, 3:36 PM

May 15 2023

epriestley added inline comments to D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 15 2023, 5:17 PM
epriestley added a comment to D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.

(Haven't forgotten about this stuff, but the kids got sick and family is flying in soon.)

May 15 2023, 5:08 PM

May 9 2023

cspeckmim updated the diff for D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.

Remove unnecessary function

May 9 2023, 4:09 AM
cspeckmim added inline comments to D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 9 2023, 4:08 AM
cspeckmim added a comment to D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.

I changed the approach from what I initially had in D21862, which was to add the PhabricatorProfileMenuItem::getDefaultName() as an abstract function and make the default implementation of getDisplayName() to read the 'name' menu property from the config.

May 9 2023, 4:03 AM
cspeckmim requested review of D21863: Addressing some PHP8 incompatibilities - ProfileMenuItem.
May 9 2023, 3:59 AM
cspeckmim updated the diff for D21862: Addressing some PHP 8 incompatibilities.

My session expired and ran into a few more issues

May 9 2023, 3:52 AM
cspeckmim added inline comments to D21862: Addressing some PHP 8 incompatibilities.
May 9 2023, 2:30 AM
cspeckmim updated the diff for D21862: Addressing some PHP 8 incompatibilities.

I jumped the gun and updated my local arcanist to using php 8.2 which introduced the UT errors

May 9 2023, 2:28 AM
cspeckmim updated the diff for D21862: Addressing some PHP 8 incompatibilities.

Remove changes to profile menu files

May 9 2023, 2:16 AM
cspeckmim planned changes to D21862: Addressing some PHP 8 incompatibilities.

Thank you for the thorough explanation. Yesterday I tried searching for how to dynamically add functions to classes but apparently my searching today is better~

May 9 2023, 1:36 AM
cspeckmim updated the diff for D21862: Addressing some PHP 8 incompatibilities.

Made suggested changes except I haven't pulled out the profile menu stuff yet.

May 9 2023, 1:29 AM
cspeckmim added inline comments to D21862: Addressing some PHP 8 incompatibilities.
May 9 2023, 1:21 AM

May 8 2023

epriestley requested changes to D21862: Addressing some PHP 8 incompatibilities.

The relation between AuthProvider and AuthProviderConfig and AuthAdapter confused me a bit

May 8 2023, 5:07 AM
cspeckmim updated the diff for D21862: Addressing some PHP 8 incompatibilities.

Be consistent with usage/checks

May 8 2023, 2:22 AM
cspeckmim added inline comments to D21862: Addressing some PHP 8 incompatibilities.
May 8 2023, 2:22 AM
cspeckmim retitled D21862: Addressing some PHP 8 incompatibilities from Addressing PHP 8 incompatibilities to Addressing some PHP 8 incompatibilities.
May 8 2023, 1:53 AM
cspeckmim published D21862: Addressing some PHP 8 incompatibilities for review.
May 8 2023, 1:32 AM

Apr 30 2023

epriestley added a comment to T13588: PHP 8 Compatibility.

I think the string typehint isn't supported until recent-ish PHP, so its availability will depend on your minimum supported version.

Apr 30 2023, 3:41 AM · Infrastructure

Apr 29 2023

cspeckmim added a comment to T13588: PHP 8 Compatibility.

As an example, given this code

private $name;
Apr 29 2023, 8:33 PM · Infrastructure
cspeckmim added a comment to T12071: Require "E" be defined in variables_order so $_ENV is correctly populated.

I was ready to suggest that after further investigation was made, recalling the "recent" refactor work of the mercurial command-with-extensions changes we looked at 😄

Apr 29 2023, 7:46 PM · Infrastructure
epriestley added a comment to T12071: Require "E" be defined in variables_order so $_ENV is correctly populated.

For https://we.phorge.it/T15281, consider modifying DiffusionGitCommandEngine->newFormattedCommand() to pass explicit configuration to Git (as we do in Mercurial) rather than requiring administrators correctly configure Git via .gitconfig via $HOME.

Apr 29 2023, 7:39 PM · Infrastructure
cspeckmim added a comment to T13588: PHP 8 Compatibility.

Gotcha. I'm going to take a swing at updating past 8.0 and see what crops up. Also thanks for the tip with PHPAST. I haven't looked too much into it other than trying to get it working on Windows a year or so back

Apr 29 2023, 4:49 PM · Infrastructure
epriestley added a comment to T12071: Require "E" be defined in variables_order so $_ENV is correctly populated.

With the caveat that I mostly dig holes in the dirt now and no longer remember how computers work:

Apr 29 2023, 2:45 PM · Infrastructure
cspeckmim added a comment to T12071: Require "E" be defined in variables_order so $_ENV is correctly populated.

Would this be reasonable to address with a new server-side setup check, similar to the checks for post_max_size and op_cache values?

Apr 29 2023, 2:04 PM · Infrastructure

Apr 26 2023

epriestley added a comment to T13588: PHP 8 Compatibility.

I favor dealing with them on a case-by-case basis since they don't seem especially pervasive and I think in most of the cases where I've fixed the issue, the fix I chose wasn't just to swap the call. I think these strlen() errors are often a correct/useful symptom of undesirable slop in type handling.

Apr 26 2023, 7:29 PM · Infrastructure
cspeckmim added a comment to T13588: PHP 8 Compatibility.

PHP 8.1 disallows strlen(null).
...
Broadly, Phabricator likely will not pass the empty string as a constraint in these cases...
...
D21762 introduces phutil_nonempty_string(), which is like this test but slightly stricter (it raises an exception for wonky values) and easier to revisit later (i.e., use of this function is a hint that the code can be made more strict about value types).
...
Upshot:

  • if (strlen($maybe_null)) may be replaced in all cases with if (phutil_nonempty_string($maybe_null)) to work in PHP 8.1 and not break any code which wasn't already extremely suspicious (...stringlike() may be required if the value may be an object, usually a URI object).
  • This is usually not the most desirable replacement, but probably 95% of these aren't realistically worth being surgical about.
  • In new code, prefer increasing type strictness over these more-flexible tests.
Apr 26 2023, 7:05 PM · Infrastructure

Apr 25 2023

cspeckmim closed D21861: Fix support for pk-zip compressed figlet font files.
Apr 25 2023, 8:30 PM
cspeckmim committed rPbc6f4786a2e3: Fix support for pk-zip compressed figlet font files (authored by cspeckmim).
Fix support for pk-zip compressed figlet font files
Apr 25 2023, 8:30 PM
epriestley accepted D21861: Fix support for pk-zip compressed figlet font files.

Aha! Looks good, then. Thanks!

Apr 25 2023, 8:08 PM
cspeckmim retitled D21861: Fix support for pk-zip compressed figlet font files from Remove support for compressed figlet font files. to Fix support for pk-zip compressed figlet font files.
Apr 25 2023, 7:34 PM
cspeckmim updated the diff for D21861: Fix support for pk-zip compressed figlet font files.

smoosh the commits?

Apr 25 2023, 7:27 PM
cspeckmim planned changes to D21861: Fix support for pk-zip compressed figlet font files.
Apr 25 2023, 7:22 PM
cspeckmim added a comment to D21861: Fix support for pk-zip compressed figlet font files.

I am messing something up with git and arc?

Apr 25 2023, 7:21 PM
cspeckmim updated the diff for D21861: Fix support for pk-zip compressed figlet font files.

Fix the implementation of using pk-zip compressed figlet font files

Apr 25 2023, 7:20 PM
cspeckmim planned changes to D21861: Fix support for pk-zip compressed figlet font files.

Okay I figured out what was happening.

  1. We observed the issue with using {} as index operator on our production server
  2. I updated the Figlet.php on our production server to fix the indexing issue
  3. This resulted in getting the zip_open issue, which this error result was cached (return raiseError() vs. a 500 php error)
  4. I applied the index issue change and the zip_open change to our test environment and was able to load the diff that was failing in production
  5. Someone had previously installed a bunch of figlet fonts on our production server but it was after the last time we duplicated production to our test server - so the tests I was running in our test environment never hit the zip issue directly.
  6. On the production server many of the fonts are PK-zip compressed however have the .flf extension. I had been looking for .zip or .tar.gz files so I had assumed none of the fonts installed were compressed.
Apr 25 2023, 6:52 PM
epriestley added a comment to D21861: Fix support for pk-zip compressed figlet font files.

I'm a little confused about how we ever hit the test for zip_open() (or whatever prompted the original change in D21860) if you don't have any custom compressed fonts and Phabricator doesn't ship with any custom compressed fonts? This change looks good to me, but how did we run into a problem in the first place?

Apr 25 2023, 5:13 PM
cspeckmim added inline comments to D21861: Fix support for pk-zip compressed figlet font files.
Apr 25 2023, 4:24 PM
cspeckmim added a comment to D21861: Fix support for pk-zip compressed figlet font files.

I'm not sure why the change D21860 did not work to decompress the tar/gzip figlet file

Apr 25 2023, 3:54 PM
cspeckmim added a comment to D21861: Fix support for pk-zip compressed figlet font files.

Sorry for jumping the gun on landing that previous one. To my surprise we didn't even have any custom figlet font files installed previously. I did some more thorough testing with this change to ensure that custom figlet font files still work properly, unless they're compressed. I'm not sure why the change D21860 did not work to decompress the tar/gzip figlet file but if it's not worth supporting I prefer to remove the complexity.

Apr 25 2023, 3:46 PM
cspeckmim requested review of D21861: Fix support for pk-zip compressed figlet font files.
Apr 25 2023, 3:35 PM
cspeckmim added a comment to D21860: Update Figlet implementation to be PHP8 compatible.

Oh whoops. I didn't realize figlet font file format wasn't compressed

Apr 25 2023, 3:04 PM
epriestley added a comment to D21860: Update Figlet implementation to be PHP8 compatible.

(It would also probably be fine to just remove support for compressed figlet fonts, they're probably saving like 5KB?)

Apr 25 2023, 3:03 PM
cspeckmim closed D21860: Update Figlet implementation to be PHP8 compatible.
Apr 25 2023, 3:03 PM
cspeckmim committed rPd5c63c86e7e4: Update Figlet implementation to be PHP8 compatible (authored by cspeckmim).
Update Figlet implementation to be PHP8 compatible
Apr 25 2023, 3:03 PM
epriestley accepted D21860: Update Figlet implementation to be PHP8 compatible.

Thanks!

Apr 25 2023, 2:59 PM
cspeckmim added a revision to T13588: PHP 8 Compatibility: D21860: Update Figlet implementation to be PHP8 compatible.
Apr 25 2023, 2:53 PM · Infrastructure
cspeckmim requested review of D21860: Update Figlet implementation to be PHP8 compatible.
Apr 25 2023, 2:53 PM

Apr 6 2023

sekimura updated sekimura.
Apr 6 2023, 12:34 AM

Apr 1 2023

cspeckmim added a comment to D21859: Update the arc-hg.py extension to work with mercurial 6.4.

Thank you it’s very appreciated!

Apr 1 2023, 6:37 PM
epriestley added a comment to D21859: Update the arc-hg.py extension to work with mercurial 6.4.

I also cherry-picked this to stable, since I don't have any specific plans around when I'm going to cut the next release right now.

Apr 1 2023, 1:59 PM
epriestley committed rARC60446ec65cfa: (stable) Update the arc-hg.py extension to work with mercurial 6.4 (authored by cspeckmim).
(stable) Update the arc-hg.py extension to work with mercurial 6.4
Apr 1 2023, 1:58 PM
epriestley added a comment to T13688: How do you reasonably plumb a 1/4" drain line into a 1-1/4" drain pipe?.

If the small pipe needs to drain into the big one, how about taking a large pvc end-cap, drilling a 1/4" hold and forcing the smaller pipe in it?

Apr 1 2023, 1:58 PM · Hardware
avivey added a comment to T13688: How do you reasonably plumb a 1/4" drain line into a 1-1/4" drain pipe?.

If the small pipe needs to drain into the big one, how about taking a large pvc end-cap, drilling a 1/4" hold and forcing the smaller pipe in it? Maybe seal the whole thing with some silicone.

Apr 1 2023, 10:14 AM · Hardware
cspeckmim closed D21859: Update the arc-hg.py extension to work with mercurial 6.4.
Apr 1 2023, 3:28 AM
cspeckmim committed rARC0fc22183e796: Update the arc-hg.py extension to work with mercurial 6.4 (authored by cspeckmim).
Update the arc-hg.py extension to work with mercurial 6.4
Apr 1 2023, 3:28 AM

Mar 31 2023

epriestley added a comment to T13689: A Considered Review: 3D Printing.

I've been using Fusion 360, which I'd say is "not bad". (See also T13697, perhaps.)

Mar 31 2023, 10:41 PM · Hardware
Korvin added a comment to T13689: A Considered Review: 3D Printing.

I'm curious what 3d modeling software you use, I've had success making simple boxes and things like that with sketchup but I've been a little intimidated by more advanced modeling software.

Mar 31 2023, 9:11 PM · Hardware
epriestley accepted D21859: Update the arc-hg.py extension to work with mercurial 6.4.

Thanks!

Mar 31 2023, 1:25 PM
cspeckmim requested review of D21859: Update the arc-hg.py extension to work with mercurial 6.4.
Mar 31 2023, 3:17 AM

Mar 2 2023

epriestley added a comment to T13693: Address various issues with Bernina B740 Sewing Machine.

...I suspect that's a difficult geometry for FDM in PLA.

Mar 2 2023, 5:46 PM · Hardware
epriestley added a comment to T13693: Address various issues with Bernina B740 Sewing Machine.

These sewing machine shaft collars are kind of tricky: thread unspools around them, so the inward face must have a completely smooth edge that can't catch or snag. This rules out a simple clamping-style shaft collar with a slit in it.

Mar 2 2023, 6:33 AM · Hardware
epriestley added a comment to T13693: Address various issues with Bernina B740 Sewing Machine.

Spool Cap (Small)

Mar 2 2023, 6:13 AM · Hardware

Feb 17 2023

epriestley edited the content of Changelog.
Feb 17 2023, 6:49 PM
epriestley renamed 2023 Week 7 (Mid February) from 2023 Week 7 to 2023 Week 7 (Mid February).
Feb 17 2023, 6:47 PM