From 2edba71a031f0bde4baab00e818a273e8e67b552 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Mon, 30 Mar 2026 17:01:02 +0200 Subject: [PATCH 1/2] split up storage path into fragments to prevent having directories with a million pods --- lib/StorageServer.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/StorageServer.php b/lib/StorageServer.php index 9e8c0f7..5b43e3d 100644 --- a/lib/StorageServer.php +++ b/lib/StorageServer.php @@ -84,10 +84,16 @@ public static function getFileSystem() { if (!self::storageIdExists($storageId)) { throw new \Exception("Storage does not exist"); } + if (is_dir(STORAGEBASE . "$storageId/")) { // backwards compatiblity check + $storagePath = $storageId; + } else { + $storagePath = implode("/", str_split($storageId, 4)); + } + // The internal adapter $adapter = new \League\Flysystem\Adapter\Local( // Determine root directory - STORAGEBASE . "$storageId/" + STORAGEBASE . "$storagePath/" ); $graph = new \EasyRdf\Graph(); From ad6a834b5b939410c196746a56dde583d7521210 Mon Sep 17 00:00:00 2001 From: Yvo Brevoort Date: Tue, 31 Mar 2026 09:02:30 +0200 Subject: [PATCH 2/2] fix looking up the owner --- lib/User.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/User.php b/lib/User.php index 2c1a748..bfb758b 100644 --- a/lib/User.php +++ b/lib/User.php @@ -269,11 +269,13 @@ public static function getUserById($userId) { } public static function getUserByWebId($webId) { - $idParts = explode(".", $webId, 2); - if ($idParts[1] !== BASEDOMAIN . "/#me") { + $webIdParts = parse_url($webId); + $idParts = explode(".", $webIdParts['host'], 2); + if ($idParts[1] !== BASEDOMAIN) { return false; } - $userId = preg_replace("/^id-/", "", $idParts[0]); + $userId = preg_replace("/^.*?id-/", "", $idParts[0]); + return self::getUserById($userId); }