Skip to content

feat(en.mangakakalot): add base url selection - #692

Merged
kkantan merged 4 commits into
Aidoku-Community:mainfrom
jlintag:feat/mangakakalot-base-url-select
Aug 12, 2026
Merged

feat(en.mangakakalot): add base url selection#692
kkantan merged 4 commits into
Aidoku-Community:mainfrom
jlintag:feat/mangakakalot-base-url-select

Conversation

@jlintag

@jlintag jlintag commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Problem

mangakakalot.gg serves a Cloudflare managed challenge (403, cf-mitigated: challenge)
on every content path while the home page loads normally, so the Home tab works and every
listing, search and series page fails issue

The challenge is applied per client, not per path: a web view is served the real page, so no
cf_clearance is ever issued for the source's own requests to reuse. That is
Aidoku/Aidoku#1034 and can't be fixed from here.

mangakakalove.com is already listed as this source's second url and serves all of those
paths normally, so this makes it selectable.

Related: #1034, maybe related: #310

Changes

  • Enable allowsBaseUrlSelect and leverage the alternate url.
  • Read the selected url in params(), falling back to mangakakalot.gg when unset, so the
    default is unchanged.
  • Set minAppVersion to 0.7.1, without which aidoku verify fails its api version check.
  • Add tests for the listings, search, details and page list.

Testing

cargo build --release, cargo fmt, cargo clippy, aidoku package, aidoku verify and
cargo test -- --test-threads=1 all pass. The tests hit the live site and need a single
thread, since the test runner ignores set_rate_limit.

Checked on device: listings, search, details and pages all load with mangakakalove.com
selected; switching back to the default reproduces the failure.

- read the url setting in params(), falling back to mangakakalot.gg

- set minAppVersion to 0.7.1 so aidoku verify passes

- add tests for listings, search, details and page list
assert!(attempt < 3, "no entries after {attempt} attempts");
sleep(10);
}
unreachable!()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this code seems odd. why do you wait 3s before initializing a source? why is this marked unreachable even though it is reachable? I won't block the merge since testing code doesn't really matter, but I feel as though there are many better ways to write the things you have here.

@kkantan
kkantan merged commit 89926f9 into Aidoku-Community:main Aug 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants