Commit graph

74 commits

Author SHA1 Message Date
Richard Hansen
efeb69b4ea Changeset: Simplify slicerZipperFunc() 2021-11-13 17:44:38 -05:00
Richard Hansen
42d4d8269c Changeset: Refactor appendATextToAssembler() for readability 2021-11-13 17:44:38 -05:00
Richard Hansen
ca5bdddc59 Changeset: Use break instead of done variable 2021-11-13 17:44:38 -05:00
Richard Hansen
44d99733c6 Changeset: Check .hasNext() before calling .next() 2021-11-13 17:44:38 -05:00
Richard Hansen
1955e7b263 Changeset: Replace output params with return values
This improves readability and reduces the chances of introducing a
bug.
2021-11-13 17:44:38 -05:00
Richard Hansen
94f5507671 Changeset: Improve copyOp() API
Use `Object.assign()` to implement `copyOp()`, which simplifies the
code and provides a return value. Also make the second op optional.
2021-11-13 17:44:38 -05:00
Richard Hansen
02ef78e174 Changeset: Make sure opOut is cleared
`slicerZipperFunc()` previously assumed the provided `opOut` argument
was a null Op. Enforce this by clearing it at the beginning.
2021-11-13 17:44:38 -05:00
Richard Hansen
18a6b7279c Changeset: Only pass strings to parseNum() 2021-11-13 17:44:38 -05:00
Richard Hansen
7ec0d5f385 Changeset: Remove unnecessary linesApplySplice() 2021-11-13 17:44:38 -05:00
Richard Hansen
37bb297e76 Changeset: Improve logged error message
I saw this on a production system today and wanted more information.
2021-11-13 17:44:38 -05:00
Richard Hansen
7fa9b07116 Changeset: Invert conditions to improve readability 2021-11-13 17:44:38 -05:00
Richard Hansen
b29e59419e Changeset: Factor out duplicate code 2021-11-13 17:44:38 -05:00
Richard Hansen
4a65c2c8ff Changeset: Unexport unnecessarily exported functions
These functions aren't used outside of this file.
2021-11-13 17:44:38 -05:00
webzwo0i
8b73b911c9 Changeset: Use string templates
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-11-09 01:05:53 +01:00
Richard Hansen
dd8ec4e291 Changeset: Remove unused lastIndex() method from op iterator 2021-11-07 23:24:39 -05:00
Richard Hansen
0fd2a46783 Changeset: Remove unused start index parameter for opIterator() 2021-11-07 23:24:39 -05:00
Richard Hansen
43dae4cb1d Changeset: Delete unused index parameters in applyZip() 2021-11-07 23:24:24 -05:00
Richard Hansen
ad6de52eb2 Changeset: More JSDoc comment improvements 2021-11-07 22:42:31 -05:00
webzwo0i
bbc8b29ffd Changeset: Improve JSDoc comments
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-10-24 21:18:56 -04:00
Richard Hansen
044f6543a5 lint: Fix ESLint errors (mostly camelcase warnings) 2021-10-07 19:53:40 -04:00
Richard Hansen
34cfff4e4c Changeset: Delete unused code 2021-10-07 19:53:40 -04:00
Richard Hansen
eb495e9ea2 Changeset: Move out obsolete code 2021-10-07 19:53:40 -04:00
webzwo0i
4d8ae3475d Changeset: Add documentation for textLinesMutator() 2021-09-30 12:29:24 +02:00
Richard Hansen
ab4e99f67a editor: Delete commented-out code 2021-05-03 01:42:03 -04:00
Richard Hansen
b9753dcc71 Changeset: Return a new op object by default when iterating
Reusing the same op object for each iteration can result in very weird
behaviors because previously yielded op objects will get a surprise
mutation.

It is unclear why the code was written to reuse the same object. There
was no comment, nor is there a commit message providing rationale (it
has behaved this way since the very first commit). Perhaps the objects
were reused to improve performance (fewer object allocations that need
to be garbage collected). I do expect this change to reduce
performance somewhat, but not enough to warrant reverting this commit.
2021-03-29 18:42:55 -04:00
webzwo0i
8e2a21ec84
arrow functions dont have arguments (#4943) 2021-03-12 14:25:14 -05:00
John McLear
ce83181ac3
Lgtm bugfixes (#4838)
* code tidy up: always evaluates

* tidy up: is always true

* tidy up: remove unused code

* always true/false variables

* unused variable

* tidy up: remove unused code in caretPosition.js

* for squash: Revert "tidy up: remove unused code in caretPosition.js"

The `if` condition was previously always true, so the body should be
preserved. If the body is preserved, other logic can be deleted. I
opened PR #4845 to clean it all up.

This reverts commit 75b03e5a7d.

* for squash: simplify

* for squash: Explain that the getter is used for its side effects

It's very weird to call a getter without using its return value. Add a
comment explaining why this is done so that the reader doesn't get
confused.

* for squash: Revert "tidy up: remove unused code"

The exception test was the purpose of the code.

This reverts commit 85153b1676.

* for squash: Log the tsort results

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-02-22 08:26:35 +00:00
John McLear
2511eed472 lint: Changeset.js more literal conditionals 2021-02-21 11:05:25 +00:00
John McLear
3b5b996d84 lint: Changeset no var 2021-02-21 11:05:25 +00:00
John McLear
0b78ad2f90 lint: Changeset.js curly braces in correct position 2021-02-21 11:05:25 +00:00
John McLear
23d7544763 lint: Changeset.js max-len 2021-02-21 11:05:25 +00:00
John McLear
98a0e76a20 lint: Changeset.js opcode eqeqeq checks 2021-02-21 11:05:25 +00:00
John McLear
d91f2b5b07 lint: Changeset.js additional arrow functions 2021-02-21 11:05:25 +00:00
John McLear
acccf56724 lint: Changeset.js arrow-functions 2021-02-21 11:05:25 +00:00
Richard Hansen
8e5fd19db2 lint: Run eslint --fix on src/ 2020-11-24 20:06:12 +00:00
John McLear
452db293b0 changeset.js: do not lose sync in the timeslider if another user deletes text
If a user deleted text/attributes while another one had the timeslider open,
the timeslider lost sync and spit out errors.

Fixes #3932.
2020-04-27 02:12:17 +02:00
John McLear
babf67175c undomodule: disallow undoing "clear authorship colors"
Clearing the authorship colors of a document with at least two authors, and then
undoing that action caused a disconnect from the pad.
This change disallows undoing clearing authorship colors in order to prevent
the problem from affecting users, and adds the relative test coverage.

This is a change of behaviour, and is documented in the changelog.

Fixes #2802 (sidestepping it).
2020-04-08 15:20:37 +02:00
muxator
dc7e49f89d Remove trailing whitespaces
Hoping to minimize future diffs. Not touching vendorized libraries.
2019-04-16 00:34:29 +02:00
Francois Cassin
2bd698343a Protects against a null atext in cloneAText 2015-11-10 16:21:43 +01:00
Xavid
5e64c292a4 When using setText(), replace the entire existing text of the pad,
rather than replacing all except the last letter.
2015-05-05 14:18:27 -04:00
webzwo0i
c9a5167b41 throw in applyToText and not in applyToAText 2015-02-16 06:27:18 +01:00
webzwo0i
83e1bf0dc4 add semicolons 2015-02-16 03:33:57 +01:00
webzwo0i
440f74b2c1 we do not have the text/padid, but at least we can print the changeset 2015-02-15 15:47:45 +01:00
webzwo0i
b9dd983f81 print the actual text... 2015-02-15 15:27:27 +01:00
webzwo0i
c6ef7f4867 string concat, not multiple arguments... 2015-02-15 15:26:07 +01:00
webzwo0i
1f6a9afae4 better error message 2015-02-15 15:23:43 +01:00
webzwo0i
e7f01fa498 remove unnecessary code; because we have checks in every op now we don't
need this anymore
2015-02-15 15:12:24 +01:00
webzwo0i
ac2c7e9679 add newline counting for - and + op 2015-02-15 15:09:38 +01:00
webzwo0i
b4d4b16b1f off by 1 2015-02-15 14:56:20 +01:00
webzwo0i
4313bd27f8 add a comment to make clear that the string in stringIterator
does not change; only curIndex is increased. Newlines are counted
between curIndex and the end of string.
2015-02-15 13:25:57 +01:00