Skip to content

fix(desktop): keep slash completion alive after a leading command - #73074

Merged
OutThisLife merged 1 commit into
mainfrom
bb/slash-after-command
Jul 28, 2026
Merged

fix(desktop): keep slash completion alive after a leading command#73074
OutThisLife merged 1 commit into
mainfrom
bb/slash-after-command

Conversation

@OutThisLife

Copy link
Copy Markdown
Collaborator

A second slash command in the desktop composer only completes when the message starts with prose. do /work then /cle opens the popover; /work /cle opens nothing. Same session, same skills — the difference is the first character of the draft, which reads as an intermittent glitch rather than a rule.

detectTrigger tries the ^-anchored command shape before the inline one. Its argument tail (?:\s+\S*)* swallows the rest of the line, so a later /skill parses as an argument to the first command; refreshTrigger then suppresses the popover for any command whose argumentMode isn't options/mixed, and every slash after the first is unreachable. /goal and /personality happen 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 alic has no second slash — and it fires only where completion was already dead.

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.
@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

૮ >ﻌ< ა ci review

ran on eb851d6

ℹ️ Info

Desktop E2E visual evidence · View test artifacts · View job

1 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)

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/desktop Electron desktop app (apps/desktop/*) labels Jul 28, 2026
@OutThisLife
OutThisLife merged commit 202140d into main Jul 28, 2026
36 checks passed
@OutThisLife
OutThisLife deleted the bb/slash-after-command branch July 28, 2026 03:16
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/desktop Electron desktop app (apps/desktop/*) P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants