Commit graph

38 commits

Author SHA1 Message Date
Richard Hansen
19909eae53 ImportEtherpad: Rigorously check imported data 2021-11-28 22:28:55 -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
John McLear
3ed4ac649c lint: PadManager.js 2021-02-21 21:02:59 -05:00
freddii
ea202e41f6 docs: fixed typos 2021-02-03 00:30:07 +01:00
John McLear
e06b9442e0 lint: src/node/db/PadManager.js 2021-01-25 17:56:28 -05:00
Richard Hansen
8e5fd19db2 lint: Run eslint --fix on src/ 2020-11-24 20:06:12 +00:00
Richard Hansen
7df3ded66f lint: Put opening brace on same line as function
Normally I would let `eslint --fix` do this for me, but there's a bug
that causes:

    const x = function ()
    {
      // ...
    };

to become:

    const x = ()
    => {
      // ...
    };

which ESLint thinks is a syntax error. (It probably is; I don't know
enough about the automatic semicolon insertion rules to be confident.)
2020-11-24 20:06:12 +00:00
Richard Hansen
3365e944bf async-ify more functions, and await completion
Where feasible I put the await at the end of the function to
minimize the impact on latency.

My motivation for this change: Eliminate a race condition in tests I
am writing.
2020-09-22 14:10:44 +01:00
Chocobozzz
963d12e614 PadManager: use a set instead of an array in padlist
Avoid looping on the array, especially useful if you have many pads.

--HG--
branch : padlist-use-set
2020-04-09 03:39:32 +02:00
Chocobozzz
94ff21e25c PadManager: anchor the addPad regex to the start of the string
This improves the performance a bit, and is more adherent to the logic of the
application.

--HG--
branch : padlist-use-set
2020-04-09 03:39:32 +02:00
Ray Bellis
6d1b6b2796 db/Pad.js: convert to promises/async
Also updated some small chunks of dependent code that couldn't be converted
until this one had been done.
2019-01-31 11:14:38 +00:00
Ray Bellis
bbe4a5f756 db/PadManager.js: more conversion to Promises/async 2019-01-28 16:20:30 +00:00
Ray Bellis
eedae98e2f db/PadManager.js: convert sanitizePadId() to Promises
The function is now iterative rather than recursive.
2019-01-25 15:15:16 +00:00
Ray Bellis
bf9e3f92b5 db/PadManager.js: renamed doesPadExists() -> doesPadExist()
Removed the 's' for consistency with the other `doesFooExist()` manager calls.
Retained an alias for plugins that might be using it.
2019-01-25 15:05:12 +00:00
Ray Bellis
17fe32ec0c start using "thenify" to support callback and promises
PadManager.sanitizePadId() can't use thenify: single arg callback
2019-01-21 16:28:05 +00:00
muxator
9497ee734f prepare to async: trivial reformatting
This change is only cosmetic. Its aim is do make it easier to understand the
async changes that are going to be merged later on. It was extracted from the
original work from Ray Bellis.

To verify that nothing has changed, you can run the following command on each
file touched by this commit:
  npm install uglify-es
  diff --unified <(uglify-js --beautify bracketize <BEFORE.js>) <(uglify-js --beautify bracketize <AFTER.js>)



This is a complete script that does the same automatically (works from a
mercurial clone):

```bash
#!/usr/bin/env bash

set -eu

REVISION=<THIS_REVISION>

PARENT_REV=$(hg identify --rev "${REVISION}" --template '{p1rev}')
FILE_LIST=$(hg status --no-status --change ${REVISION})
UGLIFYJS="node_modules/uglify-es/bin/uglifyjs"

for FILE_NAME in ${FILE_LIST[@]}; do
  echo "Checking ${FILE_NAME}"
  diff --unified \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${PARENT_REV}" "${FILE_NAME}")) \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${REVISION}"   "${FILE_NAME}"))
done
```
2019-02-08 23:20:57 +01:00
muxator
4728736dd8 db/PadManager: early return, no functional changes 2018-08-29 01:47:38 +02:00
muxator
ecb0c41d29 db/PadManager: early return, no functional changes 2018-08-29 01:46:18 +02:00
muxator
12f224ae72 db/PadManager: early return, no functional changes 2018-08-29 01:44:13 +02:00
Marcel Klehr
8ab2442cc9 Update padList correctly
fixes #1971
2013-11-01 14:16:26 +01:00
Marcel Klehr
22b0bafafd Pad list cache: You can't change the cache if it's not initiated
(as per 200f250717 - doh.)
2013-10-14 18:20:24 +02:00
Marcel Klehr
200f250717 You don't need the padList if you want to alter it
Don't query the db for caching a list of pads if you only want to alter the list
2013-10-13 21:20:19 +02:00
John McLear
680d9a2811 Don't try to populate padlist on each req
This is an important fix, prolly wants merging into master ASAP.  

Before this fix each new pad request would re-populate the all pads object, this is a blocking procedure and slows down the loading to a point where it's almost useless :(

Testing didn't find this because our testing stack isn't populated with pad data :|  TLDR.  Our tests still suck, hard.
2013-10-13 16:39:45 +01:00
John McLear
2992e3ea2b clean up 2013-10-09 16:34:50 +01:00
John McLear
40a65bd41c more warns 2013-10-09 16:17:36 +01:00
John McLear
c93acdfc87 suggestion 2013-10-09 16:14:16 +01:00
John McLear
28f6d50011 remove console warn 2013-02-10 22:14:05 +00:00
John McLear
626ee97669 kinda brutal way of stopping plugins being able to pass *s instead of attributes 2013-02-10 19:36:46 +00:00
Jordan Hollinger
858d8e6e71 listAllPads should return an object, not an arraay. issue #1374 2013-01-18 11:13:03 -05:00
spcsser
9687ecbb82 Modified pad list manager to return an ordered list. 2013-01-11 18:31:53 +01:00
Swen
e9726890a4 Edited getPads function to be able to work without callback 2013-01-11 04:43:59 +01:00
Swen
c9f137b2e5 Added functionality to use spcsser/ueberDB findKey functionality. 2013-01-09 20:45:39 +01:00
Swen
7a49c82e16 Added comments 2013-01-08 20:21:14 +01:00
Swen
8c3263a6ea Added comments 2013-01-08 20:19:10 +01:00
Swen
198754222d Added functionality to list pads on this server. 2013-01-08 20:14:01 +01:00
John McLear
bc76913a6d fix pitas fix 2012-03-31 18:16:31 +01:00
Egil Moeller
ce5d2d8685 Merge branch 'pita'
Resolved conflicts:
	.gitignore
	src/static/js/ace.js
	src/static/js/ace2_inner.js
	src/static/js/broadcast.js
	src/static/js/domline.js
	src/static/pad.html
	src/static/timeslider.html

Ignored conflicts (please merge manually later):
	node/server.js
	src/node/utils/Minify.js
2012-03-02 22:00:20 +01:00
Egil Moeller
1239ce7f28 The Big Renaming - etherpad is now an NPM module 2012-02-26 13:07:51 +01:00
Renamed from node/db/PadManager.js (Browse further)