Commit Graph
12 Commits
Author SHA1 Message Date
tuandClaude Opus 4.7 985cd39b2a v2.0.16 — oumta-dashboard: green dot for rollout-only clusters
Clusters with no state-transition events (e.g. a clean rollout that
didn't cause a degradation) now show a green dot instead of blue.
Rationale: absence of a transition means the workload stayed in its
existing state — the rollout went through unscathed, which is the
healthy outcome a reader is scanning for.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:40:22 +02:00
tuandClaude Opus 4.7 bd5a462a1e v2.0.15 — oumta-dashboard: dot color follows cluster outcome
The per-cluster dot now reflects how the workload ended up after the
cluster's events, not the worst thing that happened inside it: if the
most recent state transition in the cluster was "-> healthy", the dot
turns green even when the cluster contains earlier degraded/warning
events. Falls back to the existing dominantSev logic for clusters
without any state transition (e.g. rollout-only clusters).

Matches the reality that a rollout which briefly degrades and then
recovers is a normal, healthy outcome — not a "warning" forever.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:25:38 +02:00
tu 0bf7137428 Merge branch 'master' of https://git.uesome.de/tanztee/hyprcrd into feature/check-whether-works-as-pwa 2026-04-19 14:23:54 +02:00
tuandClaude Opus 4.7 cdfb6d4ecd v2.0.14 — oumta-dashboard: self-healing poll loop
Initial-bootstrap failure stopped the poll interval from ever starting,
and even once running, refresh() never reset the indicator back to
'polling' on success — so a single upstream blip pinned the plugin
in an error state until the user reloaded the page.

refresh() now loads namespaces on demand (absorbs bootstrap), the
interval is started unconditionally on show(), and every successful
poll flips the indicator back to green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 13:46:18 +02:00
tuandClaude Opus 4.7 efd3f9d5ae v2.0.13 — oumta-dashboard via PHP proxy; quiet support poll
Dashboard now reachable across the internet: browser calls /api/dashboard/*
same-origin, PHP forwards to OUMTA_DASHBOARD_URL (configurable via env,
with docker-compose defaults pointing at host.docker.internal:8085).
Keeps the bearer token server-side and lets the dashboard live on a
private network.

Plumbing bits: polling indicator now green (no reason to look anxious
about a healthy poll loop), and the support plugin returns 200 pulled=0
when its relay isn't configured instead of flooding the network tab
with 502s on every background tick.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 13:37:06 +02:00
thandClaude Opus 4.7 8cbec8d601 v2.0.13 — edge-to-edge fullscreen overlays, rounded-cards badge variant
- Overlays: drop the 24/40/54px inset frame on tasks, calendar,
  gallery, search, detail, edit modal, bookmarks, email, gitea and
  oumta-dashboard so they fill the viewport like the support
  overlay does. Removed the shared border-radius + overflow:hidden
  rule on their inner containers (only settings + dialog still use
  it) so the card's top colour bar isn't clipped.
- Done badge: the corner-triangle variant gets chopped by rounded
  card borders. applyDesign now toggles body.rounded-cards whenever
  --ui-radius-card > 0, and the CSS swaps the triangle for a 18px
  circle pill with the check centred. Triangle stays for square
  cards.
- Support plugin: "Close ticket" button is a regular labelled
  button now (was a 30×30 icon ghost that clipped the text). Empty
  hero state ("select a ticket") matches the board's empty style —
  centred in the column with a pixel-font blink-cursor label.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 12:34:50 +02:00
thandClaude Opus 4.7 4aca21812e v2.0.8 — oumta timeline: continuous fading line, multi-select filter
- Connector: moved from per-entry pseudo-elements to a single
  linear-gradient line on the body. Fades in/out 28px at each end
  and no longer has gaps at entry boundaries. Dots and the date
  rect's solid background sit naturally on top; everything else
  stays transparent so the line threads through cleanly.
- Layout: entry is now a 2-row grid. The optional date rect lives
  in row 1 (justify-self:start, left-aligned), while the dot-row
  and the events column both pin to row 2 so the time label always
  lines up with the first event of the cluster — even when a date
  rect sits above. Time+dot `align-self: start` keeps them at the
  top of the event section instead of vertically centred through
  the whole cluster.
- Filters: state.timelineFilter is a Set now, so clicking multiple
  workload pills (or the overflow entries) stacks them as an
  any-of filter. "all" clears the set. The overflow dropdown stays
  open on pick so several can be toggled without reopening it each
  time. Scope label shows "filtered · N" with the active count.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 17:21:18 +02:00
thandClaude Opus 4.7 9f90ea516a v2.0.7 — oumta-dashboard: timeline overhaul
Two-column timestrahl layout + workload quick-filter.

- Left column (64px): date badge (big day / small month e.g. 18 APR)
  shown only on the first cluster of each day, coloured dot, and a
  compact HH:MM time (or "just now" when <60s old).
- Dot colour = dominant severity of the cluster
  (error > warning > recovered > image > info).
- Events within a 60s tolerance window collapse into one entry so
  simultaneous rollouts of multiple deployments appear as a single
  dot with each sub-event listed in the right column.
- Workload quick-pick pills above the timeline. "all" + up to six
  inline pills (workloads sorted by recency); the rest collapses into
  a "+N more" dropdown. Clicking a workload name inline inside an
  event also applies the filter. Filter hides itself when the view is
  scoped to a single workload (opened via the overview attention list).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:25:40 +02:00
thandClaude Opus 4.7 0553960a57 v2.0.6 — oumta-dashboard: hardwire config, drop settings tab
This plugin only targets one specific deployment, so the settings
panel was noise that tempted accidental misconfiguration. baseUrl,
authToken and pollIntervalSec now live in a top-of-file CONFIG
constant; the hyprcrd-settings tab, the localStorage persistence,
and the panel CSS are gone.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:20:09 +02:00
tu 89d84d3538 tweak status change representation 2026-04-17 21:08:38 +02:00
thandClaude Opus 4.7 72a7c7c7cc v2.0.1 — collab-attachments size cap + oumta overview tiles
- relay: raise /api/collab-attachments + /api/attachments/upload POST
  size limit from 256KB to 15MB, matching /api/attachments. Previous
  limit silently dropped any collab image >~100KB as 413 (envelope
  overhead pushes even modest JPEGs past the cap), leaving puller
  clients with broken <img src="uploads/..."> references.
- oumta-dashboard: centre overview tiles, bump value font to 56px,
  introduce .oumta-fail alarm state that paints the full tile red with
  white text. Toggled from JS for cluster state=down, workloads down
  >0, and open incidents >0. Fail colour uses --t-danger so it stays
  in sync with the "unavailable" workload labels.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 18:38:17 +02:00
thandClaude Opus 4.6 39e94b8015 oumta dashboard plugin (mockup)
Fullscreen cluster dashboard view consuming the Oumta Go backend.
All data currently mocked — see plugin TODO.md for integration plan.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 21:24:07 +02:00