feat(experiments): wire up results refresh with a shared RefreshControl#7857
feat(experiments): wire up results refresh with a shared RefreshControl#7857Zaimwa9 wants to merge 4 commits into
Conversation
- Extract generic RefreshControl (button + message slot + theme prop) into base/forms, replacing the exposures-only AsOfRefreshControl - Add ExperimentResultsRefreshControl with the full throttle/poll/view-state machine, surfaced as a primary button below the status button on the detail header - Convert refreshExperimentBayesianResults to a queryFn that reads Retry-After for 429 throttling parity with exposures - Add a RefreshControl Storybook story and resultsViewState unit tests - SCSS token hygiene: replace phantom --font-*-size custom properties in results.scss with literals (font-size is not tokenised); use the colorIconDanger token instead of a hardcoded #e53e3e
…ynchronous-yawning-star
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Docker builds report
|
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
|
Visual Regression19 screenshots compared. See report for details. |
…p the load flash - Move the refresh control out of the detail header onto the Results heading line; use the default secondary (gray) theme instead of primary - Drop refetchOnMountOrArgChange from the control's bayesian-results query: the page already loads it, so the forced second fetch on mount re-animated the scorecards
…e lands Derive the button's refreshing state from the refreshRequested intent (set on click, cleared on completion or error) instead of the transient isSubmitting, so it no longer flickers out of the loading state in the gap between the 202 and the refetch confirming the refreshing view-state. Applies to both the results and exposures refresh controls.
The "Refresh results" action was never wired up. This adds it as a primary button below the status button, at parity with exposures refresh.
AsOfRefreshControlinto a sharedbase/forms/RefreshControl(button + message slot +theme); adds a Storybook story.ExperimentResultsRefreshControl: 429/Retry-Afterthrottling, polling until recompute lands, view-state + final/availability gating. Converts the Bayesian refresh mutation to aqueryFnforRetry-After.--font-*-size→ literals;#e53e3e→colorIconDanger.How did you test this code?
resultsViewStateunit tests + existing results suites: 37/37 pass; lint + tsc clean.