What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 133 Stack Exchange communities.

Using FF5.0 on Linux, I get three beeps when I get a message on chat.

Fortunately, I found Suggest message beeps, blips and boops for the third place (the chat) which contained the fantastic "answer" by Lance Roberts: "Please allow us to turn them off".

Nonetheless, although I am now basking in blessed silence, some might prefer a compromise between the sound of silence and the triple beeps that drove me to that dire straight, so I'm reporting the triple here in case anyone wishes to fix it.

share|improve this question
    
So your computer is having POST beep related issues? –  random Jun 24 '11 at 20:25
1  
I think you need an extra beep on your title. –  ughoavgfhw Jun 24 '11 at 20:29
    
Robert: Thanks for fixing the scansion. That solution didn't occur to me. @random: Sadly, yes. If this doesn't work then I'm sending it to therapy (charged to SE of course). –  Loop Space Jun 24 '11 at 20:30
    
For the old timers, the only valid answer should be 7. –  Toon Krijthe Jun 24 '11 at 20:37

2 Answers 2

up vote 5 down vote accepted

tl;dr: Fixed now.

If you're interested, here's the reason why this was broken:

If you have several tabs open, chat uses the browser's localStorage to have the tabs communicate with each other. This functionality is completely optional; chat works without it – but you have a few disadvantages when the localStorage isn't available. The biggest one being that each of the tabs has to talk to the server, while with localStorage available, only one of the tabs polls and just sends the data it received to the other ones.

A smaller, but still nice, benefit of having the tabs talk to each other is that you don't get the triple beep that you're reporting.

The code that makes the tabs talk to each other had a shortcut functionality that used the storage event's storageArea property (if available) to check if it even was the localStorage that fired the event. If event.storageArea !== window.localStorage, it could return immediately, because the event wasn't interesting.

When this code was created, only the WebKit browsers supported the .storageArea attribute. However, with the release of Version 4, FireFox started supporting it as well. And unlike Chrome, it behaves correctly according to the specification:

Each Document object must have a separate object for its Window's localStorage attribute.

So when FireFox started supporting this, the fact that our code relied on Chrome's broken behavior caused the communication to break for FF: Since event.storageArea !== window.localStorage is always true (because the tab that sent the data and the tab that received the data have different localStorage objects), the shortcut was taken, so in effect no communication took place between the tabs.

We have removed the check (it's not reliably possible, and it was never very important in the first place), so FireFox tabs can once more talk to each other. As a side effect, you won't get multi-beeps anymore.

share|improve this answer
    
I just lived with the multi-beeps assuming it was just one of those things, I hadn't realised modern browser technology was getting so posh and shiny. Good stuff! :) –  DMA57361 Jun 27 '11 at 12:21

How many tabs do you have open pointing to a chat room? I'm suspecting three.

I'm on FF 5.0 (4.01 until very recently) on Win 7 and have my "beeper" setting on when mentioned, and I always receive one beep for every tab I have open that points at a chat room whenever someone @s me.

share|improve this answer
    
Did this also happen with FF4? Have you deactivated the DOM storage by any chance? –  balpha Jun 24 '11 at 23:39
    
@balpha yes, and not that I'm aware of. –  DMA57361 Jun 25 '11 at 7:46
    
I think I did have three open. That explains it. –  Loop Space Jun 25 '11 at 12:43

You must log in to answer this question.

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