fix(FR-2475): add fetchKey prop to ProjectSelect for data refetch on modal open#6468
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
|---|---|---|---|
| 🔴 | Statements | 9.22% (-0% 🔻) |
1750/18984 |
| 🔴 | Branches | 8.3% (-0% 🔻) |
1100/13246 |
| 🔴 | Functions | 5.59% (-0% 🔻) |
288/5154 |
| 🔴 | Lines | 8.9% (-0% 🔻) |
1641/18443 |
Test suite run success
854 tests passing in 39 suites.
Report generated by 🧪jest coverage report action from e7ad108
There was a problem hiding this comment.
Pull request overview
Adds a fetchKey pathway to ProjectSelect so project options can be reliably refetched when modals are reopened (avoiding stale Relay-cached group lists).
Changes:
- Add optional
fetchKeyprop toProjectSelectand forward it touseLazyLoadQueryoptions. - Wire
fetchKeyintoUserSettingModaland refresh it onUpdateUsersModalopen viaafterOpenChange. - Update E2E config TOML parsing path to pre-process duplicate keys before parsing.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| react/src/components/UserSettingModal.tsx | Passes modal-level fetchKey into ProjectSelect so project list can refetch when the modal’s data refreshes. |
| react/src/components/UpdateUsersModal.tsx | Introduces a fetchKey that updates whenever the modal opens, and forwards it to ProjectSelect. |
| react/src/components/ProjectSelect.tsx | Adds fetchKey prop and uses it in Relay query options to force refetch. |
| e2e/utils/test-util.ts | Attempts to deduplicate TOML keys before parsing config fetched from /config.toml. |
f819ac5 to
a26a287
Compare
f19a6fe to
ab5be2d
Compare
ab5be2d to
a78313d
Compare
a26a287 to
9f3cb82
Compare
a78313d to
e7ad108
Compare
|
This is resolved in the PR below. |

Resolves #6433(FR-2475)
Summary
fetchKey?: stringprop toProjectSelectcomponent and pass it touseLazyLoadQueryoptions, enabling Relay to trigger a fresh network request when the key changesfetchKeystate fromUserSettingModaltoProjectSelect, matching howAccessKeySelectalready handles thisfetchKeystate management toUpdateUsersModalusinguseUpdatableState('initial-fetch')and trigger an update viaafterOpenChangewhen the modal opensTest plan