nmemmert
923c36e494
Feature: Multi-email alerts and move resource between groups
...
- notificationService: Parse comma-separated emails from resource.email_to or global config; validate and send to each recipient
- API: Add PATCH /api/resources/:id/group endpoint to move resource between groups with validation and cache invalidation
- UI: Add group selector to edit modal; wire group change to PATCH endpoint; add help text for multi-email format
2025-12-16 13:01:37 -05:00
nmemmert
803c5adbc2
Scheduler: stagger resource checks with spacing and jitter to avoid thundering herd
2025-12-16 12:31:03 -05:00
nmemmert
d4e4467c0c
Add trends UI, cleanup logs, refresh build
2025-12-16 08:48:48 -05:00
nmemmert
71d1dbd5c1
chore: commit workspace changes
2025-12-16 07:56:40 -05:00
nmemmert
65fca3d3e3
feat(maintenance): add maintenance_mode flag, API support, UI toggle; skip alerts during maintenance; rebuild client
2025-12-15 16:35:52 -05:00
nmemmert
c8de1257ba
Add checks/incidents APIs with filters and SLA summary
2025-12-15 16:22:15 -05:00
nmemmert
3235ae3789
Fix: return ISO timestamps for dashboard stats and last checks
2025-12-15 16:11:59 -05:00
nmemmert
ccae38bb4d
Fix: Use ISO 8601 format (T separator) for timestamps to ensure proper timezone conversion
2025-12-15 15:03:25 -05:00
nmemmert
92cb495ef2
Append Z suffix to timestamps so browser treats them as UTC
2025-12-15 13:45:49 -05:00
nmemmert
28e3c6a544
Fix timezone display: client uses server timezone from settings, revert SQL offset
2025-12-15 13:36:40 -05:00
nmemmert
3653016912
Add detailed logging for timezone offset calculation
2025-12-15 13:29:16 -05:00
nmemmert
95cd2cc746
Invert timezone offset sign for correct SQL datetime conversion
2025-12-15 13:25:56 -05:00
nmemmert
6d361e6359
Add /api/debug/timezone endpoint to verify offset calculation
2025-12-15 13:20:45 -05:00
nmemmert
cf62481341
Improve timezone offset calculation by comparing formatted times; add logging
2025-12-15 13:19:45 -05:00
nmemmert
5a92c7f98d
Fix timezone offset using Intl API to get accurate UTC adjustment
2025-12-15 13:18:39 -05:00
nmemmert
1c8873b0aa
Apply timezone offset to all check timestamp queries (dashboard, resource history)
2025-12-15 13:17:29 -05:00
nmemmert
d8f303043f
Fix timezone offset calculation (reverse UTC-TZ to get correct adjustment)
2025-12-15 13:16:12 -05:00
nmemmert
eda5511609
Server: apply timezone offset to SQL datetime queries for correct timestamp display
2025-12-15 13:14:21 -05:00
nmemmert
b7f882f38b
SLA: cap by retention in API; SLA UI uses effective days and shows retention notice; rebuild client
2025-12-15 12:59:51 -05:00
nmemmert
c8e8d54aa8
Fix SLA queries to use parsed daysNum instead of string days
2025-12-15 12:45:24 -05:00
nmemmert
5e2c236057
Fix parameter count in SQL query
2025-12-15 12:23:55 -05:00
nmemmert
234ac59fe8
Fix SQL bucketing using Julian Day calculation
2025-12-15 12:22:57 -05:00
nmemmert
b1b1c36839
Add cache clear endpoint and timestamp to debug logs
2025-12-15 12:21:14 -05:00
nmemmert
07f46ce5c9
Simplify SQL bucketing query to fix aggregation
2025-12-15 12:19:00 -05:00
nmemmert
e741c8cadb
Enhanced debug logging to trace averaged parameter
2025-12-15 12:17:09 -05:00
nmemmert
c7a49432f5
Add server-side debug logging for averaged parameter
2025-12-15 12:14:45 -05:00
nmemmert
9446737e5a
History: return full time window for accurate averaging (7/14/30 days); rebuild
2025-12-15 11:08:03 -05:00
nmemmert
3d66b82c88
History API: return up to 100 checks per resource by default (separate from page size)
2025-12-15 10:26:39 -05:00
nmemmert
d07250e982
Fix env settings formatting and runtime sync
2025-12-15 09:43:23 -05:00
nmemmert
a5f741b332
Add comprehensive settings: data retention, incident thresholds, alert retry, scheduling, and dashboard customization
2025-12-15 09:40:21 -05:00
nmemmert
41430d0428
Add timezone configuration to settings UI and backend API
2025-12-15 09:24:06 -05:00
nmemmert
564aa7c1b8
Fix email stats rendering when avgResponseTime is non-numeric
2025-12-11 14:25:08 -05:00
nmemmert
2cff0b7147
Improve email alert logging for per-resource targets
2025-12-11 14:23:23 -05:00
nmemmert
cfba8a4d43
Fix email_to persistence: add column to resources table with debug logging
2025-12-11 10:26:19 -05:00
nmemmert
96e801b8be
Fix email_to field not persisting in edit modal - include all resource fields in dashboard API
2025-12-11 10:22:56 -05:00
nmemmert
322f0d2b57
Rebrand app name from 'Resource Monitor' to 'SkyWatch'
2025-12-11 09:59:07 -05:00
nmemmert
a4295d8081
Add in-memory caching strategy for aggregated queries with TTL and automatic invalidation on data changes
2025-12-11 09:54:19 -05:00
nmemmert
a4206b9a0f
Add pagination UI to History and SLA pages with configurable page size
2025-12-11 09:51:46 -05:00
nmemmert
dd7f3aeeda
Performance: add database indexes and optimize history queries with aggregation and pagination
2025-12-11 09:33:20 -05:00
nmemmert
1844bccbd4
Add major features: mobile responsive, alert acknowledgment, quiet hours, HTTP keyword matching, custom headers, certificate expiry warnings, and SLA dashboard
2025-12-11 09:20:52 -05:00
nmemmert
a40cac4491
Fix static file routing - prevent catch-all from intercepting static files
2025-12-11 08:48:58 -05:00
nmemmert
b05efbaa34
Fix MIME types using express.static options
2025-12-10 16:17:19 -05:00
nmemmert
61f29b2431
Add explicit MIME type headers for JS and CSS files
2025-12-10 16:14:43 -05:00
nmemmert
e54d6dea5e
Compact dashboard cards with sparklines and recent check data
2025-12-10 16:04:48 -05:00
nmemmert
7214238f33
Fix: Always serve React build regardless of NODE_ENV
2025-12-10 15:33:18 -05:00
nmemmert
69e321d35f
Add History page with detailed check data graphs and statistics
2025-12-10 15:16:28 -05:00
nmemmert
08ea842206
Add detailed emails with check type and recent performance graph
2025-12-10 15:15:10 -05:00
nmemmert
117f815e58
Fix database schema: add group_id to CREATE TABLE instead of separate migration
2025-12-10 12:15:44 -05:00
nmemmert
ec9362e14f
Fix database migration for group_id column
2025-12-10 12:05:12 -05:00
nmemmert
1e964d0c4c
Add resource groups
2025-12-10 12:03:24 -05:00