mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Fix some things with the update checker.
This commit is contained in:
parent
a8080f55f0
commit
81d17409d4
@ -31,7 +31,7 @@ LOG_CHANNEL=stdout
|
||||
# debug, info, notice, warning, error, critical, alert, emergency
|
||||
# If you set it to debug your logs will grow large, and fast. If you set it to emergency probably
|
||||
# nothing will get logged, ever.
|
||||
APP_LOG_LEVEL=notice
|
||||
APP_LOG_LEVEL=${APP_LOG_LEVEL}
|
||||
|
||||
# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III
|
||||
# For other database types, please see the FAQ: http://firefly-iii.readthedocs.io/en/latest/support/faq.html
|
||||
|
@ -28,6 +28,7 @@ namespace FireflyIII\Handlers\Events;
|
||||
use FireflyConfig;
|
||||
use FireflyIII\Events\RequestedVersionCheckStatus;
|
||||
use FireflyIII\Helpers\Update\UpdateTrait;
|
||||
use FireflyIII\Models\Configuration;
|
||||
use FireflyIII\Repositories\User\UserRepositoryInterface;
|
||||
use FireflyIII\User;
|
||||
use Log;
|
||||
@ -50,9 +51,11 @@ class VersionCheckEventHandler
|
||||
*/
|
||||
public function checkForUpdates(RequestedVersionCheckStatus $event): void
|
||||
{
|
||||
Log::debug('Now in checkForUpdates()');
|
||||
// in Sandstorm, cannot check for updates:
|
||||
$sandstorm = 1 === (int)getenv('SANDSTORM');
|
||||
if (true === $sandstorm) {
|
||||
Log::debug('This is Sandstorm instance, done.');
|
||||
return; // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
@ -61,18 +64,19 @@ class VersionCheckEventHandler
|
||||
/** @var User $user */
|
||||
$user = $event->user;
|
||||
if (!$repository->hasRole($user, 'owner')) {
|
||||
Log::debug('User is not admin, done.');
|
||||
return;
|
||||
}
|
||||
|
||||
/** @var Configuration $lastCheckTime */
|
||||
$lastCheckTime = FireflyConfig::get('last_update_check', time());
|
||||
$now = time();
|
||||
$diff = $now - $lastCheckTime->data;
|
||||
Log::debug(sprintf('Difference is %d seconds.', $diff));
|
||||
Log::debug(sprintf('Last check time is %d, current time is %d, difference is %d', $lastCheckTime->data, $now, $diff));
|
||||
if ($diff < 604800) {
|
||||
Log::debug(sprintf('Checked for updates less than a week ago (on %s).', date('Y-m-d H:i:s', $lastCheckTime->data)));
|
||||
|
||||
//return;
|
||||
|
||||
return;
|
||||
}
|
||||
// last check time was more than a week ago.
|
||||
Log::debug('Have not checked for a new version in a week!');
|
||||
|
@ -42,6 +42,7 @@ trait UpdateTrait
|
||||
*/
|
||||
public function getLatestRelease(): ?Release
|
||||
{
|
||||
Log::debug('Now in getLatestRelease()');
|
||||
$return = null;
|
||||
/** @var UpdateRequest $request */
|
||||
$request = app(UpdateRequest::class);
|
||||
@ -53,11 +54,15 @@ trait UpdateTrait
|
||||
|
||||
// get releases from array.
|
||||
$releases = $request->getReleases();
|
||||
|
||||
Log::debug(sprintf('Found %d releases', \count($releases)));
|
||||
|
||||
if (\count($releases) > 0) {
|
||||
// first entry should be the latest entry:
|
||||
/** @var Release $first */
|
||||
$first = reset($releases);
|
||||
$return = $first;
|
||||
Log::debug(sprintf('Number of releases found is larger than zero. Return %s ', $first->getTitle()));
|
||||
}
|
||||
|
||||
return $return;
|
||||
@ -73,17 +78,21 @@ trait UpdateTrait
|
||||
*/
|
||||
public function parseResult(int $versionCheck, Release $release = null): string
|
||||
{
|
||||
Log::debug(sprintf('Now in parseResult(%d)', $versionCheck));
|
||||
$current = (string)config('firefly.version');
|
||||
$return = '';
|
||||
if ($versionCheck === -2) {
|
||||
Log::debug('-2, so give error.');
|
||||
$return = (string)trans('firefly.update_check_error');
|
||||
}
|
||||
if ($versionCheck === -1 && null !== $release) {
|
||||
Log::debug('New version!');
|
||||
// there is a new FF version!
|
||||
// has it been released for at least three days?
|
||||
$today = new Carbon;
|
||||
$releaseDate = $release->getUpdated();
|
||||
if ($today->diffInDays($releaseDate, true) > 3) {
|
||||
Log::debug('New version is older than 3 days!');
|
||||
$monthAndDayFormat = (string)trans('config.month_and_day');
|
||||
$return = (string)trans(
|
||||
'firefly.update_new_version_alert',
|
||||
@ -97,10 +106,12 @@ trait UpdateTrait
|
||||
}
|
||||
|
||||
if (0 === $versionCheck) {
|
||||
Log::debug('User is running current version.');
|
||||
// you are running the current version!
|
||||
$return = (string)trans('firefly.update_current_version_alert', ['version' => $current]);
|
||||
}
|
||||
if (1 === $versionCheck && null !== $release) {
|
||||
Log::debug('User is running NEWER version.');
|
||||
// you are running a newer version!
|
||||
$return = (string)trans('firefly.update_newer_version_alert', ['your_version' => $current, 'new_version' => $release->getTitle()]);
|
||||
}
|
||||
@ -117,7 +128,9 @@ trait UpdateTrait
|
||||
*/
|
||||
public function versionCheck(Release $release = null): int
|
||||
{
|
||||
Log::debug('Now in versionCheck()');
|
||||
if (null === $release) {
|
||||
Log::debug('Release is null, return -2.');
|
||||
return -2;
|
||||
}
|
||||
$current = (string)config('firefly.version');
|
||||
|
@ -136,8 +136,8 @@ class DebugController extends Controller
|
||||
$errorReporting = $this->errorReporting((int)ini_get('error_reporting'));
|
||||
$appEnv = env('APP_ENV', '');
|
||||
$appDebug = var_export(env('APP_DEBUG', false), true);
|
||||
$logChannel = env('LOG_CHANNEL', '');
|
||||
$appLogLevel = env('APP_LOG_LEVEL', '');
|
||||
$logChannel = env('LOG_CHANNEL', '');
|
||||
$appLogLevel = env('APP_LOG_LEVEL', 'info');
|
||||
$packages = $this->collectPackages();
|
||||
$cacheDriver = env('CACHE_DRIVER', 'unknown');
|
||||
|
||||
|
@ -118,9 +118,11 @@ class FireflyConfig
|
||||
public function set(string $name, $value): Configuration
|
||||
{
|
||||
Log::debug('Set new value for ', ['name' => $name]);
|
||||
/** @var Configuration $config */
|
||||
$config = Configuration::whereName($name)->first();
|
||||
if (null === $config) {
|
||||
Log::debug('Does not exist yet ', ['name' => $name]);
|
||||
/** @var Configuration $item */
|
||||
$item = new Configuration;
|
||||
$item->name = $name;
|
||||
$item->data = $value;
|
||||
@ -130,7 +132,7 @@ class FireflyConfig
|
||||
|
||||
return $item;
|
||||
}
|
||||
Log::debug('Exists already ', ['name' => $name]);
|
||||
Log::debug('Exists already, overwrite value.', ['name' => $name]);
|
||||
$config->data = $value;
|
||||
$config->save();
|
||||
Cache::forget('ff-config-' . $name);
|
||||
|
Loading…
Reference in New Issue
Block a user