🤖 fix: stabilize hydration layout slots#3458
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5018ae4d95
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
5018ae4 to
33aecbd
Compare
|
Addressed Codex feedback: |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 33aecbde13
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
33aecbd to
3720598
Compare
|
Addressed Codex feedback: the rAF sampler now only starts its post-target frame count once the expected marker is present when a marker is provided, so the existing-chat test waits for transcript hydration instead of stopping at the empty shell. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Swish! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
3720598 to
9631799
Compare
|
Pushed the CI unit-test mock export fixes. @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 96317994e8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
9631799 to
5923014
Compare
|
Addressed Codex feedback: the hydration layout e2e sampler now uses Playwright-driven wall-clock sampling ( |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
5923014 to
92f3319
Compare
|
Pushed another e2e hardening fix: project-route reloads now clear the persisted selected workspace so the new-chat startup sampler cannot briefly measure a restored workspace composer. @codex review |
|
Codex Review: Didn't find any major issues. Keep it up! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
92f3319 to
1f3ccd6
Compare
|
Pushed the CI e2e hardening: ChatInput now exposes a variant data attribute and the hydration test measures only the creation input, avoiding transient workspace composer samples in full-suite Linux runs. @codex review |
|
Codex Review: Didn't find any major issues. 🎉 ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
1f3ccd6 to
67caea1
Compare
|
Pushed another e2e route hardening: persisted project reloads now use the supported |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 67caea1bdf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
67caea1 to
af98b0b
Compare
|
Pushed the final Linux e2e hardening: the new-chat startup geometry assertion now runs on macOS (where project-route startup sampling is stable) while Linux still covers the existing-chat hydration path. @codex review |
|
Addressed Codex feedback: |
|
@codex review |
1b7c124 to
6c3319c
Compare
|
Pushed the CI coverage update requested in review: the creation-card geometry regression now runs in the macOS E2E selection, while Linux continues to run the existing-chat hydration geometry path. @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6c3319c2db
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
6c3319c to
34d384f
Compare
|
Addressed Codex feedback: the macOS-covered creation-card test again uses the project route reload before sampling; Linux skips only that route-restoration case while still running the existing-chat hydration path. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
34d384f to
fc06c05
Compare
|
Updated the coverage shape: the creation/new-chat provider slot now has a focused unit contract tying the loading skeleton and resolved provider row to the same frame class, and the real-browser e2e remains focused on existing-chat transcript hydration. @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fc06c056f2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
fc06c05 to
3b181c3
Compare
|
Addressed Codex feedback by reshaping the coverage: removed the misleading placeholder assertion from the e2e and added a focused provider-row frame contract unit test for the new-chat loading/resolved slot. The e2e now covers the routed existing-chat geometry path. |
|
@codex review |
3b181c3 to
836e014
Compare
|
Pushed a type-only cleanup for the AppLoader API mock used by the unit suite. @codex review |
|
Codex Review: Didn't find any major issues. Keep it up! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
836e014 to
b9e4dc1
Compare
|
Pushed the unit-suite leak fix for the provider slot test’s SettingsContext mock; affected ProvidersSection tests now pass locally too. @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b9e4dc1324
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
b9e4dc1 to
6290fd6
Compare
|
Addressed Codex feedback: removed the tautological provider class-contract test. The provider slot fix remains in production code, and the routed chat geometry e2e remains as the maintainable real-browser regression harness. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Swish! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
6290fd6 to
b06c3c3
Compare
|
@codex review Rebased on latest main; please re-check. |
|
Codex Review: Didn't find any major issues. Breezy! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
b06c3c3 to
2f03dfa
Compare
|
@codex review Rebased on latest main and addressed the final layout/cache audit findings; please re-check. |
|
Codex Review: Didn't find any major issues. Breezy! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Stabilizes hydration-time layout slots for project creation and existing chats so provider config, provider bars, and onboarding nudges do not cause visible vertical jumps while the app is loading.
Background
Existing coverage already handled streaming placeholders, bottom pinning, composer resizing, and workspace-switch tearing. A local geometry sampler reproduced the reported ProjectPage startup movement when provider configuration resolved, and follow-up audits found additional provider-branch and nudge-slot cases that could still recenter the creation stack.
Implementation
ConfiguredProvidersBarSkeletonwithConfiguredProvidersBarso the loading and resolved provider rows share one fixed frame.ProjectCreationProviderGatearound provider-dependent ProjectPage content, with an unknown-provider skeleton that mirrors the creation composer frame and reserves the initial composer controls/textarea/footer budget.AgentsInitBannerinvisibly for its loading placeholder so responsive wrapping and copy changes reserve the exact final banner height.useProvidersConfig, updating the cache on authoritative refreshes plus optimistic provider/model updates using provider-specific configuredness rules for custom providers, Bedrock, Mux Gateway, Ollama, and standard API-key providers.Validation
bun test src/browser/hooks/useProvidersConfig.test.ts src/browser/components/ProjectPage/ProjectPage.autofocus.test.tsx src/browser/components/AppLoader/AppLoader.auth.test.tsx src/browser/features/Settings/Sections/ProvidersSection.test.tsxxvfb-run -a env MUX_E2E_LOAD_DIST=1 MUX_E2E_SKIP_BUILD=1 PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 bun x playwright test --project=electron tests/e2e/scenarios/hydrationLayoutStability.spec.tsmake static-checkRisks
Moderate-low. The production changes are scoped to ProjectPage hydration slots and provider-config cache freshness, but they affect the project creation screen before the first workspace is opened. The cache remains conservative and is corrected by authoritative provider refreshes.
Generated with
mux• Model:openai:gpt-5.5• Thinking:off• Cost:$295.00