• Will Chen's avatar
    Add skipPruneEdgeFunctions setting to control edge function pruning (#2228) · 4b2f0b5a
    Will Chen 提交于
    Add a new setting "Keep extra Supabase edge functions" that controls
    whether dangling edge functions (deployed to Supabase but not in
    codebase) are automatically deleted during sync operations.
    
    When disabled (default), edge functions are pruned during batch
    deployments triggered by:
    - Shared module changes
    - Version reverts
    - Local agent file operations
    
    Changes:
    - Add skipPruneEdgeFunctions to UserSettings schema
    - Add listSupabaseFunctions API method to management client
    - Modify deployAllSupabaseFunctions to prune dangling functions
    - Add UI toggle in SupabaseIntegration component
    - Update all call sites to pass the setting
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Introduces a user setting to control pruning of Supabase edge
    functions and integrates pruning into batch deployments.
    > 
    > - Adds `skipPruneEdgeFunctions` to `UserSettings` and a toggle in
    `SupabaseIntegration`
    > - Extends management client with `listSupabaseFunctions`
    > - Updates `deployAllSupabaseFunctions` to optionally prune deployed
    functions not in the codebase, using `deleteSupabaseFunction`;
    controlled by `skipPruneEdgeFunctions`
    > - Threads the setting through all batch deploy call sites: shared
    module edits (`app_handlers`), version reverts (`version_handlers`),
    chat/agent file ops (`response_processor`, local agent
    `file_operations`)
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    6af28fb682e7a6352426e0033d67ee1e750201fc. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Adds a setting to control pruning of extra Supabase edge functions
    during batch deployments. By default, dangling functions (deployed but
    not in code) are pruned; enable “Keep extra Supabase edge functions” to
    skip pruning.
    
    - **New Features**
    - Added skipPruneEdgeFunctions to UserSettings and a toggle in
    SupabaseIntegration.
    - Implemented listSupabaseFunctions API and pruning in
    deployAllSupabaseFunctions.
    - Passed the setting through all batch deploy paths (shared module
    changes, version reverts, local agent file operations).
    
    <sup>Written for commit 6af28fb682e7a6352426e0033d67ee1e750201fc.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    <!-- devin-review-badge-begin -->
    
    ---
    
    <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2228">
      <picture>
    <source media="(prefers-color-scheme: dark)"
    srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
    <img
    src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
    alt="Open with Devin">
      </picture>
    </a>
    <!-- devin-review-badge-end -->
    
    ---------
    Co-authored-by: 's avatarClaude <noreply@anthropic.com>
    4b2f0b5a
supabase_utils.ts 8.2 KB