Session log: GuruRMM command mgmt, dashboard design overhaul, dark theme fix
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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`
|
- **Dashboard build:** React/Vite, served from `/var/www/gururmm/dashboard`
|
||||||
- **Agent binaries:** `/var/www/gururmm/downloads/` (served by download endpoints)
|
- **Agent binaries:** `/var/www/gururmm/downloads/` (served by download endpoints)
|
||||||
- **Plan file:** `C:\Users\guru\.claude\plans\rippling-marinating-pebble.md`
|
- **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/<html lang="en">/<html lang="en" class="dark">/' 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 `<script>` tags from index.html. Workaround: `sed` post-build. Could be solved properly with a Vite plugin.
|
||||||
|
|
||||||
|
4. **Windows product key** - User set Windows key to QQYW7-QDW2Q-78VNT-2T676-3V66V via `slmgr /ipk` + `slmgr /ato`
|
||||||
|
|
||||||
|
### Clients in GuruRMM
|
||||||
|
|
||||||
|
| Client | Site | Code |
|
||||||
|
|--------|------|------|
|
||||||
|
| AZ Computer Guru | Main Office | SWIFT-CLOUD-6910 |
|
||||||
|
| Glaztech Industries | SLC - Salt Lake City | DARK-GROVE-7839 |
|
||||||
|
| Scileppi Law Firm | Main Office | WEST-MEADOW-9025 |
|
||||||
|
| Valley Wide Plastering | Main Office | INNER-TIGER-8330 |
|
||||||
|
|
||||||
|
### Agents (4 total)
|
||||||
|
|
||||||
|
- AD2 (Windows, online)
|
||||||
|
- gururmm (Linux, online - the server itself)
|
||||||
|
- SL-SERVER (Linux, online x2 entries)
|
||||||
|
|
||||||
|
### Session ID for Resume
|
||||||
|
|
||||||
|
```
|
||||||
|
41cb8b1a-6546-48f6-a37e-5223e9f2bbae
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user