Page MenuHomePhabricator

jrtc27 (Jessica Clarke)
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Tuesday

  • Clear sailing ahead.

User Details

User Since
Jan 10 2021, 9:44 PM (205 w, 6 d)
Availability
Available

Recent Activity

Mar 20 2021

jrtc27 added a comment to D21624: Remove or correct various "phabricator/" references to "libphutil".

I stumbled across its mention in the Arcanist Quick Start doc whilst setting up a new machine today so went to write a patch before realising that you'd just fixed this a few days ago. Is it expected that Diviner has yet to update?

Mar 20 2021, 10:58 AM

Jan 11 2021

jrtc27 closed D21504: Fix pyflakes tests for recent pyflakes versions.
Jan 11 2021, 4:52 AM
jrtc27 committed rARC172381260ee7: Fix pyflakes tests for recent pyflakes versions (authored by jrtc27).
Fix pyflakes tests for recent pyflakes versions
Jan 11 2021, 4:52 AM
jrtc27 closed D21503: Fix ArcanistJSHintLinterTestCase::testLinter for recent JSHint.
Jan 11 2021, 4:51 AM
jrtc27 committed rARC09cff8611ba4: Fix ArcanistJSHintLinterTestCase::testLinter for recent JSHint (authored by jrtc27).
Fix ArcanistJSHintLinterTestCase::testLinter for recent JSHint
Jan 11 2021, 4:51 AM
jrtc27 closed D21502: Fix PhutilOAuth1FutureTestCase::testOAuth1SigningWithJIRAExamples for PHP 8.
Jan 11 2021, 4:50 AM
jrtc27 committed rARCf64eb04300b4: Fix PhutilOAuth1FutureTestCase::testOAuth1SigningWithJIRAExamples for PHP 8 (authored by jrtc27).
Fix PhutilOAuth1FutureTestCase::testOAuth1SigningWithJIRAExamples for PHP 8
Jan 11 2021, 4:50 AM
jrtc27 closed D21501: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8.
Jan 11 2021, 4:50 AM
jrtc27 committed rARC9589fd18662f: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8 (authored by jrtc27).
Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8
Jan 11 2021, 4:50 AM
jrtc27 updated the diff for D21504: Fix pyflakes tests for recent pyflakes versions.

Rebased patch series

Jan 11 2021, 4:49 AM
jrtc27 updated the diff for D21503: Fix ArcanistJSHintLinterTestCase::testLinter for recent JSHint.

Rebased patch series

Jan 11 2021, 4:48 AM
jrtc27 updated the diff for D21502: Fix PhutilOAuth1FutureTestCase::testOAuth1SigningWithJIRAExamples for PHP 8.

Rebased patch series

Jan 11 2021, 4:47 AM
jrtc27 updated the summary of D21501: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8.
Jan 11 2021, 4:46 AM
jrtc27 updated the diff for D21501: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8.

Catch Throwable in the test rather than converting to Exception inside phutil_utf8_convert

Jan 11 2021, 4:45 AM
jrtc27 closed D21505: Fix ArcanistFormattedStringXHPASTLinterRule on older PHP after D21500.
Jan 11 2021, 4:40 AM
jrtc27 committed rARC687cb41ace6c: Fix ArcanistFormattedStringXHPASTLinterRule on older PHP after D21500 (authored by jrtc27).
Fix ArcanistFormattedStringXHPASTLinterRule on older PHP after D21500
Jan 11 2021, 4:40 AM
jrtc27 requested review of D21505: Fix ArcanistFormattedStringXHPASTLinterRule on older PHP after D21500.
Jan 11 2021, 4:39 AM
jrtc27 added a comment to D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8.

Ah even better.

Jan 11 2021, 4:31 AM
jrtc27 added a comment to D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8.

https://3v4l.org/eYFoc does work for 5.2.2+ to pass by reference, provided which arguments are passed by reference is part of the contract. But probably best to keep it simple and define xsprintf_test_callback as you say.

Jan 11 2021, 4:30 AM
jrtc27 updated the diff for D21504: Fix pyflakes tests for recent pyflakes versions.

Stay under 80 characters (and format the other long preg_match a bit more nicely)

Jan 11 2021, 4:12 AM
jrtc27 added a comment to D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8.

Hm, Harbormaster is failing with:

Fatal error: Call to undefined function ArcanistFormattedStringXHPASTLinterRule::processXsprintfCallback() in /core/data/drydock/workingcopy-70/repo/arcanist/src/xsprintf/xsprintf.php on line 70

Does referencing static functions not work in old PHP versions or something? I tested with 7.4 and it was fine.

Jan 11 2021, 4:08 AM
jrtc27 closed D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8.
Jan 11 2021, 4:05 AM
jrtc27 committed rARC90ac9a2ff281: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8 (authored by jrtc27).
Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8
Jan 11 2021, 4:05 AM
jrtc27 committed rARC0adef03fdfee: Fix PhutilTypeSpec's regex handling for PHP 8 (authored by jrtc27).
Fix PhutilTypeSpec's regex handling for PHP 8
Jan 11 2021, 4:04 AM
jrtc27 closed D21499: Fix PhutilTypeSpec's regex handling for PHP 8.
Jan 11 2021, 4:04 AM
jrtc27 requested review of D21504: Fix pyflakes tests for recent pyflakes versions.
Jan 11 2021, 4:03 AM
jrtc27 added a comment to D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8.

In the case of hypothetical zsprintf("A %XYZ B", ...), where %XYZ is some multi-character conversion like %Ls, the real zsprintf() would call sprintf("A %s B") internally, while this will call sprintf("A %sYZ B") -- that is, this callback can't know that %XYZ is a single conversion, rather than %X + YZ.

I can't think of any problems this will cause today or any theoretical problems it will cause in the future, and there's no easy way to future-proof it anyway, so I think this is the most reasonable fix.

Jan 11 2021, 3:38 AM
jrtc27 added a comment to D21501: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8.

Does this just break a test or something?

Jan 11 2021, 3:29 AM
jrtc27 requested review of D21503: Fix ArcanistJSHintLinterTestCase::testLinter for recent JSHint.
Jan 11 2021, 3:00 AM
jrtc27 added a comment to T13588: PHP 8 Compatibility.

With the four revisions I've just added, arc lint works with PHP 8 when run inside the arcanist repo, and arc unit --everything has no regressions compared with PHP 7.4 (both do have a few failures but they're the same and relate to pyflakes/jshint/hg, and look environment-specific so nothing to do with PHP 8).

Jan 11 2021, 2:24 AM · Infrastructure
jrtc27 added a revision to T13588: PHP 8 Compatibility: D21499: Fix PhutilTypeSpec's regex handling for PHP 8.
Jan 11 2021, 2:21 AM · Infrastructure
jrtc27 added a task to D21499: Fix PhutilTypeSpec's regex handling for PHP 8: T13588: PHP 8 Compatibility.
Jan 11 2021, 2:21 AM
jrtc27 added a task to D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8: T13588: PHP 8 Compatibility.
Jan 11 2021, 2:21 AM
jrtc27 added a revision to T13588: PHP 8 Compatibility: D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8.
Jan 11 2021, 2:21 AM · Infrastructure
jrtc27 added a revision to T13588: PHP 8 Compatibility: D21501: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8.
Jan 11 2021, 2:20 AM · Infrastructure
jrtc27 added a task to D21501: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8: T13588: PHP 8 Compatibility.
Jan 11 2021, 2:20 AM
jrtc27 added a task to D21502: Fix PhutilOAuth1FutureTestCase::testOAuth1SigningWithJIRAExamples for PHP 8: T13588: PHP 8 Compatibility.
Jan 11 2021, 2:20 AM
jrtc27 added a revision to T13588: PHP 8 Compatibility: D21502: Fix PhutilOAuth1FutureTestCase::testOAuth1SigningWithJIRAExamples for PHP 8.
Jan 11 2021, 2:20 AM · Infrastructure
jrtc27 requested review of D21502: Fix PhutilOAuth1FutureTestCase::testOAuth1SigningWithJIRAExamples for PHP 8.
Jan 11 2021, 2:06 AM
jrtc27 requested review of D21501: Fix PhutilUTF8TestCase::testUTF8Convert for PHP 8.
Jan 11 2021, 2:05 AM
jrtc27 requested review of D21500: Fix ArcanistFormattedStringXHPASTLinterRule for PHP 8.
Jan 11 2021, 2:04 AM
jrtc27 requested review of D21499: Fix PhutilTypeSpec's regex handling for PHP 8.
Jan 11 2021, 2:04 AM
jrtc27 closed D21498: Fix error handler on PHP 8.
Jan 11 2021, 2:02 AM
jrtc27 committed rARC446dcf1ccdcd: Fix error handler on PHP 8 (authored by jrtc27).
Fix error handler on PHP 8
Jan 11 2021, 2:02 AM
jrtc27 updated the diff for D21498: Fix error handler on PHP 8.

Trivially rebased for landing

Jan 11 2021, 2:01 AM

Jan 10 2021

jrtc27 added a comment to D21497: Suppress PHP 8 deprecation warning in __arcanist_init_script__.

In trying to arc diff --update this I got an exception (but it worked with --head, which I had been using to submit each commit of the patch series). What's the best way to test out arc itself and reproduce that? Use admin.phacility.com to get a testing instance?

Jan 10 2021, 10:25 PM
jrtc27 closed D21497: Suppress PHP 8 deprecation warning in __arcanist_init_script__.
Jan 10 2021, 10:21 PM
jrtc27 committed rARC930f7e117d81: Suppress PHP 8 deprecation warning in __arcanist_init_script__ (authored by jrtc27).
Suppress PHP 8 deprecation warning in __arcanist_init_script__
Jan 10 2021, 10:21 PM
jrtc27 retitled D21497: Suppress PHP 8 deprecation warning in __arcanist_init_script__ from Fix PHP 8 deprecation warning in __arcanist_init_script__ to Suppress PHP 8 deprecation warning in __arcanist_init_script__.
Jan 10 2021, 10:19 PM
jrtc27 added a comment to D21497: Suppress PHP 8 deprecation warning in __arcanist_init_script__.

What's the specific issue you run into with PHP8 with the existing code -- the function emits a deprecation warning when called?

Since the attack surface on the XML entity loader is huge/scary (historically, see D8049), I'd prefer to continue explicitly disabling it if we can. Although there's probably no real risk, I can imagine scenarios like some distro shipping a version of PHP which enables it by default, or users enabling it by default because they run some other software that needs it alongside Phabricator. In these cases, we're a little better off at runtime if we continue disabling the loader.

If this just raises a deprecation warning under PHP8, I'd be more comfortable "fixing" it by suppressing the warning with @ (so @libxml_disable_entity_loader(true); -- not sure how familiar you are with PHP) so that we're still making sure the loader is disabled. Is that reasonable, or does it create more problems?

Jan 10 2021, 10:19 PM
jrtc27 updated the diff for D21497: Suppress PHP 8 deprecation warning in __arcanist_init_script__.

Suppress deprecation warning with @ rather than skip the function call.

Jan 10 2021, 10:19 PM
jrtc27 closed D21496: Remove final from private functions for PHP 8 compatibility.
Jan 10 2021, 10:05 PM
jrtc27 committed rARC3ab2b407db4a: Remove final from private functions for PHP 8 compatibility (authored by jrtc27).
Remove final from private functions for PHP 8 compatibility
Jan 10 2021, 10:05 PM
jrtc27 requested review of D21498: Fix error handler on PHP 8.
Jan 10 2021, 9:54 PM
jrtc27 requested review of D21497: Suppress PHP 8 deprecation warning in __arcanist_init_script__.
Jan 10 2021, 9:54 PM
jrtc27 requested review of D21496: Remove final from private functions for PHP 8 compatibility.
Jan 10 2021, 9:54 PM