diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index bdf1ab042..e8f213b16 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -76,11 +76,11 @@ class Kernel extends ConsoleKernel
{
$settings = InstanceSettings::get();
- $updateCheckFrequency = $settings->update_check_frequency ?? '0 0 * * *';
+ $updateCheckFrequency = $settings->update_check_frequency;
$schedule->job(new CheckForUpdatesJob)->cron($updateCheckFrequency)->onOneServer();
if ($settings->is_auto_update_enabled) {
- $autoUpdateFrequency = $settings->auto_update_frequency ?? '0 11,23 * * *';
+ $autoUpdateFrequency = $settings->auto_update_frequency;
$schedule->job(new UpdateCoolifyJob)->cron($autoUpdateFrequency)->onOneServer();
}
}
diff --git a/app/Livewire/Settings/Index.php b/app/Livewire/Settings/Index.php
index b1df8679e..f593fb78b 100644
--- a/app/Livewire/Settings/Index.php
+++ b/app/Livewire/Settings/Index.php
@@ -5,7 +5,6 @@ namespace App\Livewire\Settings;
use App\Jobs\CheckForUpdatesJob;
use App\Models\InstanceSettings;
use App\Models\Server;
-use Cron\CronExpression;
use Livewire\Component;
class Index extends Component
@@ -39,8 +38,8 @@ class Index extends Component
'settings.instance_name' => 'nullable',
'settings.allowed_ips' => 'nullable',
'settings.is_auto_update_enabled' => 'boolean',
- 'auto_update_frequency' => 'nullable|string',
- 'update_check_frequency' => 'nullable|string',
+ 'auto_update_frequency' => 'string',
+ 'update_check_frequency' => 'string',
];
protected $validationAttributes = [
@@ -97,14 +96,20 @@ class Index extends Component
}
$this->validate();
- if ($this->is_auto_update_enabled && ! $this->validateCronExpression($this->auto_update_frequency)) {
+ if ($this->is_auto_update_enabled && ! validate_cron_expression($this->auto_update_frequency)) {
$this->dispatch('error', 'Invalid Cron / Human expression for Auto Update Frequency.');
+ if (empty($this->auto_update_frequency)) {
+ $this->auto_update_frequency = '0 0 * * *';
+ }
return;
}
- if (! $this->validateCronExpression($this->update_check_frequency)) {
+ if (! validate_cron_expression($this->update_check_frequency)) {
$this->dispatch('error', 'Invalid Cron / Human expression for Update Check Frequency.');
+ if (empty($this->update_check_frequency)) {
+ $this->update_check_frequency = '0 * * * *';
+ }
return;
}
@@ -149,40 +154,6 @@ class Index extends Component
}
}
- private function validateCronExpression($expression): bool
- {
- if (empty($expression)) {
- return true;
- }
- $isValid = false;
- try {
- $cronExpression = new CronExpression($expression);
- $isValid = $cronExpression->getNextRunDate() !== false;
- } catch (\Exception $e) {
- $isValid = false;
- }
-
- if (isset(VALID_CRON_STRINGS[$expression])) {
- $isValid = true;
- }
-
- return $isValid;
- }
-
- public function updatedAutoUpdateFrequency()
- {
- if (! $this->validateCronExpression($this->auto_update_frequency)) {
- $this->dispatch('error', 'Invalid Cron / Human expression for Auto Update Frequency.');
- }
- }
-
- public function updatedUpdateCheckFrequency()
- {
- if (! $this->validateCronExpression($this->update_check_frequency)) {
- $this->dispatch('error', 'Invalid Cron / Human expression for Update Check Frequency.');
- }
- }
-
public function checkManually()
{
CheckForUpdatesJob::dispatchSync();
diff --git a/database/migrations/2024_08_05_142659_add_update_frequency_settings.php b/database/migrations/2024_08_05_142659_add_update_frequency_settings.php
index ad680fc03..0060b8d1d 100644
--- a/database/migrations/2024_08_05_142659_add_update_frequency_settings.php
+++ b/database/migrations/2024_08_05_142659_add_update_frequency_settings.php
@@ -12,8 +12,8 @@ return new class extends Migration
public function up(): void
{
Schema::table('instance_settings', function (Blueprint $table) {
- $table->string('auto_update_frequency')->default('0 0 * * *')->nullable();
- $table->string('update_check_frequency')->default('0 * * * *')->nullable();
+ $table->string('auto_update_frequency')->default('0 0 * * *');
+ $table->string('update_check_frequency')->default('0 * * * *');
$table->boolean('new_version_available')->default(false);
});
}
diff --git a/resources/views/livewire/settings/index.blade.php b/resources/views/livewire/settings/index.blade.php
index 212e055c5..906ac1aad 100644
--- a/resources/views/livewire/settings/index.blade.php
+++ b/resources/views/livewire/settings/index.blade.php
@@ -39,34 +39,36 @@