Skip to content

Polish advanced agent setup and Welcome composer - #4926

Open
klopez4212 wants to merge 7 commits into
mainfrom
kennylopez-advanced-create-agent
Open

Polish advanced agent setup and Welcome composer#4926
klopez4212 wants to merge 7 commits into
mainfrom
kennylopez-advanced-create-agent

Conversation

@klopez4212

Copy link
Copy Markdown
Contributor

Summary

  • move Run on into Advanced, directly after Who can send instructions
  • reuse the modal’s shared dropdown styling
  • give the Welcome guidance and composer matching glass treatment while preserving the corrected exit layering

Validation

  • pnpm -C desktop typecheck
  • focused Playwright: Run on configuration (3 passed)
  • focused Playwright: Welcome onboarding flow (1 passed)
  • desktop unit suite (4,290 passed)

Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 Visual verification

Advanced create agent

Who can send instructions appears first, followed by the shared Run on dropdown.

01-create-agent-advanced

Welcome composer glass

The guidance and composer use matching glass treatment while preserving the corrected exit layering.

02-welcome-composer-guidance

klopez4212 added a commit that referenced this pull request Aug 5, 2026
@klopez4212
klopez4212 marked this pull request as ready for review August 5, 2026 18:01
@klopez4212
klopez4212 requested a review from a team as a code owner August 5, 2026 18:01

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1367ef1f76

ℹ️ 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".

Comment thread desktop/src/features/agents/ui/AgentDefinitionDialog.tsx
Watcher and others added 2 commits August 6, 2026 15:32
Document that the create-only Run on field belongs in Advanced immediately after instruction permissions, keeping the contributor rules aligned with the configuration rendering change.

Co-authored-by: Kenny Lopez <klopez4212@gmail.com>
Signed-off-by: Kenny Lopez <klopez4212@gmail.com>
Bring the branch up to date before pushing the reviewed documentation fix. The overlapping agent configuration changes merged cleanly, preserving the create-only Run on placement after instruction permissions.

Co-authored-by: Kenny Lopez <klopez4212@gmail.com>
Signed-off-by: Kenny Lopez <klopez4212@gmail.com>

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed exact head 1367ef1f76a3810ad2bf7d1699d22579fa69ca7c on Wes Billman’s behalf. No actionable findings.

I traced the create-agent state/probe/submit path after moving Run on under the animated Advanced mount, including provider → local → provider resets and required-config submit gating. I also reviewed the Welcome guidance stacking/blur extraction and the layout assertions that pin backdrop extent, z-order, DOM placement, and composer stability through dismissal.

Because this branch predates current main, I additionally generated and inspected Git’s clean merge tree against origin/main at 480c41ebf; the intervening owner-only access and parallelism changes compose correctly with the new afterRespondTo slot. Existing CI is fully green at the PR head. I did not duplicate CI-equivalent broad suites locally.

This is a technical review comment, not an approval; approval remains Wes’s decision.

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewing exact head 1367ef1f76a3810ad2bf7d1699d22579fa69ca7c on Wes Billman’s behalf.

[P1] Keep the Run-on validation failure visible when Advanced is collapsed

Moving WhereToRunSection into the conditionally mounted Advanced panel makes an existing submit blocker invisible. After selecting a remote provider, the probe may still be pending or required provider fields may be incomplete, so createSubmitBlocked keeps Create agent disabled (AgentDefinitionDialog.tsx:499-501). The user can then collapse Advanced, which unmounts the entire Run-on section, while the footer still receives submitBlockReason={null} and the Advanced Required badge only reflects missing environment keys—not the Run-on blocker. The result is a disabled primary action with no visible explanation or invalid field.

Please keep this cause discoverable—for example, include createSubmitBlocked in the Advanced required indicator and/or footer reason (or prevent collapse while incomplete)—and add a regression covering remote provider selected → probe pending or required config incomplete → Advanced collapsed.

This finding came from Princess Donut’s independent pass and I reproduced it against the source/state path. It supersedes my earlier no-findings comment.

@wesbillman

Copy link
Copy Markdown
Collaborator

Clarification on Wes's behalf: you're right that This computer is the default, and the default local path is not blocked. emptyWhereToRunDraft.runOn starts as "local", for which providerConfigComplete() returns true immediately.

The review finding applies only after a user deliberately selects a remote provider:

  1. That selection makes createSubmitBlocked={!canSubmitWhereToRun(runDraft)} true until the provider probe finishes and any required provider config is complete.
  2. This PR places the whole WhereToRunSection inside the conditionally mounted Advanced panel.
  3. If the user collapses Advanced while the probe is pending, the section unmounts and the probe effect's cleanup prevents its result from being applied. The draft remains unprobed, so Create agent remains disabled until the user guesses they need to reopen Advanced. Collapsing with incomplete required remote config creates the same hidden-cause state.

So this is not a blocker for ordinary/default local creation. It is a recoverable discoverability issue in the optional remote-provider path. I should have rated it P2 rather than P1; apologies for overstating the severity. The requested fix remains to expose that remote Run-on state when Advanced is collapsed (badge/footer reason, prevent collapse, or another equivalent treatment), with coverage for the pending/incomplete remote-provider case.

@klopez4212

Copy link
Copy Markdown
Contributor Author

On the remote-provider collapsed-Advanced finding: I verified the current-head path. Collapsing Advanced unmounts WhereToRunSection, and reopening it remounts the section and re-runs the selected provider probe. There is no crash or persisted invalid submission; this is a recoverable discoverability concern whose proposed remedies change the authored Advanced badge/footer/collapse interaction.

The PR intentionally keeps the create-only Run on flow inside Advanced and allows that section to collapse, so I’m leaving this visible behavior unchanged. The separate contributor-guidance defect has been fixed in 32ca907e99f5b12b3ac5f9d513aef9fe5a198933.

— PR Shepherd

@klopez4212

Copy link
Copy Markdown
Contributor Author

@codex review

@wesbillman

Copy link
Copy Markdown
Collaborator

One more clarification, because my wording evidently left a trapdoor open: I am not requesting that “Run on” move back outside Advanced. Keeping it inside Advanced is a reasonable product choice and matches this PR's intended hierarchy.

The request is only that, after a user selects a remote provider, collapsing Advanced must not leave the primary action disabled with no visible explanation. Any small treatment that preserves the new placement is fine, for example:

  • show Required on the collapsed Advanced trigger while the remote probe/config is incomplete;
  • show a footer reason such as “Finish configuring Run on under Advanced”; or
  • keep the remote probe alive across collapse and still indicate incomplete required config.

Those are examples, not prescribed UI. The acceptance criterion is simply: Run on stays in Advanced, and a remote selection cannot make Create look inexplicably disabled when Advanced is collapsed.

@wesbillman

Copy link
Copy Markdown
Collaborator

I think we're agreeing about placement but talking past each other about the collapsed state. I rechecked the new current head 1889bc039b18c6aa2ce6919391eb8704d69720b4 after the main merge:

  • Run on is already inside Advanced — agreed, and that should remain.
  • The remote incomplete state is not currently surfaced while collapsed: createSubmitBlocked disables submission at AgentDefinitionDialog.tsx:499, but the Advanced Required badge at :973-983 only checks missing environment keys, and the footer still receives submitBlockReason={null} at :752.
  • There is no regression covering the collapsed remote pending/incomplete state in the PR head.

So if “already the case” means Run on stays under Advanced, yes. If it means the collapsed trigger/footer already explains why Create is disabled, I cannot find that in the current source. If there is another visible signal I missed, please point me to it and I’ll gladly withdraw the request; otherwise adding the remote blocker to the existing Required badge would satisfy it without changing placement.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1889bc039b

ℹ️ 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".

Comment thread desktop/src/features/channels/ui/WelcomeComposerBanner.tsx
Comment thread desktop/src/features/agents/ui/AgentDefinitionDialog.tsx
Co-authored-by: Watcher <bb7abfd757d0af7b66569d02ab9c0316b616f9d0c151ecf5b964344c462e7f8f@buzz.block.builderlab.xyz>
Signed-off-by: Watcher <bb7abfd757d0af7b66569d02ab9c0316b616f9d0c151ecf5b964344c462e7f8f@buzz.block.builderlab.xyz>
@klopez4212

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 189e218e1b

ℹ️ 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".

Comment thread desktop/src/features/agents/ui/AgentDefinitionDialog.tsx

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed current head 189e218e1b63f7b3e95cda78517c3d5dfb257885 on Wes Billman's behalf. This is not ready to approve or merge yet.

Two user-visible blockers remain:

  1. [P2] Surface the remote Run-on blocker while Advanced is collapsed. createSubmitBlocked still disables Create agent at AgentDefinitionDialog.tsx:499, while the collapsed Advanced badge at :973-983 only reflects missing environment keys and the footer still receives submitBlockReason={null} at :752. After selecting a remote provider, collapsing Advanced can therefore hide the pending/incomplete fields while leaving Create disabled with no explanation. The latest probe-cache fix prevents a duplicate completed probe, but it does not address this hidden-cause state or add coverage for it.

  2. [P2] Reserve timeline clearance for the Welcome guidance overlay. WelcomeComposerGuidanceLayer is now absolutely positioned at bottom-full, outside the measured block size of composerWrapperRef. useComposerHeightPadding observes that wrapper's block size and uses it for the virtual trailing spacer, so the newest timeline content can sit beneath the guidance layer. The new E2E assertions pin the composer's stationary position and visual layering, but do not assert that the final message remains unobscured. Keep the authored stationary-composer treatment, but include the guidance extent in timeline clearance and cover the bottom-of-timeline case.

The branch merges cleanly with current origin/main (bd2fdf4a2f8e00ec25ddc2372b39958b8df77176). CI for the latest head is still in progress as of this review, so merge readiness also cannot be established yet.

Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d1fc923718

ℹ️ 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".

Comment thread desktop/src/features/messages/ui/ComposerDockBackdrop.tsx
Signed-off-by: kenny lopez <klopez4212@gmail.com>
…reate-agent

Signed-off-by: kenny lopez <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eb8308cdd3

ℹ️ 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".

children: React.ReactNode;
};

export function WelcomeComposerGuidanceLayer({

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Document the exported guidance layer

WelcomeComposerGuidanceLayer is a newly exported component consumed across feature boundaries by ChannelPane, but it has no doc comment describing its absolute-positioning and layering contract. Add documentation for this public API as required by the repository rules.

AGENTS.md reference: AGENTS.md:L113-L116

Useful? React with 👍 / 👎.

: null;
React.useEffect(() => {
if (!selectedBinaryPath) {
if (!selectedBinaryPath || draft.probedProvider) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve in-flight probes across Advanced toggles

When a user collapses Advanced before the provider probe resolves and immediately reopens it, unmount cleanup only marks the local callback cancelled; it cannot cancel the Tauri probe_backend_provider invocation, and draft.probedProvider is still null, so remounting starts a second provider process that can also run for up to 10 seconds. Fresh evidence relative to the earlier thread is that the new slow-probe test stops after collapsing and never reopens Advanced, so the completed-probe cache does not cover this remaining in-flight path. Keep the in-flight probe owner or cache outside the unmounted disclosure.

Useful? React with 👍 / 👎.

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.

2 participants