# Architectural Request

**Date:** 2026-04-13
**Topic:** Consolidated v1.1.0 deploy — all 5 priorities complete

## 1. What Changed

### New Migration
- `2026_04_13_000000_add_file_id_and_ignored.php` — adds `current_file_id`, `latest_file_id`, `is_ignored`
- `2026_04_12_000000_add_detection_columns.php` — adds `detection_method`, `is_user_overridden`

### Modified PHP Files
- `CheckModpackUpdates.php` — hybrid detection (modpack_installations → egg → file → BCC log), file ID comparison, date-time seeding, is_ignored skip
- `ModpackApiService.php` — all platforms return `file_id`, new `fetchFileHistory()` for CurseForge/Modrinth/FTB
- `ModpackAPIController.php` — 4 new endpoints (serverStatus, releases, calibrate, toggleIgnore), modpack_installations in manualCheck
- `routes/client.php` — 4 new routes

### Modified TSX Files
- `views/server/wrapper.tsx` — zero-click widget with recalibrate dropdown + ignore button

## 2. Deployment Steps

```bash
# 1. Pull latest
cd /path/to/firefrost-services && git pull

# 2. Copy PHP files
cp blueprint-extension/app/Console/Commands/CheckModpackUpdates.php /var/www/pterodactyl/app/Console/Commands/
cp blueprint-extension/app/Services/ModpackApiService.php /var/www/pterodactyl/app/Services/
cp blueprint-extension/app/Http/Controllers/ModpackAPIController.php /var/www/pterodactyl/app/Http/Controllers/
cp blueprint-extension/routes/client.php [blueprint routes path]

# 3. Run migrations
cd /var/www/pterodactyl && php artisan migrate

# 4. Rebuild Blueprint (copies TSX + runs yarn build)
blueprint -install modpackchecker

# 5. Clear caches
php artisan optimize:clear

# 6. Test
php artisan modpackchecker:check
```

## 3. Verification

1. `php artisan modpackchecker:check` — should detect 19+ servers via modpack_installations
2. Dashboard badges show on server cards
3. Console widget loads automatically (no click needed)
4. Console widget shows version comparison (current → latest)
5. Calibrate button shows release dropdown
6. Ignore button hides non-modpack servers

## 4. Deploy to Both Panels
- Dev Panel (64.50.188.128) first
- Live Panel (45.94.168.138) after verification
