mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Remove all code referencing at_desktop bookmark reminders (#9650)
We have found no need for these reminder types, so we are removing the code for them.
This commit is contained in:
@@ -124,10 +124,6 @@ class Auth::DefaultCurrentUserProvider
|
||||
u.update_last_seen!
|
||||
u.update_ip_address!(ip)
|
||||
end
|
||||
|
||||
BookmarkReminderNotificationHandler.defer_at_desktop_reminder(
|
||||
user: u, request_user_agent: @request.user_agent
|
||||
)
|
||||
end
|
||||
|
||||
@env[CURRENT_USER_KEY] = current_user
|
||||
|
||||
@@ -29,7 +29,6 @@ class BookmarkManager
|
||||
|
||||
update_topic_user_bookmarked(topic: post.topic, bookmarked: true)
|
||||
|
||||
BookmarkReminderNotificationHandler.cache_pending_at_desktop_reminder(@user)
|
||||
bookmark
|
||||
end
|
||||
|
||||
@@ -40,7 +39,6 @@ class BookmarkManager
|
||||
raise Discourse::InvalidAccess.new if !Guardian.new(@user).can_delete?(bookmark)
|
||||
|
||||
bookmark.destroy
|
||||
clear_at_desktop_cache_if_required
|
||||
|
||||
bookmarks_remaining_in_topic = Bookmark.exists?(topic_id: bookmark.topic_id, user: @user)
|
||||
if !bookmarks_remaining_in_topic
|
||||
@@ -61,8 +59,6 @@ class BookmarkManager
|
||||
|
||||
update_topic_user_bookmarked(topic: topic, bookmarked: false)
|
||||
end
|
||||
|
||||
clear_at_desktop_cache_if_required
|
||||
end
|
||||
|
||||
def self.send_reminder_notification(id)
|
||||
@@ -94,15 +90,6 @@ class BookmarkManager
|
||||
|
||||
private
|
||||
|
||||
def clear_at_desktop_cache_if_required
|
||||
return if user_has_any_pending_at_desktop_reminders?
|
||||
Discourse.redis.del(BookmarkReminderNotificationHandler::PENDING_AT_DESKTOP_KEY_PREFIX + @user.id.to_s)
|
||||
end
|
||||
|
||||
def user_has_any_pending_at_desktop_reminders?
|
||||
Bookmark.at_desktop_reminders_for_user(@user).any?
|
||||
end
|
||||
|
||||
def update_topic_user_bookmarked(topic:, bookmarked:)
|
||||
TopicUser.change(@user.id, topic, bookmarked: bookmarked)
|
||||
end
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class BookmarkReminderNotificationHandler
|
||||
PENDING_AT_DESKTOP_KEY_PREFIX ||= 'pending_at_desktop_bookmark_reminder_user_'
|
||||
PENDING_AT_DESKTOP_EXPIRY_DAYS ||= 20
|
||||
|
||||
def self.send_notification(bookmark)
|
||||
return if bookmark.blank?
|
||||
Bookmark.transaction do
|
||||
@@ -42,31 +39,4 @@ class BookmarkReminderNotificationHandler
|
||||
}.to_json
|
||||
)
|
||||
end
|
||||
|
||||
def self.user_has_pending_at_desktop_reminders?(user)
|
||||
Discourse.redis.exists("#{PENDING_AT_DESKTOP_KEY_PREFIX}#{user.id}")
|
||||
end
|
||||
|
||||
def self.cache_pending_at_desktop_reminder(user)
|
||||
Discourse.redis.setex("#{PENDING_AT_DESKTOP_KEY_PREFIX}#{user.id}", PENDING_AT_DESKTOP_EXPIRY_DAYS.days, true)
|
||||
end
|
||||
|
||||
def self.send_at_desktop_reminder(user:, request_user_agent:)
|
||||
return if MobileDetection.mobile_device?(request_user_agent)
|
||||
|
||||
return if !user_has_pending_at_desktop_reminders?(user)
|
||||
|
||||
DistributedMutex.synchronize("sending_at_desktop_bookmark_reminders_user_#{user.id}") do
|
||||
Bookmark.at_desktop_reminders_for_user(user).each do |bookmark|
|
||||
BookmarkReminderNotificationHandler.send_notification(bookmark)
|
||||
end
|
||||
Discourse.redis.del("#{PENDING_AT_DESKTOP_KEY_PREFIX}#{user.id}")
|
||||
end
|
||||
end
|
||||
|
||||
def self.defer_at_desktop_reminder(user:, request_user_agent:)
|
||||
Scheduler::Defer.later "Sending Desktop Bookmark Reminders" do
|
||||
send_at_desktop_reminder(user: user, request_user_agent: request_user_agent)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user