Homestyx hydra
Diffusion hydra 71f38a90a358

Fix PHP 8.1 "strlen(null)" exception on History page of Diffusion repo after…

Description

Fix PHP 8.1 "strlen(null)" exception on History page of Diffusion repo after setting maintenance mode

Summary:
strlen() was used in Phabricator to check if a generic value is a non-empty string.
This behavior is deprecated since PHP 8.1. Phorge adopts phutil_nonempty_string() as a replacement.

Note: this may highlight other absurd input values that might be worth correcting
instead of just ignoring. If phutil_nonempty_string() throws an exception in your
instance, report it to Phorge to evaluate and fix that specific corner case.

EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
arcanist(head=master, ref.master=97e163187418), phorge(head=master, ref.master=1c098c273d06)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/repository/xaction/PhabricatorRepositoryMaintenanceTransaction.php:28]

Closes T15475

Test Plan:
Play a bit with maintenance messages:

./bin/repository maintenance --start "Start"      R1
./bin/repository maintenance --start "Start Yeah" R1
./bin/repository maintenance --stop               R1

Then visit /diffusion/1/manage/history/ and look at Diffusion put this repository into maintenance mode. as expected, instead of an exception.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15475

Differential Revision: https://we.phorge.it/D25295

Details

Provenance
Andre KlapperAuthored on Jul 5 2023, 1:40 PM
sirocylPushed on Oct 16 2024, 5:49 AM
Parents
R1:f45d6421a13c: Fix PHP 8.1 "strlen(null)" exception opening a File overlay (Lightbox comment…
Branches
Unknown
Tags
Unknown

Event Timeline