Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
126a42c
feat(notification): slack, email, webhook notifications from logs
icecrasher321 Dec 2, 2025
5928b92
retain search params for filters to link in notification
icecrasher321 Dec 2, 2025
8e6c509
add alerting rules
icecrasher321 Dec 2, 2025
5d4bcdc
update selector
icecrasher321 Dec 2, 2025
3b8fad2
fix lint
icecrasher321 Dec 2, 2025
ed82ded
add limits on num of emails and notification triggers per workspace
icecrasher321 Dec 2, 2025
222bd4e
address greptile comments
icecrasher321 Dec 2, 2025
d0fdb86
add search to combobox
icecrasher321 Dec 2, 2025
4e14862
move notifications to react query
icecrasher321 Dec 2, 2025
0e58fae
fix lint
icecrasher321 Dec 2, 2025
a004934
fix email formatting
icecrasher321 Dec 2, 2025
6cd5707
add more alert types
icecrasher321 Dec 2, 2025
f0b525f
Merge branch 'staging' into feat/notifications-workflow-execs
icecrasher321 Dec 2, 2025
cfc1954
fix imports
icecrasher321 Dec 2, 2025
d63bb9e
fix test route
icecrasher321 Dec 2, 2025
cc5a165
Merge branch 'staging' into feat/notifications-workflow-execs
icecrasher321 Dec 4, 2025
30b0391
use emcn componentfor modal
icecrasher321 Dec 4, 2025
6d1ff0c
refactor: consolidate notification config fields into jsonb objects
icecrasher321 Dec 4, 2025
6c8019f
regen migration
icecrasher321 Dec 4, 2025
f09f2dc
fix delete notif modal ui
icecrasher321 Dec 5, 2025
909b349
make them multiselect dropdowns
icecrasher321 Dec 5, 2025
e35517f
update tag styling
icecrasher321 Dec 5, 2025
747e820
combobox font size with multiselect tags'
icecrasher321 Dec 5, 2025
64305ab
Merge staging into feat/notifications-workflow-execs
icecrasher321 Dec 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix imports
  • Loading branch information
icecrasher321 committed Dec 2, 2025
commit cfc19541669a6e5a61131b0191ee60820cb45a94
2 changes: 1 addition & 1 deletion apps/sim/app/api/notifications/poll/route.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { nanoid } from 'nanoid'
import { type NextRequest, NextResponse } from 'next/server'
import { verifyCronAuth } from '@/lib/auth/internal'
import { acquireLock, releaseLock } from '@/lib/core/config/redis'
import { createLogger } from '@/lib/logs/console/logger'
import { pollInactivityAlerts } from '@/lib/notifications/inactivity-polling'
import { acquireLock, releaseLock } from '@/lib/redis'

const logger = createLogger('InactivityAlertPoll')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import { and, eq, inArray } from 'drizzle-orm'
import { type NextRequest, NextResponse } from 'next/server'
import { z } from 'zod'
import { getSession } from '@/lib/auth'
import { encryptSecret } from '@/lib/core/security/encryption'
import { createLogger } from '@/lib/logs/console/logger'
import { getUserEntityPermissions } from '@/lib/permissions/utils'
import { encryptSecret } from '@/lib/utils'
import { getUserEntityPermissions } from '@/lib/workspaces/permissions/utils'
import { MAX_EMAIL_RECIPIENTS, MAX_WORKFLOW_IDS } from '../constants'

const logger = createLogger('WorkspaceNotificationAPI')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { and, eq } from 'drizzle-orm'
import { type NextRequest, NextResponse } from 'next/server'
import { v4 as uuidv4 } from 'uuid'
import { getSession } from '@/lib/auth'
import { decryptSecret } from '@/lib/core/security/encryption'
import { sendEmail } from '@/lib/email/mailer'
import { createLogger } from '@/lib/logs/console/logger'
import { getUserEntityPermissions } from '@/lib/permissions/utils'
import { decryptSecret } from '@/lib/utils'
import { getUserEntityPermissions } from '@/lib/workspaces/permissions/utils'

const logger = createLogger('WorkspaceNotificationTestAPI')

Expand Down
4 changes: 2 additions & 2 deletions apps/sim/app/api/workspaces/[id]/notifications/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import { type NextRequest, NextResponse } from 'next/server'
import { v4 as uuidv4 } from 'uuid'
import { z } from 'zod'
import { getSession } from '@/lib/auth'
import { encryptSecret } from '@/lib/core/security/encryption'
import { createLogger } from '@/lib/logs/console/logger'
import { getUserEntityPermissions } from '@/lib/permissions/utils'
import { encryptSecret } from '@/lib/utils'
import { getUserEntityPermissions } from '@/lib/workspaces/permissions/utils'
import { MAX_EMAIL_RECIPIENTS, MAX_NOTIFICATIONS_PER_TYPE, MAX_WORKFLOW_IDS } from './constants'

const logger = createLogger('WorkspaceNotificationsAPI')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ import {
Skeleton,
Switch,
} from '@/components/ui'
import { cn } from '@/lib/core/utils/cn'
import { createLogger } from '@/lib/logs/console/logger'
import { cn } from '@/lib/utils'
import {
type NotificationSubscription,
useCreateNotification,
Expand Down
6 changes: 3 additions & 3 deletions apps/sim/background/workspace-notification-delivery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ import { and, eq, isNull, lte, or, sql } from 'drizzle-orm'
import { v4 as uuidv4 } from 'uuid'
import { checkUsageStatus } from '@/lib/billing/calculations/usage-monitor'
import { getHighestPrioritySubscription } from '@/lib/billing/core/subscription'
import { sendEmail } from '@/lib/email/mailer'
import { decryptSecret } from '@/lib/core/security/encryption'
import { getBaseUrl } from '@/lib/core/utils/urls'
import { createLogger } from '@/lib/logs/console/logger'
import type { TraceSpan, WorkflowExecutionLog } from '@/lib/logs/types'
import { sendEmail } from '@/lib/messaging/email/mailer'
import type { AlertConfig } from '@/lib/notifications/alert-rules'
import { getBaseUrl } from '@/lib/urls/utils'
import { decryptSecret } from '@/lib/utils'
import { RateLimiter } from '@/services/queue'

const logger = createLogger('WorkspaceNotificationDelivery')
Expand Down
2 changes: 1 addition & 1 deletion apps/sim/lib/logs/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
} from '@sim/db/schema'
import { and, eq, or, sql } from 'drizzle-orm'
import { v4 as uuidv4 } from 'uuid'
import { env, isTruthy } from '@/lib/env'
import { env, isTruthy } from '@/lib/core/config/env'
import { createLogger } from '@/lib/logs/console/logger'
import type { WorkflowExecutionLog } from '@/lib/logs/types'
import {
Expand Down
2 changes: 1 addition & 1 deletion apps/sim/lib/notifications/inactivity-polling.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
} from '@sim/db/schema'
import { and, eq, gte, sql } from 'drizzle-orm'
import { v4 as uuidv4 } from 'uuid'
import { env, isTruthy } from '@/lib/env'
import { env, isTruthy } from '@/lib/core/config/env'
import { createLogger } from '@/lib/logs/console/logger'
import {
executeNotificationDelivery,
Expand Down
Loading