The Bug That Stole 2 Hours of My Life (And It Wasn't Even My Code)
A frustrating debugging journey where a Firebase Google login worked perfectly on mobile and localhost but mysteriously failed on desktop production. After two hours of investigation, the real culprit turned out to be an ad blocker browser extension.
Prasad Nallajala
AuthorDeveloper Guy Who loves to explore every edge of life✨
Yesterday, I ran into one of those bugs that makes you question everything.
You know the type.
The kind where you confidently deploy a small change, expecting everything to work exactly as it did on your local machine, only to spend the next few hours staring at your screen wondering what on earth just happened.
I was working on the authentication page of one of my projects.
The login flow was pretty straightforward. Users could sign in using their Google account through Firebase Authentication. I had already implemented it earlier, tested it locally multiple times, and everything worked perfectly.
Recently, I made a few UI improvements and some minor changes around the login page. Nothing major. Nothing that should have affected authentication.
Or so I thought.
After deploying the changes to production, I opened the website and tried logging in with Google.
The Google account selection popup appeared.
I selected my account.
And then...
Nothing.
No redirect.
No login.
No error message.
No clue.
Just silence.
At first, I assumed I had accidentally broken something while making the recent changes.
So I opened the browser console.
Nothing useful.
I checked Firebase configuration.
Everything looked correct.
I checked authorized domains.
Correct.
Environment variables?
Correct.
Deployment logs?
No issues.
Network tab?
Nothing obvious.
At this point I started doing what most developers do when they hit a mysterious bug.
I began doubting every line of code I had written.
Maybe I broke the callback.
Maybe Firebase changed something.
Maybe the deployment failed.
Maybe caching was causing issues.
Maybe the browser was blocking something.
Maybe... maybe... maybe.
The interesting part was that the issue only happened on my desktop browser.
When I opened the same production website on my phone, Google login worked perfectly.
That made things even more confusing.
If Firebase was misconfigured, it shouldn't work on mobile either.
If my code was broken, it should fail everywhere.
But it didn't.
Mobile worked.
Desktop didn't.
For more than two hours, I kept testing different theories.
I redeployed.
Cleared cache.
Checked settings.
Read documentation.
Searched Stack Overflow.
Opened countless tabs.
Nothing helped.
The frustration level was rising quickly.
Eventually, I decided to try something completely unrelated.
I opened my browser extensions page.
I disabled all extensions.
Refreshed the page.
Clicked "Continue with Google."
Selected my account.
And instantly...
Success.
The login completed.
The redirect worked.
Everything was normal again.
For a moment I just stared at the screen.
Then I started enabling extensions one by one.
And there it was.
The culprit.
My ad blocker.
The moment I enabled it, Google login stopped working again.
The moment I disabled it, everything worked.
Bug found.
Case closed.
The funny thing is that I spent over two hours investigating Firebase, authentication logic, deployment settings, browser storage, and network requests.
The actual problem wasn't in my code at all.
It was a browser extension.
A reminder that not every bug lives inside your application.
Sometimes the environment is the problem.
Sometimes the browser is the problem.
Sometimes an extension silently interferes with requests and breaks functionality without showing any meaningful error.
And sometimes the thing you least suspect is exactly what's causing the issue.
What This Experience Taught Me
When debugging production issues, don't just investigate your code.
Investigate the environment too.
- Different browsers
- Different devices
- Incognito mode
- Extensions
- Network conditions
Because a bug that seems incredibly complex can occasionally have a surprisingly simple explanation.
And yes, next time something works on mobile but not on desktop, browser extensions will be one of the first things I check.
Hopefully this story saves another developer from losing two hours to an ad blocker.
Happy debugging.
Related articles
When It’s Not Your Bug: My SMTP Struggles on Render Free Tier
After hours of debugging why my emails worked locally but not on Render, I discovered it wasn’t my code—it was Render’s free tier blocking SMTP ports. Here’s the story.