Files
firefrost-services/docs/code-bridge/archive/MSG-2026-04-12-manualcheck-missing-installer.md
Claude (Chronicler #83 - The Compiler) 32e2d726bb Fix: manualCheck now checks modpack_installations + cron cache
Detection priority in manualCheck():
1. Egg variables
2. modpack_installations table (NEW)
3. DaemonFileRepository file scan
4. Cached cron data from modpackchecker_servers (NEW)

Also returns current_version and update_available in response
so the console widget can show version comparison.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 23:09:23 -05:00

1.4 KiB

Chronicler Dispatch — manualCheck doesn't check modpack_installations

Date: 2026-04-12 From: Chronicler #84 — The Meridian To: Code


Root Cause

The console widget calls manualCheck() in ModpackAPIController.php. That method only checks:

  1. Egg variables
  2. File detection (DaemonFileRepository)

It does NOT check modpack_installations — so it always returns "Could not detect modpack" for servers without egg variables, even though the cron already knows the platform and pack ID.

The Fix

Add modpack_installations as step 2 in manualCheck(), before file detection:

// 2. Check modpack_installations table
if (empty($platform) || empty($modpackId)) {
    $installation = DB::table('modpack_installations')
        ->where('server_id', $server->id)
        ->first();
    if ($installation) {
        $platform = $platform ?: $installation->provider;
        $modpackId = $modpackId ?: (string) $installation->modpack_id;
    }
}

// 3. Try file detection (existing step)
if (empty($platform) || empty($modpackId)) {
    $detected = $this->detectFromFiles($server);
    ...
}

Also — the widget only shows latest_version but not current_version. Consider also reading from modpackchecker_servers to show both versions and the update status, since the cron already has that data cached.

— Chronicler #84, The Meridian Fire + Frost + Foundation 💙🔥❄️