rcourtman
1edfa4311e
feat: Unified Resource Model and Navigation Redesign
...
## Summary
Complete implementation of the Unified Resource Model with new navigation.
## Features
- v2 resources API with identity matching across sources (Proxmox, Agent, Docker)
- Infrastructure page with merged host view
- Workloads page for all VMs/LXC/Docker containers
- Global search (Cmd/Ctrl+K) with keyboard navigation
- Mobile navigation with bottom tabs and drawer
- Keyboard shortcuts (g+key navigation, ? for help)
- What's New modal for user onboarding
- Report Incorrect Merge feature for false positive fixes
- Debug tab in resource drawer (enable via localStorage)
## Technical
- Async audit logging for improved performance
- WebSocket-driven real-time updates for unified resources
- Session-based auth achieves <2ms API response times
## Tests
- Backend: 78 tests passed
- Frontend: 397 tests passed
2026-02-05 17:57:59 +00:00
..
2026-02-04 14:24:42 +00:00
2026-02-04 13:43:28 +00:00
2026-01-25 21:08:44 +00:00
2026-01-19 19:26:18 +00:00
2026-01-24 22:42:23 +00:00
2026-01-22 22:33:33 +00:00
2026-01-30 19:02:14 +00:00
2026-02-02 15:18:51 +00:00
2026-01-25 21:08:44 +00:00
2026-02-01 16:28:49 +00:00
2026-01-25 21:08:44 +00:00
2026-02-03 20:40:08 +00:00
2026-02-02 23:01:29 +00:00
2026-01-25 21:08:44 +00:00
2026-01-30 19:02:14 +00:00
2026-02-02 23:17:40 +00:00
2026-01-25 21:08:44 +00:00
2026-01-25 21:08:44 +00:00
2026-02-01 23:26:32 +00:00
2026-02-04 16:30:22 +00:00
2026-02-02 18:59:44 +00:00
2026-02-01 18:08:02 +00:00
2026-02-02 23:01:29 +00:00
2026-02-02 22:02:22 +00:00
2026-01-25 21:08:44 +00:00
2026-02-02 22:02:22 +00:00
2026-01-24 22:41:43 +00:00
2026-02-01 16:28:49 +00:00
2026-01-25 21:08:44 +00:00
2026-01-22 16:42:39 +00:00
2026-01-19 19:26:18 +00:00
2026-02-03 18:39:15 +00:00
2026-02-03 17:40:58 +00:00
2026-01-24 22:42:23 +00:00
2026-01-22 00:42:23 +00:00
2026-01-22 00:42:23 +00:00
2026-02-04 13:47:32 +00:00
2026-02-04 09:52:32 +00:00
2026-02-04 10:28:41 +00:00
2026-02-04 10:28:41 +00:00
2026-01-24 22:42:23 +00:00
2026-01-10 12:55:02 +00:00
2026-01-25 21:08:44 +00:00
2026-02-04 09:52:32 +00:00
2026-01-09 19:25:33 +00:00
2026-02-04 18:11:12 +00:00
2026-01-25 21:08:44 +00:00
2026-01-24 22:42:23 +00:00
2026-01-23 21:42:27 +00:00
2025-12-02 00:51:44 +00:00
2026-01-09 16:51:08 +00:00
2026-02-03 22:39:50 +00:00
2026-02-02 18:59:44 +00:00
2026-02-02 14:53:52 +00:00
2026-01-30 19:02:14 +00:00
2026-01-22 16:42:39 +00:00
2026-01-22 16:42:39 +00:00
2025-12-01 23:50:10 +00:00
2026-01-22 16:42:39 +00:00
2026-02-01 23:26:32 +00:00
2025-12-01 14:46:00 +00:00
2026-01-22 16:42:39 +00:00
2026-01-22 16:42:39 +00:00
2026-01-20 15:52:39 +00:00
2026-01-25 21:08:44 +00:00
2025-12-02 17:21:48 +00:00
2026-01-22 16:42:39 +00:00
2025-12-01 14:09:35 +00:00
2026-01-25 21:08:44 +00:00
2026-01-20 15:52:39 +00:00
2026-01-21 12:02:46 +00:00
2026-01-22 16:42:39 +00:00
2026-01-20 15:52:39 +00:00
2026-01-22 16:42:39 +00:00
2026-01-22 16:42:39 +00:00
2026-02-04 22:55:25 +00:00
2026-01-25 21:08:44 +00:00
2026-01-22 16:42:39 +00:00
2026-02-04 11:39:50 +00:00
2026-01-03 11:14:17 +00:00
2025-12-12 11:05:24 +00:00
2025-12-01 23:24:06 +00:00
2025-12-23 18:52:13 +00:00
2026-01-25 21:08:44 +00:00
2026-01-22 16:42:39 +00:00
2026-02-05 09:59:05 +00:00
2026-02-02 14:53:52 +00:00
2026-02-03 14:59:27 +00:00
2026-01-22 00:30:15 +00:00
2026-01-25 21:08:44 +00:00
2026-02-02 22:02:22 +00:00
2026-02-02 22:02:22 +00:00
2025-11-29 17:06:18 +00:00
2026-01-22 13:39:06 +00:00
2026-01-25 21:08:44 +00:00
2026-01-22 13:39:06 +00:00
2025-12-02 03:16:52 +00:00
2026-02-02 22:01:46 +00:00
2025-11-06 13:54:26 +00:00
2026-01-25 21:08:44 +00:00
2026-01-22 13:39:06 +00:00
2026-02-04 14:06:30 +00:00
2026-02-04 14:00:04 +00:00
2026-02-04 15:16:12 +00:00
2026-02-02 23:01:29 +00:00
2026-01-22 16:42:39 +00:00
2026-02-03 23:53:54 +00:00
2026-01-22 13:39:06 +00:00
2025-11-30 02:48:05 +00:00
2025-10-21 12:37:39 +00:00
2026-01-24 22:42:23 +00:00
2026-01-25 21:08:44 +00:00
2026-02-02 22:02:22 +00:00
2026-01-22 13:39:06 +00:00
2026-02-01 16:27:10 +00:00
2026-01-22 16:42:39 +00:00
2026-02-02 18:59:44 +00:00
2026-01-30 19:01:58 +00:00
2026-02-02 22:02:22 +00:00
2025-12-12 11:05:24 +00:00
2026-01-22 16:42:39 +00:00
2026-01-19 19:26:18 +00:00
2025-12-10 00:29:07 +00:00
2026-01-22 22:33:33 +00:00
2026-01-23 21:42:27 +00:00
2026-02-02 22:02:11 +00:00
2026-02-04 13:34:09 +00:00
2026-01-24 22:42:23 +00:00
2026-02-03 16:24:28 +00:00
2025-12-01 23:52:21 +00:00
2025-11-27 08:34:31 +00:00
2026-02-02 23:17:40 +00:00
2026-02-02 22:02:22 +00:00
2026-01-19 19:20:00 +00:00
2026-01-25 21:08:44 +00:00
2026-01-25 21:08:44 +00:00
2026-02-02 22:02:22 +00:00
2025-12-02 16:47:13 +00:00
2026-02-04 15:10:02 +00:00
2026-02-05 09:59:05 +00:00
2026-02-05 09:59:05 +00:00
2026-02-04 14:26:38 +00:00
2026-01-25 21:08:44 +00:00
2026-02-02 22:02:11 +00:00
2026-01-22 00:44:12 +00:00
2026-01-24 22:42:23 +00:00
2026-01-09 19:25:33 +00:00
2026-02-02 18:59:44 +00:00
2025-12-02 01:00:06 +00:00
2025-12-20 10:45:46 +00:00
2026-02-04 14:27:46 +00:00
2026-02-04 11:39:50 +00:00
2026-01-19 19:26:18 +00:00
2026-02-04 11:39:50 +00:00
2026-02-04 20:44:00 +00:00
2026-02-04 14:35:08 +00:00
2026-01-21 12:02:46 +00:00
2026-01-21 12:02:46 +00:00
2026-02-05 09:59:05 +00:00
2026-01-22 00:44:12 +00:00
2026-01-22 00:44:12 +00:00
2026-02-02 18:59:44 +00:00
2026-02-02 23:01:29 +00:00
2026-01-09 19:16:34 +00:00
2026-01-24 22:42:23 +00:00
2026-02-04 13:57:00 +00:00
2026-01-09 16:51:08 +00:00
2026-01-22 00:30:15 +00:00
2026-02-04 15:01:09 +00:00
2026-01-03 11:14:17 +00:00
2025-12-12 11:05:24 +00:00
2026-02-04 10:24:23 +00:00
2026-02-04 10:24:23 +00:00
2026-02-04 10:28:41 +00:00
2026-02-02 23:01:29 +00:00
2026-01-24 22:42:23 +00:00
2026-01-24 22:42:23 +00:00
2026-02-05 17:57:58 +00:00
2026-02-05 17:57:59 +00:00
2026-02-05 17:57:59 +00:00
2025-12-01 21:33:45 +00:00
2026-02-03 23:53:54 +00:00
2026-02-04 13:16:29 +00:00
2026-02-04 12:58:12 +00:00
2026-02-04 13:01:00 +00:00
2026-02-04 10:28:41 +00:00
2026-02-04 13:27:00 +00:00
2025-11-24 15:16:14 +00:00
2026-02-04 13:20:45 +00:00
2026-02-01 23:26:32 +00:00
2026-02-03 22:41:44 +00:00
2026-02-02 18:59:44 +00:00
2026-02-02 22:02:22 +00:00
2026-02-05 17:57:58 +00:00
2026-02-04 09:52:32 +00:00
2026-02-02 22:02:22 +00:00
2026-02-02 18:59:44 +00:00
2026-02-04 10:28:41 +00:00
2026-02-04 10:28:41 +00:00
2026-02-04 13:18:29 +00:00
2026-02-04 10:28:41 +00:00
2026-02-04 10:28:41 +00:00
2026-02-02 18:59:44 +00:00
2026-01-24 22:42:23 +00:00
2026-02-03 18:49:42 +00:00
2026-02-02 22:02:22 +00:00
2026-02-02 18:59:44 +00:00
2026-02-05 17:57:58 +00:00
2026-02-02 18:59:44 +00:00
2026-02-03 23:53:54 +00:00
2026-02-02 18:59:44 +00:00
2026-02-03 18:17:31 +00:00
2026-02-02 22:02:11 +00:00
2026-01-19 19:26:18 +00:00
2026-01-12 15:19:59 +00:00
2026-02-04 10:28:41 +00:00
2026-02-02 22:02:11 +00:00
2026-02-02 18:59:44 +00:00
2026-01-01 22:29:15 +00:00
2025-11-27 10:12:48 +00:00
2026-02-04 22:55:25 +00:00
2026-02-04 10:28:41 +00:00
2026-01-22 00:44:12 +00:00
2026-02-04 18:08:40 +00:00
2026-02-04 14:01:57 +00:00
2026-01-09 16:51:08 +00:00
2026-02-02 18:59:44 +00:00
2025-12-02 00:19:20 +00:00
2026-01-22 00:44:12 +00:00
2026-02-03 18:39:15 +00:00
2026-01-10 12:55:02 +00:00
2026-01-10 12:55:02 +00:00
2026-02-03 17:16:27 +00:00
2026-01-24 22:42:23 +00:00
2026-01-12 15:19:59 +00:00
2026-01-24 22:42:23 +00:00
2026-01-22 16:42:39 +00:00
2026-01-24 22:42:23 +00:00
2026-01-22 16:42:39 +00:00
2025-12-01 01:05:07 +00:00
2025-11-29 21:47:22 +00:00
2026-01-22 13:39:06 +00:00
2026-02-04 14:55:20 +00:00
2026-02-04 14:13:57 +00:00
2026-02-04 14:48:03 +00:00
2026-02-04 14:51:14 +00:00
2026-02-04 14:15:50 +00:00
2026-02-04 14:54:14 +00:00
2026-02-04 14:41:08 +00:00
2026-02-03 22:59:55 +00:00
2026-01-01 22:29:15 +00:00
2026-02-02 22:01:36 +00:00
2026-02-04 19:31:33 +00:00
2026-02-04 19:31:33 +00:00
2026-02-02 18:59:44 +00:00
2026-01-01 22:29:15 +00:00
2026-02-03 16:58:13 +00:00
2026-02-03 17:16:27 +00:00
2026-01-24 22:42:23 +00:00
2026-02-04 10:28:41 +00:00