From 3894dcb756e9c5501e063d6c44af9712f3ef44c1 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 14 Feb 2020 11:56:23 +0100 Subject: [PATCH] Hardcode Talk namespace to fix install due to global route Signed-off-by: Joas Schilling --- lib/private/AppFramework/App.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/private/AppFramework/App.php b/lib/private/AppFramework/App.php index a36e013cb6..2cbe623bb2 100644 --- a/lib/private/AppFramework/App.php +++ b/lib/private/AppFramework/App.php @@ -68,8 +68,19 @@ class App { if (isset($appInfo['namespace'])) { self::$nameSpaceCache[$appId] = trim($appInfo['namespace']); } else { - // if the tag is not found, fall back to uppercasing the first letter - self::$nameSpaceCache[$appId] = ucfirst($appId); + if ($appId !== 'spreed') { + // if the tag is not found, fall back to uppercasing the first letter + self::$nameSpaceCache[$appId] = ucfirst($appId); + } else { + // For the Talk app (appid spreed) the above fallback doesn't work. + // This leads to a problem when trying to install it freshly, + // because the apps namespace is already registered before the + // app is downloaded from the appstore, because of the hackish + // global route index.php/call/{token} which is registered via + // the core/routes.php so it does not have the app namespace. + // @ref https://github.com/nextcloud/server/pull/19433 + self::$nameSpaceCache[$appId] = 'Talk'; + } } return $topNamespace . self::$nameSpaceCache[$appId];