fix(selectors): resolve shared environment references server-side - #7095
Draft
BillLeoutsakosvl346 wants to merge 2 commits into
Draft
fix(selectors): resolve shared environment references server-side#7095BillLeoutsakosvl346 wants to merge 2 commits into
BillLeoutsakosvl346 wants to merge 2 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
BillLeoutsakosvl346
force-pushed
the
fix/server-resolved-selector-context
branch
from
August 26, 2026 17:50
2402184 to
2434652
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resolves exact
{{KEY}}selector dependencies on the server after authorization, so users can use permitted workspace/shared secrets without exposing plaintext to browser state, query keys, responses, or logs.This hardening follow-up makes selector resolution a Principal-based application operation and supports two canonical scopes:
Credential providers are bound before token/service-account secret access (Jira/JSM, Confluence, and Slack). Server-resolved selector caches are partitioned by workspace, workflow, and an opaque raw-dependency revision, then cleared with all user data. Atlassian selector failures expose only stable status classes, and provider response bodies cannot enter selector responses or retry logs.
Migrated selector families:
Runtime tool routes, block definitions, database schemas, runtime environment resolution, and unrelated chained resource-ID selectors remain unchanged. Embedded interpolation remains out of scope.
Slack report: https://sim-ai.slack.com/archives/C093DF8MA21/p1786822370070229
Security invariant
getEffectiveDecryptedEnvpreserves accessible-secret filtering and workspace-over-personal precedence.Type of Change
Testing
Automated verification on the latest
origin/staging:apps/simsuite: 2,347 files passed, 3 skipped; 34,612 tests passed, 46 skippedlint:checkpassed (one pre-existing unused-suppression warning inlib/workspace-files/shell-layout.test.ts)format:checkpassedgit diff --checkpassedFocused coverage includes:
The full suite emits the repository's existing JSDOM canvas warnings; no new test warnings were introduced.
Browser verification
{{KEY}}, and workspace/shared{{KEY}}inputs. Each reached selector/provider validation while network payloads retained literals/raw references and responses did not echo resolved values. The workflow and variables were deleted and verified absent.Reviewer focus
lib/selectors/application/resolve-authorized-context.tslib/selectors/application/credential-provider.tsand credential adaptershooks/selectors/use-selector-query.tsconnector-selector-field.tsxIntentional remaining scope
Checklist
Screenshots/Videos
Not included. Browser verification was behavior/network focused and used existing or disposable local data only.