Commit Graph
100 Commits
Author SHA1 Message Date
schroda 64ac49fa41 Support older browsers (#674) 2024-03-26 23:39:25 +01:00
schroda 6fc70121c6 Fix/manually deleting chapter ignores bookmark (#675)
* Rename "Chapters::isAutoDeletable" to "isDeletable"

* Rename "Chapters::getAutoDeletable" to "getDeletable"

* Prevent manually deleting bookmarked chapters unless allowed
2024-03-26 23:39:04 +01:00
schroda 06b2bca340 Add prioritization to image requests (#671)
In the reader the preloaded page requests were triggered before the actual page got rendered and thus, the image request of the rendered page had to wait for all the preloaded images to finish
2024-03-24 19:08:36 +01:00
schroda 34aeac9c33 Preload pages in single page mode (#670) 2024-03-24 15:05:31 +01:00
schroda 1d49945caa Fix check for fetch abortion error (#668) 2024-03-24 15:03:29 +01:00
schroda a96038bcb7 Prevent image loading placeholder for cached images (#669)
Give the image time to get loaded from the cache before setting the loading state
2024-03-24 15:03:20 +01:00
schroda 6186cb0ea3 Optionally hide library manga when browsing source (#665) 2024-03-23 23:44:46 +01:00
schroda 66d6c95dfd Feature/automatically load more pages until scrollbar is visible (#667)
* Rename "grifRed" to "gridWrapperRef"

* Automatically fetch more pages until scrollbar is visible
2024-03-23 23:34:33 +01:00
schroda 83635faf95 Cache first page of source manga fetch response (#666) 2024-03-23 23:34:20 +01:00
schroda 452ac4fd9a Properly disable open source button in manga page (#663) 2024-03-22 03:33:19 +01:00
schroda 0ad08360a2 Remove image url port replacement (#664)
This was unintentionally added
2024-03-22 03:33:09 +01:00
schroda bee4d4aab8 [ESLint] Enable caching (#661) 2024-03-19 22:46:39 +01:00
schroda 0c1abebaf4 Disconnect resize observer after restoring initial page (#660)
Everytime the reader width got changed, the resize observer triggered the initial page to get scrolled into view again
2024-03-19 22:46:31 +01:00
schroda 0c22a9012e Feature/cleanup metadata related logic (#657)
* Remove unnecessary parameter from "requestUpdateServerMetadata"

* Streamline updating metadata server settings

* Move metadata related logic
2024-03-16 16:21:15 +01:00
schroda aea5dad0ce Remember last used migration flags (#656) 2024-03-16 14:02:54 +01:00
schroda 318c4a5040 Add option to delete downloaded chapters on migration (#655) 2024-03-16 13:45:54 +01:00
schroda 31d53ed182 Remove search page from the history after migrating (#654) 2024-03-16 13:45:47 +01:00
schroda c005316f56 Feature/update iso languages (#652)
* Extract iso language list to new file

* Update iso language list

* Add function to get full iso language object

* Change i18n resource key of "Norwegian Bokmål"
2024-03-09 02:52:34 +01:00
schroda eede189eec Fix/build push master workflow (#651) 2024-03-09 02:11:08 +01:00
schroda 5e6c1c1c1b Add new languages to resources (#650) 2024-03-09 01:56:13 +01:00
schroda 2047d76ad9 Update workflow actions (#649)
* Update workflow actions

* Fix tsc issues
2024-03-09 00:24:48 +01:00
schroda 550c576725 Feature/update dependencies (#648)
* Update to node v20.11.1

* Update dependencies
2024-03-08 23:31:56 +01:00
schroda 2d1d889ef5 Run eslint on commit (#647) 2024-03-08 22:42:48 +01:00
schroda ed74f7c851 Make remaining image requests abortable (#645) 2024-03-08 00:24:01 +01:00
schroda 535cb1b359 Fix/save active device only in local storage (#643)
* Save "activeDevice" in the local storage

* Set default back to for "DeviceSetting"
2024-03-07 01:12:35 +01:00
schroda c0c30163c3 Validate device name (#642)
allow only
 - 16 chars
 - letters
 - numbers
 - "-"
 - "_"
2024-03-06 23:44:05 +01:00
schroda a3bc98c632 Consider more ui settings as global (#641) 2024-03-06 23:23:49 +01:00
schroda 4aec3c94ef Feature/support settings per device (#640)
* Optionally prevent deletion and mutation of "MutableListSetting" items

* Save server metadata per device

This makes it possible to e.g. have different settings on a desktop and a smartphone.
2024-03-06 23:07:48 +01:00
schroda 6cff75e257 Feature/limit concurrent image requests (#639)
Prevent exhausting the available concurrent requests to the same domain by the browser with just image requests.

This prevents e.g. when browsing a slow source from having 6 concurrent image requests and having to wait for the next page request until one of those requests has finished
2024-03-05 02:11:40 +01:00
schroda daf6b50249 Fix/deprioritize image requests (#638)
* Use "fetch" instead of "axios"

Axios does not support prioritizing requests

* Deprioritize image requests

The browser requests images (<img>) with low priority by default.
Due to switching to loading images via axios (f852ce70e7), the image requests had the same priority as other requests and thus blocked e.g. xhr requests
2024-03-05 02:07:05 +01:00
schroda 0f3549ead9 Fix/manga migrate option shown for non library manga on large screens (#637)
This happened only on large screens
2024-03-04 20:40:47 +01:00
schroda 224df1300f Feature/improve back navigation button (#636)
* Improve detection of last page in history

* Use "useBackButton" in reader
2024-03-04 20:40:14 +01:00
schroda f0fc31ceac Fix/spinner image not able to be opened in new tab or saved (#635)
After the object url has been revoked the image can't be used anymore
2024-03-03 23:07:12 +01:00
schroda fb0622e209 Add chapter action to open chapter on source (#634) 2024-03-02 16:11:39 +01:00
schroda 8bdf035ca7 Feature/add option to remove manga from categories when removing from library (#633)
* Optionally remove manga categories when removing them from library

* Use "Mangas::removeFromLibrary"

* Handle uncatched promises
2024-03-02 15:28:58 +01:00
schroda c5a5c4b8af Fix/add manga to library without dialog not adding default categories (#632)
* Add default categories when adding manga to library without dialog

* Add manga to library and update categories in one mutation
2024-03-02 15:26:15 +01:00
schroda eb233aef3d Feature/improve add to library category selection dialog (#631)
* Create "Categories" util class

* Only show add to library category selection in case categories exist

* Add edit categories button in select categories dialog

* Add option to disable add to library dialog to the dialog
2024-03-02 15:23:12 +01:00
schroda 92fe3eaaa6 Feature/update issue templates (#630)
* Update issue templates with latest versions from the server

* Add additional points to "bug_report" issue template
2024-03-02 01:29:15 +01:00
schroda c9a4ed620c Add "issue_moderator" github workflow (#629) 2024-03-02 01:23:30 +01:00
schroda 79d35404d3 Fix/double page mode not aborting preload image requests (#628)
* Use request manager to preload images in DoublePagedPager

Was forgotten to update along with f852ce70e7

The requests for the preload also never got aborted

* Revoke object urls after load
2024-03-01 18:27:46 +01:00
schroda d242552751 Add width to image loading placeholder in horizontal mode (#627) 2024-03-01 18:27:35 +01:00
schroda 2a72cd43db Use "a" tag for manual backup creation download link (#626)
5017ba9932 did not fix the problem
2024-03-01 18:27:28 +01:00
schroda f852ce70e7 Abort image requests on unmount (#624) 2024-03-01 01:17:23 +01:00
schroda 900a6c1609 Fix restoring initial page in vertical and horizontal pager (#622)
The initial page was scrolled into view before it had a height which resulted in the scroll position to stay at the top of the screen
2024-03-01 01:17:13 +01:00
schroda c538af4462 Prevent unnecessary chapter updated due to restoring last read page (#621)
When resuming a chapter and restoring the last read page, a chapter update was send for the just restored page
2024-03-01 01:17:03 +01:00
schroda 90b6c3a0fa [Tooling] Print contributors of release with changelog script (#619) 2024-02-23 21:19:35 +01:00
schroda e310ec3ba7 [Release] Version 1.0.0 (#501) 2024-02-23 20:35:38 +01:00
schroda 21bb931a74 Use full available width for reader component (#618)
Due to horizontally centering the flex-box items via "alignItems", the items did not stretch anymore, which is the default value for "alignItems" and thus, did not take up the available width.

Regression introduced with ab0ecf4da0
2024-02-22 19:24:27 +01:00
schroda 629b742140 Feature/settings add new socks proxy settings (#617)
* Add new socks settings

* [VersionMapping] Require server version "r1493" for preview
2024-02-22 00:25:12 +01:00
schroda ab0ecf4da0 Center page number correctly (#616) 2024-02-21 23:39:12 +01:00
schroda ceec260d14 Feature/reader setting add scale small pages (#615)
* Add option to stretch small pages

In case "fit page to window" is enabled, small pages can be scaled up to the available width and height, while maintaining the aspect ratio

* Cleanup "imageStyle" function
2024-02-21 02:42:07 +01:00
schroda 9531825bab Fix size of pages in continues reader mode (#613)
In case "fit to page" was enabled, the styling got incorrectly applied to horizontal pages. Causing the pages to be small

Regression introduced with 15825fbe53
2024-02-21 02:32:16 +01:00
schroda d8ee676d55 Prevent invisible pages (#614)
Sometimes after changing the current page, the next page had 0 width and thus was invisible.
2024-02-21 02:32:09 +01:00
schroda 97ab4004a6 Do not update chapter in case it has not been loaded yet (#612) 2024-02-18 15:20:37 +01:00
schroda 5a9618aefe Correctly update function refs when state changes (#611) 2024-02-18 15:20:30 +01:00
schroda e8bfc28350 [VersionMapping] Require server version "r1487" for preview (#610) 2024-02-18 02:11:09 +01:00
schroda 02dc9ca736 Add "thumbnailUrlLastFetched" to thumbnail url (#607) 2024-02-17 20:24:09 +01:00
schroda e5ffbb462c Feature/gql remove download ahead limit (#608)
* Use new "autoDownloadNewChaptersLimit" setting

* Use "downloadAheadLimit" from metadata

Should have been changed with 2acf2b6d33
2024-02-17 20:24:02 +01:00
schroda fd651b6165 Feature/add vui as webui flavor (#609)
* Remove unused "downloadAhead" function

* [Codegen] Update generated files

* Add "VUI" as webui flavor

* Add info about changing the webUI channel or flavor
2024-02-17 20:16:51 +01:00
schroda 05077b4a2b Correctly link to custom repos settings (#603)
Regression introduced with 4b54b09395
2024-02-17 16:53:53 +01:00
schroda 99c9d9d12f Use set reader width on small devices (#602)
On small devices (greater height than width) the width was always set to 100vw ignoring the set reader width via the settings
2024-02-17 00:41:37 +01:00
schroda aea112e292 Create correct manga thumbnail url (#601)
Regression introduced with c099e01fb7
2024-02-16 21:21:47 +01:00
schroda 4b54b09395 Rename "ExtensionSettings" to "BrowseSettings" (#600) 2024-02-16 19:53:00 +01:00
schroda e383cc9ea8 Add info text to download ahead setting (#599)
Show info that current and next chapter have to be downloaded for this setting to work
2024-02-16 19:38:31 +01:00
schroda c099e01fb7 Add manga fetch timestamp to thumbnail url (#598)
In case the fetch timestamp of a manga changed, it's possible that the thumbnail has changed as well, thus, the currently cached image should be ignored
2024-02-16 19:38:13 +01:00
schroda 2acf2b6d33 Feature/download ahead trigger chapter downloads client side (#597)
* Trigger download ahead while reading client side

* Trigger download ahead while reading earlier

Download ahead was only triggered once the chapter got marked as read

* Optionally ignore dupe chapters for download ahead

* Consider current chapters scanlator for dupe check

* Update download ahead related settings

- add new metadata setting for download ahead limit
- previous setting
  - rename
  - update usage (auto download new chapters limit)

* Select chapter to auto delete while reading depending on ignore dupe setting

Currently, the n-th to last chapter always got deleted ignoring if "ignore dupes" setting was enabled or not.

* Only auto delete chapter while reading if it is read

In case not the last read but the n-th to last read chapter should get auto deleted while reading, it currently just got deleted ignoring if it has been read or not.
2024-02-16 19:16:18 +01:00
schroda 0edec685f9 Correctly select next chapter id for download ahead (#596)
Chapters are being fetched sorted by descending source order, thus, the next chapters index is less than the current one

Regression introduced with 7caea4e526
2024-02-13 01:53:49 +01:00
schroda d244ba6538 Fit double page reader pages correctly to windows width (#595)
The max-width, which is for a single page, was applied to each page of the double page reader, which resulted in both of them being able to take up 100% of the available width
2024-02-13 01:53:18 +01:00
schroda 4ffd3584c6 Handle RTL reading direction for double page reader (#594)
Changing the reading direction for the double page reader did nothing.
It just always was LTR.

Regression introduced with 4d75474b39
2024-02-13 01:53:10 +01:00
schroda 444ebf8007 Fix/reader outdated chapter page count (#593)
* Always fetch pages for not downloaded chapter

The pages of non downloaded chapters have to be re-fetched since the local data might be out of date which would result in page fetch failures

* Correctly check for loading state of chapter

For the first render of e.g. the next chapter, the "arePagesLoaded" flag was still true from the previous chapter which caused the loading state to incorrectly be false.

This caused pages to get requested which on server side potentially pointed to invalid urls and thus the requests failed.

* Use updated chapter in case page count changed
2024-02-12 21:45:50 +01:00
schroda 5017ba9932 Handle backup creation on same domain as server (#592)
In case the webUI is hosted by the server the backup creation caused the app to navigate to the backup url which resulted in an empty page

Regression introduced with db5d3ff7c0
2024-02-12 21:45:33 +01:00
schroda 7caea4e526 Download ahead only in case current and next chapter are downloaded 2024-02-12 20:53:53 +01:00
schroda d5b633f5c9 Feature/improve create changelog script (#591)
* [Tooling] Switch to github gql api

* [Tooling] Credit all authors

* [Tooling] Add pr info from the commits associated pr

* [Tooling] Log unexpected commit format before throwing error

* [Tooling] Prevent running script without sha of last commit of previous release
2024-02-02 18:59:57 +01:00
schroda bf3815e3bd Correctly update cache after updating an extension (#590)
After installing/uninstalling/updating an extension all other extension were removed from the list besides the updated extension

Regression introduced with 506e0aa0e3
2024-02-01 22:58:01 +01:00
schroda 3077824ca7 Update dependencies (#587) 2024-01-29 21:17:27 +01:00
schroda b074de26a2 Fix/install external extension does not update extension list (#580)
* Update extension list after installing external extension file

The cache was never updated after the installation

* Make it possible to install external extension while having an empty list

* Show toasts while having an empty extension list

* Use correct extension id

* Update extension action after manual file installation

When installing an external extension the action button did not get updated due to this being an internal state of the ExtensionCard.
By including this in the key, it gets ensured that the component will get correctly updated
2024-01-29 20:59:27 +01:00
schroda 506e0aa0e3 Update extension list after removing an obsolete extension (#579)
The removed extension was never removed from the cached list
2024-01-29 20:56:09 +01:00
schroda cee566d9b2 [Codegen] Update manga chapter total count on initial refresh (#582)
In case a manga hadn't been initialized yet, its chapter total count was still 0 after refreshing the manga and its chapter list data.
This was caused because its chapter list hadn't been fetched yet by the time the manga refresh mutation resolved.
2024-01-29 20:55:49 +01:00
schroda c483e71bf1 Remove automatic manga update (#583)
Since the server now has an automatic global update functionality, this is not needed anymore
2024-01-29 20:55:33 +01:00
schroda d6468bca57 Add manga migrate option to menu on mobile devices (#584)
Should have been added with e0c5e0521d
2024-01-29 20:55:26 +01:00
schroda 6716339c0e Set default value for resetting to 50% (#585)
Should have been updated along with 2dab88eb7e
2024-01-29 20:55:16 +01:00
schroda 891d6f4165 Fix/manga migration opening search twice (#586)
* Update "MenuItem" props

* Navigate to manga migration only once

* Remove disabling migrate button on manga refresh

too much copy&paste
2024-01-29 20:54:56 +01:00
schroda 10ec7de628 Correctly calculate width (#578) 2024-01-26 23:59:12 +01:00
schroda f335b59dca Actually send library db cleanup mutation (#577) 2024-01-26 21:36:07 +01:00
schroda 18ca66cb40 Feature/settings add flaresolverr (#568)
* [Codegen] Update to server changes

* Set "dialogTitle" by default to "settingTitle" for "NumberSetting"

* Add FlareSolverr to settings

* [VersionMapping] Require server version "r1477" for preview

* Replace static strings with translation keys
2024-01-26 21:20:06 +01:00
schroda 771d6beb18 Add missing gap to VerticalReader mode with fit to window setting (#574) 2024-01-26 20:55:27 +01:00
schroda ab4cddfedd Force a reconnect in case a heartbeat is missing (#569)
There seems to be cases where the connection is lost without the client being able to reconnect (e.g. active subscription -> system hibernation -> waking up system => not receiving any messages anymore).
2024-01-26 20:55:14 +01:00
schroda 15825fbe53 Prevent pages from being bigger than the 100% in width (#573) 2024-01-26 20:54:38 +01:00
schroda 2dab88eb7e Decrease default "reader width" to 50% (#576) 2024-01-26 20:54:19 +01:00
schroda e0c5e0521d Feature/manga migration (#536)
* Add "migration" tab to "Browse" screen

* Add missing useEffect cleanup for navbar title and actions

* Make "SourceGridLayout" reusable

* Add migration tab to "Browse"

* Add migration logic
2024-01-26 20:50:51 +01:00
schroda 5224ad1391 Add missing id to request (#571)
The id is required to normalize the data
2024-01-26 20:50:09 +01:00
schroda 6edf3bad64 [ESLint] Allow zero warnings (#575) 2024-01-26 20:49:43 +01:00
schroda dcbf5a1899 Fix/library manga selection type error (#566)
* Prevent TypeError when deselecting items from a specific key

This was noticed when changing the categories of a manga to a category without any selected mangas, in this case, when trying to deselect a manga after changing the categories, a TypeError was thrown which resulted in a white screen

* Remove duplicates from the list of all selected ids

* Update state via setter

* Clear selection after disabling the library selection mode

* Remove console log
2024-01-21 22:31:43 +01:00
schroda 69a62b6c2c Add webUI settings again (#564)
Was accidentally removed with e10cbf9e8f
2024-01-21 22:31:27 +01:00
schroda 24379c1e46 Infinitely try to reconnect gql subscriptions (#563) 2024-01-21 22:31:20 +01:00
schroda de596426bf [Codegen] Update generated files (#561)
Should have been updated with 1c2a196950
2024-01-17 13:48:43 +01:00
schroda f8e1bfc401 Correctly change the category of a manga from the library (#560)
For a single manga the "mangaId" should be passed while "mangaIds" is empty, however, the "mangaIds" were passed as an empty array which caused an empty array of manga ids to be passed with the mutation
2024-01-17 13:46:05 +01:00
schroda 1c2a196950 Fix/adding manga to library not updating category (#559)
* Refetch categories after updating a manga

After adding/removing a manga to/from the library, the categories did not update.

* Include manga categories int the manga update mutation response
2024-01-17 13:45:30 +01:00
schroda e10cbf9e8f Add extension settings screen (#557) 2024-01-15 23:48:11 +01:00
schroda f0e1bd3249 Feature/extension list show info when no repo is defined (#556)
* Show add extension repo info in case no repo is defined

* Update extension repositories localization
2024-01-15 23:22:35 +01:00