* update url ThunderScans "all" and use random url part for ThunderScans "En"
* Update src/all/thunderscans/build.gradle
---------
Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
* Organizing code
* remove unnecessary files
* improve base class
- allow override search’s uri
- add shared method to get description & page count
- base class’s request for gallery’s all pages now support all sources without needs to override (almost)
- extract method to parse JSON
* Avoid request for more pages when no needed
* auto add more tags to filter while viewing manga;
add spit-tag
* filter for getting Random manga
* Always add page=1 to uri so it will exclude some non-latest mangas from homepage, happened with some sources.
* reorganize code
* Allow source which doesn't need shortTitle to hide it.
* Extract default advanced search's Uri
change base class's galleryUri value
* Fix getInfoPages
* Fix missing category filter
* open for override
* bump base class version
Did not change `archive` URL, as that would require migration, or show
the manga as not your library. The current 301 redirect is fine. If it
really matters I can add an interceptor for it.
* Convert AsmHentai into multisrc GalleryAdults
Also convert some selector into function
* Move HentaiFox to theme GalleryAdults
* GalleryAdults: Fix search
* MangaFox: fix TagFilter
* fast page load & preference for slowly parsing image’s URL
* AsmHentai: change shortTitle reference from list to swith
* HentaiFox: add Korean
* move HentaiFox from en to all
* fix build
* fix search: convert space to +
* Request for tags list from site
* Fix request for user’s favorites
* - Optimize popular/latest request
- Improve ‘page’ param
- AsmHentai: support Latest/Popular
* add SortFilter
* Support multiple tags filter
* Support exact match query
* getTime
* Fix Lang when searching
* fix searchById
* add language companion
* Fix URL action
* renovate
* Support parsing json for page list
Fix generating page if less than 10 pages
HentaiFox: Random server selection
* Migrate IMHentai to GalleryAdults
* Preferences to support all methods for page querying
* IMHentai: tagList
* Expose some filters to child class, add more space to description
* Fix Factory lang
* Support browsing tags, speechless & favorite
* IMHentai:
- support favorite browsing (require login)
- tag filter with queried popular tags
- advanced search for artist, group, character, parody, tag (include/exclude)
- remove language filters
- Fix language search
* Move advance search to multi-src
* Fix: hide speechless when not supported
* add Hint to use comma
* split code to Filters & Utils
* bump version all 3 extensions
* fix getTime
* fix lint
* Fix alternative name
* improve cleanTag
* move out of Object
* move Regex out
* remove RandomUA
* fix build
* remove images parsing setting, pick a default one
* fix build
* Move shortTitle to base clash
* HentaiFox: add language keyword to search query
* if all mangas in current searching page is of other language then include at least 1 entry so it can request for next page
* Alternative methods for images parsing
Revert "remove images parsing setting, pick a default one"
This reverts commit e49e3aaeb74e3643abc2e303924da18a52491793.
# Conflicts:
# lib-multisrc/galleryadults/src/eu/kanade/tachiyomi/multisrc/galleryadults/GalleryAdults.kt
# src/all/asmhentai/src/eu/kanade/tachiyomi/extension/all/asmhentai/AsmHentai.kt
# src/all/imhentai/src/eu/kanade/tachiyomi/extension/all/imhentai/IMHentai.kt
* Fall back if failed to decode JSON
* remove supportLatest from base class
* Remove preference for parsing page by page, switch to override val instead.
* Split searchRequest into parts
* Don't using generic Filter.Text to avoid other kind of text field which extensions might have
* Fixed Tags
Fixed tags search that contains space and slash.
* Update build.gradle
* Fixed Tags Filter
Fixed: Uppercase -> lowercase. Single quotation marks
* Taking out the regex object
Taking out the regex object so it doesn't get created every time
* remove randomua
* i18n
* add other language based selectors
* countviews in background
* small cleanup
* lint
* fix
* bump
* fix genre resetting
* use enqueue instead of coroutinescope
* fix build
* fix build x2
* add back genre missing warning
* Add ES translations
* lint
* Add available language
* lint
I hate lint
* review
- lowercase match for status
- callback on site
* review x2, also fix smol mistake
* lint
:)
* lowercase some translations
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* lowercase some translations
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* remove "人気"
* inline the labels
* lint
thank you lint, very cool
---------
Co-authored-by: bapeey <90949336+bapeey@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
* remove randomua from madara
* don't use page path for page=1
* add back `madara_load_more`
* cleanup i18n and filters
* load more in a new source
* move back the filters
not worth it
* fix build
* altname to i18n as well
* utf-8
* Revert "utf-8"
This reverts commit 1335bc1b478da54d3a5eb6333ac1a26e3ee2825b.
* utf-8
* autodetect load_more_request
* load genres in background
* make genre classes protected
remove unnecessary change
* fetch genres changes
* launchIO countviews
* don't explicitly optin
* cleanup some request overrides
* make `useLoadMoreRequest` enum to be able to disable autodection where necessary
* fix logic
bruh
* use state variables
* defer countViews in overrides as well
* lint
* select().first -> selectFirst
* `load_more` search as well
* detect in search as well
* remove slipped override
* move detection to the function
* remove fetchGenreFailed
* don't use GlobalScope
* tweak load_more_request parameters
* remove ancient connectTimeout/readTimeout
already present in the client provided by the app
* small cleanup
* remove chapter pagination
page parameter seems to trigger some cache issue in their api
* update baseUrl
* data class -> class
micro optimization
* small refactor
* remove useless interceptor
* oops
* mutable not needed
* Komga: Filter out EPUB books, fix chapter timestamps
* Add default library setting
* Make some settings not require a restart
* Don't use fixed enums
* Rename None sort to Relevance (#1284)
* make popular default to alphabetical sort
* Add Comikey
* Remove logging
* i18n
* Comikey Brasil, paid chapters toggle, use other chapter endpoint
* Don't parse author/artist in searchMangaFromElement
* makeEpisodeSlug private
* Move gundamUrl outside of class constructor
* paginate latest
* paginate search
* Properly distinguish i18n keys from normal messages in WebView script
* Parse statuses better
* Add genre for entry format
* remove unnecessary getChapterUrl
* Fix status on BR
* ACTUALLY fix status on BR
* Fix more Comikey Brasil stupidity
* Validate that manifestUrl is valid
* Revert "Validate that manifestUrl is valid"
This reverts commit d744fd42b45ae46baf48308ec3f354546d1452af.
* Proper i18n in WebView script
* Add explanation for weird binding
* Move helper functions to bottom
* Support signing in through WebView
* Fix chapter list when signed in
* Properly filter locked chapters
* Remove WebView logging
* 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
* 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.
* 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
* 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>
* 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
* 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
* 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
* 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....
* Add ComicFury Extension
Signed-off-by: Theray Tharow <TharowT@Tharow.net>
* Change pt to pt-BR as per alessandrojean
Updated Request Builders as per alessandrojean
added fun getMangaUrl to point to the archive page instead of the detail page to help with nfsw comic requiring to click accept on the archive page to allow tachiyomi to read the chapter/comic list
Signed-off-by: Theray Tharow <TharowT@Tharow.net>
* Use new siteLang as override for lang code for Manga Search as suggested by alessandrojean
Change notext lang to No-Text as commented by alessandrojean
Signed-off-by: Theray Tharow <TharowT@Tharow.net>
* Change No-Text lang to other-notext as suggested by alessandrojean
now shows up as Other (NOTEXT)
Signed-off-by: Theray Tharow <TharowT@Tharow.net>
* correct implementation misunderstanding and use extraName for the No text source, based on https://github.com/tachiyomiorg/tachiyomi-extensions/pull/6337
Signed-off-by: Theray Tharow <TharowT@Tharow.net>
---------
Signed-off-by: Theray Tharow <TharowT@Tharow.net>
Co-authored-by: Theray Tharow <TharowT@Tharow.net>
* increment extVersionCode
closes https://github.com/tachiyomiorg/tachiyomi-extensions/issues/17456
* add filtering to `list:`
* prefer using the constant instead
* revert to fallback url if MD@H node fails
* handle edge case in accessing list entries
mostly just to ensure the Retry message doesn't happen
* finish off TODO as manga redirects work fine nowadays
* linting
* add missing headers
this helps add the necessary tachiyomi ua and other stuff
* fix getMangaUrl
* Novelcool
very shit source
* use better selector to filter novels
* fix genre fetching in search
* add parsing logic for popular/latest as well
in case they break the app api
* Add support to better internationalization with a new lib.
* Add info about `lib-i18n` in the contributing guide.
* Use lib-i18n in M+ as well.
* Change properties files to UTF-8.
* use the assets/ folder instead of the res/ folder
files under assets/ are addressible by name
* mangadex: add string invalid_manga_id
* M+: Add translations for Vietnamese
* m+: Add Vietnamese to list of available languages
* mangadex: remove duplicate declarations
---------
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>