Skip to content

fix(frontend): resolve late-loaded input-assist matches - #3269

Open
Chris0Jeky wants to merge 8 commits into
mainfrom
codex/input-assist-late-options-current
Open

Chris0Jeky wants to merge 8 commits into
mainfrom
codex/input-assist-late-options-current

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Supersedes recovery PR #3258. Related audit: #3256.

Current qualification

Current source: 147c837adececb8c7bd77bd75a77e61d14bc22bd. Disabled-state and focus-ownership corrections are committed. The PR is currently ready in the GitHub UI, but complete current-head CI and final review still gate merging.

Required CI 35672574392 remains in progress at the latest read. Self-Test 35672574233 and Extended 35672574470 / 35674050746 are successful. Earlier d5e48cd green results qualify only the disabled-state correction. Do not merge using an older head's evidence.

Change

Late exact value/label matches canonicalize only while the input still owns focus and its panel is open. Blur revokes automatic selection immediately, independently of the existing 120 ms visual close delay. Disabled-state rejection and the previous-option comparison remain intact. Explicit option mousedown is preserved; intentionally returning focus restores eligibility.

Test-first evidence

  • 5314f9e12eec964dfaff2ca904cc6dbc7ec6fd22: five real-DOM/fake-timer Vitest cases for value/label matches after blur, focused matching, intentional refocus and explicit option selection.
  • 147c837adececb8c7bd77bd75a77e61d14bc22bd: synchronous focus admission fix.
  • Published SFC blob 6ef890ef26f7c252c87084574b1f5a49f6ae43e8 matches the locally reviewed replacement.

The supplemental exact-SFC-script harness reproduced two blur failures with four controls passing, then passed all six schedules after the fix. It uses injected framework/focus/timer boundaries and is not Vue/Vitest, real-browser or full-suite qualification. The canonical tests require hosted execution.

Review thread 4067546264 remains open pending that evidence and final review. Re-review was requested at the exact new head. No API, route, dependency or backend change; no transport cancellation claim.

@Chris0Jeky Chris0Jeky left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Published the disabled-selection fix in d5e48cd. The existing canonical regression does not synthesize selection when matching options arrive while disabled arranges an open panel and then supplies options together with disabled=true, asserting neither select nor update:modelValue. The options watcher reached selectOption without any disabled admission check. The shared selection function now returns before emitting, closing, or focusing when disabled, covering both late-option and option-button selection. Enabled late exact matches and the previous-options comparison are unchanged.

The replacement was reconciled with the exact GitHub blob 1e280e4, not assumed current from the ZIP. This fixes the concrete failing path; fresh exact-head hosted CI is still required. Leaving draft until the new evidence and review qualify it. No local Vitest execution is claimed.

@Chris0Jeky
Chris0Jeky marked this pull request as ready for review September 22, 2026 00:23
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 22, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-22T01:15:07.366608Z 3a75b2f Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: d5e48cd0bf

ℹ️ 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 frontend/taskdeck-web/src/components/common/InputAssistField.vue Outdated
@Chris0Jeky
Chris0Jeky marked this pull request as draft September 22, 2026 00:33

Copy link
Copy Markdown
Owner Author

@codex review

Please re-review 147c837 after the focus-ownership correction. The asynchronous options watcher now loses eligibility immediately on blur, independent of the 120 ms visual close delay. The added real-DOM tests cover both label/value matches after blur, focused matching, intentional refocus and explicit option mousedown. No full Vue/Vitest or hosted-green claim is made before the new exact-head checks finish; the PR remains draft.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: 147c837ade

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

@Chris0Jeky
Chris0Jeky marked this pull request as ready for review September 22, 2026 00:58

@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: 147c837ade

ℹ️ 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 frontend/taskdeck-web/src/components/common/InputAssistField.vue Outdated
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

@codex review

Please review exact current head 3a75b2f against base e09f10f. The latest fix makes late label auto-selection require a unique label while preserving deterministic value matches; focused proof is 14/14 and typecheck passes.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 3a75b2f82d

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

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Estate ops — CI lane (eng supervisor bot) — 2026-09-23

Product merge-next head for input-assist late-match honesty. Eng view: MERGEABLE, required checks clean on last rollup sample — human click when Chris wants it.

Eng asks before click

  1. Re-confirm Frontend Unit (ubuntu+windows) + E2E Smoke on the exact head about to merge (no stale green).
  2. Guard: late-loaded assist matches must not apply after session/board change (pair with session-generation work on fix(board): isolate mutation settlements across logout #3358 after rebase — do not combine scopes here).

UXQA cross-link (no reseeding)

Usability depth on assist/Review chrome stays with UXQA: #2901 · ledger #2898.

Product owns sequencing vs #3372/#3375/#3358/#3353. Eng does not merge.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Pending

Development

Successfully merging this pull request may close these issues.

1 participant