Ok heres a test script. Have a couch serving localhost:5984 in admin party mode.
git clone https://github.com/snbartell/couch-es-test.git cd couch-es-test npm install node index.js My theory of a second source crashing couch was wrong. I think I know whats going on. My script above acts just like the browser does. When the `timeou`t is reached and `heartbeat` !== `timeout`, the EventSource module (whether its the browser or the node package) will restart the feed. This is why every `timeout` ms the feed __appears__ to by dumping all the docs since `since`. curling works fine. Try this after running the above script and leaving the test db in place. I expect this behavior. curl "http://localhost:5984/source1/_changes?since=2&feed=continuous&timeout=5000&heartbeat=5000" So then it comes to using this in Chrome console. If you go to the couch you ran the script against, open the console, and paste the following: var source1 = new EventSource('/source1/_changes?feed=eventsource&timeout=5000&heartbeat=5000') Watch the Network panel. It looks like EventSource does not pass the query params. I'm probably being an idiot and not calling it correctly. I googled around and couldn't find the api. Does someone have a link? Still though, if I call EventSource without `timeout` and `heartbeat`, then couchdb will use the defaults of 60000 each. Then, with `timeout` === `heartbeat`, the connection should be kept alive, right? Thanks guys, Stephen On Apr 16, 2013, at 11:17 PM, Stephen Bartell <[email protected]> wrote: > > On Apr 16, 2013, at 11:13 PM, Benoit Chesneau <[email protected]> wrote: > >> On Wed, Apr 17, 2013 at 7:55 AM, Stephen Bartell <[email protected]> wrote: >>> >>> But for what I was doing, no, I wasn't specifying since. I would expect >>> the fundamentals to be the same as well. What I was see is that even >>> without `since` given, no changes would come through until that second >>> source was added. Once the second source is added, then all sources >>> periodically dump. >>> >> >> Hi Stephen, >> >> Can you provide a clear way to reproduce what you're doing and the >> result you're expecting. It's not clear for me right now if you : > > Yep, Im actually working on it now :) > >> >> 1. the reauest results when giving the since parameter without any >> changes , did you try using curl? > no. I only did it from the browser console. > >> 2. If it's a javascript error > nope. its a couch thing. > >> 3. ? >> >> - benoit >
