v3.3.0 — Live DB RLS patch, GitHub Pages docs link, login error improvements
What's new in v3.3.0
Fixed
- §5+§6 RLS policies applied to live Supabase DB — Own-row RLS optimisation (§5) and leaderboard public-read policies (§6) from
performance-patch.sqlapplied to the live database via the Management API. Leaderboard now works correctly for authenticated users. Tables patched: users, user_profiles, user_points, user_stats_summary, daily_user_stats, study_sessions_log, notifications, user_presence, groups, group_members, group_chat_messages, group_challenges, group_challenge_participants, group_announcements, group_invites, group_milestones. - Improved login error messages (
/__auth/login) — Login failures now surface the specific Supabase error: "email not confirmed" shows a confirmation-link hint; "invalid credentials" shows a clear message directing users to their Supabase-registered email and password. Previously all failures returned a generic message.
Added
- GitHub Pages docs badge on login screen (
server.mjsDOCS_LINK_HTML) — A📖 Docsbadge is injected into every served HTML page (including the unauthenticated login screen) in the bottom-right corner, linking to https://suydev.github.io/isotope-code/ - README updated — Logo in README header now links to GitHub Pages; Docs badge and nav link added to the header; footer updated with Documentation link; version badge updated to 3.3.0.
- GitHub Pages docs updated (
docs/index.md) — Added v3.3.0 changelog section, GitHub Pages self-link, repository link, and updated version footer.
Audit summary
| Check | Result |
|---|---|
| Total assets scanned | 211 (191 non-font) |
/api/broadcast in vendor-supabase bundle |
✅ Supabase realtime internal — not a server route |
All /__auth/* server endpoints |
✅ login, signup, backup, backup/latest, snapshot, profile, refresh, delete-account |
All /api/* server endpoints |
✅ version, healthz, status, config, export, ai/*, pwa-events, proxy |
| §5 own-row RLS applied to live DB | ✅ 6 batches × HTTP 201 |
| §6 leaderboard public-read policies | ✅ stats_select_all, daily_select_all, users_select_display |
| Missing tables (user_inventory, community_events) | ℹ️ Not in live schema — SQL skipped safely |
Full changelog: https://github.com/Suydev/isotope-code/blob/main/CHANGELOG.md
Documentation: https://suydev.github.io/isotope-code/