6

Since the redesign of the top bar, it appears the chat room link next to a site no longer goes to that site's chats. For instance, this link:

physics chat link

should go to something like https://chat.stackexchange.com/?tab=site&sort=people&host=physics.stackexchange.com, but it just goes to https://chat.stackexchange.com/ instead.

7
  • It still works for you though, right? I mean, following that link just shows you the physics chat rooms? Because that's how it's supposed to work.
    – Shog9
    Commented Mar 21, 2014 at 22:22
  • 1
    @Shog9: No. No matter which site I click from, the link goes to chat.stackexchange.com, which shows all the chat rooms for all the sites, listed by most active, starting with Motor Vehicle Maintenance, Mathematics, Arqade, Raspberry Pi, etc.
    – endolith
    Commented Mar 22, 2014 at 0:26
  • @Shog9: Aha. It works with HTTPS Everywhere disabled, but not when enabled.
    – endolith
    Commented Mar 22, 2014 at 1:00
  • Same thing with regular http these days. @Shog9 should this be fixed, should I open a new post?
    – Raphael
    Commented Feb 8, 2015 at 16:20
  • Open a new bug, @Raphael - be sure to include the browser and OS you're using.
    – Shog9
    Commented Feb 9, 2015 at 17:42
  • @Shog9 Done, thanks.
    – Raphael
    Commented Feb 10, 2015 at 14:35

2 Answers 2

5

Looks like the chat.stackexchange.com is trying to do some magic referrer sniffing to detect the site you're coming from. Alas, this doesn't work if you were using HTTPS, since browsers don't send referrer info when following an HTTP link from an HTTPS page.

Using a protocol-relative link to chat, so that chat would also be loaded over HTTPS, would be the optimal solution. Unfortunately, SE chat still breaks horribly over HTTPS, so that's not practical at the moment.

An alternative work-around is to inject the missing parameters back into the link on pages loaded over HTTPS, e.g. like this:

if ('https:' != location.protocol) return;
$('.siteSwitcher-dialog a[href="http://chat.stackexchange.com"]').attr(
    'href', 'http://chat.stackexchange.com/?tab=site&host=' +
        location.hostname.replace(/(^|\.)meta\./, '')
);

Ps. While waiting for a proper fix, I have included this workaround in SOUP v1.12.

2
  • For me, neither the original "magic" nor your fix work with regular http.
    – Raphael
    Commented Feb 8, 2015 at 16:21
  • Update: SE chat nowadays does work over HTTPS (yay!), so this specific fix is no longer necessary; simply fixing the chat links to use HTTPS is sufficient. Commented Jul 16, 2015 at 21:47
0

So what's the difference? The first link just has a query string attached. The second one doesn't. The server might not need that query string anymore. So they removed it.

The site is the same, you can see for the URL: https://chat.stackexchange.com there you can go to the site itself.

FYI, even with the query string attached, it won't go to the specific site chat.

1
  • Oops, sorry, I updated the link
    – endolith
    Commented Mar 21, 2014 at 21:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .