Skip to content

fix(forking): hide satisfied dependent configuration - #6723

Open
icecrasher321 wants to merge 3 commits into
stagingfrom
codex/fork-dependent-config-ux
Open

fix(forking): hide satisfied dependent configuration#6723
icecrasher321 wants to merge 3 commits into
stagingfrom
codex/fork-dependent-config-ux

Conversation

@icecrasher321

@icecrasher321 icecrasher321 commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Hide unchanged dependent selectors that are already satisfied while keeping workflow usage visible.
  • Reveal provider chains for fields that need configuration and clear every transitive descendant when a provider is re-picked, preventing stored IDs from leaking into the sync payload.
  • Build selector context with persisted canonical modes so advanced-mode dependencies use the active value.
  • Cover top-level blocks and tools nested in Agent blocks.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Documentation update

Testing

  • bun run type-check
  • bun run lint
  • bun run check:audits
  • bun run apps/sim/scripts/check-block-registry.ts origin/staging
  • All 37 workspace-forking Vitest suites: 549 tests passed

Checklist

  • Tests added or updated
  • Docs updated if needed
  • No secrets committed

@vercel

vercel Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Aug 15, 2026 5:13am

Request Review

@cursor

cursor Bot commented Aug 15, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Changes fork-sync UI gating and in-session reconfig state that feeds the sync payload; behavior is well covered by tests but incorrect gating could block sync or send stale dependent IDs.

Overview
Fork sync only surfaces dependent selectors that still need user action, instead of listing every dependent whenever a resource is mapped.

When the parent mapping is unchanged and stored values are already valid, satisfied required and optional dependents stay hidden; workflows that only use the resource with nothing to configure still appear in a muted “nothing to configure there” note. If a child still needs a value, upstream provider fields in the same block are shown too so the user can see and change the scoping context.

Re-picking a provider now clears every transitive descendant in-session (empty overrides), not just direct children, so stale stored IDs do not leak into the sync payload after a parent in the chain changes.

Dependent selector context during collection now respects persisted canonical modes (e.g. advanced projectId), so downstream selectors query with the active value rather than a stale basic-mode field.

Reviewed by Cursor Bugbot for commit c761851. Configure here.

@greptile-apps

greptile-apps Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR reduces workspace-fork configuration noise while preserving selectors needed to configure required dependent chains.

  • Classifies dependent selectors as actionable based on parent resolution, mapping changes, copy state, and missing required values.
  • Retains transitive context providers whenever a descendant requires configuration.
  • Applies the filtered presentation to top-level block fields and fields nested under Agent tools.
  • Adds focused tests for selector visibility and transitive provider inclusion.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.ts Adds actionable-field classification and transitive context-provider expansion.
apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx Filters rendered dependent selectors per mapping state while preserving workflow usage grouping.
apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.test.ts Covers visibility rules and direct and transitive provider inclusion.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Dependent field] --> B{Parent resolved?}
  B -- No --> H[Hide selector]
  B -- Yes --> C{Parent changed or copied?}
  C -- Yes --> S[Show selector]
  C -- No --> D{Required value missing?}
  D -- Yes --> S
  D -- No --> H
  S --> P[Include transitive context providers]
Loading

Reviews (2): Last reviewed commit: "fix(forking): keep dependent chains conf..." | Re-trigger Greptile

@icecrasher321 icecrasher321 changed the title fix(forking): hide satisfied dependent configuration improvement(forking): hide satisfied dependent configuration Aug 15, 2026
@icecrasher321

Copy link
Copy Markdown
Collaborator Author

bugbot run

@icecrasher321

Copy link
Copy Markdown
Collaborator Author

@greptile

@icecrasher321 icecrasher321 changed the title improvement(forking): hide satisfied dependent configuration fix(forking): hide satisfied dependent configuration Aug 15, 2026
@icecrasher321

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit c761851. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant