chore: sync upstream pystardust/ani-cli (mp4upload provider + README bump)#17
Conversation
…rdust#1704) Coolnsx (2026-05-23): > I want to mention about mp4upload. > Requires referrer and tls verify to none only works with mpv and mpv frontends like iina. VLC is not working with this provider. iSH plebs may suffer playback issues and the people that uses VLC to watch anime, sorry in advance. > current state of providers > sharepoint is unstable for past few weeks. youtube one is working, but it requires referrer. hianime is gone for good (the code for this is removed to rule out this provider) wixmp is only on old anime (anime that release before 2020 I guess). mp4upload requires that referrer and tls-verify to none.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a3e0abb2fe
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Upstream's mp4upload refactor removed the sharepoint/hianime/wixmp/youtube
provider functions and added an mp4upload branch. Existing bash unit tests
no longer reach 10 lines of script that previously contributed to the
pure-coverage ratchet (78 -> 68).
Pins the new behavior:
- select_quality's per-provider refr_flag dispatch (mp4upload sets a
literal mp4upload.com referer; sharepoint unsets refr_flag; everything
else falls back to allanime_refr).
- cleanup() - new helper invoked on SIGINT and normal exit.
- process_response() - replaces decode_tobeparsed; non-encrypted
responses short-circuit through a pass-through path.
- provider_init's new raw-value branch - triggered when the matched
line does not start with `--` (mp4upload and youtube providers).
Also aligns lefthook.yml's shellcheck invocation with the two-pass setup
in .github/workflows/bash.yml. Lefthook previously ran a single
flag-less `shellcheck {staged_files}`, which flagged SC2034 / SC2154 /
SC2030 / SC2031 on every bats file (test-context noise from the loader's
sourced-globals pattern, already suppressed in CI). With that mismatch no
.bats file could be committed without LEFTHOOK=0 - now local mirrors CI.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8df665a8ac
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Closes the remaining coverage-ratchet gap (76 -> 78) after the previous test commit. The fast4speed.rsvp case is the cleanest of the new get_links branches to unit-test because it short-circuits before any curl, so the assertion is a pure string round-trip.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b882e94843
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Synced bump across the three version-bearing manifests and the Cargo.lock entry. Same shape as the v0.2.0 bump in #7. Changes shipped since v0.2.0 (cut at #11): - feat: toast component for action feedback (#11) - feat: Syncplay watch-party from hamburger menu (#12) - fix: allmanga picker year tie-break + ep-count threshold (#15) - docs: README trim — Features table, build-from-source steps (#16) - chore: sync upstream pystardust/ani-cli (mp4upload provider) (#17) - feat: "Watch" / "Watch again" CTA for movies + single-ep shows (#18) - feat: hide Episodes section for single-video shows (#19) - feat: page-level Space + arrow shortcuts in the custom player (#20) - fix: bump allmanga2kitsu cache key v1 → v2 (#21)
Summary
Merges two upstream commits from
pystardust/ani-cliinto our fork:b8032b7feat: mp4upload provider, refactor, better mpv android support (feat: mp4upload provider, refactor, better mpv android support pystardust/ani-cli#1704)e95af6cdocs: bump min version to 4.12 for packaging status (docs: bump min version to 4.12 for packaging status pystardust/ani-cli#1663)The mp4upload commit replaces a handful of providers (sharepoint, youtube, hianime, wixmp) with the new mp4upload backend and refactors player dispatch — touches 101+/70− lines of the vendored
ani-cliscript.Conflicts resolved
ani-cli— upstream addedbranch="${ANI_CLI_BRANCH:-master}"immediately above where our carried__ANI_CLI_LIB__source guard sits. Kept both: upstream's env-default first (so the variable is in scope when the script is sourced as a library), guard immediately after. Verified withbash -nand lefthook's shellcheck.README.md— kept ours. Upstream's bump is to the upstream CLI's README; ani-gui's README is unrelated.Test plan
tests/bash/— exercises the carried__ANI_CLI_LIB__seam).