Commit Graph

8 Commits

Author SHA1 Message Date
61363f81be fix(cache): no-store on / and /news so CF edge never sticks on the dynamic hero/feed
Next.js sets a long s-maxage on prerendered HTML even for routes flagged force-dynamic; Cloudflare then caches that response and ignores subsequent dynamic renders. Explicit Cache-Control + CDN-Cache-Control no-store on / and /news/* keeps the hero swap visible immediately after a DB change.
2026-06-03 12:56:27 +00:00
Claude
d43f78b161 av: clone broadcastbeat sources + AV Beat rebrand (Phase 1)
- Replaces the prior Rocket scaffold (saved on pre-bb-clone-rollback branch)
- Domain: broadcastbeat.com -> avbeat.com
- Brand: Broadcast Beat -> AV Beat
- Slug: broadcastbeat -> avbeat (package, identifiers)
- Schema fallback: bb -> av (env var name unchanged)
- Placeholder AV BEAT logo (gold->red gradient) at /assets/logos/av.svg
- All BB/RMP logo references repointed

Outstanding before public DNS swap:
  - Supabase av schema bootstrap (mirror of bb tables)
  - WordPress archive import (avbeat-com -> av.articles)
  - Coolify env vars
  - dev-avbeat.onsethost.com staging deploy + visual review
2026-06-02 15:32:56 +00:00
Ryan Salazar
0a97e6d168 next.config: contentDispositionType inline — fixes banner ads downloading instead of rendering
Next.js 14+ defaults the image optimizer to Content-Disposition: attachment
(SVG XSS protection). That made GIF/PNG banner ads download as files
instead of rendering inline — manifesting as "missing banners" on the
live site (LiveU 728x90, Telycam 300x250, etc.).

Setting contentDispositionType: 'inline' restores the expected render
behavior. The strict CSP on optimized images is still in place; we just
serve inline now.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 22:28:55 +00:00
Ryan Salazar
dc29ea1442 redirect /about/advertise → RMP broadcast-beat media kit (301) 2026-05-27 14:55:34 +00:00
Ryan Salazar
4ec3e48c62 fix: drop next.config /login → /client-login redirect
next.config redirects fire before middleware/page.tsx, so /login still
307'd to /client-login (which bounces to distribute). Removing the
config rule lets src/app/login/page.tsx serve a real BB-direct sign-in
form for admin access.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 15:08:58 +00:00
Ryan Salazar
585a9503ab homepage: make '/' the canonical route, 301 /home-page → /
Previous state: '/' was 307-redirected to '/home-page', and the
home-page route declared canonical='/home-page'. Net effect on
SEO: Google indexed '/home-page' as the canonical homepage and
treated '/' as a transient redirect (no link equity passed).

Changes:
- next.config.mjs: replace the source:'/' destination:'/home-page'
  temporary redirect with source:'/home-page' destination:'/'
  permanent (301). Any existing crawler entry for /home-page now
  consolidates onto '/'.
- src/app/page.tsx (new): re-exports default + metadata from
  ./home-page/page so '/' serves the homepage directly. No file
  moves required, no relative-import breakage in the home-page
  component subtree.
- src/app/home-page/page.tsx: canonical and openGraph.url
  '/home-page' → '/'. The page still builds at /home-page but
  the 301 above will redirect any hit before render.
- src/app/sitemap.ts: drop the duplicate /home-page entry — Google
  shouldn't be told about a URL that just redirects.
2026-05-21 17:37:45 +00:00
Ryan Salazar
61aa8e6ead next.config: fix /login redirect self-loop, point at /client-login 2026-05-08 20:37:41 +00:00
Ryan Salazar
70aa1ad46e initial commit: rocket.new export of broadcastbeat 2026-05-07 16:39:17 +00:00