Hi SMC Users/devs, Today -- motivated by a challenge from a c9.io developer at a recent meetup in Seattle -- I finally implemented multi-user sync-aware full document undo/redo, at least for code editors, sage worksheets, and Jupyter notebooks. If you've ever edited a file, worksheet, or Jupyter notebook at the same time as somebody else, and you hit control+z (or click undo) right after *they* type something, you would have undid *their* last thing. That's because the undo/redo would use the underlying Codemirror editor's undo/redo functionality. I wrote a new implementation of undo/redo built on top of the realtime multiuser sync functionality. Instead of undoing the last change (or changes if you undo or redo multiple times) to the document, it undoes *only* the changes that you made during this session.
For Jupyter notebooks in SageMathCloud this has an interesting side effect. Vanilla Jupyter itself doesn't have any global undo -- instead they have a local undo in each cell, which you could only use via the keyboard and. With this change, now Jupyter notebooks in SMC have a global undo: make some changes in any cell(s), move cells around, delete cells, etc., then click undo/redo or use the keyboard to undo/redo, and the undo should undo everything you actually did across all cells. -- William -- Best Regards, William Stein CEO, SageMath, Inc. -- You received this message because you are subscribed to the Google Groups "sage-cloud" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-cloud/CA%2BjwZMjxTxRNo_pONQwC1ogOh_dsfeYcagQ-6pX9uKa%3DJHZ0uw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
