Improve version handling.

This commit is contained in:
James Cole 2019-10-30 20:02:38 +01:00
parent 9a028d5002
commit cbc92d89e1
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
6 changed files with 25 additions and 5 deletions

View File

@ -53,8 +53,8 @@ trait UpdateTrait
/**
* Parses the version check result in a human readable sentence.
*
* @param int $versionCheck
* @param string $version
* @param int $versionCheck
* @param array $information
*
* @return string
*/
@ -76,6 +76,16 @@ trait UpdateTrait
'date' => $carbon->formatLocalized($monthAndDayFormat),
]
);
// append warning if beta or alpha.
$isBeta = $information['is_beta'] ?? false;
if (true === $isBeta) {
$return = sprintf('%s %s', $return, trans('firefly.update_version_beta'));
}
$isAlpha = $information['is_alpha'] ?? false;
if (true === $isAlpha) {
$return = sprintf('%s %s', $return, trans('firefly.update_version_alpha'));
}
}
if (0 === $versionCheck) {

View File

@ -116,6 +116,8 @@ class UpdateController extends Controller
$latestRelease = '1.0';
$resultString = '';
$versionCheck = -2;
$channel = app('fireflyconfig')->get('update_channel', 'stable')->data;
try {
$latestRelease = $this->getLatestRelease();
} catch (FireflyException $e) {
@ -143,6 +145,11 @@ class UpdateController extends Controller
}
app('fireflyconfig')->set('last_update_check', time());
return response()->json(['result' => $resultString]);
return response()->json(
[
'result' => $resultString,
'channel' => $channel,
]
);
}
}

View File

@ -42,7 +42,7 @@ class UpdateRequest implements UpdateRequestInterface
*/
public function getVersion(string $channel): array
{
$uri = 'https://version.firefly-iii.org/index.json';
$uri = config('firefly.update_endpoint');
Log::debug(sprintf('Going to call %s', $uri));
try {
$client = new Client();

View File

@ -31,7 +31,7 @@ interface UpdateRequestInterface
/**
* @param string $channel
*
* @return string
* @return array
* @throws FireflyException
*/
public function getVersion(string $channel): array;

View File

@ -145,6 +145,7 @@ return [
'disable_frame_header' => env('DISABLE_FRAME_HEADER', false),
'login_provider' => envNonEmpty('LOGIN_PROVIDER', 'eloquent'),
'cer_provider' => envNonEmpty('CER_PROVIDER', 'fixer'),
'update_endpoint' => 'https://version.firefly-iii.org/index.json',
'allowedMimes' => [
/* plain files */
'text/plain',

View File

@ -225,6 +225,8 @@ return [
'admin_update_check_now_explain' => 'If you press the button, Firefly III will see if your current version is the latest.',
'check_for_updates_button' => 'Check now!',
'update_new_version_alert' => 'A new version of Firefly III is available. You are running v:your_version, the latest version is v:new_version which was released on :date.',
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
'update_current_version_alert' => 'You are running v:version, which is the latest available release.',
'update_newer_version_alert' => 'You are running v:your_version, which is newer than the latest release, v:new_version.',
'update_check_error' => 'An error occurred while checking for updates. Please view the log files.',