sj26 / mailcatcher

Catches mail and serves it through a dream.
http://mailcatcher.me
MIT License
6.49k stars 582 forks source link

No longer updates just-sent emails #550

Open larryh opened 1 year ago

larryh commented 1 year ago

I'm using version 0.9.1 beta1 (in fact, I recently left a comment about this in https://github.com/sj26/mailcatcher/pull/496)

Like I said in my comment on that issue, MailCatcher fires up, but it no longer automatically displays just-sent emails.

Before I would do something that fired off an email, e.g. successfully register a new user, and I would see the email-count number on the MailCatcher tab in my browser automatically increment, and when I displayed the tab the email was visible.

Now... nothing. I have to refresh the page in order to see just-sent emails.

sj26 commented 1 year ago

Darn, sorry! It works for me on macOS Safari, Firefox, and Chrome. The tests also exercise chrome on Linux and Windows (in a branch).

What versions of everything are you using? Anything interesting in the browser console?

larryh commented 1 year ago

Jeez, don't apologize - this is a fantastic gem that I - and many others - are truly grateful for!

I normally use Firefox, but also tried it in Chrome. Same results: no update until I refresh the window. And sadly, nothing at all shows up in either console window.

AFAIC, if I'm the only one having this problem then don't waste your time. I'm more than happy to have to refresh the page in order to see the new email.

My stack, which should be up-to-date (or close to it):

Ubuntu 23.04 Ruby 3.1.0 Rails 7.0.5 Firefox 115.0.2 Chrome 115.0.5790

sj26 commented 1 year ago

Aw, thank you for the kind words :pray:

It does seem weird 🤔

How are you installing and running mailcatcher? Like this?

gem install mailcatcher
mailcatcher

Could you run mailcatcher in the foreground and check for error output?

mailcatcher --foreground

Would you be able to provide a list of gem versions, to see what it will be using? I think there may still be interop issues with eventmachine and thin.

gem list

But as you say it may not be worth the effort. I'm planning on swapping to async + friends at some point which should solve some of these compatibility issues.

larryh commented 1 year ago

Hi,

I installed it like this:

gem install --pre mailcatcher

I ran it like you asked and this is what I got:

larry@system76-pc:~/RubymineProjects/BackEnd$ mailcatcher --foreground
Starting MailCatcher v0.9.1.beta1
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080
==> SMTP: Received message from '' (1475 bytes)

My gems:

larry@system76-pc:~/RubymineProjects/BackEnd$ gem list

*** LOCAL GEMS ***

abbrev (default: 0.1.0)
actioncable (7.0.5)
actionmailbox (7.0.5)
actionmailer (7.0.5)
actionpack (7.0.5, 7.0.4.3, 7.0.4.2, 7.0.4, 7.0.3.1, 7.0.3, 7.0.2.4, 7.0.2.3, 7.0.2.2, 6.1.4.6, 6.0.4.4, 6.0.4)
actiontext (7.0.5)
actionview (7.0.5, 7.0.4.3, 7.0.4.2, 7.0.4, 7.0.3.1, 7.0.3, 7.0.2.4, 7.0.2.3, 7.0.2.2, 6.1.4.6, 6.0.4.4, 6.0.4)
actionview-encoded_mail_to (1.0.9)
active_model_serializers (0.10.13)
activejob (7.0.5)
activemodel (7.0.5, 7.0.4.3, 7.0.4.2, 7.0.4, 7.0.3.1, 7.0.3, 7.0.2.4, 7.0.2.3, 7.0.2.2, 6.1.4.6, 6.0.4.4, 6.0.4)
activerecord (7.0.5, 6.1.4.6)
activestorage (7.0.5)
activesupport (7.0.5, 7.0.4.3, 7.0.4.2, 7.0.4, 7.0.3.1, 7.0.3, 7.0.2.4, 7.0.2.3, 7.0.2.2, 6.1.4.6, 6.0.4.4, 6.0.4)
addressable (2.8.4)
airbrussh (1.4.1)
archive-zip (0.12.0)
base64 (default: 0.1.1)
bcrypt (3.1.18)
benchmark (default: 0.2.0)
better_errors (2.10.0)
bigdecimal (default: 3.1.1)
bindex (0.8.1)
binding_of_caller (1.0.0)
bootsnap (1.16.0)
builder (3.2.4)
bullet (7.0.7)
bundler (2.3.6, default: 2.3.3)
bundler-stats (2.3.0)
cancancan (3.5.0)
capistrano (3.17.3, 2.15.5)
capistrano-ext (1.2.1)
capistrano_colors (0.5.5)
capybara (3.39.1, 3.36.0)
capybara-screenshot (1.0.26)
carrierwave (2.2.3)
case_transform (0.2)
cgi (default: 0.3.1)
childprocess (4.1.0)
chronic (0.10.2)
coderay (1.1.3)
coffee-rails (5.0.0)
coffee-script (2.4.1)
coffee-script-source (1.12.2)
concurrent-ruby (1.2.2)
connection_pool (2.3.0)
crass (1.0.6)
csv (default: 3.2.2)
cucumber (8.0.0, 7.1.0)
cucumber-ci-environment (9.2.0)
cucumber-core (11.0.0, 10.1.1)
cucumber-create-meta (6.0.4)
cucumber-cucumber-expressions (15.2.0, 14.0.0)
cucumber-gherkin (23.0.1, 22.0.0)
cucumber-html-formatter (19.2.0, 17.0.0)
cucumber-messages (18.0.0, 17.1.1)
cucumber-rails (2.6.1)
cucumber-tag-expressions (4.1.0)
cucumber-wire (6.2.1)
daemons (1.4.1)
database_cleaner (2.0.2)
database_cleaner-active_record (2.1.0)
database_cleaner-core (2.0.1)
date (3.3.3, default: 3.2.2)
debase (3.0.0.beta.6)
debase-ruby_core_source (0.10.18)
debug (1.4.0)
debug_inspector (1.1.0)
default_value_for (3.4.0)
delayed_job (4.1.11)
delayed_job_active_record (4.1.7)
delayed_job_web (1.4.4)
delegate (default: 0.2.0)
devise (4.9.2)
devise-async (1.0.0)
did_you_mean (default: 1.6.1)
diff-lcs (1.5.0)
digest (default: 3.1.0)
docile (1.4.0)
drb (default: 2.1.0)
email_spec (2.2.1)
english (default: 0.7.1)
erb (default: 2.2.3)
error_highlight (default: 0.3.0)
erubi (1.12.0)
erubis (2.7.0)
etc (default: 1.3.0)
ethon (0.16.0)
eventmachine (1.2.7, 1.0.9.1)
exception_notification (4.5.0)
excon (0.99.0)
execjs (2.8.1)
factory_bot (6.2.1)
factory_bot_rails (6.2.0)
faraday (2.7.5)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
faraday-net_http (3.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faye-websocket (0.11.3)
fcntl (default: 1.0.1)
ffi (1.15.5)
fiddle (default: 1.1.0)
figaro (1.2.0)
fileutils (default: 1.6.0)
find (default: 0.1.1)
fog-aws (3.19.0)
fog-core (2.3.0)
fog-json (1.2.0)
fog-xml (0.1.4)
forgery (0.8.1)
formatador (1.1.0)
forwardable (default: 1.3.2)
geckodriver-helper (0.24.0)
getoptlong (default: 0.1.1)
globalid (1.1.0)
god (0.13.7)
haml (6.1.1, 5.2.2)
haml-rails (2.1.0)
has_defaults (1.2.0)
highline (2.1.0)
html2haml (2.2.0)
htmlentities (4.3.4)
i18n (1.13.0)
image_processing (1.12.2)
importmap-rails (1.0.3)
innertube (1.1.0)
io-console (0.5.11, default: 0.5.10)
io-like (0.3.1)
io-nonblock (default: 0.1.0)
io-wait (default: 0.2.1)
ipaddr (default: 1.2.3)
ipaddress (0.8.3)
irb (default: 1.4.1)
jbuilder (2.11.5)
joiner (0.6.0)
jquery-rails (4.5.1)
jquery-ui-rails (5.0.5)
json (2.6.3, default: 2.6.1)
jsonapi-renderer (0.2.2)
jwt (2.7.0)
launchy (2.5.2)
libv8 (3.16.14.19 x86_64-linux)
listen (3.8.0)
logger (default: 1.5.0)
loofah (2.21.3)
mail (2.8.1)
mail_view (2.0.4)
mailcatcher (0.9.1.beta1)
marcel (1.0.2)
matrix (0.4.2)
method_source (1.0.0)
middleware (0.1.0)
mime-types (3.4.1)
mime-types-data (3.2023.0218.1)
mini_magick (4.12.0)
mini_mime (1.1.2)
mini_portile2 (2.8.2)
minitest (5.18.0)
mobileesp_converted (0.2.3)
mobvious (0.3.2)
mono_logger (1.1.1)
msgpack (1.6.0)
multi_json (1.15.0)
multi_test (1.1.0, 0.1.2)
multipart-post (2.1.1)
mustermann (3.0.0, 1.1.1)
mutex_m (default: 0.1.1)
mysql2 (0.5.5)
nested_form (0.3.2)
net-ftp (0.1.3)
net-http (default: 0.2.0)
net-imap (0.3.4)
net-pop (0.1.2)
net-protocol (0.2.1, default: 0.1.2)
net-scp (4.0.0)
net-sftp (3.0.0)
net-smtp (0.3.3)
net-ssh (7.1.0, 6.1.0)
net-ssh-gateway (2.0.0)
nio4r (2.5.9)
nkf (default: 0.1.1)
nokogiri (1.15.2 x86_64-linux)
observer (default: 0.1.1)
open-uri (default: 0.2.0)
open3 (default: 0.1.1)
openssl (default: 3.0.0)
optparse (default: 0.2.0)
orm_adapter (0.5.0)
ostruct (default: 0.5.2)
pathname (default: 0.2.0)
power_assert (2.0.1)
pp (default: 0.3.0)
prettyprint (default: 0.1.1)
prime (0.1.2)
profanity_filter (0.1.1)
protobuf-cucumber (3.10.8)
pstore (default: 0.1.1)
psych (default: 4.0.3)
public_suffix (5.0.1)
puma (6.2.2)
racc (1.6.2, default: 1.6.0)
rack (2.2.7, 1.6.13)
rack-cors (2.0.1)
rack-protection (3.0.5, 2.2.0, 1.5.5)
rack-test (2.1.0, 1.1.0)
rails (7.0.5)
rails-controller-testing (1.0.5)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.6.0)
rails-jquery-autocomplete (1.0.5)
railties (7.0.5)
rake (13.0.6)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
rbs (2.0.0)
rdoc (default: 6.4.0)
readline (default: 0.0.3)
readline-ext (default: 0.1.4)
redis (5.0.6)
redis-client (0.13.0)
redis-namespace (1.10.0)
ref (2.0.0)
regexp_parser (2.8.0)
reline (0.3.1, default: 0.3.0)
resolv (default: 0.2.1)
resolv-replace (default: 0.1.0)
responders (3.1.0)
resque (2.5.0)
rexml (3.2.5)
riddle (2.4.3)
rinda (default: 0.1.1)
rouge (4.1.1)
rspec (3.12.0, 3.11.0)
rspec-core (3.12.2, 3.11.0)
rspec-expectations (3.12.3, 3.11.0)
rspec-mocks (3.12.5, 3.11.1)
rspec-rails (6.0.2)
rspec-support (3.12.0, 3.11.0)
rss (0.2.9)
ruby-debug-ide (3.0.0.beta.6.1)
ruby-vips (2.1.4)
ruby2_keywords (default: 0.0.5)
ruby_parser (3.19.0)
rubyzip (2.3.2)
rvm-capistrano (1.5.6)
sassc (2.4.0)
sassc-rails (2.1.2)
securerandom (default: 0.1.1)
selenium-webdriver (4.9.1)
set (default: 1.0.2)
sexp_processor (4.16.0)
shellwords (default: 0.1.0)
shoulda-matchers (5.3.0)
sib-api-v3-sdk (9.1.0)
simple_form (5.2.0)
simplecov (0.22.0, 0.21.2)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
sinatra (3.0.5, 2.2.0, 1.4.8)
singleton (default: 0.1.1)
skinny (0.2.4)
sms-spec (0.2.0)
sprockets (4.0.2, 3.7.2)
sprockets-rails (3.4.2)
sqlite3 (1.4.2)
sshkit (1.21.4)
ssrf_filter (1.1.1)
stimulus-rails (1.0.4)
stringio (default: 3.0.1)
strscan (3.0.4, default: 3.0.1)
sync (0.5.0)
sys-uname (1.2.3)
syslog (default: 0.1.0)
tempfile (default: 0.1.2)
temple (0.10.0)
term-ansicolor (1.7.1)
test-unit (3.5.3)
thin (1.8.2, 1.5.1)
thinking-sphinx (5.5.1)
thor (1.2.2, 0.20.3)
thread_safe (0.3.6)
tilt (2.1.0)
time (default: 0.2.0)
timecop (0.9.6)
timeout (0.3.2, default: 0.2.0)
tins (1.31.0)
tmpdir (default: 0.1.2)
tsort (default: 0.1.0)
turbo-rails (1.0.1)
twilio-ruby (6.0.1)
typeprof (0.21.1)
typhoeus (1.4.0)
tzinfo (2.0.6, 1.2.9)
uglifier (4.2.0)
un (default: 0.2.0)
uniform_notifier (1.16.0)
uri (default: 0.11.0)
vegas (0.1.11)
warden (1.2.9)
weakref (default: 0.1.1)
web-console (4.2.0)
webrick (1.8.1)
websocket (1.2.9)
websocket-driver (0.7.5)
websocket-extensions (0.1.5)
whenever (1.0.0)
will_paginate (3.3.1)
xpath (3.2.0)
yaml (default: 0.2.0)
zeitwerk (2.6.8)
zlib (default: 2.1.1)
larry@system76-pc:~/RubymineProjects/BackEnd$ 

Once again, I'm fine with the way things are. If you think your new version will solve problems then by all means focus on that.

Good luck, and thanks again!

thewilkybarkid commented 1 year ago

We're running the sj26/mailcatcher 0.9.0 Docker image, and the WebSocket itself is working, but no messages are sent. In my browser, I see the WS connection active but unused; there's nothing in the browser console; the Mailcatcher logs only have the 'SMTP: Received message from ...' messages.