Open maxbrunsfeld opened 7 years ago
Whoa! Thanks for offering help! This is actually a hackathon project and is not aimed at long-time maintenance. But your positive offer hit me and I will try to upgrade that plugin to be compatible with the newest version of atom in the coming months. p.s. I'm wondering how do you find me. Are you applying some sort of scan and check method on all of the atom plugin repos? I'm really curious XD
Hi! Thanks for maintaining the collaboratom package!
In Atom v1.23, we will some changes that may affect your package.
The methods
TextEditor.onDidChange
andTextBuffer.onDidChange
will now call their callbacks less frequently. Previously, these callbacks would get called once for each individual change to the buffer. So if you had 5 cursors and typed a character, they would get called 5 times. Now, they will only get called once, and the event that is passed to them will contain information about all 5 of the changes that have occurred.The same properties that have always existed on the
TextBuffer.onDidChange
events (oldRange
,newRange
,oldText
, andnewText
) will still be there, and they will now reflect the sum of all changes that have occurred. But now there will be an additional property calledchanges
, which will contain an array of more fine-grained objects describing the individual changes. We encourage you to use this property instead of the old ones.Effects on this package
It looks like this package calls the changed methods in the following places:
TextBuffer.onDidChange
We found these calls using a regex search, so this list might be incomplete, and it might contain some false positives.
What to do about the change
It is likely that you do not need to do anything. The old event properties will continue to work.
However, you may be able to handle changes more accurately and efficiently by using the
changes
field of the events rather than the old properties. Thechanges
field does not exist in Atom 1.22 unless you use theTextBuffer.onDidChangeText
method. In Atom 1.23 and above though,.onDidChange
and.onDidChangeText
will become identical, having both the old properties and the newchanges
property.Please let me know if you have any questions. I would be happy to help!