From 8ea680d0dfeeb7cb6ac31a81e6664a1e3a0636d3 Mon Sep 17 00:00:00 2001 From: Vassiliy Yegorov Date: Wed, 10 Jun 2026 12:49:48 +0700 Subject: [PATCH] docs: SP1/SP3/SP4 manual scenarios and updated limitations --- DOCS/RUNNING.md | 8 +++++++- app/src/SearchBar.tsx | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/DOCS/RUNNING.md b/DOCS/RUNNING.md index c36a1ca..14bae32 100644 --- a/DOCS/RUNNING.md +++ b/DOCS/RUNNING.md @@ -163,6 +163,11 @@ S shutdown ### M4 — CLI - `spacesh status --json` против живого демона; `spacesh notify` без демона → молча `exit 0`; `spacesh completions zsh` печатает скрипт. +### SP1/SP3/SP4 — health, поиск, zoom +- **Health (SP1):** футер сайдбара показывает `spaceshd · live` с зелёной точкой и аптайм (`3d 4h`); версия демона — в tooltip. При падении демона точка сереет, текст `offline`, аптайм пропадает. +- **Поиск (SP3):** `⌘F` (или клик по пилюле «Search scrollback» над гридом) открывает строку поиска для активной панели. Печатай запрос и жми `Enter` → совпадения подсвечиваются, `Enter`/`Shift+Enter` — next/prev, счётчик `i/N`, `Esc` или `✕` — закрыть. Повторный `⌘F` при открытой строке — фокус+выделение поля. Поиск идёт по буферу xterm активной панели (scrollback до 10000 строк). +- **Zoom (SP4):** иконка `⤢` в шапке панели разворачивает её на весь грид (панель становится активной); `⤡` возвращает. Состояние персистится в `~/.spacesh/state.json` — переживает рестарт демона. При закрытии развёрнутой панели zoom сбрасывается; если процесс в развёрнутой панели завершился — в карточке «Process exited» есть кнопка «Exit zoom». + --- ## 7. Где что лежит / сброс @@ -203,7 +208,8 @@ rm -rf ~/.spacesh # сбрасывает сокет, лок, state.json, - **Клик по нативному уведомлению** не фокусит конкретную панель (клик по записи в Event Center — фокусит). - **Event Center** — лента хранится в демоне и персистируется в `~/.spacesh/events.json` (переживает перезапуск GUI и холодный рестарт демона). Вкладки `Unread`/`Errors` и бейдж `bell` работают по реальным данным (флаги прочтения на уровне события). По-прежнему не реализованы: каналы Telegram/MAX в футере Event Center (SP5), а также `search`/`settings` и меню аккаунта в топ-баре. - **Статус эфемерен** (work/wait/done/error/idle) — не персистится; после холодного рестарта демона панель `stopped`, статус `idle`. -- Авторизация / личный кабинет / внешние нотификации (Telegram/MAX) / зум / поиск по скроллбэку / diff-вьюер / remote — **не реализованы** (M5/M6/auth, см. `DOCS/MAIN.md`). +- **Поиск по скроллбэку (SP3)** работает в пределах xterm-буфера активной панели (до 10000 строк); поиск по демон-сайд / CLI-сетке (`alacritty_terminal` grid) остаётся задачей будущего. +- Авторизация / личный кабинет / внешние нотификации (Telegram/MAX) / diff-вьюер / remote — **не реализованы** (M5/M6/auth, см. `DOCS/MAIN.md`). --- diff --git a/app/src/SearchBar.tsx b/app/src/SearchBar.tsx index 70636d7..eac81fa 100644 --- a/app/src/SearchBar.tsx +++ b/app/src/SearchBar.tsx @@ -78,7 +78,11 @@ export function SearchBar({ setTerm(e.target.value)} + onChange={(e) => { + setTerm(e.target.value); + setCount({ index: -1, total: 0 }); + if (surfaceId) getSearch(surfaceId)?.clearDecorations(); + }} onKeyDown={(e) => { if (e.key === "Enter") { e.preventDefault();