Page MenuHomePhorge
Feed Advanced Search

Jan 14 2024

speck accepted D25516: preg_match() null exception setting custom user profile image with empty files.viewable-mime-types.
Jan 14 2024, 13:43

Jan 13 2024

speck accepted D25514: Correct manual upload of Differential patch with a leading BOM.

Thanks - I did mean as an inline comment in the code but either is good.

Jan 13 2024, 19:58
speck added a comment to D25514: Correct manual upload of Differential patch with a leading BOM.

Is the input to parseDiff guaranteed to be UTF-8 encoded? I don’t have the code on-hand to look up but it’s possible encoding is handled elsewhere — or arc might have a hard requirement for all input to be UTF-8. All mercurial commands run by arcanist are done with a flag to enforce UTF-8.

Jan 13 2024, 15:51
speck added a comment to T15452: Differential drops a diff's first hunk if the file starts with a Byte-order-Mark.

Hmm I’ve used mercurial and arcanist/Phab for years at my company and don’t believe we’ve ever run into this. Any idea what’s causing the presence of the BOM? We’ll apply a change to handle the UTF-8 bom but I am curious what may have caused it to show up. Is your hgrc configured in some way for this or maybe an environment variable?

Jan 13 2024, 15:42 · Differential

Jan 12 2024

speck added inline comments to D25390: Fix PHP 8.1 "json_decode(null)" exception editing a form when custom field of type Users exists.
Jan 12 2024, 22:51
speck accepted D25512: Fix config transaction rendering error on auth page by allowing PhutilSafeHTML.
Jan 12 2024, 13:23

Jan 11 2024

speck accepted D25494: Fix PHP 8.1 exception creating task when custom select field configured.

Same comment about keeping strlen. Up to you if you want to switch before landing.

Jan 11 2024, 23:25
speck accepted D25492: Fix PHP 8.1 "strlen(null)" exception when custom select field configured.

ty

Jan 11 2024, 23:21
speck accepted D25492: Fix PHP 8.1 "strlen(null)" exception when custom select field configured.
Jan 11 2024, 21:22
speck accepted D25510: Fix invalid CSS property value.
Jan 11 2024, 12:32

Jan 10 2024

speck added a comment to T15566: Make is easier to install Phorge in the smallest case.

I have some containers I put together for development which could provide a place to start
https://github.com/neandrake/phab-dev

Jan 10 2024, 04:21 · Phorge

Jan 7 2024

speck added a comment to D25118: Remarkup: make less internal links open in new tabs.

Also instead of “Goodie” maybe “Helper” or something. Maybe there’s a similar naming elsewhere in the code base

Jan 7 2024, 14:43
speck added a comment to D25118: Remarkup: make less internal links open in new tabs.

I forgot I had this requesting changes. Any idea of the performance hit in markup rendering now that PhutilURI is constructed for every link? I think its constructor does a fair amount.

Jan 7 2024, 14:42

Dec 14 2023

speck accepted D25496: Fix typo.

Thanks!

Dec 14 2023, 12:05

Dec 10 2023

speck added Q97: Unable to submit patch via arc diff (Answer 126).
Dec 10 2023, 23:42
speck added inline comments to D25494: Fix PHP 8.1 exception creating task when custom select field configured.
Dec 10 2023, 01:48

Dec 9 2023

speck added a comment to T15645: Implement "Locate File" input in Browse view.

I’ve been meaning to investigate this. It also has thrown me that it’s not available where you expect it. I do suspect @valerio.bozzolan is right

Dec 9 2023, 23:59 · Diffusion
speck awarded T15645: Implement "Locate File" input in Browse view a Like token.
Dec 9 2023, 23:57 · Diffusion

Dec 7 2023

speck added a comment to D25492: Fix PHP 8.1 "strlen(null)" exception when custom select field configured.

It might be safer to do a null check with the strlen check in case the value isn’t a string.

Dec 7 2023, 00:06

Dec 5 2023

speck requested changes to D25489: Fix PHP 8.1 "strlen(null)" exception rendering dashboard panel with latest tasks when custom int field configured.

Good catch. I don’t think it would cause an implosion but might result in not applying constraints when it should

Dec 5 2023, 12:18
speck accepted D25489: Fix PHP 8.1 "strlen(null)" exception rendering dashboard panel with latest tasks when custom int field configured.
Dec 5 2023, 12:04
speck accepted D25487: Fix PHP 8.1 exceptions rendering task when custom select field configured.
Dec 5 2023, 12:03

Dec 4 2023

speck added a comment to D25478: Use predictable filenames when downloading raw diffs from a revision.

Whitelisting both vs and id sound good.

Dec 4 2023, 19:10

Dec 3 2023

speck added a comment to D25478: Use predictable filenames when downloading raw diffs from a revision.

I spent only 5 minutes playing around on a diff to see what might make the url change. The diff id is probably the key one I’d be interested in keeping. I don’t know what the other params are for (even vs).

Dec 3 2023, 15:58

Dec 2 2023

speck added a comment to D25483: fix PHP 8 "strlen(null)" when testing the ssh setup.

Hmm that stack trade doesn’t seem to contain the origin of the issue, likely getting lost through error handling or maybe it’s an incomplete stack trace.

Dec 2 2023, 21:41
speck accepted D25484: fix PHP 8 "strlen(null)" when moving paths with missing options.

This seems fine, though I wonder if we should introduce a phutil_empty_string() or phutil_is_empty_string function to avoid the double-negative logic. I think this reads more easily:

if (phutil_empty_string($from)) {
  throw new Exception()
}
Dec 2 2023, 19:10
speck added a comment to D25483: fix PHP 8 "strlen(null)" when testing the ssh setup.

Is there a stacktrace to work from here? I suspect nothing should really be passing null into phutil_encode_log() and there's likely another issue here. I prefer preventing passing null values into this rather than papering over the issue here in the depths of util functions.

Dec 2 2023, 19:07
speck added a comment to D25485: CSS adjustments to Conpherence.

Thank you so much for the header fix that’s been bugging me every time I use conpherence lol

Dec 2 2023, 15:24 · Conpherence

Dec 1 2023

speck added a comment to D25471: Updates for Mercurial's HTTP protocol.

Thanks for staging this @valerio.bozzolan

Dec 1 2023, 01:16
speck closed D25471: Updates for Mercurial's HTTP protocol.
Dec 1 2023, 01:16
speck committed rP99ee9357eff2: Updates for Mercurial's HTTP protocol.
Updates for Mercurial's HTTP protocol
Dec 1 2023, 01:16
speck added inline comments to D25472: Update PhpunitTestEngine.php and ArcanistPhpunitTestResultParser.php to use junit output rather than json..
Dec 1 2023, 01:14
speck added a comment to T15667: Update PhpunitTestEngine to not call phpunit with --log-json option.

6 year old in-your-face unreported bugs like these make me wonder how many people use Phabricator/Phorge :-(

It's not many, but this issue would be specific to anyone using Phabricator/Phorge for PHP development, which is likely Phab/Phorge itself is close to 100% of that market. And Phab/Phorge also itself has its own unit testing framework instead of PHPUnit.

Dec 1 2023, 01:00 · Arcanist

Nov 30 2023

speck added inline comments to D25477: Visually indicate new user accounts.
Nov 30 2023, 22:16
speck added a comment to D25478: Use predictable filenames when downloading raw diffs from a revision.

What do you think about keeping the current naming scheme but whitelisting a handful of query params to use instead of using them all? The timestamp adds noise and it's probably nice to see the ID of the diff in the filename, e.g. D25478.id1541.diff? Maybe just allow the the id parameter and regex that it's value is just a string of numbers.

Nov 30 2023, 21:51
speck added a comment to D25388: PhutilErrorHandler: support multiple error listeners.

Sorry for the delayed review

Nov 30 2023, 21:37
speck accepted D25482: Fix exception in Transaction Log after renaming Pholio Mock image: Call to undefined method PholioImageSequenceTransaction::renderHandleLink().

Oh interesting

Nov 30 2023, 12:30

Nov 29 2023

speck added inline comments to D25482: Fix exception in Transaction Log after renaming Pholio Mock image: Call to undefined method PholioImageSequenceTransaction::renderHandleLink().
Nov 29 2023, 16:21
speck added a comment to D25482: Fix exception in Transaction Log after renaming Pholio Mock image: Call to undefined method PholioImageSequenceTransaction::renderHandleLink().

Was this the result of a recent change?

Nov 29 2023, 16:19

Nov 28 2023

speck accepted D25481: Fix PHP 8.1 "strlen(null)" exception removing custom alt text from image file.
Nov 28 2023, 13:03

Nov 19 2023

speck added a comment to D25474: Disallow webcrawlers to index Diffusion commits.

I don’t think revert I’d needed but the comment should probably be removed or updated. I’d like to understand why it was deemed hard to do but the solution here doesn’t seem that hard. Maybe it’s more difficult than it appears, or was robots.txt standard later updated in a way that makes this easier, or maybe Phab URLs changed in a way that made this easier but this was never updated, etc.

Nov 19 2023, 00:07

Nov 17 2023

speck added inline comments to D25474: Disallow webcrawlers to index Diffusion commits.
Nov 17 2023, 18:15

Nov 16 2023

speck accepted D25474: Disallow webcrawlers to index Diffusion commits.
Nov 16 2023, 23:27

Nov 15 2023

speck accepted D25421: Audit Feed: less verbose when the author is the committer.
Nov 15 2023, 12:49

Nov 14 2023

speck accepted D25421: Audit Feed: less verbose when the author is the committer.

Minor, just suggestion

Nov 14 2023, 19:45
speck planned changes to D25276: Add support for secure connections to the database.

I think there’s still a chunk to do here, including additional documentation during setup

Nov 14 2023, 12:01

Nov 12 2023

speck accepted D25465: Fix loop in contribution docs.
Nov 12 2023, 21:03
speck accepted D25470: Initialize static variable to make linter happy.
Nov 12 2023, 21:02
speck accepted D25469: Fix reentrancy guard in setDebugTimeLimit().
Nov 12 2023, 21:00
speck accepted D25468: Fix typo in DiffusionLowLevelGitRefQuery.
Nov 12 2023, 20:59
speck published D25276: Add support for secure connections to the database for review.

Opening this up from draft if communication/reviews are happening

Nov 12 2023, 17:09
speck accepted D25464: Enforce viewable MIME types config on PDF documents.

Okay I misunderstood the default value. I don’t think a security tag is necessary either.

Nov 12 2023, 15:49
speck added a comment to D25464: Enforce viewable MIME types config on PDF documents.

This will require documentation of some sort, specifically for the upgrade notes to indicate that if someone relies on rendering PDFs currently then after upgrading they would need to update that configuration.

Nov 12 2023, 15:23
speck added inline comments to D25465: Fix loop in contribution docs.
Nov 12 2023, 00:51

Nov 11 2023

speck added a comment to D25464: Enforce viewable MIME types config on PDF documents.

The Referenced Files section of this diff looks like someone is looking for a vulnerability. Any idea what’s happening here?

Nov 11 2023, 15:51
speck added inline comments to D25465: Fix loop in contribution docs.
Nov 11 2023, 15:48
speck added a comment to D25441: Fix possible array to string conversion renaming Pholio Mockup image.

Since this is for the timeline text maybe it should check for array and just say “multiple images” rather than grabbing the first.

Nov 11 2023, 15:43
speck accepted D25463: Correct default database prefix in documentation.

Thanks!

Nov 11 2023, 02:27
speck accepted D25462: Fix view policy inheritance on image transforms.

Awesome thanks for adding details and clarification

Nov 11 2023, 02:26
speck added inline comments to D25462: Fix view policy inheritance on image transforms.
Nov 11 2023, 00:03

Nov 10 2023

speck added inline comments to D25421: Audit Feed: less verbose when the author is the committer.
Nov 10 2023, 04:04
speck accepted D25460: Make "git cat-file" exception messages include repository monogram/slug.

This seems reasonable to me. It only adds further information to logs. I suppose there are some paths that could result in showing exception on the client-side but including monogram doesn’t seem concerning/dangerous.

Nov 10 2023, 03:58
speck accepted D25425: Remove mention of Phabricator in the Auth setup check.
Nov 10 2023, 03:56

Nov 8 2023

speck accepted D25459: Fix doc link to Restarting Phorge.

Would there be a bunch of these lying around?

Nov 8 2023, 23:20
speck accepted D25362: Show more in Application Detail and List view.

Is the list of PHIDs referring to what types of objects that it creates? Is the expectation that each PHID type corresponds to exactly one Application? Maybe some additional text on that page to explain more what PHIDs mean in this context.

Nov 8 2023, 23:20
speck accepted D25408: Fix Exception in Chat room when you are not a Participant.
Nov 8 2023, 23:17

Nov 5 2023

speck accepted D25374: Fix PHP 8.1 "urlencode(null)" exception blocking account registration redirect for custom OAuth provider.

This looks like a reasonable chance to me.

Nov 5 2023, 15:13
speck accepted D25455: Fix cursor paging issue in Given Token query call.

Nice

Nov 5 2023, 15:09
speck accepted D25450: Add Diffusion policy capability "Can Edit and View Identities".

Great points. Thank you for talking through more details.

Nov 5 2023, 15:07
speck accepted D25452: Do not expose Contact Numbers settings panel when no SMS support configured.

Nice, thank you!

Nov 5 2023, 15:06

Nov 4 2023

speck added a comment to D25420: Improving UX for ignoring timezone conflicts.

Instead of adding a checkbox is there precedent for having a separate button alongside Cancel and Submit?

Nov 4 2023, 15:25
speck added a comment to D25362: Show more in Application Detail and List view.

I’m surprised the monograms weren’t already defined on the applications - those should be somewhere already, right?

Nov 4 2023, 15:13
speck accepted D25421: Audit Feed: less verbose when the author is the committer.

Basically it works

😂

Nov 4 2023, 15:07
speck accepted D25454: Fix PHP 8.1 "strlen(null)" exception on Diffusion repo URIs page after repo creation.
Nov 4 2023, 15:00
speck added a comment to D25118: Remarkup: make less internal links open in new tabs.

This looks good and I really like the idea of being able to customize the style of external links. Just one tweak to the logic I think we should add before landing.

Nov 4 2023, 15:00
speck accepted D25453: Fix project page 404 after rename and removing new name from alias slugs.

Looks good to me, I suggest clarifying the comment before landing.

Nov 4 2023, 14:50
speck added a comment to D25450: Add Diffusion policy capability "Can Edit and View Identities".

Maybe add some doc - the view and edit actions being lumped together are because it would be a larger change to split out that functionality right now, correct?

Nov 4 2023, 14:46

Oct 27 2023

speck added a comment to D25452: Do not expose Contact Numbers settings panel when no SMS support configured.

Thanks for clarifying this behavior, it sounds like contact numbers in general need fleshed out quite a bit.

Oct 27 2023, 15:46
speck added a comment to D25452: Do not expose Contact Numbers settings panel when no SMS support configured.

Changing policy based on sms being configured seems a little off to me. Having the setting only conditionally show based on it being configured seems fine, however what happens in this scenario:

  1. Turn on sms
  2. Add number
  3. Turn off sms
Oct 27 2023, 12:16

Oct 25 2023

speck added a comment to T15106: "Upload file" in remarkup text fields should attach by default .

I had communicated these upstream (almost exactly a year ago~) and some helpful information was provided

Oct 25 2023, 21:33 · Files, Remarkup
speck added inline comments to D25118: Remarkup: make less internal links open in new tabs.
Oct 25 2023, 21:24
speck requested changes to D25118: Remarkup: make less internal links open in new tabs.
Oct 25 2023, 21:17

Oct 10 2023

speck accepted D25444: Fix regression in DiffusionDiffQueryConduitAPIMethod.

lgtm

Oct 10 2023, 01:12

Jul 29 2023

speck added inline comments to D25367: Various PHP 8.1 strlen(null) fixes for Dashboard Panels.
Jul 29 2023, 23:34
speck accepted D25365: Fix HarbormasterBuildUnitMessage PHP 8.1 strlen(null) error.
Jul 29 2023, 11:58
speck accepted D25366: Fix PHP 8.1 Diffusion history errors.
Jul 29 2023, 11:57
speck added a comment to D25363: Calendar Import: calendar uploader is not anymore an alien.

Could this be abused, e.g. create an event with a thousand emails then import it and see if those emails are registered? If so how does that compare to existing means of discovering registered users?

Jul 29 2023, 01:23

Jul 28 2023

speck accepted D25361: Fix strlen(null) PHP 8.1 error when pushing into a fresh repository.
Jul 28 2023, 15:23

Jul 27 2023

speck added a comment to T15554: Handling PHP deprecations: convert to Setup Issues.

This is a good plan. Would this be opt-in, e.g. this Phorge instance would be the main one with this on but other installs wouldn’t see this by default?

Jul 27 2023, 13:27 · Phorge

Jul 22 2023

speck added inline comments to D25341: Fix ArcanistExternalLinter on Windows.
Jul 22 2023, 04:27
speck added a comment to T15045: Support SSL/TLS for MariaDB connections.

I have this working now in https://we.phorge.it/D25276. I still have it marked as draft because there are some outstanding things that should be decided/addressed

  1. Whether client certificate should be configurable. Ideally this is something that would be configured in the php.ini rather than directly in phorge but at the moment I don't think it can be.
  2. Updating documentation to specify how to set up TLS/SSL. For database configurations there's now a use-tls flag which will require connecting to the database using TLS. Turning on TLS/SSL on the database we can probably provide pointers but it's left to the reader for determining that based on their database.
  3. Database clusters with master & replicas? I don't know how to set this up. Those changes might affect cluster dbs but I'm unsure and it's untested.
Jul 22 2023, 04:11 · Security

Jul 19 2023

speck added a comment to T15045: Support SSL/TLS for MariaDB connections.

I picked this up again recently. I’m stuck on getting mariadb valid certificates it uses for connections, for testing my Phorge changes.

Jul 19 2023, 11:43 · Security

Jul 18 2023

speck added a comment to T15512: Make Flags more useful.

We don't allow cross-application table joins

Jul 18 2023, 22:30

Jul 5 2023

speck added a comment to T15524: Discussion: Technical direction of Phorge.
  • Is it possible to make Phorge use a different database? Adding SQLite support could greatly reduce complexity and lower the barrier for entry for new developers and allow running Phorge as a standalone app.

Phorge/Phab support a variety of different setups, including support of clustered MySQL/MariaDB databases. Moving to SQLite would be a large undertaking and would not support clustering/replication without major overhauls. For a move like this I can only conceive of many downsides and no benefits.

Jul 5 2023, 03:55

Jul 4 2023

speck added a comment to T15524: Discussion: Technical direction of Phorge.

It all comes from the fact that PHP was designed for a web 1.0

I don't follow this logic.

Jul 4 2023, 19:51

Jul 3 2023

speck accepted D25326: Add explicit tests for phutil_string_cast.

Awesome, tyty

Jul 3 2023, 21:03
speck added a comment to D25326: Add explicit tests for phutil_string_cast.

Nice. Could we add some additional tests for Boolean true/false, the number zero, populated and empty array?

Jul 3 2023, 18:37
speck added a comment to T15516: Regression in PhabricatorStandardCustomField.php:304 - field can be an integer.

I agree that non-string/null should be handled differently. I guess I don’t see the difference between null + strlen being used vs. the proposed nonempty_string/stringlike, and that making that change is explicitly acknowledging that casting is expected/intentional when it isn’t and instead the different types should be handled appropriately (your suggested long-term solution).

Jul 3 2023, 17:56 · Bug Reports
speck added a comment to D25319: Make src/infrastructure/javelin/markup.php phabricator_form PHP 8.1 compliant.

phabricator_form() is called in 24 places, and 23 of those specify the method.

So the choices are:

  1. Update the one calling place which isn't specifying the method, but leave phabricator_form() as a fragile function.
  2. Update phabricator_form() to defensively handle the lack of a method attribute, as we have done here.
  3. Update the phabricator_form function signature to make the method a required parameter.
Jul 3 2023, 15:53
speck added a comment to T15516: Regression in PhabricatorStandardCustomField.php:304 - field can be an integer.

Wouldn’t this be better as a null + strlen check? It was originally a strlen I assume.

Jul 3 2023, 14:05 · Bug Reports