BackWebsite

Website Update 02/08/2026

Feb 08, 20265 minBy Hexae

January 24 – February 8, 2026

Hey everyone! It's been an incredibly productive couple of weeks for the Skill Nation website. Here's a rundown of everything that's been shipped since January 24th.

Skill of the Week (SOTW) Overhaul

The SOTW system received a major upgrade this cycle:

  • Full schedule management — Admins can now create, edit, and delete upcoming SOTW competitions directly from the website with a brand-new CRUD interface.
  • Competition ID tracking — Each SOTW now carries a unique competitionId for cleaner data handling across the board.
  • Smarter statistics — Weekly and monthly clan-wide stats are now computed server-side via Supabase RPC for faster, more accurate leaderboards.
  • Cache control fixes — SOTW routes now use noStore for consistent, up-to-date results every time you load the page.
  • Double-award prevention — SOTW points now use upsert logic to prevent members from being awarded twice.
  • XP reset handling — The normalized gain calculation has been improved to correctly handle XP resets.

Achievements System

A brand-new achievement checking and unlocking pipeline has been built:

  • Achievements are now automatically evaluated against player stats and unlocked in real-time.
  • The unlocked_at timestamp is properly preserved when updating existing achievements.
  • Safer metadata access prevents crashes when checking user achievements.

Player Hiscores & Caching

We tackled Cloudflare blocking head-on this cycle:

  • Built a full player hiscores caching layer so stats remain available even when the upstream API is down.
  • Added cache fallback for special exception players and clan members.
  • Added robust error handling for when the cache table doesn't exist yet.

Milestones & Clan Data

  • New milestones added: Fletching 99, Fletching 25M XP, and Hunter 25M XP are now tracked!
  • Clan member timestamps have been refreshed across the board.
  • Enhanced role handling in member statistics and staff display pages.

Database & Infrastructure

  • Created app_settings table — a generic key/value store for site-wide configuration.
  • Created trade_history table — storing tradepost offers and transactions with proper indexing.
  • Added SQL scripts for role management, snapshot cleanup, and Discord member imports.
  • New Discord-to-Supabase import script for syncing clan membership data.
  • Centralized TypeScript type definitions for API, competition, player, and tradepost interfaces.

Security & Performance

  • CSRF protection now enforced on API routes that lack an origin/referer header.
  • Rate limiter rewrite — replaced the old rateLimit with a new createRateLimiter factory, complete with memory cleanup to prevent leaks and optimized client identifier hashing.
  • Added Upstash-compatible window conversion for production-ready rate limiting.

Developer Tooling

A suite of new debug and maintenance scripts were added:

  • Achievement checker, status checker, and deep snapshot validation.
  • Debug scripts for clan records, rate limits, player hiscores, PVM events, pet drops, and SOTW standings.
  • Snapshot cleanup tools: nuke bad snapshots, report missing snapshots, and manual reset with safety confirmations.
  • Player hiscores refresh now accepts player names as CLI arguments.

UI & Accessibility

  • Search autocomplete now uses an AbortController for proper fetch cancellation — no more stale results.
  • Added aria-hidden to the ThreeBackground canvas for better screen reader support.
  • Fixed the Skeleton component to correctly handle dynamic `className` props.
  • Updated the competition tab visibility logic on player profile pages.
  • Cleaned up the Tailwind config by removing unnecessary paths.

Housekeeping

  • Removed the legacy Shooting Star Tracker plugin and all associated files (Dockerfile, Gradle configs, Java source, etc.).
  • Removed unused chart.js type dependency.
  • Refactored cloudscraper imports and cleaned up unused options.
  • General code structure refactoring for improved readability and maintainability.

Staff Updates

February 6, 2026

  • JohnRune was demoted toModeratorModerator.

January 30, 2026

  • Invictus was promoted toModeratorModerator.

January 28, 2026

  • JohnRune was demoted toSenior ModeratorSenior Moderator.

January 26, 2026

  • Kot has been promoted toSenior ModeratorSenior Moderator.
  • Strainer has been promoted toModeratorModerator.

January 24, 2026

  • Mazikeen has resigned fromAdministratorAdministrator.

Stay tuned for more updates as we continue to enhance the Skill Nation experience!