2 Commits
Author SHA1 Message Date
Europium 63 c6d2a67a4b Release v0.7.2 — Settings polish + container CRUD
- Containers can now be added, edited, and removed from the UI
  (/containers/new and the delete button on /containers/<name>).
  No more manual config.yml edits for normal container work.
- Test-notification buttons on Gotify and Pushover sections.
  Uses live form values and surfaces HTTP errors.
- Toggle switches replace enabled checkboxes.
- Priority reference block with Pushover mapping.
- Config diagnostics strip (path + writable badge + version) on
  every settings page — catches read-only bind mounts.
- Containers listed in the settings left rail.
- Color input: 10 swatches + native color picker + hex text.
- Status page no longer prints the "auto-refreshes" text.
2026-10-27 10:30:07 -07:00
Europium 63 48e913e5d5 Release v0.7.1 — Settings page redesign + /containers route
- Settings page now uses a left-rail + content-pane layout. Each
  section is URL-addressable (/settings/inspector, /settings/notifications,
  ...). The rail shows a live subtitle under each item so state is
  readable without clicking in.
- Gotify and Pushover grouped under a single Notifications section
  with one Save per channel.
- Containers moved to a dedicated top-level route: /containers lists
  tiles; /containers/<name> is the edit form. Containers tab added to
  the main nav.
- Saved banner is a prominent green flash with a success check.
2026-10-26 21:14:13 -07:00
3 changed files with 1055 additions and 139 deletions

No files matched your search

+86
View File
@@ -7,10 +7,96 @@ Version numbers follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html
---
## [0.7.2] — 2026-10-27
### Added
- **Container CRUD from the UI.** `/containers/new` adds a new container to
`config.yml`; a delete button on `/containers/<name>` removes one. The config
change is picked up on the next polling cycle without a restart.
- **Test-notification buttons** on the Gotify and Pushover sub-sections. The
button posts the current (unsaved) form values to `POST /api/test-notify/<channel>`
and shows the result inline. Unlike the regular notifier it does not swallow
errors — HTTP failures are reported back to the UI.
- **Priority reference** block on the Notifications section, including the
Inspector → Pushover `-2..2` mapping.
- **Config diagnostics strip** at the bottom of every settings page: shows the
live `config.yml` path, whether it's writable, and the Inspector version. If
the bind mount is read-only (a common deployment misconfiguration — a `:ro`
mount means saves fail silently) a red `READ-ONLY` badge appears with a hint.
- **Containers listed in the settings left rail** under their own group, plus a
"+ Add container" link, so you can jump between sections and containers from
the same navigation.
- **Color input upgrade** on container edit / new forms: ten preset color swatches,
a native color picker, and the existing hex text field, all bound together.
### Changed
- **Toggle switches** replace the stock checkbox + "requires restart" layout for
all `enabled`-style fields (notifications, dashboard, database, health summary,
maintenance, notification mute, container enabled, Inspector `dry_run` /
`heartbeat`). Reads much cleaner.
- **Status page** no longer prints "auto-refreshes every 30s" (the `<meta refresh>`
still ticks every 30s).
### Internal
- `_apply_container_create()` + `_apply_container_delete()` helpers alongside the
existing `_apply_settings_update()`; container names are validated against
`^[a-zA-Z0-9][a-zA-Z0-9_-]{0,62}$` and rejected if duplicate.
- `_render_diag_strip()` uses `os.access(path, os.W_OK)` to detect read-only mounts.
- Test-notification bypasses `GotifyNotifier.notify()` / `PushoverNotifier.notify()`
so HTTP failures are surfaced (the real notifier intentionally swallows them to
avoid breaking the inspector loop).
---
## [0.7.1] — 2026-10-27
### Changed
- **Settings page redesigned** to a classic SaaS layout (left rail + content pane):
- Left rail groups sections under Core / Data / Scheduling with a live subtitle
under each item (e.g. "60s · dry-run on", "gotify on · pushover off",
"on · :8080") so you can read state without clicking in.
- Each section is URL-addressable: `/settings/inspector`,
`/settings/notifications`, `/settings/dashboard`, `/settings/database`,
`/settings/health_summary`, `/settings/maintenance`, `/settings/notification_mute`.
- Gotify and Pushover now share a single **Notifications** section with
one Save button per channel, so the fan-out model is visible at a glance.
- Save flash is a prominent green banner with a success check.
- **Containers moved to a dedicated top-level route** (`/containers`): a grid
of tiles showing status, enabled, max errors, cooldown, and restart_on at a
glance. Click a tile for the per-container edit form at `/containers/<name>`.
Keeps the Settings page small when buddies have many containers.
- Top navigation adds a **Containers** tab alongside Status / Events / Settings.
### Internal
- `POST /settings/gotify` and `POST /settings/pushover` now redirect back to
`/settings/notifications` (the grouped page).
- `POST /containers/<name>` added as a parallel entry point to the existing
settings backend for container edits.
---
## [0.7.0] — 2026-10-26
### Added
- **Public packaging** under `euronvault/inspector` on Gitea with a
dedicated image at `gitea.euronvault.com/euronvault/inspector:0.7.0`
(plus `:latest` and `:sha-<short>` tags). Dev continues on
`eugene/inspector`.
- `scripts/sync_public.sh` with an explicit allowlist
(`scripts/public_allowlist.txt`) and grep-based denylist
(`scripts/public_denylist_patterns.txt`) that refuses to publish any
file matching a personal-string pattern (lab IPs, lab container
names, lab env var names, agent-workflow scaffolding paths).
- Sanitized `public/` staging tree: generic README, INSTALL guide,
MIT LICENSE (Copyright (c) 2026 Europium 63), `config.example.yml`
with two neutral example containers, and a `compose.yml` that pulls
from `gitea.euronvault.com/euronvault/inspector`.
- **Web settings page** at `/settings` for editing `config.yml` without SSH:
per-section forms for Inspector loop, Gotify, Pushover, Dashboard,
Database, Health summary, Maintenance, Notification mute, and per-container
+1 -1
View File
@@ -1 +1 @@
__version__ = "0.7.0"
__version__ = "0.7.2"
+968 -138
View File
File diff suppressed because it is too large. Load diff