* fix: missing graceful shutdown handler
* fix: asar - use async fs operation
* fix: scheduler - graceful shutdown and wait for running jobs to complete
At present, the user that are not in the administrator group have no access to edit scripts and styles in page editor panel. This commit add configuration in group rule manage webpage so that users' permission on writing styles and writing scripts can be modified.
When the total page number is large enough (usually about 80+), sqlite will throw error: "Too many variables". This commit reduces the chunk size for sqlite configuration.
* Update storage.js to match pageHelper.injectPageMetadata
At pageHelper.injectPageMetadata references editorKey and tags to build metadata, but this data seems not to be supplied to this function, since page object is only built from specified columns.
As a result, tags are always empty when exporting pages, and editor key appears as undefined.
It happens also with git storage, but may happen with another storage providers.
I run into this issue running Wiki.js 2.5.170 with the following Docker stack:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39373979b693 requarks/wiki:2 "docker-entrypoint.s…" 44 minutes ago Up 9 minutes 0.0.0.0:80->3000/tcp, 0.0.0.0:443->3443/tcp wiki
608de6278aaa requarks/wiki-update-companion:latest "dotnet wiki-update-…" 5 months ago Up 6 hours 80/tcp wiki-update-companion
12c7b35ba295 postgres:11 "docker-entrypoint.s…" 5 months ago Up 6 hours 5432/tcp db
* Provide id to allow to query for tags
* Update git storage to provide editorKey and tags
If in server config mysql has autocommit = 0, then wikijs fails with locks like this:
```
2020-10-30T12:56:51.725Z [JOB] error: Rebuilding page tree: [ FAILED ]
2020-10-30T12:56:51.726Z [JOB] error: truncate `pageTree` - Lock wait timeout exceeded; try restarting transaction
```
For building suggest in elasticsearch, the safeContent field will be splitted into arrays. If the page is renamed or moved, the server will throw error: "Cannot read property 'split' of Undefined", and the index will be broken. Here two lines are added to fix this issue.
* Feature: Custom configuration for elasticsearch
For better search results especially in Chinese, which the standard token analyzer may not work well.
* Set default analyzer in settings when building index
* Remove dangling comma