Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
iamstuba opened this issue Jun 4, 2024 · 14 comments
Open

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

iamstuba opened this issue Jun 4, 2024 · 14 comments

Comments

@iamstuba
Copy link

iamstuba commented Jun 4, 2024

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.

@iamstuba iamstuba changed the title MailCatcher UI not working MailCatcher UI not working in 0.10.0 Jun 4, 2024
@joshualip-plaudit
Copy link

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

@iamstuba
Copy link
Author

iamstuba commented Jun 5, 2024

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
Copy link

kilis commented Jun 6, 2024

Same issue when installed via Homebrew for version 0.10.0

@iamstuba
Copy link
Author

iamstuba commented Jun 10, 2024

@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
Copy link
Owner

sj26 commented Jun 10, 2024

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
Copy link
Author

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
Copy link
Owner

sj26 commented Jun 11, 2024

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
Copy link
Owner

sj26 commented Jun 11, 2024

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.

sj26 added a commit to sj26/homebrew-core that referenced this issue Jun 12, 2024
Without this step the user interface does not function because the
javascript and stylesheets are not compiled or included, so cannot be
served to browsers.

See sj26/mailcatcher#560
@iamstuba
Copy link
Author

Seems like the homebrew PR was automatically closed? 🤔

@sj26
Copy link
Owner

sj26 commented Jul 15, 2024

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! 🙏

@sj26 sj26 changed the title MailCatcher UI not working in 0.10.0 MailCatcher UI not working in 0.10.0 (when installed via homebrew) Jul 31, 2024
@james-caresnap
Copy link

@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
Copy link

@sj26 any thoughts on the above?

@hermanzamula
Copy link

Somebody please fix this :)

@sj26
Copy link
Owner

sj26 commented Nov 28, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants