Skip to content

fix(ru.desu): migrate to new API and web login - #659

Merged
kkantan merged 2 commits into
Aidoku-Community:mainfrom
remmody:fix/ru.desu-new-api
Aug 2, 2026
Merged

fix(ru.desu): migrate to new API and web login#659
kkantan merged 2 commits into
Aidoku-Community:mainfrom
remmody:fix/ru.desu-new-api

Conversation

@remmody

@remmody remmody commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Migrate ru.desu to the new /api/manga API and add ranobe section support
  • Switch auth to WebView XenForo cookies and show account status in settings
  • Mark version 5 as a breaking change and migrate old numeric manga ids to m:{id}

Test plan

  • Catalog / search / manga / chapters / pages without login
  • WebView login, cookies persist, username in settings
  • Existing library entries with numeric ids migrate to m: keys
  • Ranobe listing and chapter text reading

The legacy /manga/api endpoint returns api_deprecated. Switch manga to
/api/manga, add XenForo login for ranobe HTML catalog, and keep domain
configurable via settings.
@remmody
remmody force-pushed the fix/ru.desu-new-api branch from 7f98981 to e8d6eab Compare August 1, 2026 23:55

@kkantan kkantan left a comment

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.

the desu source changes look good, but you should split the added remanga source into a separate pr.

Comment thread sources/ru.desu/src/helpers.rs Outdated
} else {
params.push(&id, Some(&v.join(",")))
genres.extend(values);
} else if !values.is_empty() {

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.

I don't think it's possible for a multi-select filter to be sent with no included or excluded values, so this check is probably useless.

Comment thread sources/ru.desu/src/lib.rs Outdated
Ok(pages)
.collect()),
Section::Ranobe => {
let url = chapter.url.clone().unwrap_or_else(|| {

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.

does this need to be cloned?


Ok(Some(DeepLinkResult::Manga {
key: manga_id.to_string(),
key: format!("m:{manga_id}"),

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.

since you're changing ids, you should mark this source version as a breaking change and implement the id migration trait if possible.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It is backward compatible, so it works correctly.

@remmody

remmody commented Aug 2, 2026

Copy link
Copy Markdown
Contributor Author

the desu source changes look good, but you should split the added remanga source into a separate pr.

ok, as for the other changes, I based them on the fact that the source material also includes ranobe.

Switch auth to WebView XenForo cookies and show account status.
Add MigrationHandler for the m: manga id prefix, mark
breakingChangeVersion 5, and apply small review notes.
@remmody
remmody force-pushed the fix/ru.desu-new-api branch from e8d6eab to 1f381e3 Compare August 2, 2026 20:27
@remmody remmody changed the title feat(ru.desu,ru.remanga): web login polish and add Remanga fix(ru.desu): migrate to new API and web login Aug 2, 2026
@remmody

remmody commented Aug 2, 2026

Copy link
Copy Markdown
Contributor Author

Split Remanga into a separate PR: #664

Also addressed the review notes on this PR:

  • removed the empty MultiSelect values guard
  • avoided cloning chapter.url in get_page_list
  • marked version 5 as a breaking change and added MigrationHandler for numeric -> m:{id} manga keys

@kkantan
kkantan merged commit 268cf98 into Aidoku-Community:main Aug 2, 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