Skip to content

v3.3.0 — Live DB RLS patch, GitHub Pages docs link, login error improvements

Choose a tag to compare

@Suydev Suydev released this 07 Jun 12:20
· 63 commits to main since this release

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.sql applied 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.mjs DOCS_LINK_HTML) — A 📖 Docs badge 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/