* 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>
* Switch to JCEF
This is a full implementation, but it does not yet include downloading
CEF as KCEF did
* Download CEF automatically
* Handle and propagate CEF init errors
* Lint
* Simplify jcef version extract
* CEF: Download async
* Copy StartupAsync to support handling errors
Startup failures are simply swallowed, since they are recorded in the
future, but there is no way to get that exception
* CEF: Search for release file recursively
On Mac, the file is buried a bit deeper than first level, like on Win
and Linux
* KcefWebViewProvider: Suppress deprecation
We need to send those events, even if they are deprecated
* Update readme
* Optimize imports
* Suggestion
Co-authored-by: Mitchell Syer <syer10@users.noreply.github.com>
* Refactor: stick to `Path` instead of `File`
Also extracts the downloading of CEF to a separate method
* Lint
* Support disabling CEF
Co-authored-by: Kolby Moroz Liebl <31669092+kolbyml@users.noreply.github.com>
* Move JBR version to build constants
Allows embedding into Manifest so docker can later extract the proper version
* Create test to verify JCEF dependency matches downloaded JBR
* Update server/src/main/kotlin/suwayomi/tachidesk/server/util/CEFManager.kt
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
* Fix compile, apply Path suggestions
* Download progress
* Lint
* Fix exception on non-posix
* Delete recursively
Others can be non-empty
* Support disabling CEF at will
Not really functional, but nice
* Fix test
* Exclude masstest unless explicitly requested
* PR-CI: Run tests
* Add Changelog entry
---------
Co-authored-by: Mitchell Syer <syer10@users.noreply.github.com>
Co-authored-by: Kolby Moroz Liebl <31669092+kolbyml@users.noreply.github.com>
* [#1496] First conversion attempt
* [#1496] Configurable conversion
* Fix: allow nested configs (map)
* [#1496] Support explicit `none` conversion
* Use MimeUtils for provided download
* [1496] Support image conversion on load for downloaded images
* Lint
* [#1496] Support conversion on fresh download as well
Previous commit was only for already downloaded images, now also for
fresh and cached
* [#1496] Refactor: Move where conversion for download happens
* Rewrite config handling, improve custom types
* Lint
* Add format to pages mutation
* Lint
* Standardize url encode
* Lint
* Config: Allow additional conversion parameters
* Implement conversion quality parameter
* Lint
* Implement a conversion util to allow fallback readers
* Add downloadConversions to api and backup, fix updateValue issues
* Lint
* Minor cleanup
* Update libs.versions.toml
---------
Co-authored-by: Syer10 <syer10@users.noreply.github.com>
* Improve Downloads Handling
* Update known pagecount for downloaded chapters
* Get fresh data for downloadReady
* Format
* Assume downloaded if first page is found
* Filter out ComicInfoFile
* 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
* Make server config value changes subscribable
* Make server config value changes subscribable - Update usage
* Add util functions to listen to server config value changes
* Listen to server config value changes - Auto backups
* Listen to server config value changes - Auto global update
* Listen to server config value changes - WebUI auto updates
* Listen to server config value changes - Javalin update ip and port
* Listen to server config value changes - Update socks proxy
* Listen to server config value changes - Update debug log level
* Listen to server config value changes - Update system tray icon
* Update config values one at a time
In case settings are changed in quick succession it's possible that each setting update reverts the change of the previous changed setting because the internal config hasn't been updated yet.
E.g.
1. settingA changed
2. settingB changed
3. settingA updates config file
4. settingB updates config file (internal config hasn't been updated yet with change from settingA)
5. settingA updates internal config (settingA updated)
6. settingB updates internal config (settingB updated, settingA outdated)
now settingA is unchanged because settingB reverted its change while updating the config with its new value
* Always add log interceptor to OkHttpClient
In case debug logs are disabled then the KotlinLogging log level will be set to level > debug and thus, these logs won't get logged
* Rename "maxParallelUpdateRequests" to "maxSourcesInParallel"
* Use server setting "maxSourcesInParallel" for downloads
* Listen to server config value changes - downloads
* Always use latest server settings - Browser
* Always use latest server settings - folders
* [Test] Fix type error
* Rename "DownloadedFilesProvider" to "ChaptersFilesProvider"
* Move files into sub packages
* Further abstract "DownloadedFilesProvider"
* Rename "getCachedImageResponse" to "getImageResponse"
* Extract getting cached image response into new function
* Decouple thumbnail cache and download
* Download and delete permanent thumbnails
When adding/removing manga from/to the library make sure the permanent thumbnail files will get handled properly
* Move thumbnail cache to actual temp folder
* Rename "mangaDownloadsRoot" to "downloadRoot"
* Move manga downloads into "mangas" subfolder
* Clear downloaded thumbnail
* Improve default category handling and add cascade to references where possible
* Minor fix for default category
* Make the default category always first in the normalization
* #224 Created view for unread and download badges
* #224 Basic test structure
* Created test and cleaned up a bit
* Move counts to MangaDataClass and delete MangaViewDataClass
* Readded trailing space
* Removed SQL view and calculate with joins now