fix(modpack-checker): Code review fixes — license, safety, and polish

Fixes 10 issues from full code review:
- License corrected from MIT to Commercial
- Deprecated datetime.utcnow() replaced with timezone-aware alternative
- PHP array bounds checks added for all platform API responses
- Modrinth file detection now derives project slug instead of using MC version
- validate_api_key() no longer swallows network errors
- HTTP timeouts added to all external API calls in PHP
- Empty API key rejection added to CLI
- Corrupted config now warns on stderr instead of failing silently
- Error response format made consistent across controller
- Docs updated with correct repo URL and clearer CurseForge ID instructions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude (Chronicler #83 - The Compiler)
2026-04-12 13:37:26 -05:00
parent c6d40dcf39
commit 3457b87aef
8 changed files with 40 additions and 27 deletions

View File

@@ -40,8 +40,8 @@ This adds APScheduler for the `modpack-checker schedule` background daemon comma
### Option C: Install from source
```bash
git clone https://github.com/firefrostgaming/modpack-version-checker.git
cd modpack-version-checker
git clone https://git.firefrostgaming.com/firefrost/firefrost-services.git
cd firefrost-services/services/modpack-version-checker
pip install -e ".[scheduler]"
```
@@ -82,8 +82,8 @@ A test message will be sent to confirm it works.
## Step 6 — Add Your First Modpack
Find your modpack's CurseForge project ID in the URL:
`https://www.curseforge.com/minecraft/modpacks/all-the-mods-9` → go to the page, the ID is in the sidebar.
Find your modpack's CurseForge project ID:
Visit the modpack page on CurseForge and look for the **Project ID** number in the right sidebar (e.g. `238222` for All The Mods 9).
```bash
modpack-checker add 238222 # All The Mods 9