* Remove the automations module Drops the visual workflow builder end to end: actions, node runners, commands, jobs, models, observers, policy, resources, requests, routes, broadcast channel, scheduler entries, Horizon supervisor, Vue pages and components, canvas undo/redo history, CodeEditor, translations, factories and tests. A new migration rewrites posts.created_via = 'automation' to 'web' and drops the five automation tables. The CreatedVia::Automation enum case is removed. The 2026-08-21 social-account identity migration now skips its automation node repointing when the automations table no longer exists, so it stays re-runnable after the drop. Orphaned dependencies removed: simplepie/simplepie, @vue-flow/*, codemirror and @codemirror/*. * Drop the orphaned common.beta translation key * Remove automation leftovers: ResolvableUrl rule, feed fixtures, useShortcut, nav badge * Drop the unused chart wrapper and @unovis packages * Address review: keep the shipped migration untouched, drop the dead previewOnly chain - Restore 2026_08_21 migration to exactly what production ran; the rehearsal test now recreates the automations table it expects instead. - Mark the drop migration's down() irreversible like its siblings. - Simplify DropAutomationTablesMigrationTest to the sibling shape. - Remove previewOnly / aiGenerateVariants: the only caller that set the prop was the deleted automation Generate node. - Run pint over lang/*/common.php after the beta key removal. * Exercise the drop migration against the real automation tables and their FKs * Drop DuplicateIdentityRehearsalTest: it re-ran a frozen migration that reads the removed automations table
18 lines
978 B
PHP
18 lines
978 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Console\Commands\CheckSocialConnections;
|
|
use App\Console\Commands\CheckUpcomingPostConnections;
|
|
use App\Console\Commands\ProcessScheduledPosts;
|
|
use App\Console\Commands\PruneWebhookLogs;
|
|
use App\Console\Commands\RecoverStuckPosts;
|
|
use App\Console\Commands\RefreshExpiringTokens;
|
|
use Illuminate\Support\Facades\Schedule;
|
|
|
|
Schedule::command(ProcessScheduledPosts::class)->everyMinute()->withoutOverlapping()->onOneServer();
|
|
Schedule::command(CheckSocialConnections::class)->daily()->withoutOverlapping()->onOneServer();
|
|
Schedule::command(CheckUpcomingPostConnections::class)->everyFifteenMinutes()->withoutOverlapping()->onOneServer();
|
|
Schedule::command(RefreshExpiringTokens::class)->everyFifteenMinutes()->withoutOverlapping()->onOneServer();
|
|
Schedule::command(RecoverStuckPosts::class)->everyThirtyMinutes()->withoutOverlapping()->onOneServer();
|
|
Schedule::command(PruneWebhookLogs::class)->daily()->withoutOverlapping()->onOneServer();
|