Nothing open on GitHub. Fix merged in #10538. Check it covers your case.
The short answer
- Known?
- Yes. 12 related items grouped here, 4 issues already closed.
- Fix event
- A fix was merged to main in PR #10538. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
partially resolved, deciding PRs #10538, #32074. That is separate from the fix event. - Still open
- Nothing open on GitHub.
Multiple bug reports and fix attempts addressing a command alias collision where '/q' resolves to '/quit' instead of '/queue' in the TUI. The fixes involve removing the 'q' alias from the quit command and assigning it to the queue command.
Open issues0
Open PRs0
Fixes on record
-
#10538 fix: remove 'q' alias from /quit so /queue's 'q' alias works
files:
hermes_cli/commands.py,tests/hermes_cli/test_commands.pyShow the diff
-
hermes_cli/commands.py@@ -164,7 +164,7 @@ class CommandDef: # Exit CommandDef("quit", "Exit the CLI", "Exit", - cli_only=True, aliases=("exit", "q")), + cli_only=True, aliases=("exit",)), ] -
tests/hermes_cli/test_commands.py@@ -97,7 +97,7 @@ def test_canonical_name_resolves(self): def test_alias_resolves_to_canonical(self): assert resolve_command("bg").name == "background" assert resolve_command("reset").name == "new" - assert resolve_command("q").name == "quit" + assert resolve_command("q").name == "queue" assert resolve_command("exit").name == "quit" assert resolve_command("gateway").name == "platforms" assert resolve_command("set-home").name == "sethome"
-
-
#32074 fix(tui): remap /q alias from quit to queue (salvage #14681 + #31985)
files:
scripts/release.py,ui-tui/src/__tests__/slashParity.test.ts,ui-tui/src/app/slash/commands/core.tsShow the diff
-
scripts/release.py@@ -1308,6 +1308,8 @@ "[redacted:email]": "wanwan2qq", # PR #10215 (strip brackets/quotes from /resume; gateway session-ID lookup) "[redacted:email]": "SimoKiihamaki", # PR #30773 (Windows /reset+/new freeze; stdin fallback for modal) "[redacted:email]": "Tranquil-Flow", # PR #27518 (bracketed-paste timeout) + "[redacted:email]": "8bit64k", # PR #14681 (TUI /q alias from quit to queue) + "[redacted:email]": "hclsys", # PR #31985 (TUI /q alias regression test) } -
ui-tui/src/__tests__/slashParity.test.ts@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url' import { describe, expect, it } from 'vitest' -import { SLASH_COMMANDS } from '../app/slash/registry.js' +import { findSlashCommand, SLASH_COMMANDS } from '../app/slash/registry.js' type CommandRoute = 'fallback' | 'local' | 'native' @@ -110,4 +110,14 @@ describe('slash parity matrix', () => { expect(routes[name], `mutating command must not fallback: ${name}`).not.toBe('fallback') } }) + + it('/q alias resolves to queue, not quit (#31983)', () => { + // Regression for #31983: the TUI `quit` command used to carry alias `q`, + // which collided with the Python-side `/queue` alias. TUI-local commands + // dispatch before the backend, so `/q` resolved to /quit (session.die) + // instead of queueing a prompt. + const cmd = findSlashCommand('q') + expect(cmd, '/q must resolve to a command').toBeDefined() + expect(cmd!.name).toBe('queue') + }) }) -
ui-tui/src/app/slash/commands/core.ts@@ -110,7 +110,7 @@ export const coreCommands: SlashCommand[] = [ }, { - aliases: ['exit', 'q'], + aliases: ['exit'], help: 'exit hermes', name: 'quit', run: (_arg, ctx) => ctx.session.die() @@ -547,6 +547,7 @@ export const coreCommands: SlashCommand[] = [ }, { + aliases: ['q'], help: 'inspect or enqueue a message', name: 'queue', run: (arg, ctx) => {
-
6 PRs closed without merging
From the close comments: superseded by another PR 3 · done elsewhere 1 · duplicate 1 · merged via another change 1
-
#14681 fix(tui): remove 'q' alias from /quit, add to /queue · merged via another change →
#32074,#31985 -
#14957 fix: stabilization fixes and architectural enhancements · done elsewhere →
#14712,#12176,#12184,#12190,#12108,#24276,#23255 -
#18928 fix(tui): move /q alias from quit to queue · duplicate →
#14681 -
#18941 fix(tui): remap /q alias from quit to queue (#18927) · superseded by another PR →
3b4ecf8,#18927 -
#31985 fix(tui): drop /quit alias 'q' so /q routes to backend /queue · superseded by another PR →
#14681,#31983
Show 1 more
-
#49523 fix: stabilization fixes and architectural enhancements · superseded by another PR →
#48290,#14909,#14913,#14957
Closed issues · 4
- Closed#10467Bug: /queue alias q is shadowed by /quit in command registry
- Closed#14712CLI command alias collision: /q resolves to quit, making queue shorthand unreachable
- Closed#18927[Bug]: TUI /q alias incorrectly mapped to quit instead of queue
- Closed#31983TUI: /q alias resolves to /quit instead of /queue
How this cluster was grouped
-
Link evidence (
partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text. - Members outside that structural core may belong to a different underlying problem.
-
Pairwise link density
0.18: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the Lab