Comment: watched percentage and count - #3147
Open
rectifyer wants to merge 1 commit into
Open
Conversation
1 task
|
|
Overall Grade |
Security Reliability Complexity Hygiene Coverage |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| JavaScript | Aug 18, 2026 2:35p.m. | Review ↗ | |
| Code coverage | Aug 18, 2026 2:35p.m. | Review ↗ |
Code Coverage Summary
| Language | Line Coverage (Overall) |
|---|---|
| Aggregate | 68.9% |
| Javascript | 68.9% |
➟ Additional coverage metrics may have been reported. See full coverage report ↗
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
seferturan
force-pushed
the
feat/comment_watched_percentage
branch
from
August 18, 2026 14:35
0fe91bb to
a43b6b7
Compare
seferturan
requested changes
Aug 18, 2026
seferturan
left a comment
Contributor
There was a problem hiding this comment.
Applied some fixups:
- Rescoped from
commenttoreview - Folded
watchedEpisodesintoepisodeProgress. Dropped theisEpisodicandNumber.isFiniteguards, both unreachable. - Typed
mediaasMediaEntry | ShowEntryso theincheck narrows on its own. Drops theas ShowEntrycast. SeasonsDrawerHostwas runningseasons.find()twice.currentSeasonDataalready carries the id.cursor: defaultanduser-select: noneon the tag, it was showing a text cursor.
Did not approve yet, because it can get very cramped when all data is there 😅
Examples:

I'll also have a crack at it 👌
Collaborator
Contributor
|
@michaldrabik agreed, would also get rid of the purple-on-purple 😅 |
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.

What
Add watched context on comments and reviews (#3137). Every comment card now shows a small tag next to the commenter's rating indicating how much of the media they had watched: a watched percentage for shows and seasons (with a tooltip showing the exact episode count, e.g. "Watched 45 of 66 episodes"), and a play count for movies and episodes ("1 play", "3 plays"). Nothing is rendered when the commenter hasn't watched anything, and the tag is hidden on your own comments, mirroring the rating behavior.
How
The data was already on every comment response (
user_stats.play_count/user_stats.completed_count) and mapped intoMediaComment.user.stats, it was just never rendered. The newCommenterWatchedContextcomponent computes the percentage fromcompleted_countagainst the aired episode count:ShowEntry.episode.countfor shows, and the season'sepisodes.countfor season comments, which is now plumbed throughSeasonCommentProps(verified against the live API thatcompleted_countis scoped to the commented item). Play counts reuseTagIntlProvider.toPlayCount, which is now singular-aware via a newtag_text_playkey, soPlaysTagelsewhere stops saying "1 plays" too.Styling uses new
--color-watched-context-*theme tokens (purple-600 on light, purple-300 on dark) plus a new staticEyeIconalongside the existingPlayArrowIcon.Screenshots
Movie
Show
Season
Episode
Out of scope
The issue's stretch goals need API support and are not included: stats snapshotted at write/edit time (
user_statsreflects current progress, same as v2), and a server-side "100% watched" comment filter.