diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2022-09-19 13:53:49 +0200 |
---|---|---|
committer | blizzz (Rebase PR Action) <blizzz@users.noreply.github.com> | 2022-10-21 12:01:26 +0000 |
commit | 403923d72cc9509ee7df3d8b2044adb6c69a84fe (patch) | |
tree | 6f8a334916c9f715f065d7ffbeb23e6977db3144 | |
parent | 7848d1cab6e0e3a6fb8cd15c4a8cba7147dabab9 (diff) | |
download | nextcloud-server-403923d72cc9509ee7df3d8b2044adb6c69a84fe.tar.gz nextcloud-server-403923d72cc9509ee7df3d8b2044adb6c69a84fe.zip |
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 <blizzz@arthur-schiwon.de>
-rw-r--r-- | lib/private/Setup.php | 24 |
1 files 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, + ]; } } |