* Non-Extension Index changes for 1.6
* Changelog
* Minor fixes
* Implement extension store
* Test build fix
* Docs
* Simplify fetching manga and chapters
* Use EMPTY JsonObject
* Update docs/Configuring-Suwayomi‐Server.md
Co-authored-by: Constantin Piber <59023762+cpiber@users.noreply.github.com>
* Improve Fetch Extension Store
* Fixes
* Simplify deprecated isNsfw in SourceQuery
* Simplify ContentRating in Source.kt
* Simplify isNsfw in SourceType
* No magic numbers for ContentRating, improves safety for future versions of extension api
* Fix SearchTest
* Lint
* Lint
* Optimize imports and fix unchecked cast warning
* Proper extension store queries
* Optimize import fixes
* Add ContentRatingFilter
* Improve extension store sync
* fix: re-sync (#2121)
* Lint
* Add ExtenionStores to the fetchExtensions result since its possible for the stores to change.
* Use a single version of ContentRating
* Exclude ServerConfig.extensionStores from GraphQL
* Use syncDbToPrefs in ExtensionStoreMutation
* Optimize Imports
* Update server/server-config/src/main/kotlin/suwayomi/tachidesk/server/ServerConfig.kt
Co-authored-by: Constantin Piber <59023762+cpiber@users.noreply.github.com>
* Remove replaceWith and add specific description for GQL APIs
* Include OkHttp ZSTD
* Update to latest Mihon extension lib
* Fix latest Mihon Extension Lib
* Lint
* Optimize imports
* Lint
* Review fixes
* Add a index to extesnion table store url
* Lint
---------
Co-authored-by: Constantin Piber <59023762+cpiber@users.noreply.github.com>
* Basic JWT implementation
* Move JWT to UI_LOGIN mode and bring back SIMPLE_LOGIN as before
* Update server/src/main/kotlin/suwayomi/tachidesk/global/impl/util/Jwt.kt
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
* Refresh: Update only access token
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
* Implement JWT Audience
* Store JWT key
Generates the key on startup if not set
* Handle invalid Base64
* Make JWT expiry configurable
* Missing value parse
* Update server/src/main/kotlin/suwayomi/tachidesk/global/impl/util/Jwt.kt
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
* Simplify Duration parsing
* JWT Protect Mutations
* JWT Protect Queries and Subscriptions
* JWT Protect v1 WebSockets
* WebSockets allow sending token via protocol header
* Also respect the `suwayomi-server-token` cookie
* JWT reduce default token expiry
* JWT Support cookie on WebSocket as well
* Lint
* Authenticate graphql subscription via connection_init payload
* WebView: Prefer explicit token over cookie
This hack was implemented because WebView sent `"null"` if no token was
supplied, just don't send a bad token, then we can do this properly
* WebView: Implement basic login dialog if no token supplied
---------
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
* Update to exposed-migrations v3.5.0
* Update to kotlin-logging v7.0.0
* Update to exposed v0.46.0
* Update to exposed v0.47.0
* Update to exposed v0.55.0
* Update to exposed v0.56.0
* Update to exposed v0.57.0
* Switch to new Ktlint plugin
* Add ktlintCheck to PR builds
* Run formatter
* Put ktlint version in libs toml
* Fix lint
* Use Zip4Java from libs.toml