Skip to content

Prompt users to double check their account recovery settings

Illya Klymov requested to merge xanf-recovery-settings-callout into master

What does this MR do?

Issue: #30065 (closed)

This MR adds callout which will be periodically (quarterly) displayed to our users.

Callout is displayed only on gitlab.com each 3 months and only for users older than 3 months

Reasoning for the database change

Currently we do not track callout dismissal date. This information is required to implement pattern "Require user to dismiss callout again in X months" and might be useful for analytics of other callouts dismissal

Migration output

== 20200129143231 AddDissmisedAtToUserCallouts: migrating =====================
-- add_column(:user_callouts, :dismissed_at, :datetime_with_timezone)
   -> 0.0708s
== 20200129143231 AddDissmisedAtToUserCallouts: migrated (0.0712s) ============

Query timings

SELECT 1 AS one
FROM "user_callouts"
WHERE "user_callouts"."user_id" = $USER_ID
  AND "user_callouts"."feature_name" = $FEATURE_ID
  AND (dismissed_at > '2019-10-31 08:27:40.807105')
LIMIT 1

There is a unique index on user_id and feature_name, without the date filter it's an INDEX ONLY scan. Plan with dismissed_at filter:

Plan

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Edited by 🤖 GitLab Bot 🤖

Merge request reports

Loading