You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v0.5.1 - Leaderboard layout, settings polish, and fixes
Layout
Moved Personal Leaderboards to the top of the leaderboard page, above the native League Leaderboards section, with a divider matching the native sections (it previously sat between the Global sections).
Added a "You are in position N of M total students" subtitle to the Top All-Time Learners section, matching the native boards (italic). The position comes from the all-time response; the student count has no API source, so it's read from the native board's rendered subtitle (falling back to position-only when unavailable).
Restyled Personal Leaderboards and the section/board titles to match the native leaderboards: bigger bold section heading, semibold board titles, native username sizing, and transparent cell/section backgrounds (they were noticeably darker than boot.dev's).
Settings
Renamed the master XP/karma toggle to "Leaderboard comparisons" and the "All-Time Learners" feature toggle to "Top All-Time Learners Leaderboard" (the underlying setting keys were renamed too, with the previous values migrated so existing choices are preserved).
Clarified the Catalyst-added per-board labels and reordered the per-board comparison toggles top-to-bottom to match how the boards appear on the page.
Bundled boot.dev's map texture behind the settings popup and options page for visual consistency with the in-app panels (kept local, no remote dependency).
Fixes
Toasts now stack instead of covering one another, so the first-run settings prompt is no longer immediately hidden by the boss near-high notification.
Fixed the Profile cumulative XP toggle not re-rendering the badge when switched back on; it no longer requires navigating away and back.
Fixed removing people from Personal Leaderboards — the chip's × did nothing because its click handler was bound before the chips existed; it's now a delegated listener on the persistent container.
Stopped a burst of redundant API calls on every settings change (two per saved handle, even for unrelated toggles). Settings now re-render from cache and only fetch when a feature turns on and its data isn't already in memory.
League-board comparisons now show even when you're not yet listed (e.g. no XP earned today, or freshly assigned to a league): your value is treated as 0 for those small pools. Global boards are unaffected, where being absent means "outside the top 25," not zero.
The total-students count now actually appears — it lives in an <h3> on the Global boards, which the reader previously skipped.
Refactor
Unified the terminology for the XP/karma comparison feature: every "diff" and "delta" reference (settings keys, functions, CSS classes, comments, and docs) is now "comparison". Older changelog entries were rewritten retroactively to match, for readability. The boss panel's unrelated "below event high" value was renamed for clarity too. No behavior change.