Richard Hansen
982d8ad0f2
Changeset: Refactor `makeAttribsString` for readability
2021-11-21 04:11:41 -05:00
Richard Hansen
9e7b142bb7
Invert conditions to improve readability
2021-11-21 04:11:41 -05:00
Richard Hansen
93abc31936
changesettracker: Fix author attribute ID fetch
2021-11-21 04:11:41 -05:00
Richard Hansen
d0e74ada2f
changesettracker: Remove unnecessary `.numToAttrib` check
2021-11-21 04:11:41 -05:00
Richard Hansen
a65498e849
Changeset: Move `SmartOpAssembler.appendOpWithText()` to a standalone function
2021-11-14 04:17:00 -05:00
Richard Hansen
eae814f5a0
pad_utils: New `warnWithStack()` function
2021-11-14 04:15:10 -05:00
Richard Hansen
1bbe0d9215
Changeset: Use `in` check to help TypeScript narrowing
2021-11-13 17:44:38 -05:00
Richard Hansen
4f4a775d9e
Changeset: Improve handling of missing attribute in old pool
2021-11-13 17:44:38 -05:00
Richard Hansen
b62534a6b2
Changeset: Use Maps to simplify attribute processing
2021-11-13 17:44:38 -05:00
Richard Hansen
9401ae876b
Changeset: Sort attributes by keys, not full string rep
2021-11-13 17:44:38 -05:00
Richard Hansen
1cad5d881a
Changeset: Use `for...of` iteration to improve readability
2021-11-13 17:44:38 -05:00
Richard Hansen
6d5b737140
Changeset: Replace `.apply()` with spread operator
2021-11-13 17:44:38 -05:00
Richard Hansen
9c17b03660
Changeset: Require Op opcode and attribs to be strings
2021-11-13 17:44:38 -05:00
Richard Hansen
0ae8fb1441
Changeset: Use string concatenation instead of array join
...
People report that string concatenation is faster. Also, I think it's
more readable.
2021-11-13 17:44:38 -05:00
Richard Hansen
097f2623c6
Changeset: Add sanity checks to `slicerZipperFunc()`
2021-11-13 17:44:38 -05:00
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
Richard Hansen
085bc8cbb3
plugins: Don't create `.ep_initialized` files
...
These files cause problems with Docker images and read-only
directories/mounts, and they have dubious value (any install-time
setup should instead be done at startup).
2021-11-13 17:43:33 -05:00
Richard Hansen
0f7c5a8782
lint: Use `window.` to avoid global declaration
2021-11-12 23:45:05 -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
cc688f7367
ace: Delete dead code
2021-11-07 23:24:39 -05:00
Richard Hansen
5283bfc14a
linestylefilter: Delete unused arguments
2021-11-07 23:24:39 -05: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
b3215992c9
changesettracker: Delete IE8 compatibility code
2021-11-07 22:42:31 -05:00
Richard Hansen
ad6de52eb2
Changeset: More JSDoc comment improvements
2021-11-07 22:42:31 -05:00
Richard Hansen
56cb08f4c5
pad: Pass color and display name in `CLIENT_READY`
2021-11-05 18:14:27 -04:00
Richard Hansen
7a0d8cb52e
pad: Use URLSearchParams to process search params
...
Also unexport `getUrlVars` because it isn't used outside the file.
2021-11-05 18:14:27 -04:00
Richard Hansen
6bf8142221
chat: Translate newly created message entries
2021-11-01 04:56:46 -04:00
Richard Hansen
99b7bdd176
chat: Set timestamp CSS `font-size: smaller;`
2021-11-01 01:54:29 -04:00
Richard Hansen
51907015ed
chat: Fix gritter duration
2021-11-01 01:54:29 -04:00
Richard Hansen
23f963c9fe
chat: Improve name mention detection
2021-11-01 01:54:29 -04:00
Richard Hansen
9fbd2e5c3d
chat: New `chatSendMessage` client-side hook
2021-11-01 01:54:28 -04:00
Richard Hansen
4c2f7f9a11
chat: Rename `userId` to `authorId`, `userName` to `displayName`
2021-11-01 01:54:28 -04:00
Richard Hansen
0f47ca9046
chat: Plumb message object end to end
...
This will make it possible for future commits to add hooks that allow
plugins to augment chat messages with arbitrary metadata.
2021-11-01 01:54:28 -04:00
Richard Hansen
f1f4ed7c58
chat: Allow `chatNewMessage` hook to control rendering
2021-11-01 01:54:28 -04:00
Richard Hansen
2597b940f4
chat: Give `chatNewMessage` hook access to the raw message object
2021-11-01 01:54:28 -04:00
Richard Hansen
caac4bf711
chat: Promisify `addMessage()`
2021-11-01 01:54:28 -04:00
Richard Hansen
3f7f629eeb
chat: Scroll down after the `chatNewMessage` hook finishes
2021-11-01 01:54:28 -04:00
Richard Hansen
195a6bd81b
chat: Move click handler setup to `init()`
2021-11-01 01:54:28 -04:00
Richard Hansen
c8e0916e1a
tests: Spy on socket.io messages as early as possible
2021-11-01 01:54:28 -04:00
Richard Hansen
d36a37d666
PadMessageHandler: Delete unnecessary `protocolVersion`
...
We can assume that the client code is always in sync with what the
server expects.
2021-10-30 03:06:57 -04:00
Richard Hansen
80e84636d7
pad: Promisify `handshake()`
2021-10-29 19:38:28 -04:00
Richard Hansen
cd4f5ff281
pad: Defer message handling until handshake completes
2021-10-29 19:37:28 -04:00
Richard Hansen
be0298290d
pad: Move post-handshake code to `_afterHandshake()`
2021-10-29 19:27:33 -04:00
Richard Hansen
9fb754ce3a
pad: Initialize pad cookie before starting the handshake
2021-10-29 19:27:33 -04:00
Richard Hansen
f6c5ce606e
pad: Move UI setup from `handshake()` to `init()`
2021-10-29 19:27:33 -04:00
Richard Hansen
bd44a87388
pad: Unexport unnecessarily exported `handshake()` function
2021-10-29 19:27:33 -04:00
Richard Hansen
5cbbcbcee6
pad: Simplify reload after `.etherpad` import
...
The old "switch to pad" logic looked buggy, and it complicates pad
initialization. Forcing a refresh after importing an `.etherpad` file
isn't much of a UX downgrade.
2021-10-29 19:27:33 -04:00
Richard Hansen
e974622561
pad: Use `window.` to avoid ESLint error
2021-10-29 19:27:33 -04:00
webzwo0i
d8ca3a693d
timeslider scrollTo: fixes wrong line number calculation in case there
...
are no attribute changes and no length changes
2021-10-29 02:38:29 -04:00
Richard Hansen
de3dfb5ce2
AttributePool: Add JSDoc comments
2021-10-24 21:18:56 -04:00
Richard Hansen
c98b521539
AttributePool: Use ES6 class syntax
2021-10-24 21:18:56 -04: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
788eb86d84
Ace2Inner: Inline code that is unnecessarily inside an IIFE
2021-10-07 19:53:40 -04:00
Richard Hansen
4890cd8972
Ace2Inner: Delete completed TODO comment
2021-10-07 19:53:40 -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
John McLear
c361df52d2
bugfix: Allow selection to start/end before line marker
2021-10-02 02:41:58 -04:00
Richard Hansen
37a33042d2
ace2_inner: Improve rep documentation
2021-10-02 02:10:07 -04:00
webzwo0i
4d8ae3475d
Changeset: Add documentation for `textLinesMutator()`
2021-09-30 12:29:24 +02:00
Richard Hansen
4d2839457a
CSS: Fix underscore and clear authorship icon alignment
2021-09-26 12:07:56 +02:00
Richard Hansen
7dbd278d1d
deps: Bump js-cookie to 3.0.0
2021-08-29 23:36:48 -04:00
Richard Hansen
0d65dc8a44
pad: Add `clientVars` to `postAceInit` hook context
...
This allows plugins to avoid the `clientVars` global variable.
2021-08-25 14:59:17 -04:00
Richard Hansen
fed950e809
ace2_inner: Simplify handler for Ctrl-@ (show authors)
2021-08-16 00:34:30 -04:00
Richard Hansen
88057eade2
ace2_inner: Readability improvements
2021-08-16 00:34:30 -04:00
Richard Hansen
bc6428025a
ace2_inner: Use for..of iteration to improve readability
2021-08-16 00:34:30 -04:00
Richard Hansen
f06307cb4c
ace2_inner: Fix for..in iteration
...
See commit c38c34bef4
.
2021-08-16 00:34:30 -04:00
Richard Hansen
2d50a8aa95
ace2_inner: Fix efficiency of `rangeForLine()`
...
Returning `true` or `false` has no effect when iterating using
`Array.prototype.forEach`. This fixes a bug introduced in commit
b28bfe8e31
.
2021-08-16 00:34:30 -04:00
Richard Hansen
ca2e008e7b
ace2_inner: Move variable declarations to appropriate scope
2021-08-16 00:34:30 -04:00
Richard Hansen
bf10e70f2e
ace2_inner: Delete unnecessary `currentLine` variable
2021-08-16 00:34:30 -04:00
Richard Hansen
9fc613d362
ace2_inner: Delete unnecessary checks
2021-08-16 00:34:30 -04:00
Richard Hansen
a5f9c60a34
ace2_inner: Operate on Elements, not Nodes
2021-08-16 00:34:30 -04:00
Richard Hansen
aad75e4661
ace2_inner: Factor out duplicate line number div creation
2021-08-16 00:34:30 -04:00
Richard Hansen
3237f8d123
ace2_inner: Simplify iteration over line number divs
2021-08-16 00:34:30 -04:00
Richard Hansen
b238d9610a
ace2_inner: Factor out duplicate line height application
2021-08-16 00:34:30 -04:00
Richard Hansen
1b890e3d4d
ace2_inner: Replace `lineNumbersShown` with number of children
2021-08-16 00:34:30 -04:00
Richard Hansen
27363bf729
ace2_inner: Add line number divs directly, not via fragment
...
There's no layout thrashing so the fragment doesn't provide any
benefit.
2021-08-16 00:34:30 -04:00
Richard Hansen
e1a024847c
ace2_inner: Delete unnecessary `innerdocbody` variable
2021-08-16 00:34:30 -04:00
Richard Hansen
7d807d2fc5
ace2_inner: Delete unnecessary `container` variable
2021-08-16 00:34:30 -04:00
Richard Hansen
4b4584c264
ace2_inner: Delete unnecessary `doc` and `root` variables
2021-08-16 00:34:25 -04:00
Richard Hansen
ec63c15a40
ace2_inner: Simplify document body selection
2021-08-16 00:31:09 -04:00
Richard Hansen
11c86e677a
ace2_inner: Consistently use `outerWin` and `outerDoc`
2021-08-16 00:31:09 -04:00
Richard Hansen
98c1ba5808
ace2_inner: Use destructuring assignment to simplify
2021-08-16 00:31:09 -04:00
Richard Hansen
c7be4f9d2d
ace2_inner: Move `sidedivinner` creation to ace.js
2021-08-16 00:31:09 -04:00
Richard Hansen
15b1d4cb75
ace2_inner: Build `sidedivinner` programmatically
2021-08-16 00:31:09 -04:00
Richard Hansen
b80295c228
ace2_inner: Combine declaration and initialization
2021-08-16 00:31:09 -04:00