Commit graph

38 commits

Author SHA1 Message Date
Richard Hansen
0aad3b74da pluginfw: Improve rendering of hook list
There are two main benefits:
  * HTML is no longer printed in the startup debug logs.
  * `require()` is no longer called on client-side files. This
    eliminates "Failed to load <file> for <plugin>: ReferenceError:
    window is not defined" errors when users visit
    `/admin/plugins/info`.
2021-03-03 11:19:37 +00:00
Richard Hansen
83a519941b /admin/plugins: Fix logging of error messages 2021-02-09 22:18:35 +00:00
Richard Hansen
cd1d322af4 /admin/plugins/info: Move logic to .js file 2021-02-04 08:41:00 +00:00
John McLear
fbc70c1276 lint: src/node/hooks/express/adminplugins.js 2021-01-25 22:53:10 -05:00
Richard Hansen
973644c7dd lint: Fix ESLint errors in /admin/plugins code 2020-11-27 16:59:24 +00:00
Richard Hansen
6a5f905090 admin: Delete unused search_results
This silences some ESLint camelcase warnings.
2020-11-27 16:59:24 +00:00
Richard Hansen
8e5fd19db2 lint: Run eslint --fix on src/ 2020-11-24 20:06:12 +00:00
Richard Hansen
ed5a635f4c Add req to EJS render args when possible
This makes it possible for EJS templates and `eejsBlock_*` hook
functions to access the user's express-session state.
2020-11-02 16:05:01 +00:00
Richard Hansen
79119baf58 hooks: Call the callback when done
If a hook function neither calls the callback nor returns a
(non-undefined) value then there's no way for the hook system to know
if/when the hook function has finished.
2020-10-24 16:08:50 +01:00
Richard Hansen
da459888dc plugins: Move plugin definitions to avoid monkey patching
Also document the plugin data structures.
2020-09-08 00:50:24 +01:00
Stefan
cffd04446e
admin: Add etherpad update check
This update check notifies admin on startup (via console) or in /admin UI that they need to update Etherpad.
2020-06-01 17:57:53 +01:00
Ray Bellis
0c2d662541 plugins download and search: converted to Promises
Also fixed a bug where the system would make a request to the central server for
the plugin list for every search even if the list was already cached.
2019-01-23 12:24:53 +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
Stefan
db5bdc8719 Log version number and git-sha on server start 2015-04-11 00:13:04 +02:00
Stefan
8e4c961207 Add version number to plugins-info page 2015-04-10 23:52:17 +02:00
John McLear
ddc69831b2 working, need to test though 2015-02-11 17:59:05 +00:00
John McLear
aca745ddf6 tell installer if old etherpad needs updating during plugin install 2015-01-25 02:44:10 +00:00
webzwo0i
b204aa2085 remove more dead requires. 2014-12-16 19:10:01 +01:00
John McLear
73bcbbcb89 final commit 2014-11-23 14:15:03 +00:00
John McLear
3e8f3cd938 hrm I dont trust this security 2014-11-18 14:56:40 +00:00
John McLear
020b636b1f template of a semi-fix 2014-11-18 14:08:44 +00:00
Marcel Klehr
c4d9a71156 /admin/plugins: Fix update check 2013-03-27 12:02:19 +01:00
Marcel Klehr
638cea5fd6 Install and uninstall plugins with style
- Don't block the whole page when installing a plugin
- allow people to search and install other plugins meanwhile

Why? http://i.imgur.com/XoX6uYS.jpg
2013-03-26 15:11:30 +01:00
Marcel Klehr
aca5d150e4 /admin/plugins: Don't list installed plugins as available 2013-03-26 11:58:31 +01:00
Marcel Klehr
e8bae61cf5 /admin/plugins: Add progress indicators and report errors 2013-03-26 11:19:36 +01:00
Marcel Klehr
773293991b admin/plugins: Allow people to sort search results 2013-03-25 23:09:03 +01:00
Marcel Klehr
079fdf0f38 Revamp /admin/plugins
- dry up the client-side code
- use the new saner API of pluginfw/installer.js on the server
- Improve UX: allow user to infinitely scroll to display their results
2013-03-25 17:20:10 +01:00
Marcel Klehr
0070eab416 Fix caching of npm search results and only make one registry request on /admin/plugins
fixes #1488
2013-03-25 12:45:23 +01:00
Marcel Klehr
0549a4fec7 Add checkUpdates endpoinnt for /admin/plugins 2013-01-26 22:13:28 +01:00
Marcel Klehr
71579d1478 Fix res.send (migrate to express v3) 2012-09-22 13:51:39 +02:00
Egil Moeller
cf2f0b72a3 More plugin information 2012-06-04 14:33:38 +02:00
Egil Moeller
ecac40d062 Changed the authentication mechanism to support hooks 2012-04-19 16:04:03 +02:00
Egil Moeller
ac36a99a72 More general basic auth 2012-04-19 14:25:12 +02:00
Egil Moeller
4c1d94343f Better plugin admin interface 2012-04-18 13:43:34 +02:00
Egil Moeller
c591efb352 Plugin list can now be reloaded 'live' 2012-03-19 17:16:49 +01:00
Egil Moeller
af96509fbb Plugin install/uninstall 2012-03-17 18:17:10 +01:00
Egil Moeller
81250cba15 Searching for plugins, plus handling async events from the server (progress) 2012-03-15 21:07:48 +01:00
Egil Moeller
51cae02e9d Show installed plugins and search new ones 2012-03-15 18:25:06 +01:00