Open krabina opened 1 month ago
It's upstream. Should be reported there: https://phabricator.wikimedia.org/tag/php_8.2_support/. Don't know if they will patch MediaWiki 1.39 for compatibility with PHP 8.2.
But it also happens in PHP 8.1
No, correction. It only happens in 8.2. In 8.1 only this one is shown:
Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /vendor/easyrdf/easyrdf/lib/Http/Response.php on line 170
the smw errors could be solved from here
if (
$postEdit === null &&
$pagePurge &&
DependencyValidator::hasLikelyOutdatedDependencies( $title ) ) {
// Only push a purge when it is known that it not a postEdit action
// to avoid recursive purges
$attributes['data-title'] = $title->getPrefixedDBKey();
$attributes['data-msg'] = 'smw-purge-update-dependencies';
$attributes['data-forcelinkupdate'] = true;
return Html::rawElement( 'div', [ 'class' => 'smw-postproc page-purge' ] + $attributes );
} elseif (
$postEdit === null &&
DependencyValidator::hasLikelyOutdatedDependencies( $title ) ) {
// We still suspect outdated query dependencies but only
// force an update of the parserCache without a purge since
// we don't have any `@annotation` queries that would require
// to recompute any pending annotations
$parameters = [
'action' => 'post-processing-query-dependency'
];
$parserCachePurgeJob = new ParserCachePurgeJob( $title, $parameters );
$parserCachePurgeJob->updateParserCache();
}
(src/PostProcHandler.php)
(passing $this->parserOutput
inside DependencyValidator::hasLikelyOutdatedDependencies
instead of $title
)
and using $this->parserOutput->setExtensionData
or setProperty
(inside markTitle
) (unless there is a good reason to not use them)
also considering this comment
/**
* Signal to the `OutputPageParserOutput` hook to we want a possible purge
* action.
*
* @since 3.1
*
* @param Title $title
*/
public function markTitle( Title $title ) {
$title->smwLikelyOutdatedDependencies = true;
}
(src/DependencyValidator.php)
regarding $title->isApprovable
I couldn't find where it comes from
Setup and configuration
Issue
Using php 8.2. shows a lot of deprecation warnings (also happening in PHP 8.1)
https://github.com/SemanticMediaWiki/SemanticExtraSpecialProperties/blob/61660bab6dc8888ce7781f366cec9374786b6fa0/src/PropertyDefinitions.php#L58
https://stackoverflow.com/questions/74991682/php-8-2-dynamic-properties-deprecated-how-to-use-them-anyway-in-a-compatible-wa