fix(desktop): keep slash completion alive after a leading command - #73074
Merged
Conversation
Typing a second slash command in the composer went dead whenever the message started with one. `/work /cle` offered nothing, while `do /work then /cle` completed fine — which read as an intermittent glitch rather than a rule. Two regexes detect a slash, and the `^`-anchored command shape was tried first. Its argument tail (`(?:\s+\S*)*`) swallows the rest of the line, so a later `/skill` parsed as an argument to the first command; a command that takes no options then suppresses the popover outright, and every slash after the first was unreachable. Only the first slash can be an invocation, so detect the inline shape first. It requires a whitespace-preceded slash sitting at the caret, so it can't take over ordinary argument completion (`/personality alic` has no second slash) — it fires only where completion was already dead.
Contributor
૮ >ﻌ< ა ci reviewran on eb851d6 ℹ️ InfoDesktop E2E visual evidence · View test artifacts · View job1 visual diff. inline evidence upload failed. Failed to upload diff-665a0833239e-onboarding-overlay-diff.png with gh image (exit code 1): Error uploading /home/runner/work/_temp/e2e-evidence/diff-665a0833239e-onboarding-overlay-diff.png: step 0 (get upload token): uploadToken not found on repo page — do you have write access to NousResearch/hermes-agent? (or, if NousResearch enforces SAML SSO, authorize at https://github.com/orgs/NousResearch/sso) |
randlee
pushed a commit
to randlee/hermes-agent
that referenced
this pull request
Aug 11, 2026
…r-command fix(desktop): keep slash completion alive after a leading command
33hodl
pushed a commit
to 33hodl/hermes-agent
that referenced
this pull request
Aug 12, 2026
…r-command fix(desktop): keep slash completion alive after a leading command
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A second slash command in the desktop composer only completes when the message starts with prose.
do /work then /cleopens the popover;/work /cleopens nothing. Same session, same skills — the difference is the first character of the draft, which reads as an intermittent glitch rather than a rule.detectTriggertries the^-anchored command shape before the inline one. Its argument tail(?:\s+\S*)*swallows the rest of the line, so a later/skillparses as an argument to the first command;refreshTriggerthen suppresses the popover for any command whoseargumentModeisn'toptions/mixed, and every slash after the first is unreachable./goaland/personalityhappen to escape it by being arg-taking, which is what makes the failure look random.Only the first slash can be an invocation, so the inline shape is detected first. It requires a whitespace-preceded slash sitting at the caret, so it can't take over ordinary argument completion —
/personality alichas no second slash — and it fires only where completion was already dead.