Thanks for an answer, raggi, but using latest version from sinatra/sinatra repo(master branch) and rack versions 1.4.3 and 1.4.2, didn't solve this issue. But, yes, looks like the problem not in rack. Version 1.4.2 and 1.4.3 of rack containts security fixes, so, looks like, sinatra should be fixed due to latest changes in rack.
четверг, 10 января 2013 г., 4:21:49 UTC+2 пользователь raggi написал:
https://github.com/sinatra/sinatra/issues/606

https://github.com/sinatra/sinatra/pull/603

On Jan 9, 2013, at 6:22 AM, Ivan Aleksandrovich <inta...@gmail.com> wrote:

Hi there. I want to notice that after updating rack version from 1.4.1 to 1.4.3 the simple implementation of SSE stoped working for me(see application example in the attachment).
Gem list when that example works:

bundler (1.2.2)
daemons (1.1.8)
eventmachine (0.12.10)
haml (3.1.7)
rack (1.4.1)
rack-protection (1.2.0)
rake (10.0.2)
rubygems-bundler (1.1.0)
rvm (1.11.3.5)
sinatra (1.3.3)
thin (1.5.0)
tilt (1.3.3)

Gem list when that example doesn't work:
bundler (1.2.2)
daemons (1.1.8)
eventmachine (0.12.10)
haml (3.1.7)
rack (1.4.3)
rack-protection (1.2.0)
rake (10.0.2)
rubygems-bundler (1.1.0)
rvm (1.11.3.5)
sinatra (1.3.3)
thin (1.5.0)
tilt (1.3.3)

My environment:
 - Ruby version is ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]
 - Ubuntu 12.04 (precise) 64-bit, Linux 3.2.0-35-generic, GNOME 3.4.2
 - Firefox 18.0
What do I mean by SSE doesn't work? - It tries to reconnect forever(with delay of a few seconds which is default for EventSource implementation - see http://www.w3.org/TR/eventsource/#the-eventsource-interface for me info, reconnection time option). You may see these reconnection retries in server logs or by opening "Network" tab in firebug