From 4c08b0f7007fd6e4cb4533f885933e92a0d48f10 Mon Sep 17 00:00:00 2001 From: Mike Swanson Date: Wed, 1 Apr 2026 20:21:29 -0700 Subject: [PATCH] Session log: GuruRMM command mgmt, dashboard design overhaul, dark theme fix Co-Authored-By: Claude Opus 4.6 (1M context) --- .../session-logs/2026-04-01-session.md | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/projects/msp-tools/guru-rmm/session-logs/2026-04-01-session.md b/projects/msp-tools/guru-rmm/session-logs/2026-04-01-session.md index 64e071f..8f65c53 100644 --- a/projects/msp-tools/guru-rmm/session-logs/2026-04-01-session.md +++ b/projects/msp-tools/guru-rmm/session-logs/2026-04-01-session.md @@ -179,3 +179,128 @@ Full route list documented in plan file at `C:\Users\guru\.claude\plans\rippling - **Dashboard build:** React/Vite, served from `/var/www/gururmm/dashboard` - **Agent binaries:** `/var/www/gururmm/downloads/` (served by download endpoints) - **Plan file:** `C:\Users\guru\.claude\plans\rippling-marinating-pebble.md` + +--- + +## Update: 20:00 - Continued Session + +### Additional Accomplishments + +1. **Command management system** - Added cancel, delete, and clear history for commands + - `POST /api/commands/:id/cancel` - Cancel pending/running commands + - `DELETE /api/commands/:id` - Delete any command + - `DELETE /api/commands` - Bulk clear finished commands + - Dashboard buttons for cancel (pending/running), delete (all), clear history + - Cancelled status badge (orange/amber) + +2. **Dashboard metrics made clickable** + - Total Agents -> /agents + - Online -> /agents?status=online + - Offline -> /agents?status=offline + - Errors -> /agents?status=error + - Recent Activity items link to /agents/:id + - Quick Actions replaced with navigation cards (View Agents, Add Client, Deploy Agent, Command History) + - Agents page supports ?status= URL param for deep-linking + +3. **Dark theme restoration** + - Root cause: `npm run build` was silently failing (missing @rollup/rollup-linux-x64-gnu native module) + - All previous deploys were using stale dist/ from before our changes + - Fixed with `rm -rf node_modules package-lock.json && npm install` + - Vite strips `class="dark"` from index.html during build -- using `sed` post-build to inject it + - Dark CSS variables defined in index.css `.dark` block + +4. **Premium design overhaul** + - Added Google Fonts: JetBrains Mono (branding/nav) + Plus Jakarta Sans (body) + - Branded sidebar: GURURMM logo icon + "MISSION CONTROL" subtitle in JetBrains Mono + - Uppercase monospace nav labels with wider tracking + - Richer dark theme with cyan/teal accents (--primary: 199 89% 48%) + - Card hover border glow effect (hover:border-[hsl(var(--primary))]/30) + - Custom dark scrollbar styling + - Login page branded header matching sidebar + - SSO button themed with CSS variables + +5. **Server tooling fixes** + - Installed missing npm dependencies on 172.16.3.30 + - Node.js v20.20.0 confirmed working + - Cargo/Rust toolchain at ~/.cargo/bin/cargo + +### Git Commits (gururmm repo) + +| Commit | Description | +|--------|-------------| +| d3a047e | feat: Site-code-based on-demand agent installers | +| 24d4417 | feat: Command cancel, delete, and clear history | +| b5626c0 | feat: Make dashboard metrics clickable with navigation | +| cc4b9b7 | fix: Restore dark theme and fix Tailwind v4 class compatibility | +| 6ace258 | fix: Dark theme persistence - add class to index.html, post-build inject | +| defeb01 | design: Premium dark theme overhaul with branded sidebar | + +### Build & Deploy Process (reference) + +```bash +# On 172.16.3.30 as guru: +cd /home/guru/gururmm +git pull origin main + +# Build server +cd server && source ~/.cargo/env && cargo build --release +sudo systemctl stop gururmm-server +sudo cp target/release/gururmm-server /opt/gururmm/gururmm-server +sudo systemctl start gururmm-server + +# Build agent binaries +sudo bash /opt/gururmm/build-agents.sh + +# Build dashboard +cd /home/guru/gururmm/dashboard +npm run build +# CRITICAL: Inject dark class post-build (Vite strips it) +sed -i 's///' dist/index.html +sudo rm -rf /var/www/gururmm/dashboard/* +sudo cp -r dist/* /var/www/gururmm/dashboard/ +``` + +### Nginx Config Updated + +Added `/install/` location block to proxy to Rust server (was being caught by SPA fallback): +```nginx +location /install/ { + proxy_pass http://127.0.0.1:3001; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; +} +``` + +### Known Issues + +1. **Stashed local changes on server** - `git stash list` shows uncommitted work from before our session (simplified API client, modified WS handler, removed SSO/policies/alerts code). This stash represents a different development direction. Need to decide whether to incorporate or discard. + +2. **Tailwind v4 class compatibility** - `no-underline` and `text-inherit` are Tailwind v3 classes. Replaced with `[text-decoration:none]` and `[color:inherit]` arbitrary property syntax. + +3. **Dark theme post-build injection** - Vite + @tailwindcss/vite strips `class="dark"` and inline `