I faced this issue a few weeks back and was able to resolve it in the following manner.
The mailcatcher gem as of writing this depends on thin-1.5.1 which doesn’t install correctly.
Now, if you face the issue, uninstall the thin gem. Then,
do
Discourse actually is very happy to fund up to say $3000 dollars for a mailcatcher rewrite/fork that junks event machine and replaces it with @ioquatixasync and family instead. (and allowing this to work with say puma instead of thin)
At the moment mailcatcher is stuck on an old version of event machine, and the community has mostly moved on from using event machine.
If you or anyone is interested contact me via a PM.
End result of the work is
Remove mailcatcher gem
Add new gem to Discourse
Everything works exactly the same dev wise as it used to
Also prior to forking the gem I would recommend a PR to mailcatcher the de-event machines it… and to discuss with the maintainer.
Hiya! I’m the maintainer of mailcatcher. I’ve had my eye on moving to async for quite a while because there are several systemic problems rooted in eventmachine holding the gem back which async would solve. There are event a couple of sandbox async branches. But it’s also worked well enough in its current form and so it’s never been worthwhile to invest in the rewrite. Operating system and Ruby changes are becoming a forcing function, though, and so if somebody has time and capability to tackle the refactor to async then I’d support such an effort. Happy to discuss via email, PM, or on GitHub.