Alex
7636d2d090
error -> warn on job fail, register listeners before starting scheduler
2026-04-03 15:36:37 -07:00
Alex Holliday
72728748f8
bump scheduler, consume scheduler events
2026-04-03 13:21:16 -07:00
Alex Holliday
fb69e29adf
fix geocheck update logic
2026-04-01 11:00:17 -07:00
Alexander Holliday
69b6955ced
Merge pull request #3439 from LeC-D/fix/telegram-notification-type
...
feat(notifications): add Telegram notification channel (#2753 )
2026-03-27 12:04:01 -07:00
LeC-D
04dfff4ebd
fix(notifications): remove redundant defaultValue prop and fix incident URL in telegram provider
...
- Remove redundant 'defaultValue' prop on Telegram chat ID Controller in create/index.tsx;
the form already initialises via 'defaultValues: defaults' at the useForm level, making
the per-Controller prop unnecessary and inconsistent with the reviewer's expectation.
- Fix 'View Incident' URL in telegram.ts: was pointing to the infrastructure details page
(/infrastructure/:id) instead of the incidents page (/incidents/:id).
2026-03-27 14:19:27 -04:00
Alex Holliday
be29cce788
db types
2026-03-26 09:47:10 -07:00
Alex Holliday
e87879970a
fix TS errors
2026-03-26 09:30:20 -07:00
LeC-D and Claude Opus 4.6
a864bc0c05
fix: run format and fix build errors
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-25 16:52:48 -04:00
Alex Holliday
1defa52ae8
update config
2026-03-25 13:48:36 -07:00
LeC-D
fe242b1977
fix: replace nested ternaries and remove type casts per review
...
- useNotificationForm: replace nested ternary with if/else if/else block
- TelegramProvider: type error as unknown and access properties safely
via instanceof checks instead of casting to HTTPError
2026-03-25 14:03:49 -04:00
Léo
eacbb227c3
feat(notifications): add Telegram notification channel ( #2753 )
...
Add Telegram as a new notification type, allowing users to receive
monitor alerts via a Telegram bot.
Configuration requires:
- Bot token (obtained from @BotFather)
- Chat ID (user, group, or channel)
Changes:
- TelegramProvider: sends HTML-formatted messages via Telegram Bot API
- NotificationsService: route telegram type to TelegramProvider
- Notification model/types: add 'telegram' to NotificationChannel enum
- Server validation: telegram schema (accessToken + address/chat_id)
- Client Types/Validation: telegram schema with accessToken + address
- useNotificationForm: handle telegram defaults
- Notifications create page: render Telegram config UI
- en.json: add telegram i18n keys
2026-03-24 10:15:46 -04:00
Alexander Holliday
d5968b841e
Merge branch 'develop' into feat/bulk-edit-notifications
2026-03-20 12:28:57 -07:00
Alex Holliday
465cea21bc
use interface
2026-03-20 11:29:44 -07:00
Alex Holliday
404bd5d06b
add interface to AdvancedMathcer, fix type
2026-03-20 11:28:53 -07:00
ashu130698
05814854df
Merge branch 'upstream/develop' into feat/bulk-edit-notifications and resolve conflicts
2026-03-20 23:54:33 +05:30
Alex Holliday
a4a3249b5b
maintenacne window
2026-03-20 11:20:22 -07:00
ashu130698
1e6cf858c4
fix: address PR review feedback and add Zod validation constraints
2026-03-20 23:39:38 +05:30
Alex Holliday
533a8911cd
fix errors in inviteService
2026-03-20 11:03:45 -07:00
Alex Holliday
2fb7516ca1
fix return type
2026-03-20 11:00:30 -07:00
Alex Holliday
6d2008e8d3
geo checks service
2026-03-20 10:59:34 -07:00
Alex Holliday
7332b15242
fix diagnosticSerivce lint error
2026-03-20 10:51:06 -07:00
Alex Holliday
f69752ccb4
remove casts
2026-03-20 10:37:29 -07:00
Alex Holliday
d8ec8d7775
fix validation
2026-03-20 10:09:29 -07:00
Alex Holliday
bfd3eee94d
monitorService types
2026-03-20 09:58:49 -07:00
Alex Holliday
bfbb4c390a
Add type for getGeoChecksByMonitorId
2026-03-20 09:47:02 -07:00
ashu130698
1706012e54
fix:format code
2026-03-13 21:40:28 +05:30
Alex Holliday
9646e7dbdc
type handleErrors
2026-03-12 11:12:46 -07:00
Alex Holliday
48e71d4345
use null for unsetting instead of empty string
2026-03-12 09:53:31 -07:00
Alex Holliday
84ca5db0fa
refactor settingsController
2026-03-12 09:37:08 -07:00
ashu130698
88a39fe502
Merge branch 'upstream/develop' into feat/bulk-edit-notifications and resolve conflicts
2026-03-12 13:17:40 +05:30
Alexander Holliday
e4a228e61e
Merge pull request #3411 from bluewave-labs/fix/notification-controller-validation
...
fix: implement NotificationController missing validation
2026-03-11 13:46:51 -07:00
Alex Holliday
15d8a8ba1f
fix test alert type
2026-03-11 13:40:35 -07:00
Alexander Holliday
842fa92cec
Merge pull request #3401 from bluewave-labs/fix/rename-breached-to-exceeded
...
fix: rename "breached" status to "threshold exceeded"
2026-03-11 13:36:53 -07:00
gorkem-bwl
9466090332
fix: rename "breached" to "threshold exceeded" in user-facing strings
...
Only changes user-facing text — no enum, type, or backend status changes.
## Changes
- locales/en.json: "breached" → "threshold exceeded"
- notificationMessageBuilder.ts: notification title/summary/details
- email.ts: email subject line
2026-03-11 16:30:30 -04:00
Alex Holliday
16b267d3a5
implement missing validation
2026-03-11 13:28:48 -07:00
Alex Holliday
20ff76df9d
remove unsued route/validation
2026-03-11 13:07:56 -07:00
Alex Holliday
545926cfcf
fix validation in monitor controller
2026-03-11 12:41:27 -07:00
Alex Holliday
456237ba4e
tighten date typing
2026-03-11 12:00:19 -07:00
Alex Holliday
e887c2308a
type MWController
2026-03-11 11:51:01 -07:00
Alex Holliday
d00889ff9b
renamed variable
2026-03-11 11:14:44 -07:00
Alex Holliday
eafd97b9ad
controller, service, validation
2026-03-11 11:10:38 -07:00
gorkem-bwl
943ef92053
fix: rename "breached" status to "exceeded" for clarity
...
The word "breached" in infrastructure monitoring was confusing users
as it implied a security breach. Renamed to "exceeded" which better
describes threshold violations (e.g. "threshold exceeded").
## Changes
- Renamed monitor status value from "breached" to "exceeded" across
server types, status service, queue helper, notification builder,
email subject lines, and MongoDB aggregation queries
- Renamed client types, status box/label components, translation key,
and infrastructure page props to match
- Added DB migration (0005) to update existing monitors with the old
status value
2026-03-11 01:31:05 -04:00
gorkem-bwl
84cac870d5
fix: set DNS cache TTL to prevent stale lookups
...
CacheableLookup defaults to maxTtl=Infinity, meaning successful DNS
lookups are cached forever until process restart. This causes monitors
to fail permanently if DNS changes or if a resolver outage causes
ENOTFOUND errors to persist after recovery.
Set maxTtl=300s (5 min) for successful lookups and errorTtl=30s for
failed lookups so the cache recovers automatically.
2026-03-10 19:04:04 -04:00
Alex Holliday
2fdd5a72f0
type authController correctly, update services accordingly
2026-03-10 11:18:59 -07:00
ashu130698
f9a4659cb2
Merge branch 'develop' into feat/bulk-edit-notifications
2026-03-10 23:27:01 +05:30
Alex Holliday
dc7d442ace
remove unnecessary check
2026-03-10 10:44:02 -07:00
Alex Holliday
bbdadb0bf5
remove expiry from repository and service
2026-03-10 10:34:09 -07:00
Alex Holliday
cadf68740a
remove old expiry field, remove vestigal checks
2026-03-10 10:33:18 -07:00
ashu130698
0fc338db2f
refactor(backend): move notifications update endpoint to monitors route and handle security feedback
2026-03-10 22:57:55 +05:30
Alex Holliday
6ad0a6a29d
validation fix, batch deleteOlderThan
2026-03-10 10:20:23 -07:00