Urgent.News

What's breaking now, across thousands of outlets.

Tech

I Broke My Own Firestore Rules in Production Once. Now the Emulator Catches It First.

The deploy that taught me the lesson I changed one line in my Firestore security rules. It looked safe — I was tightening a read rule on a collection so only the owning tenant could read its documents. I deployed it, moved on, and found out later that a legitimate read path had started failing. Nothing dramatic broke in a way that paged me. It just quietly stopped working for a real user flow,…

I broke my own Firestore security rules in production once. It happened when I made a single change to a read rule on a collection, thinking it would only allow the owning tenant to read its documents. However, the change caused a legitimate read path to fail silently for a real user. I only caught the bug after manually testing the flow, as the issue was not caught by tests for my API or scoring logic.

The issue highlighted the need to test Firestore rules, as they are authorization logic that should never ship untested. Firestore rules fail silently in production, making it difficult to detect issues until users report problems. The setup I now use includes testing rules with the Firebase Emulator Suite in CI, and making the deploy pipeline refuse to ship rules that fail those tests.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Solana Transaction Expired: Blockhash Mechanics Explained

You click confirm. The wallet shows pending. Sixty seconds later: "transaction expired," "blockhash not found," or "block height exceeded." No swap, possibly no fee, definitely no clear explanation…

  • Transactions have a 150-block deadline, roughly one to one-and-a-half minutes.
  • Expired transactions result in no state changes on the blockchain.
  • Check transaction status on a block explorer before retrying.

I'm Shipping 5 npm Packages to 10,000 Downloads

I'm Shipping 5 npm Packages to 10,000 Downloads This is the first post in a series. The goal is simple: get my five npm packages to 10,000 combined downloads before the end of the year.

  • Shipping five npm packages with goal of 10,000 downloads by year-end
  • Packages: plumber-linter, environmental-peek, hexlens, react-dismiss, @parasraju/plumber-mcp
  • Releases twice daily, each containing feature, README update, improved keywords

Found a cool repo on GitHub? Swap "hub" for "manual" and get it running

You find a great project on GitHub. A self-hosted photo library, a local AI model runner, a tool everyone recommends. Then the README says "just run docker compose up ", and you're left wondering…

  • Swap "hub" for "manual" in GitHub links to access setup manual.
  • Manual generated from repository files for specific system compatibility.
  • GitManual AI Agent provides troubleshooting and error explanations.

More from Wednesday 11 November →