wiki: compile gururmm (update) — ContextTree collapse-during-search fix

Fold today's dashboard bug fix (commit 5bf7896) into the GuruRMM article as a
dated Recent Work entry + two sources. Incremental update, not a full rebuild:
the article was already fully compiled today (last_compiled 2026-07-06) and the
delta is a single minor UI fix, so a Sonnet re-synthesis was unwarranted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-06 19:05:44 -07:00
parent 45e1072dcb
commit b9635cafd9

View File

@@ -7,6 +7,8 @@ compiled_by: Howard-Home/claude-main
aliases:
- guru-rmm
sources:
- "gururmm@main: commit 5bf7896 (ContextTree collapse-during-search fix — dashboard/src/components/ContextTree.tsx, beta)"
- "projects/msp-tools/guru-rmm/session-logs/2026-07/2026-07-06-howard-tree-collapse-search-fix.md"
- "gururmm@origin/main f0320a4: policy-ui Fleet-Policy Console (migration 068_visible_agents_folder_id, folder_id in API d028ca1, dashboard rebuild bd25fa9), PROD deploy; agent 0.6.79 / server 0.3.103"
- "gururmm@origin/main 07307e3: WS-looper comms-durability (write-timeout + heartbeat-count diagnostic + AIMD keepalive, cd9e799), agent 0.6.79 beta / server 0.3.102"
- "projects/msp-tools/guru-rmm/session-logs/2026-07/2026-07-05-howard-ws-looper-comms-durability.md"
@@ -179,6 +181,12 @@ GuruRMM is a Remote Monitoring & Management platform built by Arizona Computer G
## Recent Work
### 2026-07-06 — Dashboard: Infrastructure-tree collapse-during-search fix (Howard-Home, commit 5bf7896, beta)
`ContextTree.tsx` force-expanded every client/site group whenever the filter box held text (`expanded[id] || !!filter`), so collapse clicks were discarded during a search — expand/collapse worked normally only with an empty filter (Howard-reported). Fixed to `expanded[id] ?? !!filter` (nullish) so a search sets only the DEFAULT open state and an explicit collapse is honored mid-search; `toggle(id, currentlyExpanded)` now flips the *visible* state (the stored value is `undefined` for an untouched group, so `!undefined === true` made the first collapse click a no-op). `verify.sh dashboard` (tsc + vite) clean; verified working on beta (rmm-beta) by Howard. Minor UI fix, no version bump — prod promotion deferred to ride the next `promote-dashboard.sh` run.
---
### 2026-07-06 — Fleet-Policy Management Console + agent folder_id in API (policy-ui, merge f0320a4, migration 068, PROD deploy)
The follow-on **policy-ui** work — scoped only as a thin component-assembly MVP the day before — was built out and merged to prod as a full **Fleet-Policy Management Console**. `PolicyFolders.tsx` was rebuilt (999-line rewrite; +2614/-526 across 12 dashboard files) into a console with a folder **tree table** (`FolderTreeTable`), folder CRUD/rename/move dialogs (`PolicyFolderDialogs`), a **place-devices** flow (`PlaceDevicesDialog` + `FolderPicker`), an **effective-policy viewer** with source attribution (`EffectivePolicyView`), a per-edit **version-history** diff view (`VersionHistoryDialog`), and an admin **backfill** trigger (`BackfillDialog`); `AgentDetail.tsx` was slimmed as folder assignment moved into the console. Server-side, `d028ca1` exposed `agents.folder_id` in the agent API and migration **068** (`068_visible_agents_folder_id.sql`) recreated the `visible_agents` view to add the column — the BUG-018 column-freeze convention in practice (any `ALTER TABLE agents ADD COLUMN` must recreate the `SELECT *` view or listings 500 fleet-wide). Direction was locked as "tri-model, full scope" (`0bd5f67`) before the build. Server advanced to v0.3.103, agent to 0.6.79.