Pokémon Community Charity Stream-A-Thon

Site Changelog

v4.6 Dashboard & Nav Polish April 1, 2026
  • Amount Raised by Streamer table now pulls totals directly from Tiltify sub-campaigns API — values are accurate regardless of how many donations have been received
  • Unique Donors and Donations columns now sourced from a paginated Tiltify donations lookup rather than the local feed file
  • Watch page: stream embed placeholder now visible before the event starts; title hides automatically when the stream goes live
  • Watch page: Now Streaming label and Total Raised moved inline with action buttons for a more compact layout
  • Nav: Wheel moved to sit next to Auctions for quicker access
v4.5 Donation Bar Streamer Mode April 1, 2026
  • Donation bar overlay now accepts a ?streamer= URL parameter — personalises the overlay for each streamer
  • Right-side total rotates every 10 seconds between the global campaign total and the amount raised by the streamer's own campaign
  • Progress bar added above the donation bar showing the streamer's personal raised vs. goal — includes 10% interval markers and a live percentage label at the fill edge
  • OBS source height automatically expands to 100px when the streamer parameter is active
  • Warning banner shown inside the overlay if the ?streamer= parameter is missing or still set to the placeholder value
  • Streamer Tools page updated with dimensions, parameter documentation, and updated copy URLs
v4.4 Site Polish & Auction Integration March 26, 2026
  • Homepage copy corrected to "fourth consecutive year"
  • Footer Ko-fi support link moved to its own line below Arkonen.Art credit
  • Streamer List removed from public nav (page still accessible at /streamer-list)
  • CORS header added to data/streamers.php JSON endpoint — scoped to auction.charitystreamathon.com
v4.3 Campaign Audit Improvements March 25, 2026
  • Fixed Tiltify subcampaign pagination — was stopping after 10 results; now uses metadata.after cursor to fetch all pages
  • All 16 subcampaigns now correctly retrieved (previously only 10 were shown)
  • Added in-row Edit URL button to campaign audit tool — click to update a streamer's Tiltify URL directly from the audit table
  • URL edits write to data/streamers.php server-side and reflect immediately without a page reload
v4.2 OBS Carousel Crossfade Fix March 24, 2026
  • Fixed carousel fade-to-transparent bug in all OBS overlay carousels (streamers, sponsors, milestones — both vertical and horizontal variants)
  • Replaced CSS opacity class transitions with stacked z-index crossfade — incoming slide fades in on top while outgoing stays opaque underneath, eliminating the transparent flash on black/chroma backgrounds
v4.1 Hobby Armor Sponsor March 17, 2026
  • Added Hobby Armor (hobbyarmor.com) as a 2026 event sponsor
  • Sponsor card added to the Sponsors page with logo and description
  • Hobby Armor added to the vertical and horizontal sponsor carousel OBS overlays
v4.0 Streamer Tools & Slide Generator March 16, 2026
  • Media Kit page replaced by Streamer Tools (/streamer-tools) — all overlay tools in one place
  • Added Live Overlay Tools section with OBS browser source URLs, preview images, and dimensions for all carousels
  • Added PHP GD server-side slide card generator — select a streamer and download a PNG overlay card
  • Slide generator supports horizontal (640×100) and vertical (480×480) variants
  • Slide cards feature Anton font, avatar circle, type label, yellow bar, and simulated text shadow
  • Header banner image resized to 75% width and centered
  • Milestone overlay images (10k–150k PNG/WebP) added
v3.9 OBS Carousel Overlays March 15, 2026
  • Added streamer carousel overlay (stream_assets/streamers/) — 480×480 vertical PHP browser source for OBS
  • Carousel features avatar circle, Featured/Supporting type label, Anton font, star badge, auto-fit name, and yellow info bar
  • Added horizontal streamer carousel variant (640×100) for banner-style OBS layouts
  • Added sponsor carousel overlay (640×250) — sponsor logo, name, and Official Sponsor label with gradient panel
  • Added milestone carousel overlay — vertical and horizontal variants, milestone goal images
  • St. Jude and Twitch logos cached locally; streamer avatars pulled from avatar proxy
v3.8 Donation Alert System March 14, 2026
  • Added per-streamer OBS donation alert overlay (stream_assets/overlay/donation-alert.php)
  • Added Alert Builder UI — configure colours, fonts, media, SFX, and layout per streamer
  • Klipy GIF search integrated into the alert builder media section
  • SFX audio library with volume control; selected sound plays during alert preview
  • Crash-in and explode-out animations; alert mirrors donation bar tier effects
  • Simulate mode — fire a test donation without live Tiltify events to preview the alert
  • Per-element font size controls, enable/disable tier effects toggle, max donation amount filter
  • GIF content disclaimer added to builder
v3.7 Tiltify Webhook & Donation Bar March 13, 2026
  • Added Tiltify webhook receiver (api/webhook.php) — HMAC-verified, writes live donation feed to disk
  • Added OBS donation bar overlay (stream_assets/overlay/donation-bar.php) — canvas-based, real-time
  • 10-tier colour system with escalating canvas effects: confetti, coins, bloom, wobble, glitch
  • Slot shift animations, per-tier glow, and indefinite shake at tier 10
  • Total raised displayed on bar; Silkscreen pixel font for amounts
  • Easter eggs: 69/NICE bubble, 420/blaze smoke cloud, $150k+ hype mode
  • Goal label swaps to show target at $150k
v3.6 Donate Page & Site Polish March 12, 2026
  • Donate page rebuilt with card layout — matches streamer list style
  • Each donate card shows stream timeslot, campaign goal, and a live Goal Progress bar
  • Added Supporting Streamers section to the donate page
  • Donate button text colour changed to white for better contrast
  • Updated Tiltify campaign links for 6 streamers
  • Contact page rebuilt using Formspree — sponsor email address removed from HTML source
  • Donate Product page: replaced email link with contact form button
  • Header logo hidden on mobile screens under 600px wide
  • Banner replaced with higher-quality version (2224×366 WebP)
  • Schedule page graphic updated to latest 2026 version; image now opens in a lightbox on click
  • Replaced Google Docs embeds with self-hosted PDFs on instruction pages
v3.5 Avatar Proxy Hardening March 12, 2026
  • Twitch page scrape added as primary avatar source — unavatar.io demoted to fallback
  • Avatar cache moved from /tmp to project cache/avatars/ for persistence across deploys
  • Cache files converted to WebP to reduce disk usage
  • Fixed Cloudflare caching broken/empty avatar responses
  • Fixed avatar proxy breaking under X-Content-Type-Options: nosniff
  • Added debug mode to avatar proxy (?user=X&debug=1) for troubleshooting
  • Added one-time cache warmer script to pre-populate all streamer avatars on deploy
  • Corrected several streamer names and Twitch URLs (JIJIPAN, oTHUMPYo125o, and others)
v3.3 Campaign Audit Tool March 12, 2026
  • Added internal campaign audit page — lists all sub-campaigns with streamer assignments
  • Bcrypt password authentication gates access to the audit tool
  • Add-new streamer flow and featured/supporting assignment built into audit UI
v3.2 Avatars on Donate & Schedule March 11, 2026
  • Donate Money page: Twitch avatar now shown beside each streamer name — uses server-side avatar proxy with initials fallback; disabled Donate buttons now greyed out
  • Schedule page: Twitch avatar shown in the streamer column of each table row
  • Schedule page: single table split into per-day sections (Friday Apr 10 through Sunday Apr 19) with a labelled heading above each
v3.1 Avatar Proxy March 11, 2026
  • Added server-side avatar proxy (api/avatar.php) — fetches Twitch profile pictures via unavatar.io server-side and caches to disk for 7 days
  • Fixes streamer card avatars failing to load due to browser rate-limiting 40 parallel requests to unavatar.io
  • Returns 404 on fetch failure so onerror fallback (streamer initials) still displays correctly
v3.0 Tiltify Instructions March 11, 2026
  • Replaced PDF download card on Tiltify Instructions page with embedded Google Doc (same pattern as Wheel Instructions)
  • Added "Open in Google Docs" button below the embedded document
  • Retained obfuscated admin email for streamer support
v2.9 Streamer Cards March 11, 2026
  • Streamer List cards now show each streamer's Twitch profile picture (fetched via unavatar.io)
  • Added Twitch button (purple) replacing the plain text link
  • Added Donate button (green) per card — links to Tiltify campaign when available, shown as placeholder until URLs are added
  • Card fallback initial shown when avatar fails to load
v2.8 2026 Streamer Roster March 11, 2026
  • Populated full 2026 streamer schedule — 40 entries across 10 days (Apr 10–19) replacing all placeholder data
  • Added 2026 schedule graphic to the top of the Schedule page
  • Removed "roster TBD" and "check back soon" notices from Schedule and Streamer List pages
  • All streamer slots include Twitch links and accurate CDT timeslots — Tiltify URLs pending
v2.7 Nav Update March 11, 2026
  • Added Changelog link to the About Us nav dropdown
v2.6 Footer Logo & Ko-fi March 11, 2026
  • Replaced "arkonen.art" footer text link with the animated Arkonen.Art logo — Fredoka One font, purple-to-teal gradient, floating bounce and glow animations
  • Added Ko-fi icon and "support my work?" link to footer credit line
  • Added Fredoka One to the Google Fonts import
v2.5 Application Page March 11, 2026
  • Updated Streamer Application page — replaced open application text with closed deadline notice pointing applicants to 2027
v2.4 Footer Polish March 11, 2026
  • Removed max-width restriction on footer St. Jude disclaimer text — now spans full footer width
v2.3 Footer & Changelog March 11, 2026
  • Added animated Pikachu GIF to the footer above the site credit
  • Added changelog page at /changelog — full version history displayed as a vertical timeline
v2.2 Wheel Instructions March 11, 2026
  • New page: /wheel-instructions — embeds the raffle wheel Google Doc SOP
  • Added "Open in Google Docs" button below the embedded document
  • Added Wheel Instructions link to the Streamers nav dropdown
v2.1 Security & Media Kit Polish March 11, 2026
  • Obfuscated admin email on Tiltify Instructions page — address no longer present in HTML source
  • Rewrote Media Kit intro text to remove duplicated "browser source" mention
  • Simplified OBS URL code block styling for better readability
v2.0 Media Kit Redesign March 11, 2026
  • Replaced Open Source buttons with copyable URL code blocks on the Media Kit page
  • "Copy" button flashes "Copied!" for 2 seconds on click
  • Fixed Media Kit grid overflow — all three overlay cards now show in a single row
  • Removed 2025 Misteay background credit line from Media Kit
v1.9 Analytics & CSS Caching March 11, 2026
  • Added Betterlytics analytics to all pages (via shared head partial), including Web Vitals reporting
  • Added PHP filemtime() cache-busting to style.css link — prevents Cloudflare serving stale CSS after uploads
  • Reduced hero section spacing: CTA box padding, margin, and gap above welcome text
v1.8 Donation List Overhaul March 11, 2026
  • Replaced scrolling marquee ticker with a static list of the 10 most recent donations (sorted newest-first) on both /current-amount-raised and /watch
  • Fixed comment text being cut off in donation rows — rows now expand to fit full comment text
  • Fixed comment column truncation in the Top 10 Donations table
  • Added sponsor images (WebP) to the sponsors page
  • Added streamer placeholder entries with note that 2026 roster is pending
  • Added milestones lightbox — click the image to open fullscreen, close with ×, click outside, or Escape
  • Updated schedule and streamer list to reflect placeholder data
v1.7 Home Page & Title March 11, 2026
  • Added live amount raised to homepage hero — pulls from Tiltify API, refreshes every 60 seconds
  • Improved homepage hero layout and spacing
  • Updated page title suffix to "For the Kids!" across all pages
  • Added 5% tick marks under the donation progress bar
  • Added milestones 2026 image and free entry form link to terms page
v1.6 Event History March 11, 2026
  • Added 2023 fundraising total: $73,492.69
  • Added 2024 fundraising total: $83,189.10
  • Added 2025 fundraising total: $200,799.41 (more than doubled the $100K goal)
  • 2026 goal set at $150,000
v1.5 Donation Dashboard March 11, 2026
  • Fixed Tiltify API proxy to use the correct V5 REST endpoint
  • Updated 2026 fundraising goal to $150,000
  • Added recent donations section to /current-amount-raised
  • Added per-streamer donation totals with unique donor counts
  • Added streamer campaign name to each donation row
v1.4 Sponsors Page March 11, 2026
  • Replaced placeholder sponsor content with real sponsor logos (WebP), names, descriptions, and links
  • Fixed sponsor image centering and sizing
  • Justified sponsor description text
v1.3 Schedule & Watch March 11, 2026
  • Schedule times now convert to the visitor's local time zone via the Intl.DateTimeFormat API
  • Friendly timezone names displayed (Eastern, Central, etc.)
  • Fixed watch page countdown layout shift
  • Added header background image to banner and footer
v1.2 Nav & Banner March 11, 2026
  • Moved banner above the sticky nav bar on all pages
  • Increased nav link text size
  • Fixed nav dropdown hover gap causing premature dismissal
  • Added dark overlay to footer for text readability
v1.1 Initial Build March 11, 2026
  • Full site rebuilt from scratch in PHP + Vanilla CSS/JS (replacing WordPress)
  • Dark space theme with CSS radial-gradient nebula background
  • Mobile-first responsive layout with hamburger nav
  • Shared partials: head, nav, footer
  • Tiltify V5 REST API proxy with OAuth2 and 60-second file cache
  • All pages created: Home, Watch, Schedule, Amount Raised, Milestones, Streamer List, Donate, Donate Product, Sponsors, Sponsor Sign-Up, Apply, Tiltify Instructions, Media Kit, Leaders, History, Terms, Contact
  • Clean URL routing via .htaccess (Apache) and router.php (local dev)
  • config.php for secrets — gitignored, config.example.php committed as template
v1.0 Platform Migration March 11, 2026
  • Retired the old WordPress layout — the site has been fully rebuilt from scratch in PHP + Vanilla CSS/JS
  • Improved security: eliminated WordPress attack surface, no plugins, no admin login endpoint
  • Improved caching: PHP filemtime() cache-busting on CSS ensures visitors always receive the latest styles without manual cache purges
  • Improved load speed: no WordPress overhead, no unnecessary scripts or stylesheets, WebP images with lazy loading throughout