Richard Hansen
7e8de5540f
Factor out common URL regular expression code
...
This also eliminates the differences between the regular expressions.
2020-12-14 07:03:17 +00:00
Richard Hansen
ca01856f94
lint: Fix some straightforward ESLint errors
2020-12-14 07:03:17 +00:00
Richard Hansen
e66e8a4eb2
pad: Fix wrong variable name in global exception handler
...
This fixes a bug introduced in commit
c845d985e0
.
2020-12-10 22:25:58 +00:00
webzwo0i
d25010d5d7
pluginfw: explicitly install the latest version of a plugin, fix for #4536 ( #4543 )
2020-12-05 14:08:02 +00:00
Richard Hansen
aa41b0920c
admin/plugins: Don't keep adding more Update buttons
2020-11-27 16:59:24 +00:00
Richard Hansen
6a00d7f8d6
admin/plugins: Use jQuery to build the Update button
2020-11-27 16:59:24 +00:00
Richard Hansen
2ddc45bf07
admin/plugins: Simplify jQuery search for plugin actions
2020-11-27 16:59:24 +00:00
Richard Hansen
973644c7dd
lint: Fix ESLint errors in /admin/plugins
code
2020-11-27 16:59:24 +00:00
Richard Hansen
750c7cb1cf
pad: Delete unused ip
and userAgent
client vars
2020-11-26 15:00:46 +00:00
Richard Hansen
53bc80e381
pad userlist: Use jQuery to create rows
...
This makes the code easier to read and maintain, and it reduces the
likelihood of introducing an XSS vulnerability.
2020-11-26 15:00:46 +00:00
Ilmar Türk
ba7d80fa57
Update dropdowns on language change ( #4519 )
2020-11-25 21:39:21 +00:00
Richard Hansen
e247c716c2
editor: Add argument to suppress SonarCloud error
...
This also makes it easier for devs to understand the expected function
signature.
2020-11-24 20:06:12 +00:00
Richard Hansen
d24306ea6a
editor: Delete unused isTimeUp
argument
...
This fixes a SonarCloud error.
2020-11-24 20:06:12 +00:00
Richard Hansen
ed7ba64635
editor: Delete unused optModFunc
argument
2020-11-24 20:06:12 +00:00
Richard Hansen
d0114d4ac2
editor: Delete commented-out code
2020-11-24 20:06:12 +00:00
Richard Hansen
bb722763d0
editor: Delete dead code
...
This silences some SonarCloud errors.
2020-11-24 20:06:12 +00:00
Richard Hansen
8e5fd19db2
lint: Run eslint --fix
on src/
2020-11-24 20:06:12 +00:00
Richard Hansen
0625739cb8
lint: Declare variables above their first use
...
This makes it possible to convert from `var` to `let` without getting
ReferenceErrors.
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
07bcbbd404
pad: Include the stack in the data sent to /jserror
2020-11-17 08:02:27 +00:00
Richard Hansen
c845d985e0
pad: Pop up an error message on unhandled Promise rejection
2020-11-17 08:02:27 +00:00
Richard Hansen
93c335b3b8
pad: Use a relative URL to simplify
...
Also avoid creating an unnecessary variable.
2020-11-17 08:02:27 +00:00
Richard Hansen
cedd27e4fe
plugins: Default the module name to the plugin name
2020-11-13 20:30:27 +00:00
Richard Hansen
afb025030c
plugins: Use a log4js logger for npm messages
2020-11-13 20:30:27 +00:00
Richard Hansen
8a918fbc46
plugins: async
ify more functions
2020-11-13 20:30:27 +00:00
Richard Hansen
9f575ebc84
plugins: Delete unused ensure
function
2020-11-13 20:30:27 +00:00
Richard Hansen
ac5614dadd
plugins: Don't export callInit
...
It's unused outside of this module.
Also use an arrow function.
2020-11-13 20:30:27 +00:00
Richard Hansen
ba4794cf8a
plugins: Call require('./hooks')
at top level
2020-11-13 20:30:27 +00:00
Richard Hansen
14a9479e69
plugins: Use functions from fs.promises
2020-11-13 20:30:27 +00:00
Richard Hansen
d624aa936e
plugins: Fix plugin name in error messages
2020-11-13 20:30:27 +00:00
ilmar
d5c5ca224b
Fix missing arg handling in html10n.js
2020-11-05 10:38:22 +00:00
Richard Hansen
98de2b0899
Use contentEditable
for all browsers
...
This makes it possible to disable `contentEditable` for certain
elements in some circumstances (e.g., on links so that users can click
on them normally).
2020-11-03 19:02:01 +00:00
Richard Hansen
5e2a27a182
Replace setClassPresence(x, ...)
with x.classList.toggle(...)
2020-11-03 19:02:01 +00:00
Richard Hansen
4594608c04
Delete commented-out code
2020-11-03 19:02:01 +00:00
Gabriel Medeiros Coelho
ce77c48475
remove unnecessary conditional
...
if animationState evaluates to -1 or 0, it would end up in a conditional that assign its value to itself. Since this is redundant, it is better to remove this conditional, to avoid an extra check
2020-11-01 01:41:09 -05:00
Richard Hansen
193028702d
pad: Don't paste when middle-clicking on a link
2020-10-25 07:06:29 +00:00
John McLear
cb5fcbb74e
editor: allow paste into links ( #3802 )
2020-10-24 16:59:03 +01:00
Richard Hansen
36aceb3aba
hooks: Rewrite callAll
and aCallAll
for consistency
...
Rewrite the `callAll` and `aCallAll` functions to support all
reasonable hook behaviors and to report errors for unreasonable
behaviors (e.g., calling the callback twice).
Now a hook function like the following works as expected when invoked
by `aCallAll`:
```
exports.myHookFn = (hookName, context, cb) => {
cb('some value');
return;
};
```
2020-10-24 16:08:50 +01:00
Richard Hansen
55939a0d7e
hooks: Delete unused flatten
function
2020-10-24 16:08:50 +01:00
webzwo0i
1e7a9e1791
tests: better timeslider follow contents ( #4421 )
2020-10-21 10:05:58 +01:00
Richard Hansen
2379ade7e9
Move out pad.modals.reconnecttimer trailing space
2020-10-20 11:02:37 +01:00
Richard Hansen
734fe9c297
Use jQuery methods to build DOM elements
2020-10-20 11:02:37 +01:00
Richard Hansen
a2554fff22
pad: Pop up an error message dialog box upon socket.io error
2020-10-20 10:01:49 +01:00
Richard Hansen
5b887396c3
pad: Check for null collabClient in socket.io event handlers
2020-10-20 10:01:49 +01:00
Richard Hansen
b1acf6143a
pad: Delete do-nothing sendClientReady
wrapper
2020-10-20 10:01:49 +01:00
Richard Hansen
a712ce457d
gritter: Treat strings as text, not HTML
...
This forces users to use jQuery or DOM objects if they want
formatting, which helps avoid XSS vulnerabilities.
2020-10-20 10:01:49 +01:00
Richard Hansen
8463134125
pad: Improve rendering of uncaught exceptions
...
* Use jQuery to build the message HTML so that special characters in
the error message, URL, etc. are properly escaped. This helps
avoid XSS vulnerabilities.
* Use bold text for the error message to make it stand out.
* Add a line break between the error message and "in <url> at line
<line>" so that the error message stands out more.
* Use `<p>...</p>` instead of `</br>` to separate the parts of the
popup.
* Use CSS for spacing instead of `</br>`.
* Grammar fixes (add a missing comma, "at" instead of "in").
2020-10-20 10:01:49 +01:00
Richard Hansen
d35dbaaacc
gritter: Accept jQuery or DOM objects for title and text
...
Teach Gritter to accept anything that jQuery's `.append()` method
accepts for the title and text of a popup message. This makes it
easier to safely build HTML messages with proper escaping of special
characters (to prevent XSS vulnerabilities).
2020-10-20 10:01:49 +01:00
Richard Hansen
d680405f58
pad: Include .js URL in /jserror
error report
2020-10-20 10:01:49 +01:00
Richard Hansen
7f79d201e6
CSP: Move index.html
inline code to separate .js
file
2020-10-12 20:46:06 +01:00