v3.1.3 β Performance Hardening & Professional Release
What's New in v3.1.3
π‘οΈ Supabase RLS Performance Hardening (Advisor Fix)
All 20+ Row-Level Security policies now use (SELECT auth.uid()) instead of auth.uid() directly. This is the #1 Supabase Performance Advisor recommendation β it forces PostgreSQL to evaluate the auth function once per query rather than once per row, eliminating a major source of RLS overhead on every authenticated read.
β‘ PWA Server-Check Polling Fixed
public/pwa-local.js replaced the aggressive 10-second setInterval server poll with a visibility-change listener and a 5-minute background keepalive. The server is now checked only when the user returns to the tab, not constantly in the background.
π .env.example Added
The .env.example file was missing entirely β causing setup.sh and setup.bat to fail on fresh clones. It is now included with all required and optional fields documented.
πͺ update.bat Added
Windows users now have an update.bat shortcut in the repo root that delegates to isotope update or the local wrapper.
π performance-patch.sql β Complete RLS Policy Replacement
Section Β§5 of performance-patch.sql now DROP/CREATE-replaces all affected policies with the optimised (SELECT auth.uid()) pattern. Safe to re-run.
How to Update
isotope updateFiles Changed
| File | Change |
|---|---|
.env.example |
Added (was missing) |
update.bat |
Added (Windows update shortcut) |
performance-patch.sql |
Β§5 added: full RLS auth.uid() β (SELECT auth.uid()) migration |
public/pwa-local.js |
10s polling β visibility-change + 5min keepalive |
.gitignore |
Added !.env.example exception |
CHANGELOG.md |
v3.1.3 entry |
README.md |
Badge updated to v3.1.3 |
VERSION |
Bumped to 3.1.3 |
package.json |
Version 3.1.3 |