Repository navigation
🤖 feat: keep open ask_user_question forms sticky above the chat input - #6887
ammar-agent wants to merge 1 commit into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bff2bd6133
ℹ️ 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".
|
@codex review |
|
Codex Review: Didn't find any major issues. What shall we delve into next? Reviewed commit: ℹ️ 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". |
|
@codex review Addressed the hook-output finding; please take another look. |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ 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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
@codex review Addressed the retained-card finding; please take another look. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
@codex review Addressed the accepted-answer finding; please take another look. |
|
@codex review Rebased onto main and addressed the accepted-answer finding; please take another look. |
3735a21 to
b6eb9b6
Compare
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b6eb9b64e6
ℹ️ 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".
|
@codex review Addressed the reused tool-call id finding; please take another look. |
|
@codex review Addressed the malformed-args finding; please take another look. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e07f518ef8
ℹ️ 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".
|
@codex review Replied on the Pixel finding: the snapshot budget is at its cap, 687/687 snapshots and 120/120 files. Please take another look. |
|
@codex review Replied on the accepted-answer key finding: toolCallId is the existing cross-layer identity for non-blocking answers, so this is not a regression from this PR. Please take another look. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e07f518ef8
ℹ️ 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".
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
@codex review Addressed the reveal-swap and reused-id release findings; please take another look. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 685c98491e
ℹ️ 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".
|
@codex review Addressed the stale blocking-answer finding; please take another look. |
|
@codex review Aligned the selector's boundary check with the card's; please take another look. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3199df2365
ℹ️ 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".
|
Pausing the Codex review loop for human direction (AGENTS.md early-stop case 2: the loop isn't converging). The last several rounds all came from one area: tool call ids that a provider reuses inside one workspace. Each fix turned up the next edge in that area (dedupe, every row, latest row, boundary row). The root cause is older than this PR: across layers, a non-blocking question is identified by What this PR does: it treats a tool call id as one question, judged by its latest row. Every open check is the card's own, so the dock and the card can't disagree, and release/reconcile can't loop. Deferred follow-up (separate PR): give non-blocking answers a per-occurrence identity (row id in the answer metadata and the left-context lookup), or reject or rename reused ids at ingest. Either one would make the reused-id edges go away at the source. Everything else from review is addressed. Over to a maintainer: either accept this scope, or ask me to take on the identity change here. |
3199df2 to
834aa9f
Compare
|
Resuming the review loop. The reused-tool-call-id problem now has a root-cause fix in #6891, which sits below this PR in the stack. That PR identifies each That also resolves the earlier deferred threads:
@codex review |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ 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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Summary
Open
ask_user_questionforms now dock above the chat input, inside the sticky composer dock, so they stay pinned to the bottom of the chat. The question's transcript row becomes a one-line stub ("Answer in the panel above the chat input."), and once the questions close, the row shows the outcome as before.Background
A non-blocking (Exec) question stays answerable while the agent keeps working. Later output pushed the form off screen, and hyper-density work bundles could collapse it. A blocking (Plan) question also scrolled away when the user scrolled up to read context. CSS
position: stickyon the card itself can't solve this: its containing block is only as tall as the card's own row, and rows can unmount (detached slices) or be collapsed into bundles.Implementation
askUserQuestionPlacement.ts:findOpenAskUserQuestionsis a single-pass selector that mirrors the card's ownisAnsweringlogic. A blocking question counts as open while its call is executing. A non-blocking one stays open until an answer row lands or a compaction boundary drops it. The file also adds a placement context (inline|transcript|dock).AskUserQuestionDockis a composer decoration (self-gating, keyed by workspace). It renders open questions throughToolMessage, so lazy tool cards and arg validation still apply. It is capped atmax-h-[50vh]and scrolls when the content is taller, which keeps the composer on screen on phones.PlacedAskUserQuestionToolCallrenders a stub for them. Ids from both the immediate and the deferred transcript count, so a lagging deferred row can't flash a second form.inlinedefault and render as before. The transcript placement is also scoped by workspaceId, so nested transcripts are unaffected.revealBeforeReady, like the queued message), so a form never moves between instances mid-answer. Transcript-only workspaces have no composer, so their transcript keeps the full card.getAskUserQuestionOccurrences, the same state the card reads, so the dock and the card can't disagree about whether a question is open.Validation
App/AskUserQuestionDockDesktop + 390px Phone): the form renders exactly once, insidechat-composer-dock, with no horizontal overflow. I also checked desktop and phone screenshots by eye.Risks
Low to moderate, limited to ask_user_question UI. One behavior change: after you answer, the transcript row remounts and follows the per-tool expand preference (collapsed by default) instead of staying expanded. This matches what you'd see after a reload.
Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high• Cost:$n/a