The Invisible Character That Cost Me Too Much Debugging Time
The Problem Imagine this: someone tells you they can’t log in. At first, it feels like the kind of bug you can squash before finishing your coffee. Maybe they fat-fingered their password. Maybe their browser cache is holding onto stale session cookies. Easy. Except it isn’t. You check the admin panel. The email is there: james.bond@mi6.com. Looks fine. The password hash matches what the user typed in. Logs show the request hitting the system cleanly. No obvious anomalies. And yet, every attempt comes back as “invalid credentials.” You start peeling layers. Caching? No. Database encoding? No. By mid-afternoon, you’re questioning whether you’ve misunderstood something as fundamental as string equality. Finally, desperation pushes you into a hex editor. You copy the email…