From f94b1fce4131af68185ef126589bc16e8b7053af Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 20 May 2025 14:55:42 +0200 Subject: [PATCH] Drop compatibility with Redis < 6.2 (#30413) --- README.md | 2 +- app/controllers/auth/sessions_controller.rb | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8a34754576..322f8060d9 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Mastodon is a **free, open-source social network server** based on ActivityPub w ### Requirements - **PostgreSQL** 12+ -- **Redis** 4+ +- **Redis** 6.2+ - **Ruby** 3.2+ - **Node.js** 18+ diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb index 250573fc7d..2808066aaf 100644 --- a/app/controllers/auth/sessions_controller.rb +++ b/app/controllers/auth/sessions_controller.rb @@ -177,9 +177,7 @@ class Auth::SessionsController < Devise::SessionsController ) # Only send a notification email every hour at most - return if redis.get("2fa_failure_notification:#{user.id}").present? - - redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour) + return if redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour, get: true).present? UserMailer.failed_2fa(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later! end