diff --git a/.github/workflows/full-run-test.yml b/.github/workflows/full-run-test.yml
index 902bea81b..962d2bf57 100644
--- a/.github/workflows/full-run-test.yml
+++ b/.github/workflows/full-run-test.yml
@@ -39,7 +39,7 @@ jobs:
movinet-enabled: ['true']
include:
# test pure-js once
- - server-versions: master
+ - server-versions: stable34
databases: sqlite
php-versions: 8.2
pure-js-mode: true
diff --git a/lib/BackgroundJobs/ClusterFacesJob.php b/lib/BackgroundJobs/ClusterFacesJob.php
index a8e78adfc..81908657d 100644
--- a/lib/BackgroundJobs/ClusterFacesJob.php
+++ b/lib/BackgroundJobs/ClusterFacesJob.php
@@ -36,7 +36,7 @@ protected function run($argument): void {
$userId = (string)$argument['userId'];
try {
$iniValue = ini_get('memory_limit');
- if ($iniValue === false) {
+ if ($iniValue === false || $iniValue === '') {
$batchSize = 10_000;
} else {
$memoryBytes = ini_parse_quantity($iniValue);
diff --git a/lib/Migration/InstallDeps.php b/lib/Migration/InstallDeps.php
index ed8ed084e..d93efddfb 100644
--- a/lib/Migration/InstallDeps.php
+++ b/lib/Migration/InstallDeps.php
@@ -34,7 +34,7 @@
use Psr\Log\LoggerInterface;
final class InstallDeps implements IRepairStep {
- public const NODE_VERSION = 'v20.9.0';
+ public const NODE_VERSION = 'v22.23.2';
public const NODE_SERVER_OFFICIAL = 'https://nodejs.org/dist/';
public const NODE_SERVER_UNOFFICIAL = 'https://unofficial-builds.nodejs.org/download/release/';
diff --git a/package.json b/package.json
index 5899ac484..415721b8e 100644
--- a/package.json
+++ b/package.json
@@ -63,8 +63,8 @@
"vue": "^2.7.14"
},
"engines": {
- "node": "20.x",
- "npm": "10.x"
+ "node": "22.x",
+ "npm": "11.x"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index ca80bd71b..3cbe274bb 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -13,6 +13,11 @@
+
+
+
+
+
@@ -960,6 +965,9 @@
+
+
+