Richard Hansen
7653dc650d
settings: Use a log4js logger instead of console
2021-09-28 04:30:26 -04:00
webzwo0i
dbd76f0c5d
export: Don't leak writeable pad ID when exporting
...
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-09-15 18:32:06 -04:00
Richard Hansen
7dbd278d1d
deps: Bump js-cookie to 3.0.0
2021-08-29 23:36:48 -04:00
Richard Hansen
118c66e5d0
HTML import: Improve log message for invalid HTML
2021-08-12 13:53:23 -04:00
Richard Hansen
c816c20bc7
HTML import: Replace cheerio with jsdom to simplify contentcollector
...
Cheerio provides jQuery-like objects but they wrap DOM Node-like
objects that are not 100% API compatible with the DOM spec. Because of
this, contentcollector, which is used in browsers and in Node.js
during HTML import, has until now needed to support two different
APIs. This commit modifies HTML import to use jsdom instead of cheerio
and simplifies contentcollector.
2021-08-12 13:53:23 -04:00
Richard Hansen
6c2f31a5cb
tests: Add tests for settings.json
parsing
2021-06-06 14:00:52 -04:00
Richard Hansen
428f8d1684
Settings: Deprecate null as the default default value
2021-06-06 14:00:52 -04:00
Richard Hansen
c7bb18c6da
Settings: Support null and undefined env var substitutions
2021-06-06 14:00:51 -04:00
Richard Hansen
45ca82fd9f
tests: Make the Mocha results area resizable
2021-06-05 03:51:55 -04:00
Richard Hansen
e4f011df76
tests: Use require()
to load frontend test specs
...
This makes core and plugin tests consistent with each other, makes it
possible to `require()` relative paths in spec files, simplifies the
code somewhat, and should make it easier to move away from
require-kernel.
Also:
* Wrap plugin tests inside a `describe()` that contains the plugin
name to make it easier to grep for a plugin's tests and for
consistency with core tests.
* Add "<core>" to the core test descriptions to make it easier to
distinguish them from plugin tests.
2021-06-05 03:50:26 -04:00
Richard Hansen
0d9476529e
sanitizePathname: Move to separate module to facilitate reuse
2021-06-03 15:10:21 -04:00
Richard Hansen
926da57e34
Minify: Refine sanitizePathname
to avoid pathname traversal
2021-06-03 15:10:21 -04:00
Richard Hansen
6f2f20233f
lint: Fix straightforward ESLint errors
2021-05-12 11:26:35 +02:00
Richard Hansen
59c03bde20
lint: Re-run eslint --fix
2021-05-12 11:26:35 +02:00
Richard Hansen
8f236b8687
Minify: Avoid crash due to unhandled Promise rejection if stat fails
2021-05-03 01:26:49 -04:00
Richard Hansen
e8df643d75
Minify: Treat ENOTDIR
like ENOENT
when statting a file
...
This avoids an exception when require-kernel requests a path like
`existing-file.js/index.js`.
2021-05-03 01:26:48 -04:00
Richard Hansen
aaacbd3a7a
Minify: Refactor requestURI()
for readability
2021-05-03 01:26:48 -04:00
Richard Hansen
ea8846154f
favicon: Redo favicon customization
2021-04-20 13:33:55 -04:00
Chocobozzz
a001a13411
fix(perf): Disable wtfnode dump by default
...
Consumes a lot of CPU so it's better to enable it on purpose
2021-04-13 16:01:41 +02:00
Richard Hansen
91e99c84ca
import: Reduce log spam from unsupported elements
2021-04-09 18:43:02 +02:00
Richard Hansen
09c349e2a1
import: Use a Set for supported elements
2021-04-09 18:43:02 +02:00
Richard Hansen
eb3cff5b3a
LibreOffice: Remove unnecessary callbackification
...
`async.queue` will do the right thing if passed an `async` function.
2021-03-20 20:29:55 +00:00
Richard Hansen
0233399fdf
Abiword: Avoid calling stdoutCallback
multiple times
2021-03-20 20:29:55 +00:00
Richard Hansen
3ad1d0a74f
cssmanager: Refactor CSS manager creation to avoid race condition
...
Safari takes a while to initialize `document.styleSheets`, which
results in a race condition when loading the pad. Avoid the race
condition by accessing the CSSStyleSheet objects directly from the
HTMLStyleElement DOM objects.
2021-03-20 01:07:16 +00:00
Richard Hansen
b4e1e935e2
LibreOffice: Log conversion errors
2021-03-18 09:02:28 +00:00
Richard Hansen
b2c0837cf5
import/export: Promisify Abiword and LibreOffice conversion
2021-03-18 09:02:28 +00:00
Richard Hansen
b321267e66
LibreOffice: Use the async-provided callback to signal errors
...
This avoids having two callbacks, which improves readability.
2021-03-18 09:02:28 +00:00
Richard Hansen
b914a46a87
LibreOffice: Use async.series
to properly handle conversion errors
2021-03-18 09:02:28 +00:00
Richard Hansen
a6d5611c80
LibreOffice: Use consistent intermediate filename
2021-03-18 09:02:28 +00:00
Richard Hansen
ad0be9d1d2
LibreOffice: Add missing fileExtension
property on intermediate step
2021-03-18 09:02:28 +00:00
Richard Hansen
5eab3a123d
Abiword: Use the async-provided callback to signal errors
...
This avoids having two callbacks, which improves readability.
2021-03-18 09:02:28 +00:00
Richard Hansen
8d32463915
Abiword: Fix logging of conversion failure
2021-03-18 09:02:28 +00:00
Richard Hansen
f015f59cfc
Abiword: Reduce log spam
2021-03-18 09:02:28 +00:00
Richard Hansen
259ee4a987
Abiword: Don't call the callback if null
2021-03-18 09:02:28 +00:00
Richard Hansen
216aecd433
import/export: Use Error objects for errors, not strings
2021-03-18 09:02:28 +00:00
Richard Hansen
785b7d2b44
Abiword: Reset stdout buffer when starting abiword
2021-03-18 09:02:28 +00:00
Richard Hansen
b6c2586920
import/export: Delete unnecessary comments
2021-03-18 09:02:28 +00:00
John McLear
f95b09e0b6
Import: Import don't show warnings for supported elements
2021-03-02 17:14:47 +00:00
Richard Hansen
797ffa5600
Minify: Avoid path.relative()
...
Constructing a relative pathname on Windows is problematic because the
two absolute pathnames might be on different drives (or UNC paths).
Use `path.resolve()` instead of `path.join()` where appropriate to
avoid the need to construct a relative path.
2021-03-02 06:20:10 +00:00
Richard Hansen
b0862cd030
ace: Delete all $$INCLUDE_CSS
logic
...
The intention of the deleted code was to reduce the number of fetches,
but it only saved a single fetch due to implementation flaws. The
right way to reduce the number of fetches is to use a bundling
technology such as webpack, and this change makes it easier to do so.
2021-03-01 14:32:33 +00:00
Richard Hansen
99b3918f2c
Minify: Compatibility for all vendors/*.js
files
2021-02-28 11:12:30 +00:00
webzwo0i
01dd9f5440
speed up page load
2021-02-27 16:28:12 +00:00
Richard Hansen
f86df5322e
CachingMiddleware: Asyncify
2021-02-27 14:03:09 +01:00
Richard Hansen
0284d49522
CachingMiddleware: Switch to ES6 class syntax
2021-02-27 14:03:09 +01:00
Richard Hansen
80af66543a
lint: Move up respond()
in caching_middleware.js
2021-02-27 14:03:09 +01:00
Richard Hansen
7ab3ee2121
lint: src/node/utils/caching_middleware.js
2021-02-27 14:03:09 +01:00
webzwo0i
15dba7d886
move underscore to its old place and remove unnecessary packages ( #4876 )
2021-02-27 00:10:53 -05:00
John McLear
c0ec28f781
reversecompat: underscore
...
Backward compatibility for plugins that were written when underscore lived at src/static/js/underscore.js.
2021-02-26 11:03:19 +00:00
webzwo0i
efd211bbc5
remove useless semicolon
2021-02-25 16:59:06 +00:00
webzwo0i
fa29858a4e
avoid manually including require-kernel in ace.js
2021-02-25 16:59:06 +00:00