pusher / atom-pair

An Atom package that allows for epic pair programming
MIT License
1.45k stars 28 forks source link

[WIP] Message Queuing System #64

Closed jpatel531 closed 9 years ago

jpatel531 commented 9 years ago

Initially the multi-tab sync system was meant to apply to any new files added to the session. But #58 and #62 showed me that people wanted to share already-open files, which is perfectly reasonable.

Having attempted to make SharePane objects of existing active editors, I came across rate-limiting issues. Previously queueing systems applied for things like super-fast typing or large file sharing, but now there is a global MessageQueue object. This should ensure that nobody should go out of sync because of rate limiting issues, e.g. when they have lots of large files open and then start a sharing session.

In addition to this, customPaste - which threw issues #63 and #48 - has been ditched and its responsibilities assigned to the global queue.

Still a work in progress as I try to flesh out edge cases.

jpatel531 commented 9 years ago

Still yet to solve the root issue of #58 and #62 - which is why a TextBuffer should be null, whereas the package should ensure a TextEditor for each SharePane. This, however, addresses the circumstance which users said gave rise to those issues.