Pathfinder Docs

Documentation Preview

Fix: UI Only Showing 1000 Properties ✅

Source: `docs/operations/FIX_UI_1000_LIMIT.md`View on GitHub

Fix: UI Only Showing 1000 Properties ✅

Problem

  • Supabase: 1680 properties ✅ (verified with SQL query)
  • UI: Only 1000 properties displayed ❌

Root Cause

Supabase has a default limit of 1000 rows per query, even when no limit is specified.

// This only returns 1000 rows max
await supabase
  .from('properties')
  .select('*')

Fix Applied

Added .range(0, 9999) to fetch up to 10,000 rows:

// Now returns up to 10,000 rows
await supabase
  .from('properties')
  .select('*')
  .order('created_at', { ascending: false })
  .range(0, 9999);  // Fetch all properties

Fixed in 3 Functions

  1. fetchProperties() - Now fetches all 1680+ properties
  2. fetchContacts() - Can handle 10,000 contacts
  3. fetchCompanies() - Can handle 10,000 PMCs

Test the Fix

  1. Refresh your browser (hard refresh: Ctrl+Shift+R or Cmd+Shift+R)
  2. Navigate to Properties tab
  3. Should now see 1680 properties displayed! 🎉

Verify

Check the properties count in the UI:

  • Look at the stats card: "Total Properties"
  • Should show 1680 (or 1684 after next sync)

Supabase Pagination Details

Default Behavior

.select('*')  // Default: max 1000 rows

Specify Range

.range(0, 999)    // Get rows 0-999 (1000 rows)
.range(0, 9999)   // Get rows 0-9999 (10,000 rows)
.range(1000, 1999) // Get rows 1000-1999 (next 1000)

For Very Large Datasets

If you ever have more than 10,000 properties, you can:

Option A: Increase range

.range(0, 99999)  // Up to 100,000

Option B: Use pagination

const pageSize = 1000;
const page = 0;
.range(page * pageSize, (page + 1) * pageSize - 1)

Option C: Use count and iterate

const { count } = await supabase
  .from('properties')
  .select('*', { count: 'exact', head: true });

// Then fetch in batches

Performance Note

Fetching 1680 rows is totally fine. Typical performance:

  • 1,000 rows: ~200-500ms
  • 10,000 rows: ~1-2 seconds
  • 100,000 rows: May need pagination

Your 1680 properties load quickly with no issues.

Why This Matters

Without this fix:

  • ❌ Only saw first 1000 properties (alphabetically)
  • ❌ Missing 680 properties in UI
  • ❌ Search/filter incomplete
  • ❌ Stats incorrect

With this fix:

  • ✅ See all 1680 properties
  • ✅ Complete search results
  • ✅ Accurate statistics
  • ✅ All data visible

Files Modified

  • app/access-crm/page.tsx - Added .range(0, 9999) to all fetch functions

Status

Fixed and ready to use!

Just refresh your browser to see all 1680 properties! 🎉


Use links in each imported doc to open its source.