kentonv / etherpad-lite

Really real-time collaborative document editing for the rest of us
http://etherpad.org
Apache License 2.0
30 stars 11 forks source link

When opening Etherpad instance in two tabs, the second one disconnects #2

Open paulproteus opened 9 years ago

paulproteus commented 9 years ago

Steps to reproduce:

Expected results:

Actual results:

dwrensha commented 9 years ago

I've seen this manifest in a slightly different way. When I start two sessions with the same user, I don't see any disconnects, but edits to the document no longer get synchronized.

ar-jan commented 8 years ago

I have this issue, and would love for this to work since I often work with sessions opened from 2 computers at the same time. Currently, one of the grains will be disconnected:

You have been disconnected. The connection to the server was lost. Force reconnect

ar-jan commented 8 years ago

Does this issue require more work, or is it a matter of releasing a version with the above commit "dont allow directory traversal"?

kentonv commented 8 years ago

@ar-jan: Sorry, the "dont allow directory traversal" commit has nothing to do with this. It's a commit from upstream that happens to contain the text "#2", which github interprets as a reference to this issue.

Fixing this bug is a bit tricky. I'm actually not sure if it's even possible without major changes to Etherpad. As I understand it, normally, with non-Sandstorm Etherpad, if you open the same doc in two windows, you will appear to be two different users with different colors and possibly different names. We've hacked Etherpad on Sandstorm such that all sessions from the same user appear to be the same session, thus getting the same color and name, which seems like a big win -- but has the side effect that you can't open the same document in multiple tabs concurrently.

But it's possible that Etherpad Lite actually has some notion of users that I'm not aware of which we could be hooking into instead of using this session-based hack. I've never actually seen an Etherpad server that offered login, though.

A possible work-around is to create a share link for your pad and then open it in incognito windows. If you do this, you'll get the usual Etherpad behavior where every window is seen as a different participant.