Commit Graph

1242 Commits

Author SHA1 Message Date
rcourtman a3b4390e4c fix(workloads): resolve truenas as canonical platform source 2026-03-29 22:45:56 +01:00
rcourtman 0031105e43 feat(settings): treat truenas as platform-managed reporting 2026-03-29 22:35:42 +01:00
rcourtman 2fdf0e16c8 Support enterprise mobile approval proof backend 2026-03-29 21:52:18 +01:00
rcourtman 65d386bbd9 feat(truenas): add native host chart fallback 2026-03-29 21:35:05 +01:00
rcourtman ebec18c528 portal: replace shell chrome with flat GitHub Settings layout
Replaces the portal-y dashboard shell (hero context strip, sidebar nav,
summary strips, fact chips, kicker labels) with a flat, disciplined layout:

- Identity bar: compact inline h2 + role + account kind
- Tab bar: simple horizontal tabs with active underline
- Content panels: direct workspace table / access roster / billing cards
  without redundant per-section page headers or summary stat strips
- Simplified block headers: account name + actions only, no fact chips
- Support section: direct h2 + help text, no page header wrapper

CSS rewritten from 5492 lines to a minimal flat design system:
white background, no shadows, no gradients, 6px radius, system fonts.

All 79 tests updated and passing.
2026-03-29 21:26:00 +01:00
rcourtman a71f370731 feat(truenas): add native disk chart fallback 2026-03-29 21:17:51 +01:00
rcourtman eebf5bd678 feat(truenas): project aggregate disk temperatures 2026-03-29 21:02:52 +01:00
rcourtman 8590a7b17c feat(truenas): add reporting fallback for disk temperatures 2026-03-29 20:48:15 +01:00
rcourtman 56c14ca19f feat(ai): add canonical truenas app config reads 2026-03-29 20:36:43 +01:00
rcourtman a5162d96cb Redesign portal as a simpler account tool 2026-03-29 20:30:40 +01:00
rcourtman 298b23626b feat(ai): add canonical truenas app log reads 2026-03-29 20:13:39 +01:00
rcourtman b0ba88d541 feat(ai): add canonical truenas app control 2026-03-29 19:50:31 +01:00
rcourtman 41a031098c Redesign portal as a simpler account surface 2026-03-29 19:45:42 +01:00
rcourtman ba1f9ac9f3 Open portal on real tasks first 2026-03-29 19:19:15 +01:00
rcourtman ecf99c393a Redesign portal sign-in surface 2026-03-29 19:02:17 +01:00
rcourtman 20a16d5edd feat(truenas): project cpu temperatures into host sensors 2026-03-29 19:00:21 +01:00
rcourtman aab6b5e69d feat(truenas): sync api-backed disk history 2026-03-29 18:35:47 +01:00
rcourtman a6c0386069 feat(ai): expose canonical truenas resources to pulse query 2026-03-29 18:25:39 +01:00
rcourtman 7f25d083c0 Redesign portal as a calmer account surface 2026-03-29 18:25:23 +01:00
rcourtman 16f976537f feat(truenas): project system telemetry through canonical host history 2026-03-29 17:56:42 +01:00
rcourtman 022a2be763 Version portal favicon href for cache busting 2026-03-29 17:35:45 +01:00
rcourtman 78ec9d2946 Refresh portal favicon and preview asset route 2026-03-29 17:24:29 +01:00
rcourtman e14ddcf348 feat(truenas): project app stats through canonical workload history 2026-03-29 17:17:57 +01:00
rcourtman 508deff209 Make portal support copy concise and literal 2026-03-29 17:11:21 +01:00
rcourtman 401808ee66 Make portal section metadata literal 2026-03-29 17:02:02 +01:00
rcourtman dccdc59ddb Make portal shell labels literal 2026-03-29 16:53:12 +01:00
rcourtman a7fb6cc3fb Normalize portal task copy 2026-03-29 16:40:25 +01:00
rcourtman 4d11ca5a78 refactor(settings): surface truenas in platform connections 2026-03-29 16:37:13 +01:00
rcourtman bb47bb09ea Make portal overview fact-first 2026-03-29 16:26:59 +01:00
rcourtman 0de0245ea1 feat(truenas): ingest apps as canonical workloads 2026-03-29 16:04:09 +01:00
rcourtman 922bc7aa8f build(portal): sync embedded styling bundle 2026-03-29 15:55:07 +01:00
rcourtman bf4820733e Canonicalize metrics store database paths 2026-03-29 15:35:49 +01:00
rcourtman e403dc02c3 feat(truenas): ingest api-backed disk temperatures 2026-03-29 14:57:09 +01:00
rcourtman 4a27e54d09 Canonicalize config persistence file roots 2026-03-29 14:56:33 +01:00
rcourtman 22a59a8646 Harden email MIME transport construction 2026-03-29 14:50:36 +01:00
rcourtman df448c41d9 Expose Patrol verification activity mix 2026-03-29 14:50:09 +01:00
rcourtman fa7afc47de feat(truenas): surface platform connections workflow 2026-03-29 14:44:46 +01:00
rcourtman 6b45fd0502 Harden update history persistence root 2026-03-29 14:39:11 +01:00
rcourtman b398c9c405 Harden notification queue persistence root 2026-03-29 14:35:36 +01:00
rcourtman ff0362d9f6 Clarify Patrol trigger sources and activity breakdown 2026-03-29 14:34:35 +01:00
rcourtman 86aeec4745 Harden AI memory persistence roots 2026-03-29 14:28:48 +01:00
rcourtman 4af6858405 Harden update manager directory scans 2026-03-29 14:23:13 +01:00
rcourtman 82c8c08a3e Harden AI knowledge guest listing paths 2026-03-29 14:18:20 +01:00
rcourtman f1fc17e627 Canonicalize fixed alerts and licensing paths 2026-03-29 14:14:36 +01:00
rcourtman 3c0707751b Canonicalize Patrol activity semantics 2026-03-29 13:38:06 +01:00
rcourtman 82b24f5d90 Harden AI storage leaf path handling 2026-03-29 13:35:32 +01:00
rcourtman 74ed969644 style(portal): force explicit inline layout for workspace actions
- Stripped min-width flex boundaries that were forcing actions into vertical stacks on larger viewports
- Enforced absolute nowrap on horizontal metadata rows
2026-03-29 13:31:01 +01:00
rcourtman decb276af5 refactor(recovery): move range control to summary 2026-03-29 13:21:51 +01:00
rcourtman 7e1aa35723 style(portal): eliminate visual pill fatigue
- Removed arbitrary border-radius from metadata components
- Demoted container backgrounds on context chips to present as inline text
- Implemented standard bullet separators for inline list elements
- Maintained core visual anchors while reducing explicit pill noise
2026-03-29 13:21:19 +01:00
rcourtman 53f41fdb45 Harden webhook request URL validation 2026-03-29 13:18:40 +01:00