fix(#574): hide desktop/CLI-only slash commands from mobile suggestions (#582)

* fix(#575): drop description text from slash-command suggestions

* fix(#575): show /stop and /interrupt in slash-command menu

* fix(#574): hide desktop/CLI-only slash commands from mobile suggestion menu

Recreate hiddenSlashDisplay blocklist removed in 1f322e3 with the 33
cli_only/TUI-only commands that don't function on mobile (issue #574).
/stop and /interrupt intentionally remain visible (they work on mobile, #575).

---------

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
Co-authored-by: M57 <m57@hermes-control.app>
This commit is contained in:
authored and GitHub committed 2026-07-13 19:51:40 +03:00
1 parent 955511a89f
commit 173820c304
1 file changed
+41 -2
@@ -717,8 +717,47 @@ private fun ChatInputBar(
elevation = CardDefaults.cardElevation(defaultElevation = 6.dp),
) {
Column {
// All catalog commands are offered in the suggestion menu
val commandNames = commandCatalog.pairs.map { it[0] }
// Commands hidden from the suggestion menu — desktop/CLI-only and
// TUI-only commands that don't function on mobile (issue #574).
// Source of truth: backend `cli_only` / TUI-only flags in the catalog.
val hiddenSlashDisplay =
setOf(
"/clear",
"/redraw",
"/history",
"/save",
"/prompt",
"/snapshot",
"/handoff",
"/journey",
"/config",
"/statusbar",
"/timestamps",
"/verbose",
"/skin",
"/indicator",
"/busy",
"/tools",
"/toolsets",
"/skills",
"/pet",
"/hatch",
"/cron",
"/reload",
"/browser",
"/plugins",
"/billing",
"/platforms",
"/copy",
"/paste",
"/image",
"/quit",
// TUI-only extras (meaningless outside the TUI)
"/compact",
"/logs",
"/mouse",
)
val commandNames = commandCatalog.pairs.map { it[0] }.filter { it !in hiddenSlashDisplay }
androidx.compose.animation.AnimatedVisibility(
visible = inputText.startsWith("/") && !inputText.contains(" "),