============================================================ TEXAS RBA — Resource Section Version: v2.0 (Phase 2 — Interactivity & Logic) Last Updated: 2026-07-08 ============================================================ CHANGELOG: v2.4 — 2026-07-08 — v2.3's contentType fallback was defaulting to 'application/octet-stream' whenever file.type was empty — which itself forces a download, so if the browser/OS didn't report a MIME type for the PDF, the fix had no effect. Replaced with mimeForExt() — looks up the correct MIME type from the file extension (pdf/doc/docx/jpg/png) instead of falling back to a generic type. Still sets contentDisposition:'inline'. NOTE: same as v2.3 — this only affects newly uploaded files. Delete + re-upload the existing PDF to pick up the fix. v2.3 — 2026-07-08 — Fixed PDFs forcing a download instead of opening inline. Upload now explicitly sets contentType and contentDisposition:'inline' in Storage metadata (fileRef.put(file, {...})) instead of relying on Firebase's default inference, which was landing on a generic type for some files. NOTE: files already uploaded under v2.2 keep their old metadata — delete and re-upload any existing PDF for the fix to apply to it.