Richard Hansen
2dbda3fe7e
Pad: Check nullness before checking Number.isInteger()
...
This makes it easier to troubleshoot if the value is null.
2022-04-15 23:52:16 -04:00
Richard Hansen
01ffa070ee
Pad: Only check getKeyRevisionNumber()
at key revisions
...
Checking every revision is more of a unit test than a consistency
check, and limiting checks to key revisions should improve performance
considerably.
2022-04-15 23:52:16 -04:00
Richard Hansen
fa0d77c11d
Pad: Factor out key rev atext fetch
2022-04-15 23:52:16 -04:00
Richard Hansen
7ee2141fe6
Pad: Simplify getInternalRevisionAText
2022-04-15 23:52:16 -04:00
Richard Hansen
ff494563d9
Pad: Call padCreate
, padUpdate
hooks asynchronously
2022-04-15 23:52:16 -04:00
Richard Hansen
2ca740c1db
Pad: Improve readability of appendRevision()
2022-04-15 19:14:59 -04:00
Richard Hansen
0d52f985bd
Pad: Reuse getKeyRevisionNumber
when testing if key rev
2022-04-15 19:14:59 -04:00
Richard Hansen
79e7697c1c
Pad: Simplify serialization/deserialization
2022-04-15 19:14:59 -04:00
Richard Hansen
addc019810
Pad: Use ES6 class syntax to improve readability
2022-04-15 19:14:59 -04:00
Richard Hansen
38b2ffe899
lint: Avoid snake case
2022-04-15 19:14:59 -04:00
Richard Hansen
07146591dd
Pad: Run padLoad
hook asynchronously
2022-04-08 22:04:00 -04:00
Richard Hansen
b38d66b30b
Pad: Move padLoad
hook to Pad.init()
2022-04-08 22:04:00 -04:00
Richard Hansen
f9610452cf
Pad: New padCheck
hook
2022-04-08 21:52:11 -04:00
Richard Hansen
a2460a9848
Pad: New padRemove
hook pad
context property
2022-04-08 21:52:11 -04:00
Richard Hansen
8fe779b58c
Pad: New padCopy
hook dstPad
context property
2022-04-08 21:52:11 -04:00
Richard Hansen
9cdb69c159
Pad: Rename originalPad
context property to srcPad
2022-04-08 21:52:11 -04:00
Richard Hansen
59d60480c0
Pad: Expose pad-specific database object
...
This will make it possible for plugins to add/change/delete custom
pad-specific records.
2022-04-08 21:52:11 -04:00
Richard Hansen
b733ed9ab0
Pad: Convert line endings in text from padDefaultContent
hook
2022-02-24 17:40:04 -05:00
Richard Hansen
2e0e872ae3
Pad: New padDefaultContent
hook
2022-02-19 14:55:43 -05:00
Richard Hansen
3b8549342a
Pad: Plumb author ID through mutation operations
2022-02-19 14:55:42 -05:00
Richard Hansen
5f60b3aab2
Pad: Remove unneccessary padManager.getPad()
call
2022-02-19 14:55:42 -05:00
Richard Hansen
449b972e6a
Pad: Use default parameter value
2022-02-19 14:55:42 -05:00
Richard Hansen
aec512d1fa
Pad: Rename author
context properties to authorId
2022-02-19 14:55:42 -05:00
Richard Hansen
65bd5ffa6b
Pad: Rename author
vars to authorId
for consistency
2022-02-19 14:55:42 -05:00
Dirk Jagdmann
2e4c546c7f
Pad: Add new .spliceText()
method
...
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-12-21 17:00:18 -05:00
Richard Hansen
7572040836
Pad: Simplify Pad.copy()
logic
2021-12-18 18:28:58 -05:00
webzwo0i
0040f5984e
db: await more database operations
...
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-12-18 18:23:27 -05:00
Richard Hansen
b1d0848701
Pad: Improve readability of appendText
2021-12-16 00:48:07 -05:00
Richard Hansen
a6bf7816ce
Pad: Simplify setText
2021-12-16 00:48:07 -05:00
Richard Hansen
a370cfa5c6
Pad: Don't create no-op revisions
2021-12-14 01:02:00 -05:00
Richard Hansen
56b7671422
Pad: Return new rev number from appendRevision()
2021-12-14 01:02:00 -05:00
Richard Hansen
a02e45499d
Use the new AttributeMap and Changeset APIs
2021-11-28 23:47:27 -05:00
Richard Hansen
f00b1ae89b
Merge branch 'master' into develop
2021-11-28 23:10:45 -05:00
Richard Hansen
885ff3bcde
Pad: Move padLoad
hook invocation to PadManager.js
...
This puts global state change logic with the rest of the global state
management logic. This also makes it possible to create temporary Pad
objects without triggering plugin actions.
2021-11-28 22:28:55 -05:00
Richard Hansen
f7d4abdabe
Pad: Inject the database dependency
2021-11-28 22:28:55 -05:00
Richard Hansen
7c870f8a58
Pad: Add strict validation checks
2021-11-28 22:28:55 -05:00
Richard Hansen
dab881139d
Pad: Fix copyPadWithoutHistory
apool corruption bug
2021-11-22 18:40:22 -05:00
Richard Hansen
d74dd235a4
Changeset: Replace appendATextToAssembler()
with a generator
2021-11-22 18:10:37 -05:00
Richard Hansen
9f66ffbc3b
Pad: Delete no-op call to SmartOpAssembler.appendOpWithText()
2021-11-07 22:42:31 -05: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
23037280a8
Pad: Simplify getChatMessages()
2021-11-01 01:54:28 -04:00
webzwo0i
f7f5e3dad8
setText: prevent adding useless revision in case the pad text did not
...
change
2021-10-29 02:29:45 -04:00
Richard Hansen
6f2f20233f
lint: Fix straightforward ESLint errors
2021-05-12 11:26:35 +02: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
Richard Hansen
53092fa7af
db/Pad: Call padCopy and padRemove hooks asynchronously
2021-01-28 09:36:22 +00:00
John McLear
f0c26c9ba2
lint: src/node/db/Pad.js
2021-01-25 17:56:27 -05:00
Richard Hansen
8e5fd19db2
lint: Run eslint --fix
on src/
2020-11-24 20:06:12 +00:00
chandi
94cb000e8f
plugins: include more data within padUpdate hook ( #4425 )
...
* Including more data at pad update event
* docs: new context fields in padUpdate
Co-authored-by: Pedro Beschorner Marin <pedrobmarin@gmail.com>
2020-10-21 18:04:03 +01:00
John McLear
66df0a572f
Security: FEATURE REMOVAL: Remove all plain text password logic and ui ( #4178 )
...
This will be a breaking change for some people.
We removed all internal password control logic. If this affects you, you have two options:
1. Use a plugin for authentication and use session based pad access (recommended).
1. Use a plugin for password setting.
The reasoning for removing this feature is to reduce the overall security footprint of Etherpad. It is unnecessary and cumbersome to keep this feature and with the thousands of available authentication methods available in the world our focus should be on supporting those and allowing more granual access based on their implementations (instead of half assed baking our own).
2020-10-07 13:43:54 +01:00