Commit Graph

106 Commits

Author SHA1 Message Date
truewhile 2888ae8bf7 8 2026-08-26 17:05:41 +08:00
truewhile 6aefe18caa 5 2026-08-26 12:52:10 +08:00
truewhile 9d359c40dd 1 2026-08-26 09:51:27 +08:00
truewhile b676733af7 优化strm同步
优化strm同步
2026-08-26 00:26:28 +08:00
truewhile efa64051ea 优化
优化
2026-08-25 16:39:47 +08:00
truewhile 44ca451cd4 优化
优化
2026-08-24 17:40:43 +08:00
truewhile c55d29ae84 添加strm生成
添加strm
2026-08-24 14:36:17 +08:00
truewhile cd1297a30f 添加弹幕功能
添加弹幕功能
2026-08-24 00:37:25 +08:00
truewhile 71bf60c69c 初始化
初始化项目
2026-08-23 22:12:32 +08:00
truewhile 65d1ad5ae5 优化番号处理逻辑,添加对MetaTube的支持
优化番号处理逻辑,添加对MetaTube的支持
2026-08-21 00:06:49 +08:00
truewhile d4c753b08a 优化
优化
2026-08-20 20:52:34 +08:00
truewhile 495292ab3b bug处理优化
bug处理优化
2026-08-20 15:43:39 +08:00
ShukeBta 42ef19b7e5 fix(downloads): support Transmission and aria2 end to end
Fixes #65
2026-08-10 21:04:04 +08:00
ShukeBta 06b25564ea Add library covers and configurable footer visibility 2026-07-16 13:17:52 +08:00
ShukeBta b610dda098 fix: align scraped media naming and release sorting 2026-07-03 02:55:33 +08:00
ShukeBta 470a639091 feat: add STRM tree recognize rename option 2026-07-03 01:46:13 +08:00
ShukeBta 9833c60e38 feat: scrape STRM libraries after refresh 2026-07-03 01:18:27 +08:00
ShukeBta a6f2d0208d feat: add STRM output directory presets 2026-07-03 00:55:06 +08:00
ShukeBta 077bb10d25 feat: skip existing media in STRM tree generation 2026-07-02 23:35:24 +08:00
ShukeBta e700962f2a feat: refresh libraries after STRM updates 2026-07-02 23:20:08 +08:00
ShukeBta 2df7c34cf7 feat: add STRM repair workflow 2026-07-02 23:01:36 +08:00
ShukeBta e7d988ebf8 feat: transfer STRM tree subtitle links 2026-07-02 22:41:37 +08:00
ShukeBta ccd9756b6f feat: report ignored STRM tree sidecars 2026-07-02 22:14:16 +08:00
ShukeBta 1afc69baa0 feat: report STRM tree batch progress 2026-07-02 21:48:53 +08:00
ShukeBta 87928cfa4d feat: batch STRM tree generation 2026-07-02 21:35:50 +08:00
ShukeBta d11f784438 feat: add STRM tree dry-run preview 2026-07-02 21:15:11 +08:00
ShukeBta c07290619c fix: improve media grouping and bot startup 2026-07-02 20:36:45 +08:00
ShukeBta 5ecb5e2144 fix system update current version display 2026-07-02 00:04:04 +08:00
ShukeBta 941bb273b9 fix media organize and subscription workflows 2026-06-30 20:18:02 +08:00
ShukeBta a97dc35790 fix: stabilize library paths and subscription matching 2026-06-28 12:15:10 +08:00
ShukeBta a2be6a2127 fix library display and docker compose update 2026-06-27 16:54:33 +08:00
ShukeBta 8d0aa2b589 fix issue 51 library reclassify regressions 2026-06-27 00:40:39 +08:00
ShukeBta 5ef831f830 support multiple roots per library 2026-06-26 22:18:26 +08:00
ShukeBta 93be60ed99 add docker hot update management 2026-06-26 13:02:40 +08:00
ShukeBta 65adca04df fix media workflows and download organization 2026-06-26 08:42:16 +08:00
ShukeBta 74aa654c92 fix: enforce license-backed user capacity 2026-06-25 13:27:15 +08:00
ShukeBta aa506d6566 fix: harden discover artwork caching 2026-06-24 19:26:32 +08:00
ShukeBta d93a28f18f fix: retry failed discover artwork 2026-06-24 17:24:15 +08:00
ShukeBta 192f35d9fa refactor: split modules and harden scraping workflows 2026-06-24 11:59:18 +08:00
ShukeBta efca3cbe69 fix media playback and library workflows 2026-06-21 12:53:52 +08:00
ShukeBta 7b881d031c fix organizer diagnostics and site integrations 2026-06-21 09:44:29 +08:00
ShukeBta b40e2c7280 fix: 订阅恢复补缺集/单媒体手动整理入口/媒体库排序/网盘媒体分类迁移
- 订阅(问题1): selectPreparedSubscriptionCandidates 在本地已有部分集时不再
  无条件丢弃整季/全集包,单集候选不足时用全集包兜底;Restore 重置 total_episodes
  让下次 run 从权威元数据重算,避免被 feed 低估值锁死误判'无缺集'
- 单媒体整理(问题2): 后端已具备,新增 OrganizeMediaDialog 组件并在媒体详情页
  接入'整理入库'按钮(可选类型/二级分类/目标路径/转移方式/预览)
- 媒体库排序(问题3): ListByLibrariesFiltered 改多级排序 year/updated_at/
  created_at/id,id 作稳定 tie-breaker 消除云盘批量扫描同批时间戳的随机观感
- 网盘媒体消失(问题4): 云盘媒体 upsert 时允许 library_id 迁移到重新挂载的
  更精确分类库(本地媒体物理位置固定不迁移),修复一键挂载子目录后媒体消失
2026-06-19 21:29:02 +08:00
ShukeBta 9b4884359b fix(scrape): 单集名不再覆盖整剧 original_name 修复合集被拆集 + 媒体库页新增单库修复重刮
- 根因: 单集刮削把 TMDB episode.Name 写入 original_name(应为整剧原名),
  导致同剧每集 original_name 不同, 合集分组键回退到标题时被拆成多集无法合并。
  移除该覆盖, 保留单集 overview/剧照/评分/时长回填(不影响合集键)。
- 新增 RepairAndRescrapeLibrary 服务方法 + POST /admin/libraries/:id/repair-rescrape
  路由 + 媒体库页「修复+重刮本库」按钮, 可按库单独触发修复(回填占位符外部 ID)并重刮,
  既修空 ID 又借重刮覆盖此前被单集名污染的 original_name。
2026-06-19 21:29:02 +08:00
ShukeBta 87bb94d4df feat(repair): 新增全库修复+重刮入口,剧集类路径正确归类
- 服务层 RepairAndRescrapeAllLibraries:先从路径占位符回填缺失/错误外部ID,再逐库重刮(含 no_match 重试)
- 新增 handler 与路由 POST /api/admin/media/repair-rescrape,异步执行经 WS 推送进度
- 前端媒体库页新增「全库修复+重刮」按钮调用该接口
- groupSeries:路径落在剧集类目录(电视剧/动漫/特别篇等)时按剧集卡处理,跳转分类视图
2026-06-19 12:23:56 +08:00
ShukeBta b44c7f860b fix(media): 修复emby电影库混入剧集/特别篇识别/剧集合集 + 新增手动编辑元数据
emby 兼容层(hills/yamby 等客户端):
- 电影库不再混入剧集:filterLikelyEpisodicPathsFromMovieQuery 按路径
  特征(Season/S0x/Specials/电视剧/日番/国漫等)剔除误入电影库的剧集
- itemPayload 改用 mediaShouldBeEpisode:有季集号且(属剧集库或路径像剧集)
  才标记为 Episode,修正电影库里剧集被当成 Movie

特别篇识别:
- episode_parser 新增 patSpecialSeason,识别 S0/Season 0/Specials/SP/OVA/
  OAD/番外/特别篇/特典 文件夹 → 第0季;seasonFromParents 返回 found 标志,
  区分"明确第0季"与"未识别默认第1季"
- emby seasonDir 正则同步支持 Specials/SP/OVA/特别篇 等

剧集合集:
- groupSeries 抽出 isSeriesCard,卡片链接按是否剧集判定,修复剧集卡片
  跳转;每集分离的根因(季集号/分组key)随入库识别修复一并改善

手动编辑元数据(自采集视频无TMDB信息时可自定义封面/标题/简介/分类):
- 新增 MediaService.UpdateMetadata + PATCH /media/:id/metadata(需admin)
- 前端 MetadataEditDialog 接入 LibraryPage 与 MediaDetailPage

其他:scanner/scraper/nfo/local+cloud_metadata/adult 元数据识别配套改进;
.gitignore 忽略本地 .dev-cache/.dev-data 运行产物。
2026-06-19 12:23:56 +08:00
ShukeBta 0a3748e564 Fix subscription restore and media library entry links 2026-06-18 10:54:10 +08:00
ShukeBta e4b1488e11 Fix manual scrape apply for cloud media 2026-06-18 00:27:26 +08:00
ShukeBta 850d3db811 Fix scraping workflows subscriptions bot and recycle bin 2026-06-17 19:48:17 +08:00
ShukeBta ab4637beed Update MediaStationGo branding and deployment docs 2026-06-17 16:01:16 +08:00
ShukeBta 479a06f008 Unify organize ingest pipeline 2026-06-14 23:17:52 +08:00