feat: in-app media recommendations (#33)#37
Merged
Conversation
Recommend a movie or show to people you follow, with an optional note. Recipients get a push, find it in a dedicated "Received" inbox (with a bell + badge in the profile header), and tap through to the title. - db: new media_recommendations table (sender, recipient, media snapshot, message, readAt) + migration 0015 - api: new /media-recommendations module (send fan-out + per-recipient push, received inbox, mark-read, unread-count, recommendable-friends = people you follow, one-directional) - push: media-recommendation.received type + deep-link to the inbox - mobile: service handlers, query-key factory, send/received/unread hooks - mobile: send sheet (multi-select friends + optional message) opened from a media-detail header button; "Received" inbox marks entries read on view and opens the title; profile header bell + badge - i18n: recommend.* (EN/FR) - whats-new: "Recommend to Friends" release Run `bun run db:migrate` to apply the new table. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Closes #33. Part of epic #34.
What
From a media detail page you can recommend a movie/show to people you follow, with an optional message. Recipients get a push, find it in a dedicated Received inbox (bell + badge in the profile header), and tap through to the title.
Changes
media_recommendationstable — sender/recipient, media snapshot (title, poster), message,read_at, indexed by(recipient, read_at, created_at). Migration0015_giant_wong.sql./media-recommendations, new module modeled on watch-sessions):POST /— fan-out one row per recipient + a push each. Recipients are filtered to people the sender follows (one-directional, server-enforced).GET /received,POST /:id/read,GET /unread-count,GET /recommendable-friends.media-recommendation.receivedtype;pushDeepLinkPathroutes it to the inbox.mediaRecommendationKeys+ send/received/unread hooks; send sheet (multi-select friends reusing the watch-invite UI + optional message) opened from a media-detail header button; Received inbox that marks entries read on view and opens the title; profile header bell + badge.recommend.*(EN/FR). What's New: "Recommend to Friends".Run
bun run db:migrateagainst the target DB to createmedia_recommendations(not run here — no DB in the working environment).Naming
Deliberately
media-recommendationseverywhere to avoid colliding with the existing TMDB-feedrecommendationsmodule.Verification
bun run typecheck,bun run lint,bun run format:checkpass.🤖 Generated with Claude Code