Commit graph

8600 commits

Author SHA1 Message Date
Cuong-Tran
d0823ef3f6
fix(anilist): Fix null recommendation node
(cherry picked from commit 305f8db0adcf821962a539867b5704fbf229461e)
2025-07-17 13:13:10 +07:00
Cuong-Tran
5ec780eddb
fix(merged-entry): Fix actions like URL copy or sharing for merged entries (komikku-app/anikku#55)
* fix(merged-entry): Fix actions like URL copy or sharing for merged entries

* Unify callback parameters

* Add titles for actions in merged manga dialog

* Iterates through the list once

(cherry picked from commit ed7bb96f409701c93bbca056728679af91f3453f)
2025-07-17 13:10:00 +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
claymorwan
0b37b3258c Add Catppuccin theme (mihonapp/mihon#2117)
Mocha for dark and Latte for light, mauve accent

(cherry picked from commit 77eb55874278b7740d43b9144d9253a075cc593c)
2025-06-16 00:38:37 +07:00
Jobobby04
04782957c3 Remove +1 in Page Layout reader settings
(cherry picked from commit 3ad9765dcfa1f8574bd6d6bbb0e2955494b07a33)
2025-06-16 00:38:37 +07:00
Jobobby04
a4a19eb88b More guards against edited data
(cherry picked from commit 95dc82594fe7e503a5ba279c19c0b859c6789470)
2025-06-16 00:38:37 +07:00
NGB-Was-Taken
8af212f970 Change log file extension to .txt (jobobby04/tachiyomiSY#1449)
(cherry picked from commit 80e585fa9170b0dc0f6582ed85f0e9d58afce363)
2025-06-16 00:38:37 +07:00
NGB-Was-Taken
06ce765952 Remove the unused mark duplicate as read preference. (jobobby04/tachiyomiSY#1448)
* Remove the unused mark duplicate as read preference.

* Migrate the old preference to new preference

(cherry picked from commit 71470b9e02bc5e3e7607d7de57f90a882810bb49)
2025-06-16 00:38:37 +07:00
Cuong-Tran
b7c60d0750 Cleanup nHentai media-server 2025-06-16 00:38:37 +07:00
NoFace33
519c5f822e
Update DMCA UUID list using Mangadex Massacre Google Sheet (#988)
* Update DMCA UUID list using Mangadex Massacre Google Sheet

* Fix: add trailing newline to mangadex_dmca_uuids.txt

* Re-add trailing newline for formatting consistency
2025-06-16 00:06:54 +07:00
Callum Wong
3f2eb75b71 Add QR code scan button for sync API key (jobobby04/tachiyomiSY#1430)
* Add dependency com.journeyapps:zxing-android-embedded:4.3.0

* Add widget parameter to EditTextPreferenceWidget

* Add QR code scanner icon button to sync API key preference which launches a ScanContract

* Remove screenOrientation property from CaptureActivity manifest

* Allow scanning both normal and inverted codes

* store values and make code more concise

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>

* Import local context

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit 84c7da5a7d244ffc0cd7155d15e0a200f548ad35)
2025-06-15 22:28:03 +07:00
AntsyLich
bd93329372 Disable reader's 'Keep screen on' setting by default (mihonapp/mihon#2095)
(cherry picked from commit f0de8f973b331ebad6e1844aea7864f97f237941)
2025-06-15 22:28:03 +07:00
AwkwardPeak7
903281c2ef Fix pressing Enter while searching also triggering navigation back on physical keyboards (mihonapp/mihon#2077)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 86ebf5581598f28feab4090ac3bf627f54b511d7)
2025-06-15 22:28:03 +07:00
Cuong-Tran
87563a239c
fix(searching): fix filter-list param when doing search with some ext while doing: (#1006)
- Smart search
- Suggestions
2025-06-15 21:38:00 +07:00
Cuong-Tran
6c530e4fca
fix(recommendation): Fix null RecommendationSource & refactoring (#1000)
* Remove redundant condition & refactor class

* Batch networkToLocalManga

* Fix null source

* Simplify by creating RecommendationSource to match with upstream

* Add comment
2025-06-12 15:39:09 +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
cd3dc79583
feat(MangaDex): use tracker links to associate mangas automatically with trackers (#991)
* feat(MangaDex): use tracker links to associate mangas automatically with trackers (jobobby04/TachiyomiSY#1387)

* feat: add searchById support to trackers (MAL, AniList, MangaUpdates only)

* feat: add new preference to toggle auto selection of tracker items using source metadata if available

* feat: add new preference to toggle auto selection of tracker items using source metadata if available

* feat: add automatic title selection using source metadata to TrackInfoDialog.kt

* style: apply spotless

* refactor: remove hardcoded MangaDexSearchMetadata cast and introduce common interface

(cherry picked from commit 217503eab0e2fe551943e3b702cc6df4aaae8ebf)

* Handle null when searchId failed

* Wrap the await() call in a use block to ensure the OkHttp Response is properly closed after use

* Simplify Regex

* Injection via construction

* Wrap the blocking HTTP call in an IO dispatcher context

---------

Co-authored-by: Tim Schneeberger <tim.schneeberger@outlook.de>
2025-06-09 18:43:05 +07:00
Cuong-Tran
2661122d9a
chore(source-feed): Also hide entries already in library (#985) 2025-06-06 10:08:54 +07:00
Cuong-Tran
a843918e7f
feat(ui): Improve migration bottom sheet layout with scrollable content (#983)
* feat(ui): Improve migration bottom sheet layout with scrollable content

* Using with(binding) and remove redundant Box

* Simplify checkbox listener setup in MigrationBottomSheetDialog

* Fix reference ID should not create new ID
2025-06-05 12:03:22 +07:00
Cuong-Tran
4b4e4c6204
chore(sponsor): change to GitHub Sponsor (#981)
* chore(sponsor): change to GitHub Sponsor

* Fix button style

* Font style

* Small fix

* spotless
2025-06-04 16:15:31 +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
Cuong-Tran
ba63b74163
fix(migration): Fix issue preventing migration dialog to be shown up (#964) 2025-05-31 11:30:46 +07:00
Cuong-Tran
89f0e240ad
fix(updates): Fix wrong date order (#963) 2025-05-31 11:30:15 +07:00
Cuong-Tran
7df225c358
chore: Fix Discord badge & Weblate link (#960) 2025-05-29 09:48:59 +07:00
Cuong-Tran
c1157e7d5b
feat(ui): Update Buy Me a Coffee button theme (#959)
* feat(ui): update Buy Me a Coffee button theme and add preview

* Simplify vector & make button with border

* clipping the ripple effect
2025-05-29 01:33:52 +07:00
Cuong-Tran
757a86852c
Buy Me a Coffee (#953)
* Update expired Discord link

* Buy me a coffee

* Refactor

* move it down
2025-05-28 18:30:47 +07:00
Cuong-Tran
aaa1d855ff
feat(sanitizer): Sanitize manga titles for special characters before searching (#956) 2025-05-28 17:37:13 +07:00
Cuong-Tran
83b32b4c0a
feat(library): Filter MangaDex DMCA library entries with search keyword mangadex-dmca (#936)
* Filter MangaDex DMCA entries with search keyword `mangadex-dmca`

* Load from raw file

* using IO dispatcher

---------

Co-authored-by: az4521 <18432684+az4521@users.noreply.github.com>
2025-05-27 21:27:06 +07:00
Cuong-Tran
04227d718f
fix(release-notes): Fix Github Release Notes incorrectly displayed with Markdown (#934) 2025-05-27 15:34:30 +07:00
Cuong-Tran
068dc188ec
fix(notification): Prevent duplicate notifications during backup and restore processes (#933)
Avoid calling show() before returning builder for ForegroundInfo
2025-05-27 12:35:57 +07:00
Cuong-Tran
46c3f1ef2f
feat(notification): Add separate channel for sync notifications (#928)
* Add separate channel for sync notifications

(cherry picked from commit 2ef674cf5481272a80719b57d19e95b0bd0395f9)

* fix `showSyncError` notification channel

* Remove duplicate notification cancellation

---------

Co-authored-by: Jery <jery99961@gmail.com>
2025-05-27 09:08:47 +07:00
Cuong-Tran
5ac35847af
fix(debug-menu): Fix debug-menu pop twice (#925) 2025-05-26 16:35:35 +07:00
Cuong-Tran
49c012e548
chore(migrate-manga): Allow open manga by clicking cover while in selection mode (#924) 2025-05-26 15:36:20 +07:00
Cuong-Tran
cfa9f6bfef
feat(bulk-favorite): Show progress indicator when running bulk-favorite (#923)
* Show progress indicator when running `bulk-favorite`

* Deduplicate action title
2025-05-26 15:25:09 +07:00
Cuong-Tran
262c6315fd
feat(library-update-errors): add/clear error when updating manually from entry's screen (#922)
* add/clear error when updating manually from entry's screen

* Optimize redundant code

* Replace default error message with localized string
2025-05-26 14:44:10 +07:00
Cuong-Tran
f8ef5d4cf2
feat(duplicate-manga): Add target manga name in duplicate dialogs (#921) 2025-05-24 11:08:00 +07:00
Cuong-Tran
382d29e303
feat(manga-folder): Allow open manga folder with system's File Manager (#920)
* feat(manga-folder): Allow open manga folder with system's File Manager

* Add error message for failed folder opening
2025-05-24 01:53:53 +07:00
Cuong-Tran
fb9409c12f
fix(tracker-anilist): Remove unused 'id' field from ALEdge data class 2025-05-23 22:07:18 +07:00
Cuong-Tran
323ddd0aa8
chore(trust-extension): Bypass trust check for debug build types 2025-05-23 22:06: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
多能豆
70fcc3dff0
fix (delegate): Fix E-Hentai Jump/Seek match for detailed date (#919)
* Fix E-Hentai Jump/Seek match for detailed date

* end of line regex & note

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-05-20 15:24:08 +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
c52de8c472
feat(updates-screen): Swipe actions for chapter updates (#915)
* feat(updates-screen): Swipe actions for chapter updates

* Smaller cover size & add option to hide cover images (debug menu)

* Correctly apply passed-in modifier

* Memoize `getSwipeAction(...)`` invocations with Compose’s `remember` (keyed on the action and state) to avoid recreating those objects on every recomposition
2025-05-16 14:05:49 +07:00
Cuong-Tran
a3abccb34b
feat(updates-selection): Enable whole-group selection & Fix range selection in Updates screen (#913)
* fix(updates-screen): Fix range selection in Updates screen

* feat(updates-screen): select Updates whole-group

* improve performance

* simplify onUpdateSelected parameters using UpdateSelectionOptions
2025-05-15 16:31:19 +07:00
Cuong-Tran
2f55a0bc16
feat(updates-screen): Animated Updates group expand visibility (#912) 2025-05-15 14:06:32 +07:00
Cuong-Tran
d33efced68
refactor(network-to-local): simplify networkToLocalManga (#910) 2025-05-14 15:14:25 +07:00
Cuong-Tran
a18cc3e6a9
Fix mark existing duplicate read chapters as read option not working in some cases (mihonapp/mihon#1944)
(cherry picked from commit 9972fa1053d19191871e52d48a9fd56b22fbc708)
2025-05-14 15:01:05 +07:00
Cuong-Tran
85e3e383cb
chore(pager-viewer): cleanup setChaptersInternal 2025-05-14 10:48:38 +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