Commit graph

8652 commits

Author SHA1 Message Date
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