1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-07 05:11:05 +01:00
phorge-phorge/src/infrastructure
Andre Klapper e610e739cb Fix PHP 8.1 exceptions rendering task when custom select field configured
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.

In the other case, do not call `json_decode()` when passing null to it.

```
EXCEPTION: (RuntimeException) json_decode(): Passing null to parameter #1 ($json) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<arcanist>/src/error/PhutilErrorHandler.php:261]
  #1 <#2> json_decode(NULL, boolean) called at [<phorge>/src/infrastructure/customfield/standard/PhabricatorStandardCustomFieldPHIDs.php:44]
```

```
EXCEPTION: (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261]
  #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/infrastructure/customfield/standard/PhabricatorStandardCustomFieldSelect.php:76]
```

Closes T15683

Test Plan: After configuring a custom `select` field, access a task.

Reviewers: O1 Blessed Committers, speck

Reviewed By: O1 Blessed Committers, speck

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15683

Differential Revision: https://we.phorge.it/D25487
2023-12-05 10:24:17 -08:00
..
cache Use "@" to silence "GC list" warnings from "apc_store()" and "apcu_store()" 2020-04-28 04:13:37 -07:00
cluster Fix PHP 8.1 strlen() error when database replication Seconds_Behind_Master is NULL 2023-06-30 13:49:32 +01:00
contentsource Fix PHP 8.1 "strlen(null)" exception which blocks creating personal and global Herald rules 2023-05-05 12:53:14 +02:00
customfield Fix PHP 8.1 exceptions rendering task when custom select field configured 2023-12-05 10:24:17 -08:00
daemon Provide a default "loadPage()" implementation on "CursorPagedPolicyAwareQuery" 2022-05-24 10:18:53 -07:00
diff Fix PHP 8.1 "strlen(null)" exceptions block creating a diff in Differential web interface 2023-06-02 20:40:42 +02:00
edges Add a side nav to Conduit API method console pages 2021-07-21 14:16:59 -07:00
editor Fix PHP 8.1 PhabricatorEditorURIEngine::newForViewer() trim(NULL) error 2023-07-17 11:03:52 +01:00
env PHP 8.2: fixes for strlen() not accepting NULL anymore, part 1 2023-03-31 22:05:52 +02:00
events Change some instances of "phabricator" to "phorge" 2023-11-18 22:14:15 +00:00
export Remove product literal strings in "pht()", part 9 2022-04-25 12:22:29 -07:00
graph Render user hovercards with context information about their ability to see the context object 2021-02-13 13:37:37 -08:00
internationalization Update "Files" attachment table to show more attachment details and support detachment 2022-05-25 12:56:37 -07:00
javelin Make src/infrastructure/javelin/markup.php phabricator_form PHP 8.1 compliant 2023-06-30 15:13:20 +01:00
lint/linter Linter fixes 2015-12-03 07:44:23 +11:00
lipsum Continue moving classes with no callers in libphutil or Arcanist to Phabricator 2020-02-12 13:14:04 -08:00
log PHP 8.2: fixes for strlen() not accepting NULL anymore, part 1 2023-03-31 22:05:52 +02:00
management Add additional flags to "bin/repository rebuild-identities" to improve flexibility 2019-11-19 09:39:48 -08:00
markup Make InterpreterBlockRule regex only match on valid interpreter names 2023-09-04 13:12:11 +02:00
parser Correct spelling mistakes 2023-05-27 22:19:06 +01:00
query Fix PHP 8.1 "strlen(null)" and preg_match() exceptions which block rendering "Browse Subscribers" overlay dialog 2023-05-12 12:02:15 +02:00
ssh Generate a random unique "Request ID" for SSH requests so processes can coordinate better 2018-03-22 13:44:30 -07:00
status Give Drydock Leases more modern status treatment 2018-02-13 13:15:57 -08:00
storage Remove Chatlog entirely 2023-11-27 11:38:37 -07:00
syntax Pass the new default syntax highlighting map to the remarkup engine 2016-05-05 02:51:19 -07:00
testing When running unit tests, ignore any custom task fields 2017-04-02 09:36:17 -07:00
time Render timezone names more readably, with spaces rather than underscores ("America/Los Angeles", not "America/Los_Angeles"). 2019-05-30 15:03:11 -07:00
util Remove product literal strings in "pht()", part 25 2022-04-25 16:46:26 -07:00
PhabricatorEditor.php Mark some strings for translation 2015-06-09 23:06:52 +10:00