You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AFAICT, the simple implementation works perfectly fine (at least in our codebase).
Is the complex implementation a leftover from older times? Or are there actually any cases where Devise would try to enqueue messages before the record is persisted to the DB?
The text was updated successfully, but these errors were encountered:
👋 I've been working with Olivier on this and was doing some code archeology from discussion on our internal PR. To help answer his question I'm pretty sure this is a leftover from older times, which turned into a little bit of parallel development. The timeline I put together:
18a18e4 (Jun 16, 2012) added the send_devise_notification hook. The latest Rails version was 3.2 at the time.
c25312e (Sep 2, 2014) added the section to the readme, which hasn't changed since. This was just before the release of Rails 4.2 on December 19, 2014 which included Active Job and ActionMailer#deliver_later.
Meanwhile, 2e442d8 (May 12, 2016) removed the deprecation from the send_devise_notification hook example that was introduced in Rails 4.2, and c9a2d06 (Mar 23, 2018) changed the example to use deliver_later.
tl;dr I think it's fine to remove the send_devise_notification hook example (or change it to match the readme example). FWIW #5610 would make this more intuitive to configure, and hopefully enable a switch of the default to deliver_later in the next major release.
Hi,
I was looking into using Active Job to deliver Devise messages, and I am a bit confused:
the README suggests a very simple implementation:
devise/README.md
Lines 694 to 704 in e2242a9
however, source code comments suggest a much more complex implementation:
devise/lib/devise/models/authenticatable.rb
Lines 137 to 208 in 1d66580
AFAICT, the simple implementation works perfectly fine (at least in our codebase).
Is the complex implementation a leftover from older times? Or are there actually any cases where Devise would try to enqueue messages before the record is persisted to the DB?
The text was updated successfully, but these errors were encountered: