Commit graph

245 commits

Author SHA1 Message Date
Cuong-Tran
3b06366fd9
chore(download): disable download URL hash inclusion by default (#1677) 2026-06-11 03:06:27 +07:00
NarwhalHorns
c290472012 Add option for bookmarked chapters to download dropdown (mihonapp/mihon#2891)
Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>

(cherry picked from commit 3c6f0f1697ccab055ee7af47da84b2161d406f0c)

(cherry picked from commit 185cd923c0bf838d55b38ce0ebfb5c010760b880)
2026-05-08 14:52:04 +07:00
Cuong-Tran
6f06974524
feat: split "sync on add" into separate metadata and chapter fetch preferences (#1563)
* feat: split "sync on add" into separate metadata and chapter fetch preferences

* refactor: remove redundant SnackbarHostState and error snackbars when auto sync entries

* clean other languages strings
2026-03-17 13:09:48 +07:00
David Brochero
e7bdbb5794
feat: option to auto sync metadata and chapter list when adding to library (#1091)
* feat: auto-fetch chapter list when adding to library

* simplify impl

* IO context (gemini suggestion)

* don't trigger NoChapterException

* add option to settings

* linting

* fix: fetching on bulk

* add kmk comment

* fix exception handling

* linting again

* feat: also sync metadata

* fix: rebase issues

* remove KMK comment

* Use `manga` instead of `new` so its title got updated with source's `getMangaDetails`; also reset chapterFlags

---------

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-02-02 16:47:34 +07:00
David Brochero
c7e0585c6f
feat(tracker): add support for EnhancedTracker to merged sources (#932)
* fix: add support for `EnhancedTracker` to merged sources

* ref: readability

* fix: use only sources specific to the merged title

* fix: don't match using name

* formatting

* don't block, suspend

* Move merged source out of EnhancedTracker

* Extract Injekt

* Return first accepted merged manga

* Move getMergedSources to SourceManager and update usages accordingly

* simplify code

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-02-02 12:17:23 +07:00
Cuong-Tran
8f57f4a5a0
feat(history): Allow multi/range-selection and batch reset for history items (#1437)
* feat(history): Allow multi-selection and batch reset for history items

* Use chapterId instead of history.id

* use remember getUiModel

* Toolbar selection mode

* cleanup History

* Replace selectedChapterIds with selection for chapter selection state

* Remove userSelected parameter from selection logic and related function signatures

* remove parentheses

* Fix range selection

* longclick on cover too

* disable clear-history button when none-selected
2026-02-02 11:21:32 +07:00
Cuong-Tran
f373818d93
feat(history): Add Filters to History screen (#1433)
* Add Filters to History screen

* Revert favorite condition
2026-01-28 16:43:07 +07:00
MajorTanya
3e7dc5c41a Add Filters to Updates screen (mihonapp/mihon#2851)
* Add Filters to Updates screen

Behaves basically like the filters in the library:

- Unread: Show/Don't show unread chapters
- Downloaded: Show/Don't show downloaded chapters
- Started: Show/Don't show chapters that have some progress but aren't
  fully Read
- Bookmarked: Show/Don't show chapters that have been bookmarked

Started behaves differently from its Library counterpart because the
actual manga data is not available at this point in time and I thought
calling getManga for each entry without caching would be a pretty bad
idea.

I have modelled this closely on the filter control flow in the
Library, but I'm sure this can be simplified/adjusted in some way.

* Move most filtering logic to SQL

Unread, Started, and Bookmarked filters are now part of the SQL query.

Download state cannot be filtered in the database so it remains in
Kotlin.

Because the Downloaded filter has to be run in Kotlin, the combine
flow uses the preferences flow twice, once to get the SQL query params
and once for the Kotlin filters (only Downloaded at this time).

* Add "Hide excluded scanlators" to update filters

Based on the work done in mihonapp/mihon#1623 but integrated with the other filters
in this PR. Added the user as a co-author for credit.

Co-authored-by: Dani <17619547+shabnix@users.noreply.github.com>

---------

Co-authored-by: Dani <17619547+shabnix@users.noreply.github.com>

---------

* Merge Panorama toggle into Filter diaglog
* Make Panorama toggle persistent and share it with History
* Implement toggleSwitch method for preference management to avoid create new function on every composition

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>

(cherry picked from commit bbe9aa8561360f030072fbc49f79748e71c6535e)
2026-01-28 12:41:18 +07:00
Jobobby04
e0340be73c Minor fixes
(cherry picked from commit b8b468cea7f1d117f54331780d75584bff9cf644)
2026-01-27 13:46:06 +07:00
Jobobby04
ad9736a2ba Lanraragi delegation
(cherry picked from commit 3ae6c0131b2a975c8e517c4de00e65a3637b01cc)

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-01-27 13:24:20 +07:00
NGB-Was-Taken
1ac96825c4 Add preference to toggle chapter URL hash for downloads (jobobby04/TachiyomiSY#1533)
(cherry picked from commit 0ffc798e9ae5a201ef2051d48099bf38f467815b)

* Or

(cherry picked from commit b1e6fa65d6437427b6a3eb03af36b3d9e3e5e645)
2026-01-26 14:13:21 +07:00
AntsyLich
7e71162519 Remove checksum from release notes and improve download tip
(cherry picked from commit b93337cb3d53278e191cf1dceeaf6c4effdb141d)
2026-01-26 13:19:41 +07:00
AntsyLich
5ab24620ec Cleanup migrate manga dialog and related code (mihonapp/mihon#2156)
(cherry picked from commit 2b126f1ff56b63e470b48a04149e28c609f01148)

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-01-21 10:46:16 +07:00
Radon Rosborough
f12e997fb8 Improve handling of downloads for chapters with same metadata and optionally for OSes that don't support Unicode in filename (mihonapp/mihon#2305)
Co-authored-by: jkim <jhskim@hotmail.com>
Co-authored-by: fatotak <111342761+fatotak@users.noreply.github.com>
Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 58b25d697f7987e9888344e815d5646ec010a663)
2026-01-14 12:56:19 +07:00
Jobobby04
b85fa5b9c9
Minor refactors
(cherry picked from commit 9b6c5effc9262f190c8758d2047708cd51549855)
2026-01-09 16:31:05 +07:00
Cuong-Tran
8eaa177ad5
Update dependency com.pinterest.ktlint:ktlint-cli to v1.8.0 (#1369)
* Update dependency com.pinterest.ktlint:ktlint-cli to v1.8.0 (mihonapp/mihon#2708)

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 13552c5ffa796aa9bf5db5e12c758a4b3763bf2b)

* chore: disable ktlint consecutive comments and single line block comment rules

* spacing-between-declarations-with-comments & mix condition

* Remove unused rule

* More blank lines

---------

Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2026-01-08 10:19:37 +07:00
AntsyLich
8ec37f3807
Add option to customize concurrent downloads, increase page concurrency (mihonapp/mihon#2637)
(cherry picked from commit 643762f91325a460c74398d472a555fb00ed9f63)
2025-12-31 13:54:37 +07:00
Cuong-Tran
294f7d046d
Merge hentaiSourceIds (#1318) 2025-12-09 15:21:33 +07:00
Cuong-Tran
cedc79782b
refactor(merged-settings): Remove unused no-dedupe option (#1194)
* refactor(merged-settings): Remove unused no-dedupe option

* refactor(merged-settings): Remove unused no-dedupe option
2025-10-07 15:58:18 +07:00
AntsyLich
f76539743d Replace compose-stable-marker with compose-runtime-annotation
(cherry picked from commit 4ac9fcd4d3ff2eed59d9c8454d7463b7c9e6dda6)
2025-10-06 14:00:20 +07:00
Cuong-Tran
89fb6ab753
fix(download): Apply filtering when fetching chapters for download (#1134) 2025-09-10 12:30:21 +07:00
Fermín Cirella
004b63dfb5
feat(library): Add library preference to show empty categories during search/filtering (#1088)
* feat(library): Add library preference to show empty categories during search/filtering

* Add comment back

* Fix formatting

* subscribe to changes & refactor Regex

* format

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-09-10 10:02:36 +07:00
Cuong-Tran
ea06631670 feat(library): Rework categories filter 2025-08-27 14:29:01 +07:00
AntsyLich
1fd86ca74f Optimize and cleanup library code (mihonapp/mihon#2329)
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
(cherry picked from commit e62cd0e816402303fdf12513816894624f77e208)
2025-08-27 14:29:01 +07:00
Cuong-Tran
feabf6efa6
fix(library): Fix Ungrouped UI (#1072) 2025-07-23 15:14:28 +07:00
Cuong-Tran
5dae177b08
feat(history): Add indicator for un-finished reading & has more un-read chapters (#992)
* feat(history): Add indicator for un-finished reading & has more un-read chapters

* Fix StateProvider

* Show reading progress in History screen

* Don't count bookmark excluded chapters in unread dot for History

* Don't count bookmark excluded chapters in Library unread count

* Exclude bookmark filtered chapters from continue-reading list

* Bundle `applyFilter` for bookmark & scanlator together

* Remove parentheses
2025-07-21 15:34:12 +07:00
Danny Wu
190f4a68ac Add option to hide missing chapter count (mihonapp/mihon#2108)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit d2c1ff6adf5543e5a593949704d41f2358252593)
2025-07-17 16:20:21 +07:00
Matthias Ahouansou
46bb3da70a Use median to determine smart update interval (mihonapp/mihon#2251)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit d60241690b373e42215761b4108e52a7655daaeb)
2025-07-17 15:36:52 +07:00
Mend Renovate
ab44f49fff Update dependency org.junit.jupiter:junit-jupiter to v5.13.1 (mihonapp/mihon#1754)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 591e9c13560f28d71598eb32648387d099ebc881)
2025-06-16 00:38:37 +07:00
Tim Schneeberger
9a31ffcc41
feat(recommendation): batch processing for recommendations & sort by relevancy (jobobby04/TachiyomiSY#1383)
* refactor: use NoResultsException

* refactor: cleanup RecommendationPagingSources

* refactor: turn wake/wifi lock functions into reusable extensions

* feat: implement batch recommendation (initial version)

* fix: serialization issues

* fix: wrong source id

* refactor: increase performance using virtual paging

* refactor: update string

* refactor: handle 404 of MD source correctly

* style: add newline

* refactor: create universal throttle manager

* refactor: throttle requests

* chore: remove unused strings

* feat: rank recommendations by match count

* feat: add badges indicating match count to batch recommendations

* fix: handle rec search with no results

* fix: validate flags in pre-search bottom sheet

* feat: implement 'hide library entries' for recommendation search using custom SmartSearchEngine for library items

* style: run spotless

* fix: cancel button

* fix: racing condition causing loss of state

* Avoid runBlocking in a property getter

* Remove unnecessary `synchronized`

* Fixes screen staying on in library tab. (jobobby04/TachiyomiSY#1451)

(cherry picked from commit 254980695bc39fe064e7aeb181ecdbf70c1eff95)

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
Co-authored-by: NGB-Was-Taken <76197326+NGB-Was-Taken@users.noreply.github.com>
2025-06-12 15:19:34 +07:00
Cuong-Tran
3d2ad327bc
chore(manga-repository): Revert (in-memory) fast browsing (#965)
* Revert "fix(manga-repository): Fix selected entries while bulk-selection won't show as selected (#927)"

This reverts commit 303a266720.

* Revert "refactor(network-to-local): simplify networkToLocalManga (#910)"

This reverts commit d33efced68.

* Revert "chore(network-local-manga): Reintroduce (in-memory) fast browsing (#909)"

This reverts commit 3310784faf.

* Add updateInfo parameter to insertNetworkManga method
2025-05-31 11:41:20 +07:00
Fermín Cirella
7f820b590c
feat(library): add category library filter (#895)
* feat(library): add category library filter

* feat(library): pre-calculate filter categories map

* feat(library): ungroup library items if category filter is enabled

* refactor `combine` function and improve flow handling

* fix: Exclude system's `Default` category from the list (as no other category would match with it)

* refactor: categories conversion

* feat: correctly restore categories filter preferences

* feat: improve DB ops performance

* chore: add KMK comment

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-05-20 15:32:41 +07:00
Cuong-Tran
2024cdf168
feat(update-errors): Allow manually delete update errors (#916)
* Allow manually delete error(s)

* remember swipe action & correct Modifier

* Simplify LibraryUpdateError data structure and separate SourceManager from compose UI

* Add badge count errors

* using SwipeToDismiss

* correct Modifier & StringResource

* remove confirmValueChange when Settle
2025-05-17 19:07:42 +07:00
Cuong-Tran
bc33a75b6b
fix(update-errors): Fix range selection & ordering latest error first (#914)
* Fix range selection

* Sort error list by latest error first

* Correct non-nullable lastUpdate & fix comment
2025-05-16 15:07:37 +07:00
Cuong-Tran
d33efced68
refactor(network-to-local): simplify networkToLocalManga (#910) 2025-05-14 15:14:25 +07:00
FlaminSarge
6e3670ef75
Add advanced option to always update manga title from source (mihonapp/mihon#1182)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8b45ef0e5d5d368e0925df9816ae423defaed4d9)
2025-05-13 23:55:50 +07:00
Cuong-Tran
3310784faf
chore(network-local-manga): Reintroduce (in-memory) fast browsing (#909)
* measure time

* Revert "Revert "Fast browsing (#612)""

This reverts commit d23130b317.

* Fix networkToLocal for bulk-selection selectAll/reverseSelection

* fix comments
2025-05-13 23:18:01 +07:00
Cuong-Tran
7dd57c54bc
chore(storage): check valid data folder location & handle permission for device without FilePicker (#906)
* fix(storage): setting app's data folder on Android TV

Also check if set location is actually accessible then update UI compose accordingly (for all devices) in some cases (e.g. location set but actual folder was deleted or permission revoked)

(cherry picked from commit ef56b7f11ef0d243ef14816e85afa360f1137fe8)

* chore(storage): improve permission handling for older Android version & Fire TV

(cherry picked from commit 5ee009a6db73d33687e55ee8f4ad6412a9e320d4)
2025-05-11 23:24:16 +07:00
Jery
a862bda9d5
feat(incognito): Add incognito mode for EH based sources (#901)
* Add incognito mode for eh based sources

(cherry picked from commit bdf848ebb721394ff1b7b7006e538f6f60056b76)

* simplify GetIncognitoState parameters and logic

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-05-11 14:22:30 +07:00
Cuong-Tran
98f93bfbad
refactor checksum regex in GH release notes (#858) 2025-04-20 01:38:45 +07:00
NarwhalHorns
f685e6d5fc
Display total chapters on duplicates list items (mihonapp/mihon#1963)
(cherry picked from commit 12abd9938b7c235d6a1c02391624703476c1f339)
2025-04-09 12:21:45 +07:00
AntsyLich
5da873cac1
Update non-library manga data when browsing (mihonapp/mihon#1967)
(cherry picked from commit a594ad392d4793f3a5cb2b709d29b2feab6120d3)
2025-04-09 12:04:22 +07:00
NarwhalHorns
c2341cf3cd
Display all similarly named duplicates in duplicate manga dialogue (mihonapp/mihon#1861)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 0d35b6fdafbf5451a2743ea9bcfc735bf49374a7)
2025-04-06 01:49:35 +07:00
AntsyLich
712a1f2bdb
Significantly improve browsing speed (near instantaneous) (mihonapp/mihon#1946)
(cherry picked from commit c8ffabc84a096207c1997ab69fc86176f3b53f00)
2025-04-05 23:20:37 +07:00
Cuong-Tran
d23130b317
Revert "Fast browsing (#612)"
Also bring back selectAll/selectReverse on BulkSelection

This reverts commit 5fc9e202e8
and f37a7b1580
and 7e16b56911.
2025-04-05 23:20:31 +07:00
kunet
0ef230f3dd
Add user manga notes (mihonapp/mihon#428)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630308b962043c7b59422878c94f80156e9f)
2025-04-03 00:36:31 +07:00
AntsyLich
cde9a34238
Tweak the app updater logic and add FOSS build support (mihonapp/mihon#1843)
(cherry picked from commit 28093935d867e5d1a95944e67c6d1eb46cab4a37)
2025-03-23 23:43:06 +07:00
AntsyLich
35310c70fe
Remove F-droid warnings
(cherry picked from commit 181dbbb638686a284fa24c4e43d7c022a4f8e4bb)
2025-03-23 23:43:05 +07:00
AntsyLich
9c25e3dede
Add back option to hide unread chapter badge in library (mihonapp/mihon#1871)
(cherry picked from commit ac432e2e941f4689caad246bab6aa7d303c83bfa)
2025-03-23 23:43:05 +07:00
AntsyLich
6fa34ab5e9
Seperate mark duplicate read chapters as read behaviors as options (mihonapp/mihon#1870)
(cherry picked from commit 8a3b6107755c768924a31c2b58d705296133839c)
2025-03-23 23:42:33 +07:00