Commit Graph

68 Commits

Author SHA1 Message Date
PapaTramp 07b97bd111 fix: inline git test feedback and use form URLs (0.20.1)
Show git check result next to the button, scroll into view, and test unsaved repo URLs from the form.
2026-06-20 16:29:48 +10:00
PapaTramp f411d8f070 feat: git-based agent version reference and unified outdated badge (0.20.0)
SAC reads latest RDP/ssh-monitor versions from configured git repos for outdated detection, update targets, and settings test-git.
2026-06-20 16:25:53 +10:00
PapaTramp d820d941c1 fix: hide SSH/WinRM test feedback after 30s (0.12.1)
WinRM success message now auto-hides like SSH; both use 30 second timeout instead of 60.
2026-06-20 15:57:15 +10:00
PapaTramp cd2f27792d feat: agent updates from SAC, poll config, SSH/WinRM fallback (0.12.0)
Add agent update settings, pending self-update via poll, desired config per host, and automatic or manual SSH/WinRM fallback when agents do not report agent.update events.
2026-06-20 15:52:10 +10:00
PapaTramp 75f4c475df feat: RDG qwinsta/logoff via WinRM on client workstation (0.11.6)
SAC resolves internal_ip to a registered Windows host and runs qwinsta/logoff synchronously over WinRM instead of queueing commands to the gateway agent.
2026-06-20 15:36:12 +10:00
PapaTramp 2eb06acb5b feat: SSH card UX, agent version sync, persistent ssh_admin_ok (0.11.5)
Silent SSH probe on host card open; manual test feedback auto-hides. Persist ssh_admin_ok in DB (migration 019). After agent update read version from host and refresh UI.
2026-06-20 01:01:56 +10:00
PapaTramp 6fea8262fb fix: skip invalid/unresolvable SSH targets before connect (0.11.2)
Do not use human display_name as SSH host; skip short names that do not resolve on SAC (ubabuba -> IPv4 only).
2026-06-20 00:39:29 +10:00
PapaTramp 2e839e0b16 fix: SSH sudo without TTY for non-root Linux admin (0.11.1)
Probe commands run without sudo; privileged update uses sudo -S. Add SSH connect and Linux admin API tests.
2026-06-20 00:36:12 +10:00
PapaTramp cc8f50de89 feat: Linux SSH admin and remote ssh-monitor update (0.11.0) 2026-06-20 00:25:35 +10:00
PapaTramp 279ea925a8 fix: WinRM try host.hostname first like Enter-PSSession (0.10.4) 2026-06-20 00:13:02 +10:00
PapaTramp c8e3eef9d7 fix: WinRM NTLM username normalize and hostname-first targets (0.10.3) 2026-06-20 00:10:52 +10:00
PapaTramp 2fe492b06b fix: WinRM read_timeout must exceed operation_timeout (0.10.2) 2026-06-20 00:06:26 +10:00
PapaTramp 154ba3efc2 feat: Windows admin in Settings UI and WinRM host test (0.10.1)
Store domain admin in ui_settings (DB overrides env); qwinsta/logoff use effective config.
Host card: POST /hosts/{id}/actions/winrm-test via pywinrm.
2026-06-20 00:01:17 +10:00
PapaTramp df4c93d243 chore: release 0.10.0 (agent control plane phase 1)
Minor release: RDG flap, qwinsta/logoff queue, dashboard UI, agent poll API.
2026-06-19 23:42:03 +10:00
PapaTramp 2aec488226 feat: RDG session flap rule, qwinsta/logoff queue and dashboard UI (0.9.13)
Detect 302→303 within 1–10s, Problem with 30s dedup, rdg_flap flag.
Agent command poll API, admin qwinsta/logoff from Overview. Migration 016.
2026-06-19 23:34:01 +10:00
PapaTramp b328d32f97 docs: agent control plane concept (v0.9.12)
Утверждённая концепция v0.7: RDG flap, qwinsta/logoff, обновления
агентов и desired config. Только документация и bump версии — runtime
без изменений.
2026-06-19 23:25:54 +10:00
PapaTramp 55f047cd35 fix: Seaca push uses same lifecycle text as Telegram (0.9.11)
Reuse telegram templates for FCM title/body so agent start/restart
reasons reach mobile without Seaca app changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:35:17 +10:00
PapaTramp 5b2aeb0183 fix(frontend): убрать BOM из package.json — ломал vite build на SAC. 2026-06-13 16:36:34 +10:00
PapaTramp 3d36faa49d fix(mobile): повторный enroll и удаление устройств в UI (0.9.10).
При повторной привязке Seaca переиспользуется запись device_uuid вместо INSERT.
Добавлены POST /devices/{id}/revoke и DELETE для полного удаления записи в настройках SAC.
2026-06-13 16:36:07 +10:00
PapaTramp 7df718eed3 fix: 12h cooldown before reopening manually closed host_silence (0.9.9)
Track resolved_by on problems; suppress scan/ingest recreate after manual
resolve; reopen same problem after cooldown; auto-close via heartbeat unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 10:33:55 +10:00
PapaTramp befaf86bf4 feat: readable report and host detail layout in web UI (0.9.8)
Field grid for event/host cards, human-readable daily report labels,
and normalized plain-text report bodies.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 10:25:53 +10:00
PapaTramp fed21c536b fix: exclude resolved problems from new-in-24h metrics (0.9.7)
Dashboard and created_within_hours list only show open/acknowledged problems
created in the last 24 hours; closed items appear under resolved only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 10:24:12 +10:00
PapaTramp 3f671b9899 fix: FCM data-only push so Seaca controls sound (0.9.6)
Send title and body in the data payload instead of notification block so
onMessageReceived always runs and the app can honour silent mode in background.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 10:03:28 +10:00
PapaTramp 37bffe0e3f fix: SAC version from /health in sidebar and dashboard (0.9.4)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 17:38:54 +10:00
PapaTramp 0a414a0904 chore: sync frontend version label to 0.9.3
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 17:37:09 +10:00
PapaTramp f9baf96d88 fix: test push errors, skip heartbeat notify, stale 5h (0.9.2)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 17:25:16 +10:00
PapaTramp 5e9f0f8110 fix: show copyable enrollment code after issue in Settings
Исправлен v-if, скрывавший весь раздел при success; баннер с полным
кодом, копированием и sessionStorage до Скрыть. Версия 0.9.1.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 17:07:49 +10:00
PapaTramp 563b836acc feat: Seaca mobile API, enrollment, FCM push and admin UI (0.9.0)
Adds mobile device registration by admin codes, refresh tokens, push channel
in notification policy, and Settings section for managing Seaca clients.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 13:19:14 +10:00
PapaTramp 77e167b6e3 feat: add actor user column to events and dashboard tables
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 10:11:04 +10:00
PapaTramp f9d56621f6 feat: drill-down filters on overview and outdated agent version highlight
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 09:21:21 +10:00
PapaTramp e65daa8c3b chore: sync frontend version.ts with API 0.8.3
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 09:11:41 +10:00
PapaTramp 95c5b9f25a fix(ui): table actions column layout and resolved label
Move flex off td.actions to inner wrapper; show Закрыта for resolved problems. SAC 0.8.2.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 14:10:56 +10:00
PapaTramp 502971367e feat(ui): live host row update via SSE without full reload
On new ingest, patch visible host from GET /hosts/{id}; SAC 0.8.1.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 10:47:21 +10:00
PapaTramp d9893497ce fix(ui): full-row host click, agent version label on host card
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 10:20:32 +10:00
PapaTramp adfc69c656 fix(ui): host name nav styled like sidebar, plain hostname column
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 10:10:10 +10:00
PapaTramp 7699d8690a fix: visible host card links in Hosts table; bump SAC to 0.8.0
Hostname and display name always link to /hosts/:id with sac-row-link styling.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 10:00:11 +10:00
PapaTramp 54337a5917 feat: host inventory (agent.inventory), host detail page, UI columns
Store hardware/software snapshots on hosts; warn on hardware changes. Host card from Hosts list. Add agent version column to Events/Overview; rename Hosts table columns and sort by status.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 09:53:00 +10:00
PapaTramp 3053058cdf feat: SAC 0.7.4 sidebar system stats block with UI toggle
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 09:15:15 +10:00
PapaTramp 141fc44099 feat: SAC 0.7.3 custom error pages 401/403/404/429
Centered logo pages with event explanation and allowed actions; router
and apiFetch redirect to them on auth, permission, not-found, and rate-limit errors.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 11:06:21 +10:00
PapaTramp d3a337992c feat: SAC 0.7.2 security hardening (rate limit, JWT DB check, DOMPurify)
Path traversal fix in SPA fallback, admin-only host delete, login rate limit
with 3 attempts and Telegram alert, JWT validated against active users in DB,
and DOMPurify for agent report HTML.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 11:04:14 +10:00
PapaTramp 06a8ed8614 feat: events date filter and preserve list page in URL (SAC 0.7.1)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 10:32:24 +10:00
PapaTramp de29270a25 feat: SAC 0.7.0 display_name columns and event severity overrides
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 10:21:43 +10:00
PapaTramp 8de5d14cfb feat: SAC 0.6.0 user edit UI, login to dashboard, daily report timer sync
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 09:55:12 +10:00
PapaTramp 56c469ddbd feat: multi-user UI login with admin and monitor roles
Add sac_users table, JWT roles, settings/users API guarded for admin, Users page in UI, and sac_manage_user.py CLI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 09:27:14 +10:00
PapaTramp 2501ecc4fe fix: normalize daily report layout for Telegram and UI
Ensure server line, compact spacing, and one user per row when ingesting
agent reports or sending SAC-generated daily reports.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 09:52:09 +10:00
PapaTramp 7ebbb9a9d1 feat: unify SSH and Windows daily report layout in SAC and UI
Agent-style report body for SAC aggregation; shared stats cards; RDP ban note in docs

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 17:03:29 +10:00
PapaTramp 11195ae64f feat: delete host from UI with events and problems cleanup
DELETE /api/v1/hosts/{id} (JWT); host reappears on next agent ingest

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 16:52:05 +10:00
PapaTramp ebb450be92 feat: global notification policy severity to channels (notif-22)
Singleton notification_policy table, NOTIFY_MIN_SEVERITY/CHANNELS env,
central dispatch gate, Settings policy UI, migration 007.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 16:19:26 +10:00
PapaTramp 9b177c145b feat: SMTP email notification channel with UI and ingest
Migration 006, email config DB/env, smtplib sender, settings API,
Settings UI section, and dispatch on event/problem ingest.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 16:12:55 +10:00
PapaTramp 20fa7e2c27 feat: webhook notification channel with UI and ingest dispatch
Add webhook config (DB/env), JSON POST on events/problems, settings API,
Settings UI section, and notify_dispatch for multi-channel ingest.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 16:09:40 +10:00