sojorn/sojorn_docs/features/posting-and-appreciate-fix.md

1.5 KiB

Posting and Appreciate Issue Fix

Symptoms

  • One account could post and appreciate, another could not.
  • Client showed ClientFailed to fetch with no useful error details.

Root Causes

  1. Missing user_settings rows
    The failing account had no user_settings row, which publish-post relies on when determining TTL defaults. That caused requests to fail silently.

  2. CORS headers missing on edge functions
    The browser blocked responses from publish-post and appreciate, producing a generic ClientFailed to fetch instead of the real error response.

Fixes Applied

1) Backfill user_settings and ensure new users get it

Migration added:

  • Creates user_settings table if missing.
  • Backfills rows for all existing users.
  • Updates handle_new_user trigger to insert a user_settings row.

File: supabase/migrations/20260121_create_user_settings.sql

2) Add CORS headers to edge functions

Both edge functions now return CORS headers for all responses. This prevents the browser from hiding the response body.

Files:

  • supabase/functions/publish-post/index.ts
  • supabase/functions/appreciate/index.ts

Deployment Steps

  1. Apply migrations (includes 20260121_create_user_settings.sql).
  2. Redeploy edge functions:
    • publish-post
    • appreciate

Validation Checklist

  • select * from user_settings where user_id = '<user_id>'; returns a row.
  • Posting succeeds for both accounts.
  • Appreciating posts returns 200 and no browser CORS errors.