Ray Bellis
769933786c
allow some operations to proceed in parallel
...
some code chunks previously used `async.parallel` but if you
use `await` that forces them to be run serially. Instead,
you can initiate the operation (getting a Promise) and then
_later_ `await` the result of that Promise.
2019-02-01 09:57:50 +00: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
5192a0c498
db/ReadOnlyManager.js: completed conversion
...
Requires temporary hack within `Pad.remove()` to allow for the lack of
callback on the rewritten version.
2019-01-30 16:19:51 +00:00
Ray Bellis
982d4f380a
db/Pad.js: start use of promise DB methods
2019-01-30 10:25:46 +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
b34fc2de2b
use Date.now() instead of new Date().getTime()
...
This is documented to be more performant.
The substitution was made on frontend code, too (i.e., the one in /static),
because Date.now() is supported since IE 9, and we are life supporting only
IE 11.
Commands:
find . -name *.js | xargs sed --in-place "s/new Date().getTime()/Date.now()/g"
find . -name *.js | xargs sed --in-place "s/(new Date()).getTime()/Date.now()/g"
Not done on jQuery.
2019-02-26 23:25:15 +01:00
muxator
26f3f1bcd0
db/Pad.js: make "force" parameter non optional in Pad.prototype.copy()
...
This function was simulating two overloads:
1. copy(destinationID, force, callback)
2. copy(destinationID, callback), in this case "force" would be assumed false
But all the call sites always used the version with arity 3.
Thus, we can remove that optionality and always assume that the funcion will be
called with three parameters. This will simplify future work.
2019-02-13 14:01:24 +01:00
muxator
1a93ab4eb5
db/Pad: reversed truthy condition to make core logic evident
...
Since the original comparison compared for truthy and not for "===", and it's
3 AM now, I blindly negated it, in order to show how fragile it was in the first
instance.
No functional changes.
This is the final commit of this refactoring series.
2018-08-29 03:03:34 +02:00
muxator
69e1bf28aa
db/Pad: reversed condition to make core logic evident. No functional changes
...
Here it was legal to replace a lax comparison with a strict one, since we are
using indexOf(), whose return value is known.
2018-08-29 02:52:26 +02:00
muxator
d931a700b4
db/Pad: reversed condition to make error handling evident. No functional changes
...
Here it was legal to replace a lax comparison with a strict one, since we are
using indexOf(), whose return value is known.
2018-08-29 02:49:40 +02:00
muxator
0e8789863c
db/Pad: removed unuseful else clause, no functional changes
2018-08-29 02:46:08 +02:00
muxator
049f5f2859
db/Pad: removed unuseful else clause, no functional changes
2018-08-29 02:44:51 +02:00
Luiza Pagliari
187e51948d
[fix] Don't show "pad deleted" message when copying pad ( #3320 )
...
Fix #3183
2018-02-16 14:18:51 -02:00
Luiza Pagliari
fc89034a55
[feat] New server-side hook: padCopy
...
Let plugins know when a pad is copied.
2017-05-18 18:52:14 -03:00
Francois Cassin
2bd698343a
Protects against a null atext in cloneAText
2015-11-10 16:21:43 +01:00
Ted Mielczarek
a675659dc2
Add an appendText API
2015-10-19 15:27:09 -04:00
Xavid
ad137fa4c8
Restore newline-adding to setText() if passed string does not end in '\n'.
...
Add a test for the ending-in-'\n' case and update tests for the other case.
2015-06-30 04:47:55 -04:00
Xavid
a4fe0d0dc8
Add an 'author' entry to the context for the padCreate and padUpdate hooks.
2015-06-21 11:29:17 -04: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
Luc Didry
92022e493e
Add backend tests for new API functions
...
These new functions are:
* getSavedRevisionsCount
* listSavedRevisions
* saveRevision
+ typo fixing in backend tests
2015-02-25 01:05:58 +01:00
Luc Didry
a08c50a77d
Fixes #1870
...
Add two functions to API :
* getSavedRevisionsCount
* listSavedRevisions
2015-02-24 23:42:35 +01:00
John McLear
302ceb665b
delay write to fix copypad -- bad practice but due to db.set not allowing callback
2014-12-29 14:59:22 +01:00
webzwo0i
69bad8b30c
fix typo in addSavedRevisions
2014-12-17 01:10:20 +01:00
webzwo0i
5d15f655f0
dont make local variables global
2014-12-14 22:01:28 +01:00
Marcel Klehr
3cafd689af
Fix Pad#copy routine for updating group list
2014-07-07 21:14:00 +02:00
Marcel Klehr
c4f9828825
Fix #2136 : update cache and group list when copying pads
2014-06-11 22:23:43 +02:00
Robert Helmer
348d9a838f
convert over to server-side crypto
2014-01-15 11:44:57 -08:00
Marcel Klehr
adf05576b2
Don't crash if CHANGESET_REQ fails
2013-12-17 16:20:57 +01:00
Luc Didry
3d8452b143
Replace tabs indentation with spaces indentation
...
Some files are obviously external libraries, I didn't touch them
2013-12-05 08:41:29 +01:00
s1341
52a99eb9e5
fix bugs, add force option to overwrite destination
2013-11-18 08:25:46 +02:00
s1341
93fcab0461
change parameter names
2013-11-17 21:01:02 +02:00
s1341
29d8bb7716
add pad copy/move API functions
2013-11-17 17:02:44 +00:00
Peter 'Pita' Martischka
07a267be7a
Added colors to pad diff
2013-01-27 16:45:09 +00:00
John McLear
f1b9c213ee
and semi working
2013-01-22 23:37:53 +00:00
John McLear
654654b4e1
Merge pull request #1342 from spcsser/feature/padlisting
...
API & backend to list pads on epl instance
2013-01-14 08:13:57 -08:00
Swen
198754222d
Added functionality to list pads on this server.
2013-01-08 20:14:01 +01:00
mluto
5592c4b0fe
client loads messages using the new client loads messages using new method, getChatMessages restructured and renamed to getLastChatMessages, added GET_CHAT_MESSAGES, getChatMessages restructured and renamed to getLastChatMessages
2013-01-06 16:11:48 +01:00
d-a-n
a521a12583
Changed pad_id to padID to follow projct standards.
2012-10-03 15:50:43 +03:00
d-a-n
358e481731
Changed pad hook names to follow naming conventions. Arguments will now be passed as hash.
2012-10-03 13:41:40 +03:00
d-a-n
64a3d60b94
Added pad hooks (create, load, edit, remove)
2012-10-02 22:30:13 +03:00
John McLear
711dee8f6b
Merge pull request #821 from marcelklehr/fix-contributor-api-methods
...
Fix contributor api methods
2012-06-27 12:12:41 -07:00
Marcel Klehr
93b50d4a29
Some fixes to the contributor API methods
...
Mostly these are coding style adjustments
2012-06-27 21:02:41 +02:00
John McLear
a717c11ab3
Merge pull request #819 from marcelklehr/contributor-api-methods
...
Contributor api methods (listPadsOfAuthor & listAuthorsOfPad )
2012-06-27 11:31:25 -07:00
Mark Holmquist
ab0d3c87cb
Add in getLastEdited API call
...
This new HTTP API call, getLastEdited, will return the time of the
last revision, in UNIX timestamp format.
2012-06-27 10:05:17 -07:00
Marcel Klehr
6f9d7a5db7
Add 2 new APIs: listPadsOfAuthor and listAuthorsOfPad
...
Return all pads that a given author has contributed to (not just
created) and return all authors who has contributed to a given pad.
2012-06-27 18:23:17 +02:00
John McLear
9ecd864ac6
Merge pull request #557 from redhog/master
...
Templating system built on top of EJS and plugin installer
2012-04-02 12:42:38 -07:00
Egil Moeller
33c53e61c2
Merge branch 'johnyma22'
...
Conflicts:
node/utils/Minify.js
src/static/js/pad.js
src/static/js/pad_docbar.js
src/static/js/pad_editbar.js
src/static/js/pad_savedrevs.js
static/css/timeslider.css
static/pad.html
2012-04-01 13:27:38 +02:00
Matthias Bartelmeß
8eb43a3ebf
replaceing AttributePoolFactory by AttributePool
2012-03-18 09:05:46 +01:00
Egil Moeller
a894fcd4f9
Removed CommonCode entierly
2012-02-28 21:19:10 +01:00