Skip to content

feat(streams): support all-seasons updates and full english matching - #3

Merged
dogbertdev merged 2 commits into
mainfrom
feat/streams-all-seasons-full-english
Mar 1, 2026
Merged

dogbertdev merged 2 commits into
mainfrom
feat/streams-all-seasons-full-english

Conversation

@dogbertdev

Copy link
Copy Markdown
Owner

Summary

  • add --all-seasons support to plex streams set so stream updates can target all episodes in a show
  • improve language matching for stream selection (aliases and fuzzy title/language matching)
  • prefer full English subtitle tracks over signs/songs when requesting English/full English
  • prevent accidental subtitle/audio changes by only updating explicitly requested stream types
  • add tests for stream matching behavior and document new stream commands in README

Validation

  • go test ./...
  • golangci-lint run --timeout=5m
  • live dry-run: go run ./cmd/plex streams set "Demon Slayer" --all-seasons --audio japanese --subtitle "full english" --dry-run

Notes

  • Repository has no PR template under .github/.

@dogbertdev

Copy link
Copy Markdown
Owner Author

Review pass completed on PR #3.

Findings:

  • No blocking correctness issues found.

Checks performed:

  • local lint and full test suite pass
  • live dry-run against Plex for Demon Slayer all-seasons stream selection
  • verified stream update semantics only modify explicitly requested stream types

Residual risk:

  • subtitle track naming can vary significantly across libraries/releases; current matching is robust for tested cases (full english, english, japanese) but may need additional aliases if your library introduces new naming patterns.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f94444a2d5

ℹ️ 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".

Comment thread internal/cmd/streams.go Outdated
Comment thread internal/cmd/streams.go Outdated
@dogbertdev

Copy link
Copy Markdown
Owner Author

Addressed the two review comments:

  1. Word-boundary fuzzy matching
  • Updated token matching to use normalized token sets (with canonical language aliases) instead of substring strings.Contains, preventing false positives like eng matching bengali.
  • Added tests:
    • TestContainsAllTokens_WordBoundary
    • TestFindStreamByLanguage_DoesNotMatchSubstringLanguage
  1. Season 0 support for specials
  • Updated season validation to allow --season 0.
  • Set --season default to -1 so "unset" remains distinguishable while preserving valid season 0.
  • Added explicit validation helper and tests in TestStreamsSetCmdSeasonValidation.

Local validation:

  • goimports (local prefix)
  • golangci-lint run --timeout=5m
  • go test ./...

@dogbertdev

Copy link
Copy Markdown
Owner Author

@codex new review

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@dogbertdev
dogbertdev merged commit a1f6f2e into main Mar 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant