Commit graph

127 commits

Author SHA1 Message Date
Jobobby04
b85fa5b9c9
Minor refactors
(cherry picked from commit 9b6c5effc9262f190c8758d2047708cd51549855)
2026-01-09 16:31:05 +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
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
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
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
aaa1d855ff
feat(sanitizer): Sanitize manga titles for special characters before searching (#956) 2025-05-28 17:37:13 +07:00
Cuong-Tran
303a266720
fix(manga-repository): Fix selected entries while bulk-selection won't show as selected (#927)
Disable problematic SELECT query in `insertNetworkManga` which causing `getMangaByUrlAndSource` flow not triggered
2025-05-26 16:53:12 +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
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
3f594fe4a4
fix(source-paging): correct mapping and filtering of manga with metadata 2025-05-14 15:00:58 +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
98f93bfbad
refactor checksum regex in GH release notes (#858) 2025-04-20 01:38:45 +07:00
AwkwardPeak7
55dc08d330
Add option to keep read manga when clearing database (mihonapp/mihon#1979)
(cherry picked from commit ecc6ede0815a89b7f8288e47c607c57bacc47e71)
2025-04-14 17:14:58 +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
50d31978b2
Deduplicate entries when browsing (mihonapp/mihon#1957)
(cherry picked from commit f81da3dcce9afba883b6a3accdd3bf4ea21cfa81)
2025-04-05 23:20:42 +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
AntsyLich
3b13f4411a
Fix user notes not restoring when manga doesn't exist in DB (mihonapp/mihon#1945)
(cherry picked from commit e91db86faef8d6b17961a1b73fbf07f0d2c8975d)
2025-04-03 00:37:14 +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
Mend Renovate
dd9f9a3447
Update kotlin monorepo to v2.1.20 (mihonapp/mihon#1883)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 556290f2d35f739bb4bddc012739acf10b92708d)
2025-04-01 23:49:20 +07:00
Cuong-Tran
48eb78ec0c
Improve in case source is null (#801)
related to commit 343cd372
2025-03-27 23:47:12 +07:00
Cuong-Tran
0828057650
Support GH download badge in releases note 2025-03-25 03:17:42 +07:00
Cuong-Tran
e73622c033
Fix update check 2025-03-25 03:04:20 +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
3623b4efb6
Change foss variant application id suffix to '.foss' and more (mihonapp/mihon#1831)
- Remove `BuildConfig.PREVIEW`
- Rename `BuildConfig.INCLUDE_ANALYTICS` -> `BuildConfig.ANALYTICS_INCLUDED`
- Rename `BuildConfig.INCLUDE_UPDATER` -> `BuildConfig.UPDATER_ENABLED`
- Rename build property `with-analytics` -> `include-analytics`
- Rename build property `with-updater` -> `enable-updater`
- Add build property to disable code shrink
- Add build property to include dependency info in apk/app bundle

(cherry picked from commit 0893609ad2c4791dc404d72a5e69a2e0373517ae)
2025-03-23 23:43:06 +07:00
Cuong-Tran
84f3826fe8
Hide excluded scanlators from Update view (#742)
* Hide excluded translators from update view

* also migrate database
2025-03-03 14:34:09 +07:00
Cuong-Tran
d4c4686ad1
Merge query for UpdateView & LibraryView (#741)
Remove the inline-code and move it to database

* merge queries for Updates view

* merge queries for Library view

* add comment

* fix spotless

* also migrate database
2025-03-03 14:33:41 +07:00
NarwhalHorns
8fe598d33e
Support for private tracking with AniList and Bangumi (mihonapp/mihon#1736)
Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 49b2b346b65c2631a8369c8f6643e945720770de)
2025-02-26 23:38:53 +07:00
Cuong-Tran
235dec019d Fix (EXH): Migrate old source to new source for merge references 2025-02-14 12:21:26 +07:00
Cuong-Tran
2e744ed5e9
built-in EH compatible with extension (#613)
* switch off integrated H to show E-H source & extension

* More languages for E-H/ExH, also more popular with rate 5

* Don't hide Multi source when toggle Integrated H

* Avoid crash trying to load ehentaiBrowseDisplayMode

* change source ID to matching general extension

* migration old source ID to new source ID

* Allow importing of EHentai extension backups

* limit library update & metadata source to only Multi lang

* update app version

* fix spotless

* also migrate saved search/feed & pinned EH/EXH source ID when restore from backup or update app
2025-01-26 02:20:06 +07:00
Cuong-Tran
343cd3727c
Fix: crash upon open RecommendsScreen if source is removed 2025-01-24 14:58:30 +07:00
Cuong-Tran
a8c587829c
Auto install app update (#561)
* migrating

* - Fix Broadcaster
- Include Updater for Debug
- json to emulate Github call

* - resetup AppUpdateJob when changing settings
- Fix ACTION_MY_PACKAGE_REPLACED

* improve notification

* update icon

* app update to high important

* - Run auto install on AppUpdateJob
- Add release link to job

* idle state & network aware

* fix duplicated job start

* don't show notification & start job for peek-into-preview

* allow cancel auto update job when set to NEVER

* always notify on install complete

* rearm AppUpdateJob each time MainActivity already checked for update

* MainActivity checks every 2 days, rearm AutoUpdateJob in 3 days

* - fix install error notification ID
- add timeout for manual installation if package manager crash

* settings & spotless

* restriction settings & auto run download-install if not in restrictions

* clean up
2024-12-05 15:41:50 +07:00
Cuong-Tran
b27ee2111c
fix: Github release regex for link 2024-11-14 08:06:51 +07:00
AntsyLich
3c0c45eb81
Address some build warnings and cleanup (mihonapp/mihon#1412)
(cherry picked from commit a1c60897916f418726107fec80ad79b2a4b8d500)
2024-11-01 10:37:52 +07:00
Cuong-Tran
fde71c0b70
Fix release update version checking & update release note template 2024-10-29 16:21:30 +07:00
Cuong-Tran
451fe433cf
Error screen (#462)
- A dedicated screen in Settings for error list when updating library
- Allow to jump to Error screen if click on notification
- Allow to migrate error entry
- Create error on each entry updated instead of waiting for the whole updating list to finished
- Overwrite entry's error if new error happens after updating
- Clear entry's error if it successfully updated
- Clear un-relevant errors (entry which was removed from Library) on next update
- List of errors can jump to top/bottom or next/previous errors group
- Won't create error file anymore

* Added library update errors screen

(cherry picked from commit 7cf37d52f959ac65f53cf7657563fb4428bd9188)

* Open library update errors screen on clicking library update error notification

(cherry picked from commit d2d22f437a1d61b086f1e19dfbcd2c0a2bc125f4)

* LibraryUpdateErrorScreen's bottom UI with scroll to top/bottom buttons

(cherry picked from commit 859ce54474d456232510e21f4f6795af65489be2)

* migrate to AppBar

* sticky header

* scroll to next/previous group of errors

* insert error entry one by one

* delete error from DB when successfully updated

* clean un-relevant errors from DB on every updates

* fix errors & clean up

* catch exception & fix notification intent

---------

Co-authored-by: ImaginaryDesignation <108343184+ImaginaryDesignation@users.noreply.github.com>
2024-10-28 23:12:14 +07:00
AntsyLich
7d8f96d856
Cleanup .gitignore files
(cherry picked from commit afa50029882655af8d5eea40aed7644fce4564d8)
2024-10-23 14:19:38 +07:00
Roshan Varughese
f839334c1c
Add option to backup non-library read entries (mihonapp/mihon#1324)
Co-authored-by: jobobby04 <jobobby04@gmail.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit de36357da834bff4110dbb56dd7ce7aad04d3c7d)

(cherry picked from commit 943555c0af49b48abaa18a47395e5516f3357bae)
2024-10-23 13:08:42 +07:00
Cuong-Tran
ef58951bac
feat: feed reorder screen (#356)
* feat: Add screen to reorder Feeds

* refactor: Update icons/title and add preview for FeedOrderListItem

* refactor & cleanup

* feat(source): Add functionality to reorder feeds in source feed screen.

* feat: Add sorting functionality to source feed order screen

* refactor: Update SourceFeedScreen AppBar buttons

* refactor: Reuse FeedDeleteConfirmDialog and FeedSortAlphabeticallyDialog

* refactor: Reuse FeedOrderListItem
2024-09-18 13:54:43 +07:00
Cuong-Tran
6c9dfb82f4
feat: Hidden categories (#348)
* support hide categories (merged from Aniyomi)

* styling CategoryScreen: always showing all categories & shading the hidden one

* Hide categories directly on Library tab and load it as a flow

* fix: hidden categories got reset after delete/reorder

* remove unnecessary code
2024-09-11 18:06:37 +07:00
AntsyLich
6b14769331
Migrate some classpaths to gradle plugins
(cherry picked from commit fc1c804bfda1d76c0399bbb6214e75b3def951cc)

# Conflicts:
#	app/build.gradle.kts
#	build.gradle.kts
#	i18n/build.gradle.kts
2024-09-04 19:07:51 +07:00
Cuong-Tran
48d874342e
Address more spotless lint errors from KMK & SY 2024-08-26 00:08:37 +07:00
AntsyLich
e7ca892f65
Address spotless lint errors (mihonapp/mihon#1138)
* Add spotless (with ktlint)

* Run spotlessApply

* screaming case screaming case screaming case

* Update PagerViewerAdapter.kt

* Update ReaderTransitionView.kt

(cherry picked from commit d6252ab7703d52ecf9f43de3ee36fd63e665a31f)
2024-08-26 00:08:37 +07:00
AntsyLich
335f0956b4
Remove detekt (mihonapp/mihon#1130)
Annoying. More annoying in this project.

(cherry picked from commit 777ae2461e1eb277a3aa0c998ff69e4f100387a1)
2024-08-26 00:08:37 +07:00
Cuong-Tran
2a77232d80 avoid adding duplicate feed/saved search 2024-08-05 18:15:42 +07:00