Website not working with certain Accept-Language header

Certain pages on the website do not load correctly for me. Major examples:

  1. When opening https://delta.chat the server returns a 403 Forbidden error. (Note: Going directly to https://delta.chat/en/ works fine and the website in general can be used without problems.)

  1. Opening https://delta.chat/download does not work correctly, but this time a 404 Not Found error is returned by the server.

I’m experiencing the same issues on other operating systems and across devices. Also regardless of my network. I tried with my regular home internet connection from a major German ISP, through several different “private VPN company” networks, my university’s network, my work place’s network etc. and the result was completely the same every time.

Then I noticed that in my other browser the websites DO work. So I looked at the headers in the Network tab. Apparently Accept-Language: ja leads to the pages not loading correctly. But in my other browser I had also set up English so that a header Accept-Language: ja,en;q=0.9 was sent and this worked.

I think regardless of this header, the websites should load correctly. I’m not sure if it affects only Japanese, but the main page not loading correctly because of this might confuse a lot of international users.

1 Like

Because I was curious I tested all language codes and it seems like if the Accept-Language header doesn’t explicitly list one of these languages, the website will fail to load correctly (including wildcard * does not work on its own).

ca, cs, de, en, es, fr, gl, id, it, nl, pl, pt, ru, sq, tr, uk

Unsupported languages should probably just fallback to English, especially if the wildcard is being sent. It does successfully redirect to /en/ when no Accept-Language header is sent at all, so it seems like this was supposed to be how it works.

I reported these two issues at GitHub being unaware of this forum thread

Hi, sorry that this took so long, but I think we finally fixed this. Can you check if it works again?

btw, we now have a test script for certain Accept-Language headers: sysadmin/test-redirects.py at master · deltachat/sysadmin · GitHub

I added ja and ja,en;q=0.9 to the script, but if you come across other Accept-Language headers which don’t work yet, let me know so we can add them to the test script.