Homestyx hydra
Diffusion hydra db19b23dce9a

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

Description

Fix PHP 8.1 "strlen(null)" exceptions on History page of Diffusion repo after changing text encoding

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=108cbcd09bd3)
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/repository/xaction/PhabricatorRepositoryEncodingTransaction.php:20]

Closes T15460

Test Plan: After applying these two changes, changing the text encoding of a Diffusion repository to a valid encoding and going to /diffusion/1/manage/history/, page renders correctly and shows no exception.

Reviewers: O1 Blessed Committers, speck

Reviewed By: O1 Blessed Committers, speck

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

Maniphest Tasks: T15460

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

Details

Provenance
Andre KlapperAuthored on Jun 11 2023, 9:49 PM
sirocylPushed on Oct 16 2024, 5:49 AM
Parents
R1:331b9cca4260: Fix PHP 8.1 "strlen(null)" exception rendering a commit in Diffusion when…
Branches
Unknown
Tags
Unknown

Event Timeline