LukeChannings/moviematch

[Bug] Safari - Not Found

Closed this issue · 10 comments

Describe the bug
On Safari receiving Not Found after engage. Working as expected on Firefox and Edge. The generate button does not work but if an existing room code is used it returns not found every time.

Using Nginx proxy manager. Proxy https://moviemanager.domain.com to http://localip:8000. Tried setting the ROOT_PATH to / but no luck.

To Reproduce
Steps to reproduce the behavior:

  1. Attempt to launch in safari.

Expected behavior
Reach the MovieMatch UI.

Just realized even taking the proxy out of the picture and going directly to 192.168.1.XXX:8000 in Safari does the same behavior. Clicking engage tries to load 192.168.1.XXX:8000/?name=John&roomCode=ROOM but the page just says Not Found

I developed MovieMatch against Safari - this isn't a Safari issue
The ROOT_PATH default is actually an empty string, not /.
Have you tried deleting the ROOT_PATH setting entirely?

Yes I started out with ROOT_PATH undefined.

Which version of Safari and macOS are you using?

No macOS, iOS 12.5.1, iOS 14.4, iPadOS 14.2.

I just rechecked all. iOS 12 (iPhone 6S) wont generate a room code and if a manual one is given does the not found after clicking engage. The other 2 (iPhone 8 and iPad Pro) will generate a room code but the engage button doesn't work/

Apparently when I try to click engage this is the error logged.

ERROR Error: request is not acceptable,
at acceptWebSocket (mod.ts:437:9),
at WebSocketServer.connect (websocketServer.ts:38:26),
at index.ts:30:11,

You shouldn't really end up with a URL that has /?name=John&roomCode=ROOM in it, so if you see that you should probably navigate back to /.

This kinda looks like a reverse proxy issue to me. What're you using for that?

NGINX Proxy Manager. Specifically the following docket image.

jc21/nginx-proxy-manager

I'm 90% sure it's the reverse proxy, I have some docs on how to correctly forward the websocket route in Nginx here, hopefully that fixes is.

Feel free to comment and I'll re-open if that doesn't work.

I've tried every which way to implement what you have for reverse proxy. I think it just a limitation of the jc21/nginx-proxy-manager I'm using but hoping someone can help me figure out how to configure it.