From 403923d72cc9509ee7df3d8b2044adb6c69a84fe Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 19 Sep 2022 13:53:49 +0200 Subject: on installation save channel to config.php if not stable - the default channel to the NC server is what is provided in /version.php unless it is overridden in config.php - the default channel to the NC Updater however is 'stable' - this resultant in inconsistent results and confusing admin experience - therefore "stable" is considered default and other channels are being written to config.php now upon installation Signed-off-by: Arthur Schiwon --- lib/private/Setup.php | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/private/Setup.php b/lib/private/Setup.php index a94074c37e7..7fe44826d28 100644 --- a/lib/private/Setup.php +++ b/lib/private/Setup.php @@ -393,7 +393,12 @@ class Setup { $config = \OC::$server->getConfig(); $config->setAppValue('core', 'installedat', microtime(true)); $config->setAppValue('core', 'lastupdatedat', microtime(true)); - $config->setAppValue('core', 'vendor', $this->getVendor()); + + $vendorData = $this->getVendorData(); + $config->setAppValue('core', 'vendor', $vendorData['vendor']); + if ($vendorData['channel'] !== 'stable') { + $config->setSystemValue('updater.release.channel', $vendorData['channel']); + } $group = \OC::$server->getGroupManager()->createGroup('admin'); if ($group instanceof IGroup) { @@ -582,17 +587,14 @@ class Setup { file_put_contents($baseDir . '/index.html', ''); } - /** - * Return vendor from which this version was published - * - * @return string Get the vendor - * - * Copy of \OC\Updater::getVendor() - */ - private function getVendor() { + private function getVendorData(): array { // this should really be a JSON file require \OC::$SERVERROOT . '/version.php'; - /** @var string $vendor */ - return (string)$vendor; + /** @var mixed $vendor */ + /** @var mixed $OC_Channel */ + return [ + 'vendor' => (string)$vendor, + 'channel' => (string)$OC_Channel, + ]; } } -- cgit v1.2.3