Commit graph

8771 commits

Author SHA1 Message Date
dhanuarf
b24b14c73d
fix(sources-search): search box visibility glitch when scrolling (#1278)
* fix(sources-screen): search box visibility glitch when scrolling

* Refactor to a reusable function

* Apply to MigrateSourceScreen

* Fix warning

* suggestions

* Revert "Fix warning"

This reverts commit b1c97bcf04b9e34b3eb314fd54c45be953d2f451.

* Add comment

---------

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2025-11-28 14:21:41 +07:00
kana-shii
798bfc19ff
Re-add bookmarks in reader screen (#1262) 2025-11-06 14:13:17 +07:00
Cuong-Tran
f668e31cf6
fix(migration): Add Merged Manga Dedupe Mode Migration and update versioning (#1258) 2025-10-30 08:59:30 +07:00
mrtear
dd69b6f9c0
Manhua type support to AutoWebtoonMode (#1248)
* AutoWebtoonMode: manhua
2025-10-30 07:54:20 +07:00
Cuong-Tran
3e55ea8eac
fix(library-update-job): Fix disappearing library update job (#1254)
* fix(library-update-job): Fix disappearing library update job

* extract to shared utils
2025-10-29 09:42:11 +07:00
Cuong-Tran
98e4c24939
feat(discord-UI): Re-UI logout button and improve thumbnail URL handling (#1253)
* feat(discord): re-UI the logout button

* fix(discord): Add URL utility functions and improve thumbnail URL handling

* refactor

* Update core/common/src/main/kotlin/tachiyomi/core/common/util/system/UrlUtils.kt

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix(UrlUtils): Correct comments for URL scheme checks in utility functions

* removing redundant checks

* Remove redundant comment about URL scheme validation

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-10-27 15:26:17 +07:00
Cuong-Tran
0fa21a3de4
fix(discord): Fix service crash (#1252)
* fix(discord): Fix crash caused by late/not calling `Service.startForeground`

* fix(discord): Prevent Discord RPC from re-starting without a valid token

* Pass connectionsManager to start method after restart intent failure

* refactor condition
2025-10-27 12:07:19 +07:00
Cuong-Tran
6dcd548061
fix(sync-job): Fix disabling sync-job (#1251)
* fix(sync-job): Fix disabling sync-job

* param
2025-10-27 11:52:17 +07:00
Cuong-Tran
212e0d8a45
fix(backup-job): Fix disappearing backup job (#1250)
* fix(backup-job): Fix disappearing backup job

* optimize

* localization

* fix string resource

* try/catch exception on workinfo
2025-10-27 11:33:35 +07:00
Cuong-Tran
317a21adc0
chore(discord): Enhance Discord integration and update application ID (#1236)
* fix(discord): Update Komikku image

* feat(discord): Enhance Discord connection preferences with login state and improved UI

* fix(discord): Update application ID for Discord Rich Presence
2025-10-13 14:38:27 +07:00
Cuong-Tran
d15fa402df
refactor(library): Simplify category handling and improve filtering logic (#1235) 2025-10-13 14:24:48 +07:00
Cuong-Tran
296a314429
chore(library): Optimize library grouping (#1153)
* chore(library): Optimize library grouping

(cherry picked from commit 2f89d98cf9f0568401b39c09fdffe9fb3ece1fda)

* refactor(library): Avoiding a redundant iteration when grouping by Track Status

* fix(strings): Remove unnecessary period from search/filtering string
2025-10-13 13:49:26 +07:00
Cuong-Tran
f15ce1b433
fix(manga-screen): Don't show track dialog automatically if manga is not favorited (dialog dismissed) (#1234) 2025-10-13 13:47:29 +07:00
Cuong-Tran
5bdd464200
feat(library): Improve category tab selection when searching/filtering library or adding/removing categories (#1233)
* feat(library): Improve category tab selection when searching/filtering library or adding/removing categories

* Improve active category index handling in LibraryScreenModel
2025-10-13 13:10:31 +07:00
Cuong-Tran
0db0238d6b
fix(library-merged): Fix download-filter for merged entries (#1232) 2025-10-13 11:35:38 +07:00
Cuong-Tran
95f1e44e34
fix(merged-entry): Fix update progress and mark duplicate as read for merged entries (#1226)
* fix(merged-entry): Fix update progress and mark duplicate as read for merged entries

* Change brightnessOverlayValue annotation from param to field
2025-10-13 11:21:25 +07:00
Cuong-Tran
8211d6ae68
fix(merged-entries): Fix disabled option to clear data folder (#1196)
* fix(merged-entries): Fix disabled option to clear data folder

* fix(merged-entries): Minor correction of source filtering when delete data folder
2025-10-07 16:18:49 +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
Cuong-Tran
61a48e592d
fix(deps): update dependency com.materialkolor:material-kolor to v3 (#1220) 2025-10-07 14:42:48 +07:00
Secozzi
a464d2f4de Update markdown to 0.37.0 (mihonapp/mihon#2516)
(cherry picked from commit 27a4f6f45c0ba639450428f5f58b1c938fe3032e)
2025-10-06 17:11:50 +07:00
NGB-Was-Taken
83827f7e8e Fix disabling incognito mode from notification (mihonapp/mihon#2512)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 96e5131358110079587d262d37ec346e10941758)
2025-10-06 16:49:41 +07:00
Guzmazow
136fb7652c Improve spoofing of X-Requested-With header to support newer WebView versions (mihonapp/mihon#2491)
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
(cherry picked from commit 065147472e8e683c47d11f3e00386aba2a7c1bac)
2025-10-06 16:35:26 +07:00
Constantin Piber
e6bddcab14 Delegate Suwayomi tracker authentication to extension (mihonapp/mihon#2476)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 6f635782c22cc0844caa4e4d88cf390005989b0b)
2025-10-06 16:14:46 +07:00
Cuong-Tran
dfc93fab39
fix(deps): update dependency androidx.compose:compose-bom to v2025.09.01 (#1189) 2025-10-06 14:25:15 +07:00
Cuong-Tran
61c6918e11
chore(build): bump version code to 76 and version name to 1.13.4 2025-09-15 12:40:55 +07:00
Cuong-Tran
4aa8f5a201
fix(webtoon-scale): Improve webtoon scale type handling & listener (#1150)
* fix(webtoon): improve webtoon scale type handling and listener invocation

* fix(webtoon): streamline webtoon scale type handling and improve listener invocation

* add retry

* qualifier

* remove listener on destroy to avoid memory leaks

* using an object expression for the listener

* ensure listener is removed only if viewTreeObserver is alive

* refactor layout listener to improve retry logic and ensure proper removal

* using doOnLayout

* use doOnLayout for scaling logic to ensure proper execution after view is laid out
2025-09-15 11:45:32 +07:00
Cuong-Tran
11c26a32fa
chore(dialog): Consistent text style (#1133)
* remove filtered_scanlators (old field not used anymore)

* Improve coding

* Revert "remove filtered_scanlators (old field not used anymore)"

This reverts commit 24042c17a432ff4c5012010155476aedbed3825f.

* consistent text style

* add comment
2025-09-10 12:43:09 +07:00
Cuong-Tran
8f2ab5b87e
fix(merged-manga): Fix download ahead for merged entries (#1132)
* Fix download ahead for merged entries

* correctly handle merged manga
2025-09-10 12:04:29 +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
632856c2f2
fix(track): wrongly set track's status when start tracking (#1076) 2025-09-09 13:33:26 +07:00
Cuong-Tran
a0e2d2942a
feat(webtoon): Adaptive scale for wider screen size (#1130)
* feat: Add webtoon scale type option

This commit introduces a new setting for webtoon reading mode that allows users to select a scale type for webtoon images.

The available scale types are:
- Fit Screen
- 16:9
- 20:9
- 4:3
- 3:2

This setting can be found in both the reader settings sheet and the global reader settings.

* mutable

* add to Reader's settings page & fix size calculation

* option for long strip gap preference

* fix: ensure recycler scales to default when screen ratio is less than desired

* hide smart scale for long strip gap preference

* Avoid zero division

* using forEach

* improve readability

* better viewer size calculation & optimize list
2025-09-09 13:20:55 +07:00
Cuong-Tran
683bf172bf
feat(reader): Add zoom option for Automatically zoom wide images (#1124)
* feat(reader): Add zoom option for `Automatically zoom wide images`

* improve
2025-09-05 01:23:35 +07:00
Cuong-Tran
9e5069a376
feat(reader-paged): Add options to disable zoom in or double tap to zoom for paged-reader (#1123) 2025-09-04 17:03:49 +07:00
Stefano Russo
242b980e57
feat(webtoon): Add option to enable/disable pinch to zoom in webtoon viewer (#1101)
* feat: Add option to disable pinch to zoom in webtoon viewer

* Change default settings & also include settings for Paged mode

* refactor webtoon

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-09-04 16:19:54 +07:00
David Brochero
91a208ada2
fix(reader): gifs not animating (#1105)
* fix: gifs not animating

* add missing proguard coil3 rules

* add comment
2025-09-04 13:07:08 +07:00
Cuong-Tran
58eccf9ddb
chore(settings): Always display App Language text in settings (#1122)
* chore(settings): Add App language text all the time

* spotless

* English variants
2025-09-04 12:54:29 +07:00
kana-shii
c41d5fb847
feat(discord): Discord RPC from Anikku (#1100)
* Add RPC [Barebone, barely works]

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

* refactor connections

* RPC (#223)

* Add error handling and refactor DiscordRPCService methods

* Add Discord RPC customization options and preferences

* Update Discord RPC button labels and clean up comments

* Refactor DiscordRPCService to improve readability by adding braces for null checks

* Refactor ConnectionsPreferences to improve code clarity and organization

* Refactor ConnectionsPreferences to improve code clarity and organization

(cherry picked from commit df42d196368d28c3c9dcee3692f3f9140da7f2a1)

* Feat: implement Discord account management enhancements and RPC restart functionality (#245)

* fix: correct indentation in CastManager for better readability

* feat: implement Discord account management enhancements and RPC restart functionality

(cherry picked from commit b7c50f1f0184dd717c5cc4dee0310053bfb8d613)

* Notification color & icon for DiscordRPC

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

* 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)

* feat(discord): update App/icon & fully works with all screens

* update Discord Rich Presence application ID and icon URLs

* Fix updateDiscordRPC for all screens (also reuse code)

* integrate Discord Rich Presence for WebViewScreen

* feat: ghibli style images for Discord RPC

* optimize code

* further optimize

* supprest useless warning

* refactor: simplify setScreen calls related to lastUsedScreen

* optimize whole file

* a

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

* fix(discord): update download button URL to point to the official website

* feat(discord): allow stop Discord RPC from notification

also improve error handling

* fix(i18n): Torrent server "stop" multi-lang

* Start DiscordRPCService as foreground service on Android O+

This commit modifies the `DiscordRPCService` to start as a foreground service on Android O (API level 26) and above. This change ensures the service continues to run in the background, especially when the app is not in the foreground.

- Added a conditional check using `Build.VERSION.SDK_INT` to detect if the device is running Android O or later.
- If the device is running Android O or later, `startForegroundService` is called instead of `startService` to ensure it runs as foreground service.
- If the device is running a version prior to Android O, `startService` is called.

(cherry picked from commit 869617d8cac3aa8461158f1f9a34b9e29147e8f0)

* fix(discord): episode/chapter formating

* fix(discord): Fix & improve Discord login/accounts

* New webview with DiscordLoginScreen

* Add appbar

* Using Webview directly instead of AndroidView and add clearCookies, browsing navigation

* Using coroutine instead of thread

* Revert service

* use response block

* save preference in coroutine too

* no web navigator

* address comments for DiscordLoginScreen

* Refactor Settings screen & dialog

* Using serialization to parse JSON to avoid blocking API

* Don't clear all cookies and web storage aggressively

* Extract constant

* Fix login

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

* fix(discord): Fix screen crash & token retrievement

* Update images to my liking

* spotless

* small fixes

* Update strings.xml

* Revert "Update images to my liking"

This reverts commit 4ad3b9f84fdada45ee480ae7dc242b6e1b4bc18a.

* small fixes

* hopeful fix + chapter progress

* Update ReaderActivity.kt

* Update ReaderActivity.kt

* remove timestamps

* Remove isNSFW check

because 95% of tachi extensions are rated as +18, even when there is sfw content

* Clean up

* Fix ReaderActivity

* Cleanup Settings

* Fix login

* Fix lag when getting categories

* Fix jump to pages

* Remove old SDK check

* Fix status when back from reading

* Remove pages progress

* Only set necessary action in ReaderActivity

* Using IO coroutine instead

* Add back timestamps

* Fix strings & settings

* Fix crash

* ActivityType

* Adjust description

* refactor Discord settings menu

* Using its own scope

* Optimize the connection waiting

* remove source.isNSFW

* Using screenModelScope

* Fix state access

* add modifier

* sharing OkHttpClient instance for better resource management

* Restart RPC directly via service intent instead of toggling

* remove lint suppression

* add back showProgress

* Fix set Discord status

* Fix Discord login no avatar

* Handle API rate limits and errors in getDiscordUri

* Token-based isLogged checking

* Make Discord token sensitive data and not in backup

* Minor fix

* remove debug message

---------

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
Co-authored-by: Dark25 <nadiecaca2000@gmail.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Jery <jery99961@gmail.com>
2025-09-04 12:40:32 +07:00
kana-shii
5280caa60d
feat(reader): Download from reader chapter list (#1110)
* Download from reader

* Fix for localsource

* Fix actions for merged entries

* fix spotless

* refactor code

* catching Exception instead of Throwable

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-09-03 18:12:38 +07:00
Cuong-Tran
46f0e26dd3
fix(merged-reader): Fix chapter list's download badge in Reader (#1117)
* Fix chapter list's download badge in Reader

* improve
2025-08-29 18:11:38 +07:00
Cuong-Tran
d385dfe808
fix(merged-chapters) Fix chapter's webview (#1116)
* Fix chapter's webview

* combine null check

* variable name

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-08-29 18:10:55 +07:00
Cuong-Tran
8cfab79227
fix(merged-entries): Fix manga folder opening and source click (#1115)
* Fix open manga folder

* Fix source click

* fix null

* warning
2025-08-29 17:53:29 +07:00
Cuong-Tran
b067690678
fix(merged-entries): Fix deletion of chapters and data folders in merged entries (#1114)
* fix(merged-entries): Fix delete chapters or data folders

* spotless

* comment

* safely using state.source
2025-08-29 17:00:57 +07:00
Cuong-Tran
21d221a048 chore(library): Using fastFilter, fastAny, fastMap 2025-08-27 14:29:01 +07:00
Cuong-Tran
4e2445d60c feat(library): Optimize trackers filter speed 2025-08-27 14:29:01 +07:00
krysanify
639459f8af Fix crash opening filter sheet with empty library and mark as read/unread for selected items (mihonapp/mihon#2355)
(cherry picked from commit d88dbe6409b9c4dd7fbb37757e89c09af73f1fd3)
2025-08-27 14:29:01 +07:00
AntsyLich
395f68f71f Fix 'Default' category showing in library with no user-added categories (mihonapp/mihon#2371)
(cherry picked from commit 7d717ee7fd9779b85fee29cadc946292cfdcee89)
2025-08-27 14:29:01 +07:00
AntsyLich
3ccf255d4e Potentially fix library IndexOutOfBound crash (mihonapp/mihon#2341)
(cherry picked from commit c4407eda0eed5a7faed47d4470d79e6b1512b5c2)
2025-08-27 14:29:01 +07:00
Cuong-Tran
3485297434 fix(library): De-duplicate entries mistakenly created in DB 2025-08-27 14:29:01 +07:00
Cuong-Tran
379d36e586 feat(library): Optimize library grouping 2025-08-27 14:29:01 +07:00
Cuong-Tran
ea06631670 feat(library): Rework categories filter 2025-08-27 14:29:01 +07:00
Cuong-Tran
f635fc209b fix(library): Fix categories filter & hidden categories 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
74a9182b20
chore(code): Minor improve (#1086)
* remove filtered_scanlators (old field not used anymore)

* Improve coding

* Revert "remove filtered_scanlators (old field not used anymore)"

This reverts commit 24042c17a432ff4c5012010155476aedbed3825f.
2025-08-14 23:12:01 +07:00
Secozzi
7d06e3b211 Don't hardcode app name in strings.xml (mihonapp/mihon#2394)
(cherry picked from commit 3d3c36078a3b8cb741adffd46931aeab9cb38578)
2025-08-12 23:03:22 +07:00
Secozzi
c5c4961ed7 Fix height of description not being calculated correctly if images are present (mihonapp/mihon#2382)
(cherry picked from commit c6a96b3970f0ba4643f438155653790973fa00f6)
2025-08-12 23:03:22 +07:00
MajorTanya
4679aaee23 Add label to privately installed extensions (mihonapp/mihon#2349)
Just adds the same word as the install option ("Private" in English)
next to the extension version and 18+ label.

(cherry picked from commit 549d74a2c9aef0eb41ea18378cd29d4ab9eee2b4)
2025-08-12 23:03:22 +07:00
AwkwardPeak7
e6c760cbcb Include Manga initialized status in backup (mihonapp/mihon#2285)
(cherry picked from commit 62eec15fe61be88e0ebc8be89a1e445dde55ba7e)
2025-08-12 23:03:22 +07:00
Secozzi
7acd998b12 Add option for rendering images in description (mihonapp/mihon#2076)
(cherry picked from commit 2ef8ae11c9da02c24bf4d12bf22b41c5d19bada4)
2025-08-12 23:03:22 +07:00
Cuong-Tran
ddfdd9588e
refactor(library): Combine category filter changes into a single flow (#1093) 2025-08-12 14:37:49 +07:00
Cuong-Tran
865db12b78
fix(UI): Fix repo dialog width on wide screen (#1078) 2025-07-23 16:28:33 +07:00
Cuong-Tran
feabf6efa6
fix(library): Fix Ungrouped UI (#1072) 2025-07-23 15:14:28 +07:00
Cuong-Tran
a9f6f7e8b8
feat(library): Keep tabs when exclude-only categories filtering (#1074)
* feat(library): Keep tabs when exclude-only categories filtering

* Fix updating activeFilter status

* Avoid redundant state updates if unchanged sets are emitted

* improve
2025-07-23 14:23:20 +07:00
Cuong-Tran
0d34d2f8bc
feat(library): Hide empty library tabs when searching/filtering (#1069)
* feat(library): Hide empty library tabs when searching/filtering

* Add search-global to Empty screen in Library

* Simplify conditional logic

* combine conditional flow

* Optimize code

* Simplified the code

* Simplified the code
2025-07-22 18:26:56 +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
3ec6aeaba2
feat(local): Allow delete whole manga's downloaded folder & clear chapters list (#1016)
* feat(local): Allow delete local files

* Refresh chapters list after deleting

* Allow delete whole entry's downloaded folder & clear episodes/chapters list

Also hide `Open folder` for merged entries

* Don't delete local folder & refresh local's chapters list state after clear

* use forEachIndexed instead of forEach

* adding comment

* add empty line
2025-07-21 15:29:11 +07:00
Cuong-Tran
32d448d6ab
fix(bottom-action-menu): Properly close dropdown menu when refreshing selected mangas (#1044) 2025-07-18 12:22:54 +07:00
manav_chaudhary
8d65991759
feat(library): Added a button to refresh selected manga entries (#1038)
* feat: add refresh button to MangaBottomActionMenu

* feat: add refresh functionality for selected manga in LibraryTab

* feat: add refreshSelectedManga function to update selected mangas

* feat: add targeted update functionality for specific manga IDs

* Update CHANGELOG.md

* Refactoring & cleanup

* Move it to overflow menu

* Optimize update logic

* Fix index & improve code

* Remove parentheses

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-07-18 00:58:15 +07:00
manav_chaudhary
13a09d970a
feat(library-update): Update manga without chapters even if restricted by source (#1037) 2025-07-17 16:46:34 +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
Tsukuyoumii
cc8c6be5fc
Reindex Downloads through library overflow (#780)
* Reindex Downloads through library

* Update LibraryToolbar.kt

* Update LibraryTab.kt
2025-07-17 15:23:11 +07:00
Cuong-Tran
737bec70f0
feat(manga-tracking): Allow auto open tracking dialog when adding to library (komikku-app/anikku#59)
* feat(manga-tracking): Allow auto open tracking dialog when adding to library

* Prevent tracking dialog shows up overwrite change-category dialog

* Refactoring

(cherry picked from commit e82af25e198931d04fc2f75f663017fabced904c)
2025-07-17 15:09:07 +07:00
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
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
Cuong-Tran
0db7b47bcf
fix(migrate-dialog): Fix migrate-dialog reappear before migration actual complete (#905)
refactor MigrateDialog to use rememberScreenModel for state management
2025-05-11 20:32:02 +07:00
Cuong-Tran
615c9fa259
feat(incognito): add incognito mode for local sources (#903) 2025-05-11 16:07:36 +07:00
Cuong-Tran
8a2b063cd9
feat(incognito): add toggle for incognito mode in BrowseSource & SourceFeed (#902)
* feat(incognito): add `toggle for incognito` mode in BrowseSource & SourceFeed

* fix null check
2025-05-11 15:52:01 +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
ee1418c7fc
fix(source-feed): update last used source was not working, show incognito status bar (#900) 2025-05-11 03:08:33 +07:00
Jery
3d9dd9d7b1
feat(incognito): add animated incognito mode indicator and icon (#899)
* Add indicator for source incognito mode

Adds an indicator to the manga info header to show if a source is running in incognito mode.
Also moves the source incognito check logic to `SourceExtensions`.

(cherry picked from commit 5e547efda51cdeaa7bc71198b932c8ac9aecc312)

* Replaced incognito icon with animated glasses_with_hat icon.

This commit introduces an animated vector drawable for the incognito mode icon and updates the related icons in the app.

- Adds `anim_incognito.xml`, a new animated vector drawable for incognito mode.
- Adds `ic_glasses_with_hat_24dp.xml`, a new icon for incognito mode.
- Updates the incognito mode icon in the following places:
    - MoreScreen
    - ExtensionDetailsScreen
    - App notification
    - Manga info header
- Updates `SwitchPreferenceWidget` and `TextPreferenceWidget` to accept any type of icons.

(cherry picked from commit 2a28673e078ff15fe0a7c2a030ffc6ce6cbe6b31)

* move incognito icon

* issue: Use stringResource for contentDescription to support localization

* Wrap the ImageVector.vectorResource call in remember to avoid inflating the drawable on every recomposition.

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-05-11 02:38:17 +07:00
Cuong-Tran
4fcbd88618
refactor(bulk-selection): optimize selectAll/reverseSelection logic (#898) 2025-05-10 01:12:13 +07:00
Cuong-Tran
78f03f8207
fix(toolbar): do not bulk-selection on BrowseRecommends (#897) 2025-05-10 00:44:33 +07:00
Cuong-Tran
c962584f19
fix(notification): cleanup 2025-05-09 00:54:10 +07:00
Cuong-Tran
8be38ce077
fix(tracker-anilist): format property in ALSearchItem nullable (#890) 2025-05-08 02:05:20 +07:00
AntsyLich
6562ab0018
Add autofill support to tracker login dialog and update processing text (mihonapp/mihon#2069)
(cherry picked from commit 7deeabe844d41d2b5e918ad747ddd548163c9fe3)
2025-05-08 02:05:20 +07:00
Cuong-Tran
ed6cb1c44c
Revert "feat(tracker-login): Enhance tracking login dialog with autofill and loading state (#884)"
This reverts commit 29cf391ede.
2025-05-08 02:05:20 +07:00
AntsyLich
e39354926c
Fix downloader stopping after failing to create download directory of a manga (mihonapp/mihon#2068)
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
(cherry picked from commit 536393a6d9941fac282f10b825aa611b91e1fcdb)
2025-05-08 02:05:20 +07:00
AntsyLich
4fe7ef9abb
Cleanup MarkdownRender
Co-authored-by: p
(cherry picked from commit 98230ed30f04fe754fd4bd407356c8c03d8d8719)
2025-05-07 21:58:55 +07:00
Mend Renovate
1be6c1a3ee
Update dependency androidx.compose:compose-bom to v2025.04.01 (mihonapp/mihon#2040)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
(cherry picked from commit d721a4321bdc6fafdd32e7bfd451b61b2bdd66b7)
2025-05-07 21:58:55 +07:00
Cuong-Tran
5f762beb90
feat(reader): add smaller tap zone preference for navigation regions (#867) 2025-05-04 01:07:47 +07:00
Cuong-Tran
24b6c4aa3c fix(custom-theme): fix cursor color in migration-bottom-sheet (#885) 2025-05-03 23:56:29 +07:00
Cuong-Tran
e40abcf40b chore(custom-color): refactor EditText and TextInputLayout color handling (#885) 2025-05-03 23:56:29 +07:00
Cuong-Tran
29cf391ede
feat(tracker-login): Enhance tracking login dialog with autofill and loading state (#884)
* fix(tracker-login): allow autofill on tracker's login dialog

* add loading state to tracking login dialog

* improve error color handling and dynamic height measurement in login dialog

* enable autofill for email and password fields in login dialog

* improve code

* refactor: optimize state management and improve dialog width measurement

* refactor: optimize dialog height measurement and error state handling
2025-05-03 23:50:53 +07:00
Cuong-Tran
8b03233c45
fix(MangaUpdates): prevent showing last chapter read if it's in Wish list 2025-04-29 18:15:47 +07:00
NarwhalHorns
376a13fb1c
Fix empty layout not appearing in browse source screen in some cases (mihonapp/mihon#2043)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 37e19edf8a5f6a15a95f160390cbcf22d8133380)
2025-04-28 03:06:29 +07:00
AntsyLich
18dd02d71b
Fix crash when trying use source sort filter without a pre-selection (mihonapp/mihon#2036)
(cherry picked from commit 1c982c2a01c1bba5ec4a955c9bf61cb346c752e7)
2025-04-28 03:06:21 +07:00
AntsyLich
39280a6f54
Fix content under source browse screen top appbar is interactable (mihonapp/mihon#2026)
(cherry picked from commit 9750c1e4bd6b931e71b7b348abbe2638a8cf317b)
2025-04-28 03:06:18 +07:00
Mend Renovate
27915073da
Update aboutlib.version to v12 (major) (mihonapp/mihon#2016)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit a036407c75d83ef0ba5350cb1825b615361316c3)
2025-04-28 02:42:30 +07:00
Secozzi
d8057f927c
Update markdown to 0.33.0 and tweak visuals (mihonapp/mihon#2024)
- Update markdown to 0.33.0
- Use github flavour for github changelog
- Fix bullet list alignment

(cherry picked from commit e2915a1f69340cad515962de8a0b9d11ecff8d42)
2025-04-20 01:38:45 +07:00
Cuong-Tran
e398d9b156
Improve getting staff name with Anilist 2025-04-20 01:38:45 +07:00
Cuong-Tran
98f93bfbad
refactor checksum regex in GH release notes (#858) 2025-04-20 01:38:45 +07:00