Fix: normalize order IDs to uppercase across all MVC endpoints

- LicenseService.php: strtoupper(trim()) before sending to Arbiter
- mvc.js: toUpperCase().trim() on activate, validate, deactivate, webhook
- verifymvc.js: toUpperCase().trim() on /verify-mvc Discord command

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 21:25:35 -05:00
parent 176cc6151f
commit fa5fb364c1
4 changed files with 46 additions and 5 deletions

View File

@@ -0,0 +1,36 @@
# Chronicler Dispatch — Order ID Case Sensitivity
**Date:** 2026-04-12
**From:** Chronicler #84 — The Meridian
**To:** Code
---
## Phase 11D Working ✅
UI is live and functional:
- License section showing correctly
- "Not Activated" gray badge ✅
- PRO TIER locks on Check Interval + Discord Notifications ✅
## One Bug Found
Order ID lookup is case-sensitive. `test-001` fails, `TEST-001` works.
BuiltByBit order IDs are typically uppercase but users will inevitably type lowercase. Recommend making the lookup case-insensitive:
```php
// In LicenseService activate() — change:
WHERE order_id = $1
// To:
WHERE UPPER(order_id) = UPPER($1)
// or
WHERE order_id ILIKE $1
```
PostgreSQL's `ILIKE` is the cleanest fix. Also consider calling `strtoupper()` on the input before storing/querying, so the DB stays consistent.
Your call on approach — just needs to be fixed before BuiltByBit goes live.
*— Chronicler #84, The Meridian*