Commit graph

55 commits

Author SHA1 Message Date
muxator
312c72c364 formatting: bulk remove trailing whitespaces
Do not touch vendorized files (e.g. libraries that were imported from external
projects).

No functional changes.

Command:
    find . -name '*.<EXTENSION>' -type f -print0 | xargs -0 sed -i 's/[[:space:]]*$//'
2019-10-20 02:09:22 +02:00
muxator
b9e537ca4f db/Pad.js: removed unreachable return statement
Found by the Typescript compiler when doing an experimental conversion.
2019-03-27 18:29:12 +01:00
muxator
4040813447 db/Pad.js: prototype.copy(), removed redundant callback argument
This would cause a crash when calling pad.remove().
Found by the Typescript compiler when doing an experimental conversion.
2019-03-27 18:29:12 +01:00
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