Skip to content

v2.2.0 — Responsive Design & Security Hardening

Latest

Choose a tag to compare

@HeartBtz HeartBtz released this 20 Feb 18:10

🎬 XFlix v2.2.0

Responsive Design & UX

  • Full responsive layout for all screen sizes: ultra-wide (>1920 px), large desktop, tablet landscape (≤1024 px), tablet portrait (≤768 px), phone (≤480 px), small phone (≤360 px).
  • Mobile bottom navigation bar — visible below 768 px, replaces the hidden desktop nav links.
  • Fullscreen player cleanup — related videos and comments are automatically hidden when the video player enters fullscreen mode.
  • Video player controls, modals, grids, cards, and filters all adapt to each breakpoint.

Security Hardening

  • requireAdmin re-validates role from DB — demotions now take effect immediately instead of being ignored until JWT expiry (7 days).
  • Removed hardcoded DB password fallback (db.js) — the pool no longer silently uses a default password when DB_PASS is missing.
  • HTML injection fix in password-reset emailsusername and resetUrl are now escaped before HTML template interpolation.
  • Stored XSS mitigation in comments — HTML tags are stripped from comment content on write.
  • LIKE wildcard escaping% and _ characters in search input are now escaped to prevent unexpected wildcard matching.

Install Script

  • Admin account creation now passes credentials via environment variables instead of shell string interpolation (prevents injection from special characters in passwords).
  • Credential summary no longer prints secrets to the terminal — references .admin-creds and .env files instead.

Commits since v2.0.0

  • 7fdb4e6 v2.2: security hardening, responsive design docs, install.sh improvements
  • 5ebfec7 feat: responsive design (all screens) + hide suggestions in fullscreen

Full Changelog: v1.0.0...v2.2.0