b4ff618d41
- README: watch-first feature overview, install + libmpv requirement, fork attribution. - docs/UPSTREAM.md: upstream merge procedure, expected conflict zones, list of SageTube-only modules. - docs/BUILDING.md: per-OS libmpv install, managed-binary locations, playback reliability notes, warning that inherited GitHub release workflows download appimagetool/ffmpeg without checksum verification. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Tracking upstream YTSage
SageTube keeps the full git history of YTSage
and the internal ytsage package name so upstream improvements can be merged.
Syncing
git fetch upstream # upstream = https://github.com/oop7/YTSage.git
git merge upstream/main
Expected conflict zones
Most SageTube features live in new files and merge cleanly. Conflicts are likely only in:
| File | Reason |
|---|---|
ytsage/gui/ytsage_gui_main.py |
tab-shell edit in init_ui (_setup_main_tabs), closeEvent hook |
ytsage/gui/ytsage_gui_analysis.py |
delegates subprocess execution to YtdlpClient |
ytsage/utils/ytsage_constants.py |
SageTube data dirs, PATH prepend for managed binaries |
ytsage/utils/ytsage_config_manager.py |
atomic save, defaults merge, player/feed/advanced keys |
pyproject.toml |
name, version, deps (python-mpv), URLs |
ytsage/languages/en.json |
added sections: player, cards, main_tabs, search, watch, browse, feed |
Bug fixes made in this fork (see git log between the merge commit and the first feature commit) may also conflict if upstream fixes them differently — prefer whichever version is stricter about verification and thread safety.
SageTube-only modules (never conflict)
ytsage/core/ytsage_client.py— shared yt-dlp JSON invocation layerytsage/core/ytsage_mpv.py— libmpv probeytsage/gui/ytsage_gui_player.py— embedded mpv playerytsage/gui/ytsage_gui_watch.py/_search.py/_browse.py/_feed.py— tabsytsage/gui/ytsage_gui_router.py/_cards.py— navigation + video cardsytsage/utils/ytsage_library_manager.py— subscriptions/history/queue DB