Skip to content

feat(catalog): add channel control overlay mutations - #240

Draft
MrFr3di wants to merge 8 commits into
mainfrom
feature/channel-control-core
Draft

feat(catalog): add channel control overlay mutations#240
MrFr3di wants to merge 8 commits into
mainfrom
feature/channel-control-core

Conversation

@MrFr3di

@MrFr3di MrFr3di commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Scope

Implements the first Channel Control core slice on top of the existing profile-scoped UserChannelOverlay model.

  • expose typed mutations for hide/unhide, custom name, custom channel number, and presentation reset;
  • preserve the existing Favorite contract (hidden channels still return NotFound for Favorite);
  • update only the targeted overlay column for each mutation;
  • allow hidden active channels to be unhidden/renamed/renumbered/reset;
  • validate custom names (trimmed, non-blank, no control chars, <=128 code points) and custom numbers (1..9999);
  • reset presentation fields without clearing Favorite;
  • no Room schema/version change;
  • no provider/Xtream/player ownership change.

Test intent

The branch contains an API contract test plus Room instrumented behavior tests for hide/unhide, rename preservation/validation, channel-number reset/validation, reset semantics, and missing/inactive channels.

This PR is intentionally draft while exact-head CI evidence is collected. It is not ready to merge until the database device matrix and relevant hosted checks are green.

Follow-up slices

After this core mutation contract is verified, the next planned slice is the hidden-aware management read projection, followed by the TV management surface and long-Select quick actions.

MrFr3di commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

2026-09-01 restack analysis against main@d48656752474b5fc2e004965e6acb2a552671253: this CC-1 branch is historically 72 commits behind, but none of its six semantic files changed on main since merge-base 221db84e.... Therefore CC-1 can be rebuilt as one clean byte-for-byte commit on the post-Android17 main; no semantic conflict resolution is required. Do not merge the old 8-commit history directly. Requalify the rebuilt exact head before merge.

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