TheIntroDB API: v2/v3 are being retired — 10-minute path to v4
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Start with app/src/main/java/com/lagradost/cloudstream3/utils/videoskip/TheIntroDBSkip.kt and compare its current API call and response handling with the v3-to-v4 migration guide and OpenAPI spec linked in the issue. Update the integration for v4, accounting for the changed response identifiers; run the repository's relevant tests and add a /v4 URL assertion if this integration is already tested.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi - I maintain TheIntroDB, the community database behind the intro/recap/credits timestamps.
Short version: v1 is already gone, and v2 and v3 are now deprecated. They still answer GET /media, but they're frozen - no fixes, no new fields - and they're being removed. v4 is the only surface under active development, so anything built on v2/v3 is on borrowed time.
I scanned GitHub for API consumers and this project is one of them:
app/src/main/java/com/lagradost/cloudstream3/utils/videoskip/TheIntroDBSkip.kt- callshttps://api.theintrodb.org/v2/media
So the change lands on you. Nothing is on fire today, but the clock is running.
What actually changes
- base URL
v2->v4 - responses are keyed by
tvdb_id; thetmdb_idfield is gone from the body - segment shapes (
intro/recap/credits/preview,start_ms/end_ms) are unchanged POST /submitonly exists on v4 - if you submit on v2/v3 it already 404s- if your season/episode numbers come from Jellyfin/Plex/Emby display order, v4 takes
mapping=default|official|dvd|alternate|absolute|regionaland converts them. That is the one v4 feature worth adopting even if you only read.
Links
- API docs: https://theintrodb.org/docs
- OpenAPI spec (source of truth): https://theintrodb.org/openapi.yaml
- v3 -> v4 migration guide: https://github.com/TheIntroDB/theintrodb-npm/blob/main/docs/migration-v3-to-v4.md
- npm client:
npm i theintrodb@4
If you'd rather hand it to an agent, paste this into Claude Code / Codex / Cursor / whatever you use:
Update this repository to use TheIntroDB API v4. The v2/v3 endpoints it currently
calls are deprecated and will be shut down.
Reference material:
- OpenAPI spec (authoritative): https://theintrodb.org/openapi.yaml
- v3 -> v4 migration guide: https://github.com/TheIntroDB/theintrodb-npm/blob/main/docs/migration-v3-to-v4.md
- API docs: https://theintrodb.org/docs
- npm client v4: https://www.npmjs.com/package/theintrodb
Steps:
1. Find every call site hitting api.theintrodb.org - any hardcoded /v1, /v2 or /v3
path, base-URL constants, config files, and the `theintrodb` npm dependency.
2. Move them to /v4. v1 is removed (404). v2 and v3 only ever served GET /media;
any submit/flag/vote call must move to POST /v4/submit.
3. Update response handling: v4 bodies are keyed by tvdb_id and no longer carry
tmdb_id. Segment arrays keep their existing shape (start_ms/end_ms).
4. Where season/episode numbers come from a media server's display order rather
than TVDB's default order, pass mapping= (default|official|dvd|alternate|
absolute|regional) so reads and submissions resolve to the right episode.
5. If the repo uses the npm package: upgrade to theintrodb@4 and adapt to
getMedia() returning a discriminated union on kind ('media' | 'versions' |
'episodes'), MediaRecord.tmdbId -> tvdbId, and /submit returning
{ ok, submissions }.
6. Keep the diff minimal: no refactors, no unrelated dependency bumps, no
formatting churn.
7. Run the repo's tests and linters, and add a URL assertion test for /v4 if the
repo already tests this integration.
8. Report every file changed and open a PR titled "Update TheIntroDB API
integration to v4", including test results.
If the spec and the migration guide disagree, follow the OpenAPI spec. Do not
invent endpoints - everything v4 serves is in the spec.
If something in the migration doc doesn't match what you're seeing, reply here and I'll fix the doc rather than have you guess at it. Same if you're stuck on the mapping part - that's the piece most clients get wrong.
- Ngôn ngữ chính
- Kotlin
- Star
- 11k
- Fork
- 1.1k
- Merge trung bình
- 3 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 15
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của recloudstream/cloudstream
-
Add new fonts for subtitlesĐang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
recloudstream/cloudstream#3100 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
recloudstream/cloudstream#2639 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Full CustomisationĐang mởenhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
recloudstream/cloudstream#3263 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
recloudstream/cloudstream#3255 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 22/100
recloudstream/cloudstream#3248 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của recloudstream/cloudstream
Issue tương tự
-
[Submission] 悠悠有品Đang mởsubmit-adaption submit-adaption-pre
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
BetterAndroid/android-notification-icon-project#763 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
simplex-chat/simplex-chat#7755 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
afk-ok area:data-quality importer size:S
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
enorm-labs/event-junkie#3586 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
scarif-labs/horus#61 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 87/100
damontecres/Wholphin#2093 ·
Maintainer thường phản hồi trong vòng 1 ngày