Add watch partners and co‑watching filters - #38
Merged
joebailey26 merged 20 commits intoMay 19, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds first-class “watch partners” (friends/family) so a user can associate tracked shows with one or more partners and filter the “My Shows” list by solo/co-watching.
Changes:
- Adds
watchPartnersandshowWatchPartnerstables plus a migration to persist partners and show↔partner mappings. - Introduces
/api/watch-partnersCRUD endpoints and extends show APIs to read/writewatchingWith/watchPartnerIds. - Adds UI for managing partners, selecting partners on a show, and filtering “My Shows” by co-watching.
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| server/types/transformed.d.ts | Adds WatchPartner and watchingWith to transformed show type. |
| server/db/schema.ts | Adds Drizzle schema for watchPartners and showWatchPartners. |
| server/api/watch-partners/index.post.ts | Creates watch partners for the authenticated user. |
| server/api/watch-partners/index.get.ts | Lists watch partners for the authenticated user. |
| server/api/watch-partners/[id].delete.ts | Deletes a watch partner by id for the authenticated user. |
| server/api/shows.get.ts | Adds watchingWith filtering to My Shows API query. |
| server/api/show/[id].patch.ts | Accepts watchPartnerIds to update show co-watching partners. |
| server/api/show/[id].get.ts | Returns watchingWith on show detail. |
| drizzle/0002_watch_partners.sql | Migration creating the new partner tables and index. |
| app/pages/watch-partners.vue | New “Friends & Family” page to manage partners. |
| app/pages/show/[id].vue | Multi-select UI to assign partners to a show. |
| app/pages/my-shows.vue | Adds co-watching filter dropdown and passes query param to API. |
| app/components/nav.vue | Adds nav link to the new “Friends & Family” page. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…tps://github.com/joebailey26/TV-Shows into codex/add-friends/family-management-for-tv-shows
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…tps://github.com/joebailey26/TV-Shows into codex/add-friends/family-management-for-tv-shows
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Description
watchPartnersandshowWatchPartnerstables to the schema and include migrationdrizzle/0002_watch_partners.sqlto persist per‑user partners and show→partner mappings.GET /api/watch-partners,POST /api/watch-partners, andDELETE /api/watch-partners/:idto list, create, and delete partners for the authenticated user.GET /api/show/:idreturnswatchingWithandPATCH /api/show/:idacceptswatchPartnerIdsto update partners for a tracked show without changing episode behavior.Friends & Familypage (app/pages/watch-partners.vue) for managing partners, a multiple select on the show detail page to pick partners, a select filter onMy Showsto chooseAll,Only meorWatching with <person>, and a nav link to the new page; update shared types (server/types/transformed.d.ts).Testing
pnpm -s exec tsc --noEmit, which failed in this environment due to existing project typing and environment globals (e.g.__env__) and unrelated declaration issues rather than changes introduced by this feature.Codex Task