Commit graph

1325 commits

Author SHA1 Message Date
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
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
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
04227d718f
fix(release-notes): Fix Github Release Notes incorrectly displayed with Markdown (#934) 2025-05-27 15:34:30 +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
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
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
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
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
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
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
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
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
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
98f93bfbad
refactor checksum regex in GH release notes (#858) 2025-04-20 01:38:45 +07:00
AwkwardPeak7
3e7e6c4dd1
Remove Okhttp networking from WebView Screen (mihonapp/mihon#2020)
(cherry picked from commit df2b4c754bab9dd96fe2199b9f6df62d87b7175e)
2025-04-20 01:38:45 +07:00
Cuong-Tran
e2181307ca
simplify What's New dialog 2025-04-14 17:57:30 +07:00
ArthurKun
daf64aa0b9
Replace Modifier.composed with Composable Modifier (mihonapp/mihon#1959)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit a31b3b7bbf2c5164baf76ac4b36f1d27c5d43135)
2025-04-14 17:15:11 +07:00
Secozzi
1e0a37014b
Use simpler markdown flavour in manga description (mihonapp/mihon#2000)
(cherry picked from commit e273a26c9b7f0a9dd9f8847cfc65e69453fa5905)
2025-04-14 17:15:05 +07:00
AwkwardPeak7
25f3229a98
Fix duplicate requests in WebView due to empty reasonPhrase (mihonapp/mihon#2003)
(cherry picked from commit 818e6931c6bc89e0bb111e77418542a88f8db37c)
2025-04-14 17:15:01 +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
Cuong-Tran
fa7b18590e
Allow migrate mangas when using Bulk-favorite (#824)
* Combine ChangeMangaCategoryDialog

* Allow migrating a single manga when using Bulk-favorite

* Allow migrating mangas one by one when using Bulk-favorite

* set visibility

* Fix duplicate toggleSelection after migration

* After migration, continue adding favorites if there are more to bulk-favorite or push new Manga screen if it's a single manga being added by long-click

* fix usage of ChangeMangaCategory

* improve toggleSelection code

* refactoring ChangeMangasCategory

* switch LocalNavigator.currentOrThrow to current

* split composable to `presentation`

* hoisting the state to a common parent composable

* Fix migration dialog dismissed when clicking on Show entry

* Don't push new Manga screen after migration of duplicated entries everywhere
2025-04-09 11:42:43 +07:00
Cuong-Tran
271680bd03
Bring back original Mihon's migration dialog (#823) 2025-04-08 00:01:47 +07:00
Cuong-Tran
28fae3657a
Bulk-favorite fully uses new multi-Duplicate dialog 2025-04-06 22:45:32 +07:00
Cuong-Tran
ea418b9517
Fix: NaN when dragging Start/Resume reading button in MangaScreen 2025-04-06 21:31:26 +07:00