
* Migrate tracking APIs to DTOs Changes the handling of tracker API responses to be parsed to DTOs instead of doing so "manually" by use of `jsonPrimitive`s and/or `Json.decodeFromString` invocations. This greatly simplifies the API response handling. Renamed constants to SCREAMING_SNAKE_CASE. Largely tried to name the DTOs in a uniform pattern, with the tracker's (short) name at the beginning of file and data class names (ALOAuth instead of OAuth, etc). With these changes, no area of the code base should be using `jsonPrimitive` and/or `Json.decodeFromString` anymore. * Fix wrong types in KitsuAlgoliaSearchItem This API returns start and end dates as Long and the score as Double. Kitsu's docs claim they're strings (and they are, when requesting manga details from Kitsu directly) but the Algolia search results return Longs and Double, respectively. * Apply review changes - Renamed `BangumiX` classes to `BGMX` classes. - Renamed `toXStatus` and `toXScore` to `toApiStatus` and `toApiScore` * Handle migration from detekt to spotless Removed Suppressions added for detekt. Specifically removed: - `SwallowedException` where an exception ends as a default value - `MagicNumber` - `CyclomaticComplexMethod` - `TooGenericExceptionThrown` Also ran spotlessApply which changed SMAddMangaResponse * Fix Kitsu failing to add series The `included` attribute seems to only appear when the user already has the entry in their Kitsu list. Since both `data` and `included` are required for `firstToTrack`, a guard clause has been added before all its calls. * Fix empty Bangumi error when entry doesn't exist Previously, the non-null assertion (!!) would cause a NullPointerException and a Toast with "Bangumi error: " (no message) when the user had removed their list entry from Bangumi through other means like the website. Now it will show "Bangumi error: Could not find manga". This is analogous to the error shown by Kitsu under these circumstances. * Fix Shikimori ignoring missing remote entry The user would see no indication that Shikimori could not properly refresh the track from the remote. This change causes the error Toast notification to pop up with the following message "Shikimori error: Could not find manga". This is analogous to Kitsu and Bangumi. * Remove usage of let where not needed These particular occurrences weren't needed because properties are directly accessible to further act upon. This neatly simplifies these clauses. * Remove missed let (cherry picked from commit 9f99f038f341e325c4f56372a5ce950cf9f7cd6d) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistModels.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuInterceptor.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuModels.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriApi.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriInterceptor.kt
Preview Builds | Release Builds | Mihon Support Server |
---|---|---|
TachiyomiSY
Mihon is a free and open source manga reader for Android 6.0 and above. This version of Mihon, TachiyomiSY was based off TachiyomiAZ. This version is meant to push forward in the ways of usability and features. TachiyomiSY tries to push forward where it can, but staying in a place where it can easily grab updates and features from the main app, it tries to make new features, or take features from other forks like J2K and Neko.
Features
Features of Mihon(original) include:
- Online reading from a variety of sources
- Local reading of downloaded content
- A configurable reader with multiple viewers, reading directions and other settings.
- Tracker support: MyAnimeList, AniList, Kitsu, MangaUpdates, Shikimori, and Bangumi support
- Categories to organize your library
- Light and dark themes
- Schedule updating your library for new chapters
- Create backups locally to read offline or to your desired cloud service
Features of TachiyomiSY include:
- Latest tab, store up to 5 sources where you can easily view the latest manga by viewing the tab
- Automatic webtoon detection, allowing the reader to switch to webtoon mode automatically when viewing one
- Manga recommendations, uses MAL and Anilist, as well as Neko Similar Manga for Mangadex manga(Thanks to Az, She11Shocked, Carlos, and Goldbattle)
- Lewd filter, hide the lewd manga in your library when you want to
- Tracking filter, filter your tracked manga so you can see them or see non-tracked manga, made by She11Shocked
- Search tracking status in library, made by She11Shocked
- Custom categories for sources, liked the pinned sources, but you can make your own versions and put any sources in them
- Manga info edit
- Manga Cover view + share and save
- Dynamic Categories, view the library in multiple ways
- Smart background for reading modes like LTR or Vertical, changes the background based on the page color
- Force disable webtoon zoom
- Continue reading button in library
- Hentai features enable/disable, in advanced settings
- Quick clean titles
- Source migration, migrate all your manga from one source to another
- Saving searches
- Autoscroll
- Page preload customization
- Customize image cache size
- Batch import of custom sources and featured extensions
- Advanced source settings page, searching, enable/disable all
- Click tag for local search, long click tag for global search
- Merge multiple of the same manga from different sources
- Drag and drop library sorting
- Library search engine, includes exclude, quotes as absolute, and a bunch of other ways to search
- New E-Hentai/ExHentai features, such as language settings and watched list settings
- Enhanced views for internal and integrated sources
- Enhanced usability for internal and delegated sources
Custom sources:
- E-Hentai/ExHentai
Additional features for some extensions, features include custom description, opening in app, batch add to library, and a bunch of other things based on the source:
- 8Muses (EroMuse)
- HBrowse
- Mangadex
- NHentai
- Puruin
- Tsumino
Download
Get the app from our releases page.
If you want to try new features before they get to the stable release, you can download the preview version here.
Translation
Feel free to translate the project on Weblate
Issues, Feature Requests and Contributing
Please make sure to read the full guidelines. Your issue may be closed without warning if you do not.
Issues
Bugs
- Include version (More → About → Version)
- If not latest, try updating, it may have already been solved
- Preview version is equal to the number of commits as seen on the main page
- Include steps to reproduce (if not obvious from description)
- Include screenshot (if needed)
- If it could be device-dependent, try reproducing on another device (if possible)
- Don't group unrelated requests into one issue
Use the issue forms to submit a bug.
Feature Requests
- Write a detailed issue, explaining what it should do or how. Avoid writing just "like X app does"
- Include screenshot (if needed)
Source requests are not accepted.
Contributing
See CONTRIBUTING.md.
Code of Conduct
See CODE_OF_CONDUCT.md.
FAQ
See our website. You can also reach out to us on Discord.