* maybe fix private fun conflict with ext-lib 1.5 interface methods
* add pages in description
* slight refactor
* bump
* make search default order same as site
some entries don't show up on popular sort
* Add PeachScan
* I love linting
* Also remove old WickedWitchScan
* It's not novo anymore
* Remove unneeded className declaration
* Filter light novel entries from latest view (because we can here)
* ACTUALLY filter light novel entries from latest view (because we can here)
* Fix icon path + add Dango Scan
* Move image-decoder dependency to multisrc project
* shut up android studio
* fix dep specifier in additional.gradle
* Update multisrc/overrides/peachscan/default/additional.gradle
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* Revert "Update multisrc/overrides/peachscan/default/additional.gradle"
This reverts commit 6b8722193a2181a8e9d8f6b65fb24afd30e5a548.
The comment serves as an explanation for why the dependency shouldn't
be in the Gradle version catalog; because no one else cares about this
dependency.
* Optimize icons
---------
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* Add BlogTruyen.vn (unoriginal)
* refactor a thing
* Add final newline
* Epic lint fail
* Move date format out of constructor arguments
* Remove manifest file in override
* Don't display genre list if empty
* Apply rate limit only to real BlogTruyen
* feat: Create Tsuki Mangás base
* feat: Implement popular manga page
* feat: Implement latest updates page
* feat: Implement search page
* feat: Implement manga details page
* fix: Fix URL intent handler
* fix: Fix webview url
* feat: Implement chapter list page
* feat: Implement page list
* fix: Fix chapter URLs
Kotlinx-serialization moment
* feat: Apply rate limit to image CDNs
* refactor: Make the API path a separate constant
* chore: Add source icon
... Actually they don't have a icon yet, they're just using the "TSUKI"
text, so I did the same in the icon. it may be updated later, when they
create a proper icon.
* fix: Fix random http 404 in pages
* fix: Prevent multiple wrong requests
* refactor: Apply suggestion - set custom interceptor before ratelimit
* Update Filter Parsing
Update filter parsing behavior from the okhttp cache to a mutableMap
* Bump User Agent Version
* Update pageListParse
Update pageListParse to select for "entry-content" only
* Remove Deprecated cloudflareClient
* Bump extVersionCode
* Revert "Remove Deprecated cloudflareClient"
This reverts commit c97c479dca056b6bdd432291910389579d9962c5.
* Wicked Witch Scan: Add new website
* use pt-BR locale for parsing dates
* fix: Use the original source name in ID calculation
* move new site to individual extension
* translate some more stuff
* remove import
* use parseBodyFragment
Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
* chop down the forest
---------
Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
* feat: Create SlimeRead base
* feat: Implement popular manga page
* feat: Implement latest manga page
* feat: Implement search manga page
* feat: Implement manga details page
* feat: Implement chapter list
* feat: Parse page list
* fix: Revert chapter list
* chore: Apply rate-limit in the source API
* chore: Add Origin header to API requests
* chore: Add source icon
* chore: Add isNsfw flag
* Added next page to all
Copied implementation from `Chapters` to all other extensions. New pages load when scrolling now
* Update DynastyDoujins.kt
Circumvent `IndexOutOfBoundsException` when section has no chapters
* Update build.gradle
* Moved functionality to base class
* Update DynastyDoujins.kt
Lazy implementation to load all chapters for `Dynasty Doujins`
* Update build.gradle
* Update src/en/dynasty/src/eu/kanade/tachiyomi/extension/en/dynasty/DynastyDoujins.kt
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* Fix exceeding max retry behavior
* Remove retry logic
* Update DynastyDoujins.kt
---------
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* create super mega extension
* change SUPER MEGA ext name
* fix build errors in SUPER MEGA extension
* reverse chapter order super mega ext
* revert settings.gradle.kts file
---------
Co-authored-by: az4521 <az4521@users.noreply.github.com>
* refactor(reportErrorToUser): enhance reportErrorToUser
* refactor(DataExtractor): add unexpectedErrorCatchingLazy
Makes it easier to quickly find and fix unexpected errors
* refactor(BookDetail): attempt at making BookDetail more extensible
Also fixes a rare bug that would throw a NoSuchElementException when the status or origin fields weren't found in the details table.
* refactor(mangaDetailsParse): refactor mangaDetailsParse to follow BookDetail's refactor
* chore(reportErrorToUser): Review reportErrorToUser messages
* refactor(Search): completely separate simple and smart search
create SmartBookSearchHandler as an attempt to speed up search by wasting less resources on unnecessary multiple normalization and reinitialization of resources via ThreadLocal
* chore(build): bumped extVersionCode to 3
* refactor(activities): Add activities to handle /book and /read URLs
Create a MangasPage with only a single Manga present (unfortunately needs to fetch manga details as title can't be inferred just by bookid)
Group activities in "activities" package for clarity
* fix(KDoc): fix Cannot resolve symbol
* chore: Update README and CHANGELOG
* chore: Add a bit of documentation to SmartBookSearchHandler
* feat: Handle /book and /read urls as search query
* chore(CHANGELOG): entries incorrectly listed as PUBLISHING_FINISHED now are correctly listed as COMPLETED
* chore(README): expanded README
* fix: Fix chapter list & prevent future trolling
* refactor: Minor refactoration for fun
* chore: Bump version
* fix: Prevent NPE in manga details
Didn't happen to me in my tests, but better be safe than sorry.
Thumbnails aren't really worth a (rare but possible?) NPE anyway
* fix: Add rate limit to prevent HTTP 429
* fix: Fix chapter list
* feat: Update search API
* refactor: Use URLs from constants
* refactor: Minor refactoration
* feat: Show more info in manga details page
* chore: Bump version
* fix: Apply suggestion - Use URL Builder in search
Thx alessandrojean!
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
---------
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
* feat(src/en): Create Kiutaku base
* feat: Implement popular entries page
* feat: Implement latest updates page
* feat: Implement search
* feat: Implement entry details page
* feat: Implement chapter list page
* feat: Parse page list
* chore: Add source (fav)icon
The source doesn't seems to have a logo, so I'm considering the favicon used by
the site as their icon.
* Update build.gradle
remove jwt lib
* Update Picacomic.kt
Remove the effect of jwt library to fix the conflict from GSON
* Update Picacomic.kt
remove redundant code
* Update build.gradle
bump extension version
* Make it more prescriptive
* Improved compatibility with older versions
* 1.switch to android.util.Base64 API to improved compatibility with older versions
2.Convert the literal constant named leeway from a method parameter to a private member constant, this will improve performance a bit...
* build(gradle)!: Migrate ProjectSuki build.gradle to kotlin dsl
* feat: Add PathPattern
* feat: Add DataExtractor
* feat: Add ProjectSukiAPI
* feat: Add ProjectSukiFilters
* refactor!: migrate to new API and cleanup extension
Completely replace NormalizedURL with HttpUrl, remove PS.kt, PSBook.kt and PSFilters.kt
* chore(naming): rename pattern properties to be consistent
* refactor(preferences): Centralize and cleanup preferences
* chore(preferences): remove Android Preference import
* refactor(everything): Fix most of everything
Now apk builds, and correctly fetches books, chapters and images, including thumbnails.
* revert(gradle): revert to build.gradle.kts to be consistent with other extensions as context receivers are still unusable
* feat(url-activity): enhance
Needs to be tested, got distracted
* feat(preferences): Enhance preferences by providing more robust constructs
* feat(filters): Update and enhance filters
* feat(site-api): add search request data request and response parse
* refactor: replace require and error with reportErrorToUser in PathPattern
* refactor(core): Enhance everything
Now extension will show browse results on popular, main page on latest, will default to actually-useful search (with naive option on older devices) while still allowing old search.
Enhance user interaction by capturing or preventing almost all errors and alerting the user on what went wrong and what to do.
* chore: Suppress warnings
* docs: Document everything
Add documentation and revise pretty much everything.
* docs: Add CHANGELOG.md
* docs: Add README.md
* refactor(search-mode): Combine Naive/Full Site/Strict search options into single filter
* revert(manifest): Remove android:icon
it's set in the core AndroidManifest.xml
* chore(lang): switch extension language to "all"
explicitly set id: 8965918600406781666
* fix(preferences): fix blacklisted languages id
was the same as whitelisted
* fix: Fix bugs and more
Change Naive to Simple, provide more understandable description, make it possible to use Simple mode on any Android version if one wishes to do so.
Provide better regex for Simple search.
Test chapter filtering, download (single chapters and multiple), all searches, chapter view.
* docs: Update README and CHANGELOG
* refactor(url-activity): Refactor Url Activity from kotlin to java
Process kept complaining about java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
* revert(url-activity): Avoid kotlin Intrinsics
* Finish migration to filters v2
* Implementation for smart filters
* Subtle cleanup
* Localization tests
* Fix 404 for latest update
* Filter out epubs
* Fixed Filter out epubs and optimization of 20 results per page
* Changelog and bump version
* Localization implementation
* Add localization keys
* Fix pub status not displaying. Closes#16318
Co-authored-by: FYannK <fanch.kerguelen@gmail.com>
* Hande exceptions and add version requirements
* Make fetch implementation with error handler.
Added/improved some comments
Added some more translation
* Update changelog
* Updated localization
---------
Co-authored-by: FYannK <fanch.kerguelen@gmail.com>
* Update YM to use their API directly.
* Skip a redirect in the popular manga list.
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
* Skip a redirect in the latest manga list.
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
---------
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
* MyReadingManga: Add WebP image support
Fix issue where manga published with webp images can not displayed correctly in Tachiyomi.
* MyReadingManga: Fix older release images does not parsed
* MyReadingManga: Bump version
* Add setting for Score positioning
Localization support for settings
* Simplify score position evaluation
Reformat code
* Include backup domain in Manifest
* Refine logic for picking the first volume cover
* Officially moved their main TLD
* Fallback to default value instead of empty string
* Avoid stray hyphen on chapter title if it has no name
* Fix typo and add explanation to README
Remove CHANGELOG
* Check and ignore empty string passed as Volume number
* Split Fansubs.cat into two sites (SFW and NSFW), update API calls, and implement search filters
* Unify Fansubs.cat and Fansubs.cat Hentai extensions into a single multisrc theme
* Add missing trailing comma
* Explicitly name custom argument
* Explicitly keep the pkgName for the main extension
* Remove unneeded workaround
* Add Score to the description
Add option to keep the first cover
* Check to prevent the extra call
* Swap from ★☆ to ●◐○ to make use of the half-symbol
Because the half-star character (⯪) is too new and doesn't show up properly
* Missing Override
* Back to the stars on rating.
No half-symbols but makes more sense and is consistent with the site's usage of the ⭐ star emoji
* format the code and change the throw exception
* fix nekopost search
* switch to HttpSource
use request/parse instead of fetch
* Remove commented code.
* update urls again
* small update to filters
* remove unnecessary function and add short title preference
short title stolen from Nhentai ext
* default off
* add magazine info to description
* add description from site
* unify popular and search parsing
* auto update cdn url
* projectsuki initial commit
* update preferences
* non-lazy client
* buildMap -> mapOf
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
* inline constants
* switched from custom NormalizedURL to HttpUrl
* band-aid fix for "No results found"
Has edge case where current page has 30 results and next page has 0 results.
* update remote & strip debug Log statements
---------
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
* Simplify Manifest data entries
* Map MD and MU tags to genres
* Switch separator for Ignored Groups setting
From comma to newlines for better readability
* Make MU Tags optional via preferences
Because they might contain spoilers.
- Include demographic \ target audience into genres
* Switch from flattening list to a builder
* Remove unneeded Listener
* Switch migration check to preference boolean
Rename muTags parameter to includeMuTags
* Rename a couple variables
More in line with their context
* New Source: One Piece Berwarna
* Filter attr by css selector
* Hardcode author & artist name
Co-Authored-By: Luqman <16263232+Riztard@users.noreply.github.com>
* Fix reversed chapter list
* Filter ads with css selector
Co-Authored-By: Luqman <16263232+Riztard@users.noreply.github.com>
* hardcode manga details
* Use the proper methods for chapter parsing
Co-Authored-By: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
---------
Co-authored-by: Riztard Lanthorn <riyanluqman@gmail.com>
Co-authored-by: Luqman <16263232+Riztard@users.noreply.github.com>
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
* BacaKomik: fix title, tweak series info
- remove string from title
- add series type
- remove string from description
* title first
* fix pages not found & add some rate limit
Closes#18686
* fix spelling for villainess in en translations
* custom user agent + more md@h logging
adds a custom user agent setting primarily intended for testing
do note that spoofing to be a different browser might fetch you trouble
as MangaDex's new hotlink/bot abusers can kick in action
also add logging to figure out which MD@H node users are hitting
as currently, the fallback was not observed to be changing even after
a while; leading to user's keep failing to fetch images
* more improvements
make the `Extra` header more verbose
use a `customUserAgent` sharedpreferences variable so that code looks
cleaner
move the useragent logic into an interceptor so that there is no
need for restarting the app after every useragent change
* completely switch to useragent interceptor
removes builder header modification
remove additional logging while testing (didn't really work as
expected since I kept hitting uploads.mangadex.org anyhow,
+ the interceptor logs weren't useful otherwise)
switch to hardcoding version code in header since it wasn't working
as expected...
add linting from android studio gradle release build
* increment extVersionCode
* oopsie be careful of comments
* properly close unsuccessful requests to mdah node
need to ensure this so that it doesn't crash (which has happened before)
inb4 this is why the fallback url never works....
* [RU]Remanga filter only the last non-purchased chapters
* detect LICENSED when metadata not updated (when update library chapters)
* simplify not paid
* naver: fix author parsing
* simplify joinToString
* handle on hiatus status
* use when expression
* adjust order of checks for status
i have found a couple entries that have both rest and finished set to true.
those entires are all definitely on hiatus so let's give the rest flag prio
* Add support to URL guess and add harsh rate limit on GM.
* Fix the checks and add more paths.
* Remove the log statement.
* Use their current URL as of this moment.
---------
Co-authored-by: Alessandro Jean <alessandrojean@users.noreply.github.com>