* Move the "group" arg at the second position after "protoNumber"
To make it consistent for all settings
* Improve server config non privacy safe setting handling
---------
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
* Fix typo in setting validation error message
* Convert value to internal type before validating it
* Only update setting in case value is valid
* Ignore settings validation errors on backup restore
* Remove potential not privacy safe value from logs
There is a possibility that the serve folder was only partially deleted. This then could cause "FileAlreadyExistsException" when copying the webui files to the serve folder.
* Remove koreader-sync credentials from config
These are supposed to be set via the login/logout mutations and are not meant to be set manually by the user. Thus, they are not really settings and do not belong to the config
* Reduce log levels of KoreaderSyncService
Requesting a chapter page while having a non basic auth mode (e.g. ui login) enabled caused the basic auth prompt.
However, this is only supposed to be happen for opds
When the webUI got opened before the setup was completed, the missing folder caused an exception and broke the javalin server.
In that case, even after the webui setup completed, the server just returned the index.html for every path
* [#1749] Only consider path in SIMPLE_LOGIN redirect
We don't really care about the origin, since that is implicit in
`Location` headers if not given, which sidesteps the HTTP/HTTPS issue
* Refuse non-relative redirects
* Revert "[#1739] Support sending floats (#1740)"
This reverts commit c1f2aae90d.
Closes#1746
* Use `DoubleFilter` for GQL interface, convert to `FloatFilter`
Closes#1739 (again)
* [#1739] Support sending floats
Required for `FloatFilter`, which needs to be float due to DB layer
* Simplify `parseValueImpl`, use correct coercion hints
* fix: Match URLs with trailing /
* Handle permission requests and attempt to enable Widevine
* Tie CEF loglevel to server debug logs
* Lint
* Add missing file
Forgot to add in previous commits
* Provide WebResourceResponse
* Fix NullException if headers are not set
* fix: Don't allow interception for initial page load
fixes#1713
* Lint
* Add backup flags to auto backups
* Mark ServerConfig properties as deprecated
---------
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
* Extract global metadata backup logic into BackupGlobalMetaHandler
* Extract category backup logic into BackupCategoryHandler
* Extract source backup logic into BackupSourceHandler
* Extract manga backup logic into BackupMangaHandler
On mac the temp system folder is a symlink which jetty does not allow by default due to security reasons.
This caused the webui files to not get served on mac.
There was a possible race condition where immediate state updates got overwritten by previously queued ones.
For example, when the download was successful but the downloaded files are deemed invalid, a previously queued download progress state update might overwrite the emitted error state.
* Add way to exclude settings from backups
* Exclude flaresolverrEnabled
* Exclude usernames/passwords
* Exclude writing deprecated settings to the backup
* Exclude AuthMode
* Cleanup subpath handling
* Move webUI serve setup logic to WebInterfaceManager
* Fix webUI subpath injection
Dynamic subpath support on the client requires using relative paths for everything.
Without a <base> tag this only works when opening the client on the root path.
Any subpath will result in a blank page because the used url to request e.g., an asset will be invalid and cause an error (type mismatch, since the index.html will be returned for any unmatch route).