diff --git a/docs/code-bridge/responses/MSG-2026-04-12-phase11d-case-sensitivity.md b/docs/code-bridge/responses/MSG-2026-04-12-phase11d-case-sensitivity.md new file mode 100644 index 0000000..7745603 --- /dev/null +++ b/docs/code-bridge/responses/MSG-2026-04-12-phase11d-case-sensitivity.md @@ -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*