diff --git a/.env.example b/.env.example index 6b587d22..9838118e 100644 --- a/.env.example +++ b/.env.example @@ -49,9 +49,20 @@ S3_FORCE_PATH_STYLE=true # leave unset/false to guarantee NO automatic deletion. Set to true only after # you have reviewed your retention policy and want the sweep to run. GDPR_CLEANUP_ENABLED=false -# Optional: authenticates external schedulers calling /api/admin/retention-cleanup. +# Optional: authenticates external schedulers calling /api/admin/retention-cleanup +# and /api/admin/notification-dispatch. CRON_SECRET= +# ─── Recruiter notifications ──────────────────────────────────────────────── +# Email notifications to recruiters (new applicant, candidate reply, interview response +# finished) via a durable outbox drained by a scheduled worker. Fail-safe +# default = true (activation driver, safe to send). Set to false to pause all +# notification sending + digests instance-wide. +NOTIFICATIONS_ENABLED=true +# Delivery status + hard-bounce/complaint suppression reuse the existing +# RESEND_WEBHOOK_SECRET below. External schedulers can trigger the worker at +# /api/admin/notification-dispatch using CRON_SECRET (as above). + # ─── SEO ───────────────────────────────────────────────────────────────────── # Used by @nuxtjs/seo for sitemaps, canonical URLs, and OG tags NUXT_PUBLIC_SITE_URL=http://localhost:3000 diff --git a/app/components/ApplicationDetailDrawer.vue b/app/components/ApplicationDetailDrawer.vue index 27b679a4..889e1531 100644 --- a/app/components/ApplicationDetailDrawer.vue +++ b/app/components/ApplicationDetailDrawer.vue @@ -1,5 +1,5 @@ diff --git a/app/pages/dashboard/candidates/index.vue b/app/pages/dashboard/candidates/index.vue index 55f3ab8a..d8b608e8 100644 --- a/app/pages/dashboard/candidates/index.vue +++ b/app/pages/dashboard/candidates/index.vue @@ -587,7 +587,7 @@ const selectedCandidateId = ref(null)