minor fixes

This commit is contained in:
2026-04-09 08:50:36 +02:00
parent 23d363a50c
commit a2457f4e49
75 changed files with 3848 additions and 387 deletions

View File

@@ -411,7 +411,7 @@ Route::middleware(['web', 'auth', 'normalize.username'])->prefix('uploads')->nam
->name('processing-status');
Route::post('chunk', [\App\Http\Controllers\Api\UploadController::class, 'chunk'])
->middleware(['throttle:uploads-init', 'forum.bot.protection:api_write'])
->middleware(['throttle:uploads-chunk'])
->name('chunk');
Route::post('finish', [\App\Http\Controllers\Api\UploadController::class, 'finish'])

View File

@@ -95,6 +95,32 @@ Schedule::command('posts:publish-scheduled')
->name('publish-scheduled-posts')
->withoutOverlapping();
// ── Scheduled content publishing ──────────────────────────────────────────────
// These must live in routes/console.php for Laravel 11's active scheduler.
Schedule::command('artworks:publish-scheduled')
->everyMinute()
->name('publish-scheduled-artworks')
->withoutOverlapping(2)
->runInBackground();
Schedule::command('news:publish-scheduled')
->everyMinute()
->name('publish-scheduled-news')
->withoutOverlapping(2)
->runInBackground();
Schedule::command('nova-cards:publish-scheduled')
->everyMinute()
->name('publish-scheduled-nova-cards')
->withoutOverlapping(2)
->runInBackground();
Schedule::command('collections:sync-lifecycle')
->everyTenMinutes()
->name('sync-collection-lifecycle')
->withoutOverlapping()
->runInBackground();
// ── Feed 2.0: Trending Cache Warm-up ─────────────────────────────────────────
// Warm the post trending cache every 2 minutes (complements the 2-min TTL).
Schedule::command('posts:warm-trending')
@@ -111,6 +137,20 @@ Schedule::command('nova:recalculate-rankings --sync-rank-scores')
->withoutOverlapping()
->runInBackground();
// ── Rising Engine (Heat / Momentum) ───────────────────────────────────────────
// Snapshot current totals each hour, then recalculate heat every 15 minutes.
Schedule::command('nova:metrics-snapshot-hourly')
->hourly()
->name('metrics-snapshot-hourly')
->withoutOverlapping()
->runInBackground();
Schedule::command('nova:recalculate-heat')
->everyFifteenMinutes()
->name('recalculate-heat')
->withoutOverlapping()
->runInBackground();
Schedule::command('forum:ai-scan')
->everyTenMinutes()
->name('forum-ai-scan')

View File

@@ -774,6 +774,7 @@ Route::middleware(['auth', 'ensure.onboarding.complete'])->group(function () {
'initial_group' => $initialGroupSlug !== '' ? $initialGroupSlug : null,
'filesCdnUrl' => config('cdn.files_url'),
'chunkSize' => (int) config('uploads.chunk.max_bytes', 5242880),
'chunkRequestTimeoutMs' => (int) config('uploads.chunk.request_timeout_ms', 45000),
'feature_flags' => [
'uploads_v2' => (bool) config('features.uploads_v2', false),
],
@@ -829,6 +830,7 @@ Route::middleware(['auth', 'ensure.onboarding.complete'])->group(function () {
'initial_group' => $initialGroupSlug !== '' ? $initialGroupSlug : null,
'filesCdnUrl' => config('cdn.files_url'),
'chunkSize' => (int) config('uploads.chunk.max_bytes', 5242880),
'chunkRequestTimeoutMs' => (int) config('uploads.chunk.request_timeout_ms', 45000),
'feature_flags' => [
'uploads_v2' => (bool) config('features.uploads_v2', false),
],