Send seat limit email notification only once for Self-Managed (not daily)

Summary

The ActiveUserCountThresholdWorker currently sends a seat limit email notification daily to Self-Managed admins. This is noisy and not aligned with the expected behaviour. We should send the email only once (or with a meaningful cooldown) rather than repeatedly.

Context

  • The email was originally implemented and then fixed to actually send in !235870 (merged)
  • PM (@ppalanikumar) and engineering (@lwanko) have aligned that sending once is the right approach
  • Sending daily emails when the admin is already aware of the seat situation adds no value and creates noise

Goal

Define and implement the correct send frequency:

  1. Once per threshold crossing — send when the count first crosses the threshold, do not resend unless the count drops below and crosses again
  2. Once per Restricted Access enablement — send once when RA is enabled and the limit is reached
  3. With a cooldown period — send once, then suppress for a defined period (e.g. 30 days) before allowing another send

Decide on the correct approach and implement it.

Edited by 🤖 GitLab Bot 🤖