sojorn/sojorn_docs/deployment/DEPLOYMENT_STEPS.md

2.7 KiB

Deployment Complete

Edge Functions Deployed

All three edge functions have been successfully deployed:

  1. create-beacon - Fixed JWT authentication, now uses standard Supabase pattern
  2. feed-personal - Now filters beacons based on user's beacon_enabled preference
  3. feed-sojorn - Now filters beacons based on user's beacon_enabled preference

Database Migration Required

The beacon_enabled column needs to be added to the profiles table.

Apply Migration via Supabase Dashboard:

  1. Go to: https://supabase.com/dashboard/project/zwkihedetedlatyvplyz/sql
  2. Click "New Query"
  3. Paste the following SQL:
-- Add beacon opt-in preference to profiles table
-- Users must explicitly opt-in to see beacon posts in their feeds

-- Add beacon_enabled column (default FALSE = opted out)
ALTER TABLE profiles ADD COLUMN IF NOT EXISTS beacon_enabled BOOLEAN NOT NULL DEFAULT FALSE;

-- Add index for faster beacon filtering queries
CREATE INDEX IF NOT EXISTS idx_profiles_beacon_enabled ON profiles(beacon_enabled) WHERE beacon_enabled = TRUE;

-- Add comment to explain the column
COMMENT ON COLUMN profiles.beacon_enabled IS 'Whether user has opted into viewing Beacon Network posts in their feeds. Beacons are always visible on the Beacon map regardless of this setting.';
  1. Click "Run"
  2. Verify success - you should see "Success. No rows returned"

What This Fixes

Before:

  • Beacon creation failed with JWT authentication error
  • All users saw beacon posts in their feeds (no opt-out)

After:

  • Beacon creation works properly with automatic JWT validation
  • Users are opted OUT by default (beacon_enabled = FALSE)
  • Beacons only appear in feeds for users who opt in
  • Beacon map always shows all beacons regardless of preference

Testing

After applying the migration:

  1. Test Beacon Creation:

    • Open Beacon Network tab
    • Tap on map to drop a beacon
    • Fill out the form and submit
    • Should succeed without JWT errors
  2. Test Feed Filtering (Opted Out - Default):

    • Check Following feed - should NOT see beacon posts
    • Check Sojorn feed - should NOT see beacon posts
    • Open Beacon map - SHOULD see all beacons
  3. Test Feed Filtering (Opted In):

    • Manually update your profile: UPDATE profiles SET beacon_enabled = TRUE WHERE id = '<your-user-id>';
    • Check Following feed - SHOULD see beacon posts
    • Check Sojorn feed - SHOULD see beacon posts

Next Steps

To add UI for users to toggle beacon opt-in:

  1. Add a settings screen
  2. Add a switch for "Show Beacon Alerts in Feeds"
  3. Call API service to update profiles.beacon_enabled

Documentation

See detailed architecture documentation: