Commit graph

3 commits

Author SHA1 Message Date
b1d8cb1966 feat(slack): autoFlagPreExistingSlackAccess helper
Best-effort lookup of an activating member's email in the Slack
workspace. On a hit, flips slackInvited:true and stamps slackInvitedAt
without sending a fresh invite. Races against a 3s timeout and swallows
all errors so activation never blocks on Slack.

- Promotes SlackService.findUserByEmail from private to public so the
  helper can call it without a wrapper.
- New activity-log action: slack_access_auto_detected (actor = subject).
- Idempotent: short-circuits when slackInvited is already true.

Callers wired in next commit.
2026-04-29 12:13:59 +01:00
89942fac6d test(admin): cover AdminAlertDismissal dismissedAt default 2026-04-08 11:03:31 +01:00
0c3bfc3030 feat(admin): add AdminAlertDismissal model 2026-04-08 11:00:31 +01:00