Seaca surfaced flap via Problems; the web UI only flagged 303 in DB and had
no visible label. Resolve flap pairs at read time and show badge plus qwinsta
on both sides of 302→303.
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.
SAC resolves internal_ip to a registered Windows host and runs qwinsta/logoff synchronously over WinRM instead of queueing commands to the gateway agent.
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.
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>
При повторной привязке Seaca переиспользуется запись device_uuid вместо INSERT.
Добавлены POST /devices/{id}/revoke и DELETE для полного удаления записи в настройках SAC.
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>
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>
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>
Исправлен v-if, скрывавший весь раздел при success; баннер с полным
кодом, копированием и sessionStorage до Скрыть. Версия 0.9.1.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>
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>
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>