ShukeBta
|
8a57410626
|
fix: keep explicit source category after rejected scrape
|
2026-06-25 04:24:35 +08:00 |
|
ShukeBta
|
4e00c4c14d
|
fix: refresh stale scan-derived media metadata
|
2026-06-25 03:40:50 +08:00 |
|
ShukeBta
|
5eb0d4c8af
|
fix: reject low-confidence automatic metadata matches
|
2026-06-25 02:58:07 +08:00 |
|
ShukeBta
|
9021007027
|
fix: harden playback and security edge cases
|
2026-06-25 02:33:30 +08:00 |
|
ShukeBta
|
02fe4fd374
|
refactor: tighten media upsert metadata handling
|
2026-06-25 02:33:12 +08:00 |
|
ShukeBta
|
3d3679c21c
|
fix: prevent episode metadata from splitting series
|
2026-06-25 02:32:55 +08:00 |
|
ShukeBta
|
baa4a38b0a
|
fix: refresh emby sessions in realtime
|
2026-06-25 02:32:32 +08:00 |
|
ShukeBta
|
29f5df673c
|
fix: refresh emby realtime user sessions
|
2026-06-25 00:36:41 +08:00 |
|
ShukeBta
|
f49ef7f1df
|
refactor: split organize source file flow
|
2026-06-25 00:17:09 +08:00 |
|
ShukeBta
|
ab6b8178f4
|
refactor: split storage config responsibilities
|
2026-06-25 00:05:52 +08:00 |
|
ShukeBta
|
9462f3b021
|
refactor: split storage upload clients
|
2026-06-25 00:00:20 +08:00 |
|
ShukeBta
|
82df266c4e
|
refactor: split license client
|
2026-06-24 23:51:01 +08:00 |
|
ShukeBta
|
996030eae8
|
refactor: split local scan flow
|
2026-06-24 22:06:39 +08:00 |
|
ShukeBta
|
070fd7459e
|
refactor: split rss subscription run flow
|
2026-06-24 21:58:16 +08:00 |
|
ShukeBta
|
bbc1d542bb
|
refactor: split cloud scan import flow
|
2026-06-24 21:50:47 +08:00 |
|
ShukeBta
|
d344446406
|
refactor: split subscription site search completion
|
2026-06-24 21:42:30 +08:00 |
|
ShukeBta
|
dd3d4c1aec
|
fix: load real discover posters
|
2026-06-24 21:30:44 +08:00 |
|
ShukeBta
|
9bdf1a73e7
|
refactor: split ffmpeg transcode args
|
2026-06-24 20:43:36 +08:00 |
|
ShukeBta
|
68e6b5050b
|
refactor: split cloud scan candidate collection
|
2026-06-24 20:28:01 +08:00 |
|
ShukeBta
|
a7c8d46589
|
fix: show latest discover posters
|
2026-06-24 20:17:38 +08:00 |
|
ShukeBta
|
e5b5ecce93
|
refactor: split subscription site search enqueue
|
2026-06-24 19:48:22 +08:00 |
|
ShukeBta
|
35f8a166c6
|
refactor: split image proxy tests
|
2026-06-24 19:36:08 +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
|
55673b1675
|
refactor: split subscription run tests
|
2026-06-24 16:58:40 +08:00 |
|
ShukeBta
|
13d61200fc
|
refactor: split scanner cloud tests
|
2026-06-24 16:48:20 +08:00 |
|
ShukeBta
|
520b99d50f
|
refactor: split emby handler compatibility tests
|
2026-06-24 16:37:11 +08:00 |
|
ShukeBta
|
e898605f3a
|
refactor: split emby compatibility tests
|
2026-06-24 16:11:44 +08:00 |
|
ShukeBta
|
e56eed0758
|
fix: improve discover and manual scrape controls
|
2026-06-24 15:56:35 +08:00 |
|
ShukeBta
|
c212207f74
|
refactor: split scraper service tests
|
2026-06-24 15:18:57 +08:00 |
|
ShukeBta
|
40cb8b07a2
|
refactor: split local metadata tests
|
2026-06-24 15:02:48 +08:00 |
|
ShukeBta
|
6be3409e3e
|
fix: improve discover and series special handling
|
2026-06-24 14:49:26 +08:00 |
|
ShukeBta
|
3957349dc8
|
refactor: split bot feature tests
|
2026-06-24 14:18:30 +08:00 |
|
ShukeBta
|
7483b10853
|
refactor: split cloud provider tests
|
2026-06-24 14:11:21 +08:00 |
|
ShukeBta
|
34c9cb4244
|
fix: improve discover and manual scrape flows
|
2026-06-24 13:58:04 +08:00 |
|
ShukeBta
|
34396a3a8b
|
refactor: split cloud mount modules
|
2026-06-24 13:23:28 +08:00 |
|
ShukeBta
|
7d7f2662dc
|
refactor: split subscription candidate tests
|
2026-06-24 13:11:40 +08:00 |
|
ShukeBta
|
1b2cbabc71
|
refactor: split subscription planner modules
|
2026-06-24 13:06:39 +08:00 |
|
ShukeBta
|
0e79763462
|
refactor: split organizer scrape tests
|
2026-06-24 12:58:16 +08:00 |
|
ShukeBta
|
a7fea2a0f5
|
refactor: split emby playback route tests
|
2026-06-24 12:54:18 +08:00 |
|
ShukeBta
|
47cd20f2ea
|
refactor: isolate download organize tests
|
2026-06-24 12:45:23 +08:00 |
|
ShukeBta
|
aec5914846
|
refactor: isolate cloud auto category tests
|
2026-06-24 12:21:39 +08:00 |
|
ShukeBta
|
f7e6ae7b87
|
refactor: split oversized service tests
|
2026-06-24 12:18:39 +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
|
6e61c8b545
|
feat(telegram): 订阅/下载补齐 year/rating/genres/原名/语言 富通知字段
- 模型: Subscription/DownloadTask 新增 OriginalName/OriginalLanguage/Year/
Rating/Genres 列(GORM AutoMigrate 自动建列, 无需手写迁移)
- enrich 链路: displayMetadata 与 DownloadTaskMeta 携带新字段, 从
SearchExternalMedia(TMDb/豆瓣/Bangumi)结果回填并持久化; 放宽提前返回
门槛, 已有海报但缺新字段时仍补齐
- 通知: 订阅/下载完成事件 data 注入 year/rating/genres/original_title/
original_language, 喂给作者富模板 formatTelegramMediaNotification
- 测试: 新增端到端断言, 验证补齐字段透传进 Telegram caption
|
2026-06-20 01:45:40 +08:00 |
|
ShukeBta
|
9ef7721527
|
fix(telegram): 订阅/下载通知补充媒体模板所需字段
合并 #39 媒体通知模板后, formatTelegramMediaNotification 需要事件携带
片名/简介/外链/资源标题等字段才能渲染丰富内容。补充数据源中现成可用的字段:
- 订阅命中: title(订阅名)/overview/imdb_url(由 IMDBID 拼)/resource_title(首个命中资源)
- 下载完成: title/overview/resource_title(torrent 原始名, 供模板提取季集与版本)
缺失项(年份/评分/tmdb 链接等无现成来源)模板会自动略过, 不影响回退。
|
2026-06-20 01:16:48 +08:00 |
|
yebuwudong
|
8e43f66513
|
fix(telegram): improve media notification template
|
2026-06-20 01:08:55 +08:00 |
|
ShukeBta
|
dff19801b6
|
fix(series): 彻底修复剧集被按单集显示且无法修复
根因(用真实数据确诊, 两个互相独立):
- Web 端拆集: episode NFO 的 <uniqueid type=tmdb> 是【单集 episode id】、
<title> 是【单集名】, mergeEpisodeMetadata 却无条件覆盖了整剧 tm_db_id /
original_name → 同剧每集 id/原名各不相同, 被 getSeriesKey 按 tmdb_id 拆成
N 张单集卡(实测「遮天」90 集 = 89 个不同 tmdb_id)。
- Emby 散装单集: 电影库混入按 Season/SxxE 整理的剧集结构内容, 被判成 Episode
却因 movie 库不聚 Series 而漏成散装单集。
- 无法修复: EnrichLibrary 只处理 pending/no_match, 跳过 matched 脏行。
修复:
- local_metadata.mergeEpisodeMetadata: 单集 NFO 的外部 id 不再写入整剧字段,
单集名不再污染 original_name; 整剧 id/原名只认 tvshow.nfo。
- groupSeries.ts: 剧集分组改「库+路径剧名」优先(整剧目录对全剧一致), 外部 id
仅作回退, 对存量脏数据也能合并。
- emby_compat: 电影库常规浏览新增 movieLibraryItems, 把剧集结构内容聚成 Series
卡片与真电影并列(方案 B), 不再漏散装单集。
- cloud_path_repair: 「修复+重刮」先把脏的 matched 剧集行重置为 pending 再重刮,
使其能被重新刮削; 结果新增 reset 计数。
- 新增 NormalizePollutedEpisodeMetadata 启动迁移(幂等): 按整剧目录聚合, 清洗
tmdb/原名散乱的剧组并重置 pending。
测试: local_metadata/emby_compat/cloud_path_repair/episode_metadata_cleanup
新增或更新断言; 修正 scanner_cloud_test 中依赖旧错误行为的用例。
|
2026-06-20 01:04:19 +08:00 |
|