sj26 / mailcatcher

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

MailCatcher UI not working in 0.10.0 (when installed via homebrew) #560

Open iamstuba opened 5 months ago

iamstuba commented 5 months ago

Environment:

OS: macOS Sonoma 14.4.1 Ruby: 3.3.2 MailCatcher: 0.10.0 Browser: Google Chrome (125.0.6422.114) and Mozilla Firefox (126.0.1)

Screenshot 2024-06-04 at 11 32 39

The .js and .css files from /assets are resolving with an incorrect content-type of text/html, which prevents browsers from executing them.

This issue was not present in the 0.9.0 version of MailCatcher.

joshualip-plaudit commented 5 months ago

Were you able to find a solution? (It's happening to me as well)

iamstuba commented 5 months ago

Nope. Haven't ever written a line of Ruby, so don't really know how/where the headers are set. I'd hope/think that for anyone more familiar with Ruby and/or MailCatcher this'd be quite an easy fix.

kilis commented 5 months ago

Same issue when installed via Homebrew for version 0.10.0

iamstuba commented 5 months ago

@joshualip-plaudit @kilis, my current workaround is to just go to http://127.0.0.1:1080/messages/{X}.html where {X} is the id of the message I want to see. Not optimal, but at least I can work this way.

Wasn't able to install version 0.9.0 of MailCatcher via Homebrew for some reason.

sj26 commented 5 months ago

Hm, this is a weird one. And I can't replicate it -- for me they resolve with the correct content type:

image

including in Chrome:

image
iamstuba commented 5 months ago
mailcatcher --foreground
Starting MailCatcher v0.10.0
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080

curl -I http://localhost:1080/assets/mailcatcher.js
HTTP/1.1 404 Not Found
X-Cascade: pass
Content-Type: text/html;charset=utf-8
Content-Length: 145
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Connection: keep-alive
Server: thin

Seems like my initial report was incorrect and the assets folder isn't even exposed. I've installed MailCatcher through Homebrew.

sj26 commented 5 months ago

I've installed MailCatcher through Homebrew.

Ah, interesting. Through the tap? That hasn’t been updated in a very long time.

https://github.com/sj26/homebrew-mailcatcher

sj26 commented 5 months ago

Oh, there’s an official formula now!

https://github.com/Homebrew/homebrew-core/blob/95f7ea11c1fe7c4f65a81b5e09984cd392316bef/Formula/m/mailcatcher.rb

but it’s missing the step that compiles assets. That’s the issue.

iamstuba commented 4 months ago

Seems like the homebrew PR was automatically closed? 🤔

sj26 commented 4 months ago

Yeah. The formula is broken, but I don’t install with homebrew and don’t know how to fix it. Please help if you know how! 🙏

james-caresnap commented 3 months ago

@sj26 I opened a discussion on the homebrew github page to discuss the proper way to fix the homebrew formula.

tldr; it seems like the easiest path forward would be to add a Gemfile.lock to the mailcatcher repo. Then the formula can simply install the released gem version from rubygems.

Any particular feelings about checking in a Gemfile.lock going forward? It seems kind of pointless to me, other than to satisfy the homebrew folks. Unfortunately it lightens the burden on maintaining the homebrew formula by shifting the burden to the mailcatcher repo.

james-caresnap commented 2 months ago

@sj26 any thoughts on the above?

hermanzamula commented 1 week ago

Somebody please fix this :)

aldrienht commented 3 hours ago

Having the same issue...

sj26 commented 3 hours ago

I don’t want to add a Gemfile.lock to mailcatcher. That’s an anti pattern for gems. Mailcatcher works with a range of versions. It pushes additional maintenance burden into this repo.

Resolving a set of compatible software versions is the job of the package manager, imho.