Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Feature Request: Repair / Migrate Library Items From Broken Extensions

未关闭
#3,146 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 3 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
30/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
android, kotlin
领域
mobile

调研方向

从 Settings → Library 开始,跟踪 issue 中描述的现有 library 重复/替换流程、provider 搜索行为以及 title/year/type 匹配逻辑。当可以扫描损坏的条目,将其与可正常工作的扩展进行匹配,由用户审核后迁移,同时保留文件夹、状态和观看信息时,这项工作就完成了。

由索引模型根据 Issue 内容生成。

描述

enhancement
Describe your suggested feature

Please add a Library repair/migration tool that allows users to move saved movies and shows from extensions that are no longer working to currently installed and working extensions.

CloudStream already appears to have similar matching logic when adding a movie or show that is already present in the Library from another extension. When this happens, CloudStream recognizes that the two entries appear to represent the same title and asks whether the user wants to replace the existing entry or keep both.

It would be very useful to expose similar functionality as a Library maintenance tool.

For example:

Settings → Library → Repair / Migrate Library

The tool could:

  1. Scan Library entries and identify items whose original extension/provider is no longer installed or no longer works.

  2. Allow the user to select one or more currently enabled extensions to use as replacement sources.

  3. Search those extensions for each broken Library item using the existing title/year/type search logic.

  4. Detect likely matches using the same or similar matching logic that CloudStream already uses when duplicate Library entries are added.

  5. Show the user the proposed replacement and allow:
    Replace
    Skip
    Choose another result

  6. Preserve the existing Library folder/status and watch information when replacing the provider.

An optional feature could automatically replace very high-confidence matches while asking the user to review uncertain matches.

Other details

This request came from a problem I recently ran into myself. I took a break over the summer from watching many movies, and when I started using CloudStream regularly again, I discovered that the main extension I had used for most of my Library had gone down.

As a result, a large portion of my Library is now essentially a wall of gray squares. The Library entries are still there, but the artwork and links associated with the old extension are broken.

I spent some time discussing the problem with AI and looking at different ways I might repair or migrate the Library manually. From what I could determine, there does not seem to be an easy way to automatically transfer those existing Library entries to a working extension. The current solution appears to be searching for each movie or show individually through another extension, adding it again, and then using CloudStream's existing duplicate/replacement prompt. That seems workable for a few titles, but it becomes very tedious for a larger Library.

That discussion is what led to this feature request. From a user-facing perspective, CloudStream already appears to have several pieces of functionality that seem related to this problem: searching for the same title across other extensions, recognizing when two Library entries appear to represent the same movie or show, and offering to replace an existing entry when a duplicate is added. My thought was whether those existing behaviors could somehow be combined into a Library repair or migration tool.

I want to acknowledge that I do not have a deep understanding of CloudStream's codebase or how these features are implemented internally. This suggestion is based mainly on observing how the existing features behave from the user side. I do not know whether the duplicate detection, cross-extension searching, Library storage, and provider data are actually connected in a way that would make this relatively straightforward, or whether implementing something like this would require a significant amount of new work under the hood.

So I am not assuming this is an easy feature to implement. The main idea is simply that, from the user's perspective, much of the manual workflow already seems to exist in separate parts of the app, and having a tool that helps apply that workflow across broken Library entries could make recovering from a discontinued extension much easier.

Acknowledgements
  • My suggestion is NOT about adding a new provider
  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
主要语言
Kotlin
星标
11k
派生
1.1k
平均合并
3 天 5 小时
30 天内合并 PR
14

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

recloudstream/cloudstream 的其他 Issue

查看 recloudstream/cloudstream 的全部 Issue

相似的 Issue

更多 Kotlin Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。