Skip to content

Conversation

@rebelchris
Copy link
Contributor

Summary

Adjusts recruiter rejection email timing and messaging per ENG-456.

Changes

  • 30-minute delay: Email is now scheduled 30 mins after rejection instead of sending immediately (uses Customer.io send_at parameter)
  • Send date in email: Added send_date to message_data so the email template can display when the email was sent

Template Note

The send_date variable is now available in Customer.io email template ID 88. Use {{send_date}} in the template to display the formatted date (e.g., "Jan 26, 2026").

Testing

  • Verify email is delayed by 30 mins in staging
  • Confirm send_date appears correctly in email template

…_date

- Added 30 minute delay using Customer.io send_at parameter
- Added send_date to message_data for email template display
- Email will now be scheduled 30 mins after rejection instead of immediate send
@CLAassistant
Copy link

CLAassistant commented Jan 26, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ rebelchris
❌ Chris


Chris seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@pulumi
Copy link

pulumi bot commented Jan 26, 2026

🍹 The Update (preview) for dailydotdev/api/prod (at 8acf355) was successful.

Resource Changes

    Name                                                       Type                           Operation
~   vpc-native-update-views-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-updated-sync-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tags-str-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-user-companies-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-bg-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-update-highlighted-views-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-ws-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-zombie-images-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-stale-user-transactions-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-calculate-top-readers-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-expire-super-agent-trial-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-generate-search-invites-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-sync-subscription-with-cio-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-clickhouse-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tag-recommendations-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-public-threshold-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-daily-digest-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-check-analytics-report-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-history-day-clickhouse-cron      kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-opportunities-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-gifted-plus-cron                          kubernetes:batch/v1:CronJob    update
~   vpc-native-hourly-notification-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-generic-referral-reminder-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-tag-view-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-deployment                  kubernetes:apps/v1:Deployment  update
-   vpc-native-api-db-migration-2e86c12a                       kubernetes:batch/v1:Job        delete
~   vpc-native-user-profile-analytics-history-clickhouse-cron  kubernetes:batch/v1:CronJob    update
~   vpc-native-update-trending-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-update-current-streak-cron                      kubernetes:batch/v1:CronJob    update
+   vpc-native-api-db-migration-1cd3c5eb                       kubernetes:batch/v1:Job        create
-   vpc-native-api-clickhouse-migration-2e86c12a               kubernetes:batch/v1:Job        delete
+   vpc-native-api-clickhouse-migration-1cd3c5eb               kubernetes:batch/v1:Job        create
~   vpc-native-post-analytics-clickhouse-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-deployment                                      kubernetes:apps/v1:Deployment  update
~   vpc-native-temporal-deployment                             kubernetes:apps/v1:Deployment  update
~   vpc-native-private-deployment                              kubernetes:apps/v1:Deployment  update

Copy link
Contributor Author

@rebelchris rebelchris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@claude please fix my comment

import { isSubscribedToNotificationType } from './notifications/utils';
import { NotificationChannel, NotificationType } from '../notifications/common';

const REJECTION_EMAIL_DELAY_MS = 30 * 60 * 1000; // 30 minutes
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already have a THIRTY_MINUTES const in query.ts

@claude
Copy link

claude bot commented Jan 26, 2026

Claude finished @rebelchris's task in 1m 3s —— View job


Completed

  • Read the current implementation in the worker file
  • Locate time constants in constants.ts
  • Update the worker to use the existing constant
  • Commit and push changes

I've updated the worker file to use the ONE_MINUTE_IN_SECONDS constant from src/common/constants.ts instead of the magic number. The change follows the codebase's best practice of avoiding magic numbers for time durations.

The updated line now reads:

const REJECTION_EMAIL_DELAY_MS = 30 * ONE_MINUTE_IN_SECONDS * 1000;

Changes have been committed and pushed to the PR branch.

--- | Branch

github-actions bot and others added 2 commits January 26, 2026 11:27
Co-authored-by: Chris Bongers <rebelchris@users.noreply.github.com>
@rebelchris rebelchris merged commit 0c167f1 into main Jan 26, 2026
9 of 10 checks passed
@rebelchris rebelchris deleted the fix/eng-456-recruiter-rejection-email-timing branch January 26, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants