Commit Graph

2012 Commits

Author SHA1 Message Date
Weblate (bot)
b802c6977a Weblate translations (#1705)
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-server/fr/
Translation: Suwayomi/Suwayomi-Server

Co-authored-by: mrintrepide <quentin@intrepide.io>
2025-10-14 19:37:22 -04:00
robo
1af1562473 [skip ci] Update arch linux install in README.md (#1716) 2025-10-11 19:07:52 -04:00
schroda
0d79ac68f8 Feature/backup import add backup flags (#1697)
* Add backup flags to backup restore

* Cleanup default backup flags handling

* Optionally exclude manga from backup
2025-10-05 18:52:45 -04:00
Constantin Piber
3ce9f72e3f Allow symlinks in static files (#1699) 2025-10-04 15:12:59 -04:00
schroda
9437e4243a Use canonical path for static files directory (#1698)
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.
2025-10-04 15:12:52 -04:00
Constantin Piber
b92f9a2e4d [skip ci] Renovate json fix (#1696)
* Regex fix backslashes

* Add required `depNameTemplate`

It's not used, but renovate requires it
2025-10-03 10:57:20 -04:00
Constantin Piber
6181467abb Include jdk.accessibility in jlink setup (#1693)
Same as mguessan/davmail#417
2025-10-03 10:39:44 -04:00
renovate[bot]
5b55858184 Update moko to v0.25.1 (#1691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 10:39:29 -04:00
renovate[bot]
6dd789dedc Update gradle/actions action to v5 (#1690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 10:39:11 -04:00
renovate[bot]
8d3a144afd Update dependency io.mockk:mockk to v1.14.6 (#1689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 10:38:49 -04:00
renovate[bot]
5577dff087 Update dependency ch.qos.logback:logback-classic to v1.5.19 (#1688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 10:38:37 -04:00
schroda
f4e32bac1a Clear queued state updates on immediate emission (#1685)
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.
2025-10-03 10:38:25 -04:00
Constantin Piber
02aada7f08 [#1676] Reorder source pages (#1683)
Some sources don't properly index their pages in some situations, so
follow Mihon and reindex
2025-10-03 10:38:10 -04:00
Mitchell Syer
fb05371ac2 Add way to exclude settings from backups (#1682)
* Add way to exclude settings from backups

* Exclude flaresolverrEnabled

* Exclude usernames/passwords

* Exclude writing deprecated settings to the backup

* Exclude AuthMode
2025-10-03 10:37:50 -04:00
Constantin Piber
9a9c0532de Move to Zulu JRE (#1675)
* Move `apt` commands behind `$CI`

Same as for the windows command, no need to rerun this every time

* Use fallback to avoid unbound variables

* Scripts: Switch to Zulu JRE

* workflows: Switch to zulu JDK

* fix: Launcher requires sun.awt.* exports

* Update renovate for Zulu
2025-10-03 10:37:30 -04:00
Mitchell Syer
2e0f72f182 Fix database connection and errors (#1681) 2025-09-29 11:24:52 -04:00
schroda
f210bbc22a Setup webUI in background (#1679)
Stops blocking javalin startup in case of internet connection issues
2025-09-29 11:24:45 -04:00
Constantin Piber
08c4f8bcc2 Clarify UI_LOGIN availability and introduce bullet points (#1677) 2025-09-29 11:24:32 -04:00
schroda
9062252939 Fix/server config duplicated types (#1672)
* Move "serverConfig" to "server-config" module

* Remove duplicated types

Unintentionally introduced with 8ef2877040
2025-09-29 11:24:26 -04:00
schroda
5c79672d84 Use graphql directive for auth handling (#1671) 2025-09-29 11:24:19 -04:00
schroda
5e48b05270 [skip ci] Add database to bug issue template (#1680) 2025-09-28 18:24:29 -04:00
schroda
28ab0af6d4 Fix base path injection when serving from root (#1669)
Without having a subpath defined, the base path incorrectly ended with two "/" instead of one
2025-09-25 11:56:19 -04:00
schroda
cdb98d2175 Feature/reduce logging (#1667)
* Reduce Hikari related logging

* Reduce WebView related logging
2025-09-24 18:01:23 -04:00
schroda
d95f4fe1e1 Fix/webui subpath injection (#1666)
* 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).
2025-09-24 18:01:13 -04:00
Mitchell Syer
6e2be271c3 Minor DB Fix (#1668)
* Minor DB fix

* Lint
2025-09-24 18:01:04 -04:00
Soner Köksal
bfccbaf731 Optimize database performance with HikariCP and transaction batching (#1660)
* Optimize database performance with HikariCP and transaction batching

- Add HikariCP-7.0.2 connection pooling with Raspberry Pi optimized settings
- Consolidate database transactions in DirName, ChapterForDownload, and ChapterDownloadHelper
- Remove duplicate queries and unused methods from ChapterForDownload
- Batch database operations to reduce transaction overhead
- Add shared query functions to eliminate redundant database calls
- Configure memory settings for build optimization

Performance improvements:
- DirName functions: 99% faster (29s → 0.1s)
- ChapterDownloadHelper: 99.5% faster (54s → 0.3s)
- ChapterForDownload: 97% faster transaction operations
- Overall system: 75% faster execution time (242s → 60s)

* Fix review comments
2025-09-23 15:54:09 -04:00
Soner Köksal
c7b4f226b3 Add server-side subpath support for WebUI (#1658)
* Add server-side subpath support for WebUI

- Add webUISubpath configuration setting with regex validation
- Create temporary WebUI directory for subpath serving
- Inject subpath config into index.html for client detection
- Support all WebUI flavors (WEBUI, VUI, CUSTOM) with subpath
- Update browser opening to use subpath URLs

Related to Suwayomi/Suwayomi-WebUI#174

* Fix review points

* Fix code formatting issues

* Fix import issue
2025-09-23 15:53:53 -04:00
renovate[bot]
d142d3a25a Update dependency org.postgresql:postgresql to v42.7.8 (#1657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 15:53:44 -04:00
renovate[bot]
f8b00a4541 Update dependency org.bouncycastle:bcprov-jdk18on to v1.82 (#1652)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 15:53:38 -04:00
Mitchell Syer
808e0ecae7 Make Sure Backup Create Flags are Exposed (#1650) 2025-09-15 16:45:14 -04:00
Constantin Piber
a09cac1063 Update wiki for settings changes (#1649)
* Update auth settings

* Add some missing config values

* Introduce KOReader variables

* Introduce Database variables
2025-09-15 10:21:53 -04:00
renovate[bot]
513af98872 [skip ci] Update actions/checkout action to v5 (#1648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 09:41:18 -04:00
Mitchell Syer
fafcaa222c Update Dex2Jar (#1644) 2025-09-15 09:25:20 -04:00
Mitchell Syer
1dd79a0b1e Add Wiki to main repo to allow pull requests for improvements (#1647) 2025-09-15 09:25:13 -04:00
schroda
bbd7e30298 Fix/server startup config update failure handling (#1646)
* Catch config value migration exception

In case the value did not exist in the config a "ConfigException.Missing" exception was thrown which caused the whole migration to fail.

Fixes #1645

* Improve config migration logging

* Update user config file after config update

The user config file gets reset before the update.
This could cause the user settings to get lost on the next server start in case something went wrong during the update and the updated config never got saved to the actual file.
2025-09-14 10:32:23 -04:00
renovate[bot]
2818fbe575 Update dependency com.typesafe:config to v1.4.5 (#1642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 12:22:28 -04:00
renovate[bot]
a11db6662d Update kotlin monorepo to v2.2.20 (#1640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 12:22:22 -04:00
schroda
904157a91a Streamline deprecated settings config value migration logic (#1633)
* Streamline deprecated settings config value migration logic

* Add "autoDownloadAheadLimit" config migration

For consistency

* Replace "exitCode" with "shutdownApp"

* Enhance shutdown logging to include exit reason
2025-09-13 12:22:09 -04:00
renovate[bot]
904d3980d6 Update plugin ktlint to v13.1.0 (#1609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 12:21:58 -04:00
renovate[bot]
89e2ba9f75 Update dependency com.pinterest.ktlint:ktlint-cli to v1.7.1 (#1520)
* Update dependency com.pinterest.ktlint:ktlint-cli to v1.7.1

* Lint

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Syer10 <syer10@users.noreply.github.com>
2025-09-13 12:21:49 -04:00
Mitchell Syer
3f4dd2861e Fix pages after refactoring downloads (#1639) 2025-09-09 21:10:27 -04:00
Weblate (bot)
c1a9b158e2 Weblate translations (#1638)
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-server/pt/
Translation: Suwayomi/Suwayomi-Server

Co-authored-by: Thiago Alencar <thiago.alcr@gmail.com>
2025-09-09 18:15:08 -04:00
schroda
7db947eba2 Restore server settings first (#1637)
The imported server settings might cause the active database to change.
In case this happens, the backup was restored into the wrong database.
2025-09-09 18:14:47 -04:00
renovate[bot]
450861d47a Update plugin buildconfig to v5.6.8 (#1636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-09 18:14:36 -04:00
schroda
3df0106325 Fix/logging user sensitive config data in cleartext (#1634)
* Redact username and passwords from config log

* Redact empty username and password

* Make regex Username/Password case-insensitive in config redaction
2025-09-09 18:14:21 -04:00
schroda
2b767eb488 Fix/local manga thumbnails handling (#1630)
* Skip thumbnail download for local manga sources

Local manga sources do not require downloading thumbnails as they are stored locally.

* Always update local source manga info when browsing

When making changes to an in library local source manga, a refresh from the source was required to get the latest data.
From a user perspective, this is unexpected behavior that looks like a bug.

If, for example, the thumbnail file extension got changed, the file could not be found anymore and an error was shown in the client. To fix this, a manga refresh was required.
2025-09-09 18:14:01 -04:00
renovate[bot]
f8c77b3673 Update dependency io.insert-koin:koin-core to v4.1.1 (#1629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-09 18:13:50 -04:00
Mitchell Syer
aaaae4e719 Handle null keys better (#1628) 2025-09-09 18:13:40 -04:00
Mitchell Syer
679e2c0da9 Optimize Download Queue (#1627)
* Optimize download Queue

* Lint

* Fix name of DownloadStatus file

* Re-add synchronous status fetch
2025-09-09 18:13:31 -04:00
renovate[bot]
055c1c47f6 Update dependency com.android.tools.build:apksig to v8.13.0 (#1626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-09 18:13:18 -04:00