John McLear
dfa0ae9181
Merge pull request #893 from marcelklehr/feature/plugin-settings
...
Add a new section in settings.json specifically for installed plugins.
2012-11-05 04:48:47 -08:00
Wikinaut
a575de7884
allow favicon.ico as pad name
2012-11-04 13:02:55 +01:00
Wikinaut
c92b5283fd
fix #377 : add favicon url as optional settings.json parameter
2012-11-04 11:26:17 +01:00
Peter 'Pita' Martischka
6408581adb
merged develop back in
2012-11-03 18:16:36 +00:00
johnyma22
2f123970e6
Make express restart - I think this reloads settings
2012-11-02 15:21:12 +00:00
johnyma22
3ca450fefc
make the server save settings
2012-11-02 15:10:01 +00:00
johnyma22
89e38ed4c2
Start putting file system together for admin settings, no where near complete
2012-11-02 13:16:15 +00:00
Marcel Klehr
6d543fbcb3
Add a setting for customizing the app title
...
the app title is inserted into the <title> of all tepmlates
2012-11-02 12:30:57 +01:00
Marcel Klehr
2d6e577683
Put up some '/admin doesn't exist' notice.
2012-11-01 19:45:26 +01:00
John McLear
5629063b9c
Allow robots.txt to be custom
2012-11-01 13:32:04 +00:00
Marcel Klehr
ed2faa68c9
Pass on the req object to eejs hooks
2012-11-01 13:44:59 +01:00
Marcel Klehr
059f6d280e
Pass on the render args to all eejs hooks
...
eejs.require('foo', {..render args..}) will
be passed on to all eejsBlock_X hooks as `hookContext.renderContext`
2012-11-01 13:44:06 +01:00
Peter 'Pita' Martischka
0420b89382
Merge pull request #1097 from Pita/develop
...
Pull in Develop branch so we can test latest develop
2012-10-29 07:25:34 -07:00
Marcel Klehr
e447a6fade
Make sure npm is initialized before requiring things ( fix #1092 )
2012-10-28 18:02:49 +01:00
Peter 'Pita' Martischka
9537892c61
wrap spec files with a describe
2012-10-27 17:29:17 +01:00
Peter 'Pita' Martischka
cac27c864a
load list of spec files from the server
2012-10-27 17:05:26 +01:00
Peter 'Pita' Martischka
cc7ddddd2f
redirect from frontend to frontend/
2012-10-27 16:41:17 +01:00
Peter 'Pita' Martischka
f59b643aa6
Merge branch 'develop' of github.com:Pita/etherpad-lite into feature/frontend-tests
2012-10-27 16:32:37 +01:00
Randy
596e20e123
Add default port of process.env.PORT if port isnt specified in settings.json
2012-10-25 10:21:34 -07:00
John McLear
d7ec050f34
Merge pull request #1035 from amtep/develop
...
Guard against malicious clients in USERINFO_UPDATE handling
2012-10-11 08:27:27 -07:00
Marcel Klehr
bedc51d2e3
Merge pull request #1057 from dmitryuv/sync-processing
...
fix for error handling in the callback code
2012-10-11 08:08:47 -07:00
Marcel Klehr
b0099a4aba
Add plugin-specific sections in settings.json
...
Settings for specific plugins are written down as below:
{
...
"ep_pluginname": {
"foo":"bar"
}
...
}
2012-10-11 16:22:40 +02:00
Dmitry
dbcdc2f956
fix for error handling in callback code
...
The callback code does not follow error handling guidelines, thus always
receiving NULL instead of results array.
2012-10-11 18:07:45 +04:00
Marcel Klehr
1461c4e19a
Merge pull request #1056 from dmitryuv/sync-processing
...
Fix variable name in handleMessageHook
2012-10-11 07:05:51 -07:00
Dmitry
0fa954c1a0
fixed variable name in handleMessageHook
...
the code would never work as expected with this type
2012-10-11 17:51:57 +04:00
Chad Weider
9d1274abaf
Drop method deprecated in Express 3.x.
2012-10-09 01:32:21 -07:00
Peter 'Pita' Martischka
ca6ebd6151
major restructering of the front end test framework
2012-10-08 00:34:29 +02:00
John McLear
90373964d3
Remove two instances of the same function name
...
Both functions did the same thing, the first function was buggy. Might be worth someone looking through the history of this file and pointing out when I made this heinous error ;)
2012-10-06 02:36:51 +02:00
John McLear
db1a1a0e3e
Merge pull request #1034 from d-a-n/develop
...
Added hooks for pad events create/edit/load/remove
2012-10-05 17:28:40 -07:00
johnyma22
c74aed986e
Merge branch 'develop' of github.com:Pita/etherpad-lite into feature/frontend-tests
2012-10-04 18:55:57 +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
Marcel Klehr
2684a1d295
Merge branch 'develop' into express-v3
...
Conflicts:
src/node/hooks/express/errorhandling.js
2012-10-03 10:09:00 +02:00
Richard Braakman
85b44119ae
USERINFO_UPDATE: construct a new message for broadcast
...
The server was reusing the client's message when broadcasting userinfo
updates. This would allow a malicious client to insert arbitrary fields
into a message that the other clients would trust as coming from the
server. For example, adding "disconnect" or renaming other authors.
This commit fixes it by having the server construct a new message with
known fields before broadcasting.
2012-10-02 23:27:30 +03:00
d-a-n
64a3d60b94
Added pad hooks (create, load, edit, remove)
2012-10-02 22:30:13 +03:00
Marcel Klehr
7656001cb5
Don't shut down the whole server, if error handling middleware is called.
...
The errors passed to error handling middleware aren't that severe, so it's fine to just stay alive...
2012-10-02 20:11:18 +02:00
Peter 'Pita' Martischka
ba4ebbba3b
Setted up an enviroment for frontend tests, first steps
2012-10-02 00:35:43 +01:00
Richard Braakman
2e72a1e489
Prevent server crash in handleClientReady
...
The client might have disconnected between callbacks so don't try to
write to the session before checking this. The main callback of this
function now has a single check at its top.
Removed a redundant check halfway through the callback.
Also normalized use of client.id for the session index instead of a mix of
client.id and sessionId.
Added some explanatory comments.
2012-09-28 23:23:00 +03:00
Richard Braakman
413ddb393e
Add some explanatory comments to handleUserChanges()
2012-09-28 22:49:20 +03:00
Richard Braakman
7aaef01346
Prettify session handling in handleUserChanges
...
Also add a comment to explain what's going on with thisSession.
No changes in behavior.
2012-09-27 23:07:00 +03:00
Richard Braakman
f1b4206cad
Fix crash when client submits changeset based on too-old revision
...
We had a problem with the server running out of stack space if a client
submitted a changeset based on a revision more than about 1000 revs old.
(944 was our cutoff but yours may vary). This happened in the wild with
about 30 people editing via flaky wifi. A disconnected client would try
to submit a fairly old changeset when reconnecting, and a few minutes
was enough for 30 people to generate that many revs.
The stack kept growing because pad.getRevisionChangeset was being answered
from the cache, so no I/O interrupted the callback chain. (This was seen with
mysql, I don't know about other backends.)
This patch forces a nextTick every 200 revisions to solve this problem.
2012-09-26 03:01:59 +03:00
Richard Braakman
e16008b371
Fix sessioninfos race that can cause crash during USER_CHANGES handling
...
When stress testing etherpad-lite we occasionally got this error:
TypeError: Cannot read property 'author' of undefined
at /home/etherpad/etherpad-lite/src/node/handler/PadMessageHandler.js:556:47
handleUserChanges was accessing sessioninfos[client.id].author in a callback,
after spending some time in the loop that updates the changeset to the
latest revision. It's possible for a disconnect request to be processed
during that loop so the session might no longer be there.
This patch fixes it by looking up the author at the start of the function.
2012-09-26 03:01:59 +03:00
Marcel Klehr
0c9c1f514f
Fix socket.io auth: Use connect to parse signed cookies (migrate to express v3)
2012-09-22 16:03:40 +02:00
Marcel Klehr
0f436d5916
Migrate error handling middleware to express v3
2012-09-22 15:22:15 +02:00
Marcel Klehr
794c3d1afe
Set secret on cookieParser (migrate to express v3)
2012-09-22 14:05:41 +02:00
Marcel Klehr
71579d1478
Fix res.send (migrate to express v3)
2012-09-22 13:51:39 +02:00
Marcel Klehr
ff7cf991c9
Upgrade log4js to v0.5
2012-09-21 21:39:08 +02:00
Marcel Klehr
4416210471
Differentiate between http server and express app
2012-09-21 17:12:22 +02:00
Marcel Klehr
a72ade4494
Fix async.forEach in MultiSession code
2012-09-19 17:48:26 +02:00
Marcel Klehr
b9da0e187e
Revert "Fixed foreach loop on session IDs, was breaking EP on single session in cookie."
...
This reverts commit 443a71bc9c
.
modified: src/node/db/SecurityManager.js
2012-09-19 17:42:36 +02:00
John McLear
0883043eb9
Merge pull request #1014 from marcelklehr/feature/list-all-groups
...
Add listAllGroups API endpoint
2012-09-18 15:36:19 -07:00
johnyma22
443a71bc9c
Fixed foreach loop on session IDs, was breaking EP on single session in cookie.
2012-09-18 16:30:26 +01:00
Marcel Klehr
f8f002adc0
Add listAllGroups API endpoint
...
Adds a database key that lists all groups
2012-09-17 23:03:56 +02:00
Marcel Klehr
bbc8848af3
Still support API endpoints of v1 in v1.1
2012-09-17 16:29:39 +02:00
Marcel Klehr
ad16c0d0d4
Bump API version to v1.1
2012-09-13 16:13:54 +02:00
johnyma22
c8b6d3b4f3
attempt to put correct init in right place but could be wrong
2012-09-12 19:38:53 +01:00
johnyma22
603f251824
error handling and close is removed in express 3
2012-09-12 19:34:33 +01:00
John McLear
d44c7f0bb5
Merge pull request #994 from cweider/parent-plugins
...
Parent plugins
2012-09-12 04:52:38 -07:00
John McLear
389e0d09b0
Merge pull request #740 from cweider/plugin-cleanup
...
Plugin cleanup
2012-09-12 04:52:23 -07:00
Chad Weider
feeab5c1b2
Fix cache headers for missing files.
2012-09-11 22:27:14 -07:00
Chad Weider
b691606c4e
Replace ParentRequire hack.
...
Instead of hacking with the internals of require, make client_plugins aware
and capable of sharing behavior.
2012-09-11 21:16:47 -07:00
Chad Weider
1258ed3a0d
Split client and server plugin functionality.
...
There is virtually no shared code for the client, extract it into its own
module and do away with the switches.
2012-09-11 21:16:47 -07:00
Marcel Klehr
d05d587f21
Don't break if there is no session cookie.
2012-09-11 20:59:19 +02:00
John McLear
a4bd92c184
Merge pull request #983 from Pita/feature/multiple-api-versions
...
Add support for multiple api versions
2012-09-11 11:29:24 -07:00
Chad Weider
03bcd07741
Use packaged version of Tinycon.
2012-09-09 18:18:59 -07:00
Chad Weider
1541237654
Use packaged version of UNorm.
2012-09-09 18:18:59 -07:00
Chad Weider
0da4acfdb5
Use packaged edition of async.
2012-09-09 18:18:59 -07:00
Chad Weider
8e735b0841
Use packaged edition of underscore.
2012-09-09 18:18:59 -07:00
Chad Weider
b47f6ae905
Use packaged edition of security module.
2012-09-09 18:18:59 -07:00
Chad Weider
c4fa2ecddb
Don't prefix libraries that are prefixed by '$'. #hack
2012-09-09 18:18:58 -07:00
Chad Weider
3b40850195
Add index paths in tar processing.
2012-09-09 18:18:58 -07:00
Chad Weider
a5653c7192
Clean up tar file processing.
2012-09-09 18:18:58 -07:00
Chad Weider
b8faf1f78b
Serve libraries from node_modules.
2012-09-09 18:18:58 -07:00
Chad Weider
766c301a44
Only files should be treated as being existant.
2012-09-09 18:13:37 -07:00
John McLear
32b4729305
Merge pull request #987 from cweider/loopback-avoidance
...
Windows server fixes
2012-09-09 15:50:42 -07:00
Chad Weider
a97b83babc
Another workaround for Windows paths.
2012-09-09 14:42:32 -07:00
Marcel Klehr
ea0f7cb2e9
Add support for multiple api versions
2012-09-09 18:20:16 +02:00
John McLear
3cbd59c769
Update src/node/db/AuthorManager.js
2012-09-04 22:47:56 +02:00
John McLear
7e79bf3462
Update src/node/handler/APIHandler.js
2012-09-04 17:26:08 +02:00
John McLear
21dcce2296
Update src/node/db/AuthorManager.js
2012-09-04 17:25:19 +02:00
John McLear
40a7b43799
Update src/node/db/API.js
2012-09-04 17:23:33 +02:00
John McLear
c5be2eb418
Merge pull request #977 from cweider/loopback-avoidance
...
Loopback avoidance
2012-09-03 14:56:55 -07:00
Chad Weider
02c22d7b89
Remove loopback from Minify.
2012-09-03 14:38:28 -07:00
Chad Weider
024a26f272
Minify publishes its own mock request thing.
2012-09-03 14:37:26 -07:00
Chad Weider
4413d498d8
Minify is a named function.
2012-09-03 14:35:36 -07:00
John McLear
de7934d9fb
Merge pull request #958 from Wikinaut/fix-ie8-native-xmlhttp-support-disabled-issues
...
Fix ie8 native xmlhttp support disabled issues
2012-09-03 06:35:52 -07:00
Marcel Klehr
dad83d9b77
Document multi-session cookie feature
2012-09-02 19:51:40 +02:00
Wikinaut
e82588c332
use socket.io with jsonp-polling. several browsers tested. fixes IE8 issues
2012-08-18 00:47:13 +02:00
Mark Holmquist
f9469ef256
Add in padUsers HTTP API call
...
I needed the list of users this time, so I got it. There are docs
and everything.
2012-08-17 13:39:16 -07:00
Wikinaut
85f5eb38e4
fix for all IE8 issues when IE8 setting NATIVE XMLHHTP SUPPORT is disabled
2012-08-16 01:00:36 +02:00
John McLear
71d6d520e8
Merge pull request #939 from marcelklehr/fix/group2sessions-bug
...
Create group2sessions.sessionIDs if it doesn't exist yet.
2012-08-12 09:10:29 -07:00
John McLear
14c874b80e
Merge pull request #903 from marcelklehr/feature/hook-loadSettings2
...
[API hook] loadSettings
2012-08-12 08:54:31 -07:00
John McLear
ba6acd822e
Merge pull request #929 from MarkTraceur/hook/http/send-clients-message
...
Add in an HTTP API call to send a custom message type.
2012-08-12 08:53:07 -07:00
John McLear
a42b2440ba
Merge pull request #943 from gedion/develop
...
Add a hook for utils/ExportHtml.js
2012-08-12 08:48:10 -07:00
Gedion
e9b22e8ac3
fix indentation
2012-08-11 15:44:42 -05:00
gedion
4d11e49878
Update src/node/utils/ExportHtml.js
...
Added a hook for utils/ExportHtml.js
2012-08-11 13:08:28 -05:00
Gedion
df7d7769c8
Added a hook for util/ExportHtml.js
2012-08-11 13:02:01 -05:00
Marcel Klehr
d9d28369b2
Create author2sessions.sessionIDs if it doesn't exist yet.
2012-08-10 16:20:07 +02:00
Marcel Klehr
d6a0cfc398
Create group2sessions.sessionIDs if it doesn't exist yet.
2012-08-09 11:15:26 +02:00
Mark Holmquist
3d4fb81796
Add in an HTTP API call to send a custom message type.
...
You cannot currently send any data with your custom message, but
this patch is just begging for a second one that will allow that.
2012-08-08 10:12:11 -07:00
Marcel Klehr
db54ab4b36
Merge pull request #887 from psifertex/develop
...
adding basic numbered list support to dokuwiki export
2012-08-01 12:36:04 -07:00
Marcel Klehr
de907cd0db
Add loadSettings hook.
2012-07-25 10:58:30 +02:00
Chad Weider
cd11717b99
Eliminate the loopback that has been causing so much trouble.
...
`localhost`, `0.0.0.0`, `127.0.0.1` each works only in some places some of the time, this works around the problem by overriding Yajsml's built-in request mechanism in favor of a hacked together one. TODO: Serve files from another service, or directly from the file system in order to make this unnecessary.
Fixes #747
2012-07-22 23:55:07 -07:00
Uli Köhler
14582d1eba
Escaped title using Security.escapeHTML()
2012-07-22 19:07:14 +02:00
Uli Köhler
8630de66bf
Added missing newline after closing title tag
2012-07-22 18:37:38 +02:00
Uli Köhler
90357e0cdc
Added <title> tag to make exported HTML valid
2012-07-21 21:19:44 +02:00
Jordan Wiens
c0daf1aaaf
adding basic numbered list support to dokuwiki export
2012-07-19 00:59:15 -04:00
Matthias Bartelmeß
6b429b2ca1
Merge pull request #851 from marcelklehr/fix-settings.json
...
Fix settings.json
2012-07-17 10:27:18 -07:00
Marcel Klehr
ead379cf66
Merge pull request #853 from fourplusone/feature/async_handleMessage
...
async handle message
2012-07-12 03:50:37 -07:00
Marcel Klehr
dc09323d8f
Don't exit if no settings file was found.
2012-07-11 15:36:41 +02:00
Marcel Klehr
f09dd0f3fb
Put toString() back in.
2012-07-11 15:34:33 +02:00
Marcel Klehr
87f26334d1
Fix typo.
2012-07-10 21:55:35 +02:00
Marcel Klehr
8858446678
Exit on error.
2012-07-10 21:38:14 +02:00
Jordan Hollinger
a7dd620b9f
Don't crash if setText isn't passed any text. issue #861
2012-07-10 00:53:55 -04:00
Matthias Bartelmeß
975171a86b
Make handleMessage async
2012-07-08 21:06:19 +02:00
Marcel Klehr
4c8f69b7c5
Use v8 to parse settings.json
2012-07-08 18:59:46 +02:00
Marcel Klehr
af3c57a120
Load npm to enable server to see the git revision.
2012-07-08 11:37:24 +02:00
Jordan Hollinger
6d5fe459f0
Bugfix to getLastEdited API method, issue #845
2012-07-07 13:22:27 -04:00
John McLear
34fdfcb253
Merge pull request #840 from redhog/master
...
Bugfix for readonly timeslider
2012-07-05 10:34:55 -07:00
Egil Moeller
17b6103a3d
Bugfix for broken readonly timeslider
2012-07-05 19:33:20 +02:00
John McLear
bc15ea5c15
Merge pull request #829 from marcelklehr/support-node-0.8
...
Support node 0.8
2012-07-05 09:54:25 -07:00
Marcel Klehr
c01aaeefc1
Allow node v0.6.x and 0.8.x
2012-07-05 17:34:23 +02:00
Egil Moeller
a0548af021
Merge branch 'develop' of git://github.com/Pita/etherpad-lite into restartserver
2012-07-03 23:32:37 +02:00
Egil Moeller
b438a278a1
Make the server restart on plugin install
2012-07-03 23:31:44 +02:00
Mark Holmquist
91ed1f57c5
Don't rewrite in a stupid way
...
Since we're already in the proper path for the pad, why worry
about it? Replacing the entire path of the URL with /p/padname may
have seemed like a good idea at the time, but really, for a 302 we
only need a relative pathname. This patch provides the proper way.
2012-07-02 16:46:31 -07:00
Marcel Klehr
9d35b51500
Replace path.exists with fs.exists
2012-06-30 18:57:59 +02:00
Mark Holmquist
a71a8a7efc
Add in padUsersCount method and API call
...
The PadMessageHandler objects now have a new API call associated
with them. I'm sure that's a funny place to put it, but the
pad2sessions object in that file seems to be the only place user
counts are stored!
Anyway, I hope this is helpful. I know it would be for me :)
2012-06-29 11:26:12 -07: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
0bc01feb72
Merge pull request #818 from MarkTraceur/kick-on-deauth
...
Kick on deauth
2012-06-26 16:09:14 -07:00
Mark Holmquist
c4e660b206
Fix glaring problem with pull request
...
I accidentally forgot to call finalHandler if there was no padID
.... :)
2012-06-26 16:07:08 -07:00
John McLear
3d9a2360be
Merge pull request #817 from MarkTraceur/kick-on-deauth
...
Kick on deauth
2012-06-26 16:01:40 -07:00
Mark Holmquist
79ca5f3e7c
Refuse connection if the user is no longer authorized
...
This should do the trick for issue 815. Please review and merge if
it works.
Try again: Fewer variables.
2012-06-26 16:00:38 -07:00
Mark Holmquist
854e1092d9
Add in a new hook for handleMessage
...
Add a new hook: handleMessage. Whenever a message comes in, it is
intercepted by this hook.
2012-06-26 14:10:42 -07:00
John McLear
e4ff4021ab
Merge pull request #810 from redhog/aceEditEvent
...
Plugin/hook features&bugfixes
2012-06-22 03:53:50 -07:00
Jordan Hollinger
6f37c0aaa6
The pad name sanitizer shouldn't drop query params. issue #779
2012-06-13 15:20:29 -04:00
Jordan Hollinger
486f7c904e
Bugfix to setHTML - it was ignoring the last letter of each line. fixes issue #768
2012-06-11 23:33:17 -04:00
Jordan Hollinger
d5faefdeae
Bugfix to setPadHTML. resolves #764
2012-06-09 10:53:51 -04:00
Egil Moeller
cf2f0b72a3
More plugin information
2012-06-04 14:33:38 +02:00
Egil Moeller
15a7d24450
Merge branch 'master' into timeslider-realtimeupdate+readonly-pads
...
Conflicts:
src/node/handler/PadMessageHandler.js
src/static/css/pad.css
src/templates/pad.html
2012-05-29 21:26:12 +02:00
Chad Weider
a8340dfbbe
Remove the libraries that are a part of ace2_common package.
2012-05-28 15:14:52 -07:00
John McLear
26614bf2d5
You can't use $ if no jQuery is available.. Apologies for so much spam on this issue, this finally resolves #594
2012-05-23 01:01:50 +02:00
John McLear
d1c2d12150
Import Should now work in IE
2012-05-23 00:52:10 +02:00
John McLear
dafa44e6b4
I hate how hacky this change is.
2012-05-23 00:51:03 +02:00
John McLear
b27287ce37
Update src/node/handler/ImportHandler.js
2012-05-23 00:49:12 +02:00
John McLear
c8b93f6ddc
Fix IE import
2012-05-23 00:46:56 +02:00
Matthias Bartelmeß
06c36f3023
fix #722 by better argument checking in PadMessageHandler.js
2012-05-22 09:31:28 +02:00