Date: January 9, 2026
Feature: Real-time RSS status monitoring with dynamic priority reordering
Changes Made
File: support.html
- RSS Status Widget (Lines ~1607-1955)
HTML Structure:
Added #rss-status-container between existing status indicator and contact button
Implemented #status-detail-modal for expanded status views
Loading spinner and error states
CSS Additions:
.rss-status-widget: Glassmorphic container matching cyberpunk theme
.status-badge: Color-coded indicators (UP: cyan/green, DOWN: red, DEGRADED: yellow)
.read-more-link: Cyan-accented expandable triggers
.modal-overlay: Full-screen popup with backdrop blur
Countdown timer with –primary-cyan accent
JavaScript Features:
Multi-source fallback: status.glitchrealm.ca → CORS proxy → feed.atom → RSS feeds
Dual format parsing: RSS 2.0 + Atom
HTML parsing to extract status labels (Resolved, Operational, Down)
30-second auto-refresh with live countdown timer
Truncates descriptions to 120 chars with “Read more →” links
Stores full data in window.rssStatusData for modal access
Modal controls: click/backdrop/ESC to close
2. Dynamic Widget Reordering
Modified updateStatusUI() function:
Monitors Firestore status_updates/current document
Yellow/Red staff status → #staff-update-container moves above #rss-status-container
Green staff status → #rss-status-container moves above #staff-update-container
Uses existing window.firebaseFirestore, window.onSnapshot from firebase-core.js
Why: Critical incidents (yellow/red) prioritize manual updates over automated metrics. Normal operations (green) show live uptime first.
Architecture Compliance
✅ Global window pattern (no new Firebase dependencies)
✅ No build system (pure vanilla JS)
✅ Cyberpunk theme variables (–primary-cyan)
✅ No external npm packages
Testing Checklist
RSS multi-source fallback works
30-second countdown updates
Modal interactions functional
Real-time Firestore reordering