Repository navigation
Replies: 3 comments
Follow-up: checked current master, two distinct failure branches (2026-10-10)I additionally checked the upstream master at There is an important distinction that narrows the original hypothesis:
Suggested decisive upstream test: seed a ready highlighted slash candidate; advance the editor draft revision after its span is captured but before Enter/pick; invoke real keyboard arbitration and assert whether the menu is dismissed without any claim or visible failure notice. In parallel, test pending-group Enter to confirm that that branch keeps the menu open, as existing unit tests already require. Please preserve stale-span CAS and never auto-execute a pending command as a workaround. The existing opt-in real-browser keyboard repro, source report and per-profile pass/fail data remain linked in the opening post. This follow-up corrects the overly broad inference that the pending-group branch by itself explains all failures. |
Updated current-version matrix — 2026-10-10A second independently installed four-profile-per-version real keyboard Chrome matrix, with the unrelated official Preview Notice startup blocker resolved, has now reproduced a pre-Enter candidate-list failure on BOTH current npm tags:
Important correction: the earlier 0.2.0-rc.2 5/5 PASS sample was factual, but it no longer supports a claim that the issue has not been reproduced on npm latest. Both current tags show an intermittent UI state issue in the expanded matrix. The two failure modes (candidate disappears before Enter vs command not claimed after Enter) may share a source but must not be asserted identical without evidence. Each test used a newly created isolated DSH_HOME, the official DSH tarball install, actual typed Composer A reproducible experimental matrix runner is being integrated into Agent Picket, with nonzero exit on any failing profile. The underlying DSH input-trigger candidate-refresh and menu-close-before-stale-claim-CAS paths require upstream investigation. Existing pending-Enter unit coverage alone cannot explain every observed case. |
Correction after checking DSH MenuView and fixing the keyboard E2E (2026-10-10)Please do not interpret our earlier pre-Enter zero-option assertion as a confirmed DSH bug on either current release. After inspecting the actual DSH We corrected the test to wait for the actual ready-rendered Corrected test, separate disposable DSH Home installations on macOS + real Chrome:
The earlier 0.2.x I apologize for the earlier overclaim based on insufficient current-version/UI-state validation. Please treat this report as a keyboard-menu timing investigation, not a confirmed regression in DSH 0.2 latest or alpha. The replacement test and evidence are being published in an experimental stacked Draft branch. Manual screen reader certification and release reviews remain separate; finite successful runs do not establish a universal guarantee. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Verified current-release correction — October 10, 2026
DSH
0.2.1-alpha.2(npm alpha) DOES reproduce the keyboard failure. Tested on the officially installed alpha with five independent freshly installed disposable WebDSH_HOMEprofiles and real Chrome: 3/5 complete keyboard-only/unionComposer→Host→sidebar E2Es PASSED; 2/5 FAILED before any Host command RPC. Both alpha failures had the same bounded redacted state:{"preEnterKeyboardState":{"phase":"plain","focused":true,"menuMounted":true,"optionCount":0,"highlightedCount":0,"rootInert":false},"afterEnter":{"phase":"plain","editable":"true","composing":false,"focused":false,"menuOptions":0,"menus":0,"rootInert":false}}DSH
0.2.0-rc.2(npm latest): 5/5 independent fresh-profile keyboard-only full E2Es PASSED; the failure was NOT reproduced in this sample. This is evidence of a version difference, not proof that the stable candidate can never exhibit the race. Each test used actual per-character/uniontyping, ArrowDown and keyboard Enter to select the real suggestion, verified the official Lexicalclaimedstate, and submitted commands using keyboard Enter; no pointer selection, direct Host RPC, automatic retries, model credentials or real task blocking. Tests execute the full suite of native union commands when a menu selection succeeds.The original detailed report below describes historical
0.1.7-rc.2reproductions. Please prioritize the confirmed0.2.1-alpha.2failure; the discussion was originally submitted before we completed current-version testing, and its version scope has now been corrected. ThependingEnter-consumption behavior is deliberate and already unit-tested upstream to keep the menu open; a separate menu-close-before-stale-span-CAS failure is plausible but still unconfirmed. See the source-level follow-up in this discussion.Summary / 问题概述
In @deepseek-ai/dsh 0.1.7-rc.2, the Web Composer's native
/command menu sometimes consumes a keyboard Enter while a previously highlighted suggestion is refreshing. The menu disappears, but Lexical does not enterdata-phase="claimed". The next Enter therefore cannot submit that command. This is reproducible before any command Host RPC; please do not classify it as an Agent/Host refusal.在 DSH 0.1.7-rc.2 的 Web Composer 中,斜杠建议菜单刷新期间,键盘 Enter 偶尔被消费但未成功认领命令;菜单消失、输入框仍为
phase=plain,因而不会发出后续预期的命令 RPC。这不等于 Host 拒绝执行。Environment
@deepseek-ai/dsh@0.1.7-rc.2, macOS ARM64, Node 24.5, headless Google Chrome.DSH_HOMEprofiles; a third-party/unionDSH command was installed from a local plugin tarball with the officialdsh plugin --profile web addworkflow./unionproduction command handler rejected any request.Reproduction and actual measurements
/union.[data-trigger-menu] [role=option]candidate; use ArrowDown to highlight the correct option (aria-selected=true).[data-composer-input]transitions todata-phase="claimed"before typing arguments. Sometimes this never happens, although the slash menu disappears.role=optionrows: candidate readiness is asynchronous.Redacted state captured after one unsuccessful Enter selection:
{"phase":"plain","editable":"true","composing":false,"focused":true,"menuOptions":0,"menus":0,"rootInert":false}Independent disposable-profile samples (small samples, all failures retained):
claimedphase=plain)/union, Enterphase=plain)One additional opt-in keyboard-only run passed. The intermittent keyboard-specific problem is NOT fixed; pointer runs do not qualify accessibility.
Source-level lead (hypothesis, not asserted unique root cause)
In the installed
@deepseek-ai/dsh-client-ui-input-triggerimplementation,InputTriggerController.arbitrate("enter", composing)handles the highlighted candidate's group as follows:highlight === null:"pass".status !== "ready":"consumed"with no pick.this.pick(...), then"pick-highlighted".menuReducemay transition ready groups back topendingduring a refresh while retaining the highlight; the DSH conversation Lexical key handler prevents default Enter for consumed arbitration. This is consistent with the observed silent loss, but a stale-span guard or another race may also contribute. Please instrument both state transitions and the result ofslash/input-begin-commandbefore declaring a unique root cause.Acceptance criteria
ready → pending → ready, session initialization, Enter and Tab, and real IME composition.Full reproducible harness and evidence
PICKET_RUN_DSH_KEYBOARD_E2E=1and isolated DSH/Chrome installation env vars documented in the report. This test never injects a command RPC or retries a potentially submitted user command.Please let us know if you would prefer a smaller DSH-only regression fixture or have a newer nightly version in which keyboard arbitration has changed. No upstream source or existing user profile was modified while reproducing.
All reactions