Skip to content

Fix non-shows watched glow in Calendar#1770

Merged
IgnisDa merged 3 commits into
IgnisDa:mainfrom
dimon222:bugfix/movie_watched
May 20, 2026
Merged

Fix non-shows watched glow in Calendar#1770
IgnisDa merged 3 commits into
IgnisDa:mainfrom
dimon222:bugfix/movie_watched

Conversation

@dimon222
Copy link
Copy Markdown
Contributor

@dimon222 dimon222 commented May 19, 2026

#1729 only works for some types of content but not for all.
This should fix that inconsistency and glow also movies and other types of things in Calendar.

Summary by CodeRabbit

  • Bug Fixes
    • Improved accuracy of "watched" status for calendar events by using completion history for media types beyond shows, podcasts, anime, and manga. Existing watched behavior for serialized content (episodes) remains unchanged.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1a9384da-bb23-44a0-b5b4-3d5c044b94b5

📥 Commits

Reviewing files that changed from the base of the PR and between cb0444f and 32960e4.

📒 Files selected for processing (1)
  • apps/frontend/app/components/media/display-items.tsx

Walkthrough

The PR modifies the isCalendarEventWatched computation in the MetadataDisplayItem component to derive watched status from completedHistory for metadata types other than Show, Podcast, Anime, and Manga, and updates the memoization dependencies accordingly.

Changes

Calendar event watched status

Layer / File(s) Summary
isCalendarEventWatched lot-based logic and dependencies
apps/frontend/app/components/media/display-items.tsx
The memoized isCalendarEventWatched value now checks metadataDetails.lot and returns whether completedHistory has entries for non-episodic metadata types, while the useMemo dependency list is expanded to include metadataDetails and completedHistory.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • IgnisDa/ryot#1729: Modifies isCalendarEventWatched logic in the same component for calendar item watched status derivation.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: fixing the watched glow indicator for non-show content types (like movies) in the Calendar UI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@IgnisDa
Copy link
Copy Markdown
Owner

IgnisDa commented May 19, 2026

@dimon222 Thanks for this!

I added a commit and also ran the CI. Please test out ghcr.io/ignisda/ryot:pr-1770 docker image on your instance and check if it works as expected. Once you give the go ahead, I will merge this and cut a new release.

@dimon222
Copy link
Copy Markdown
Contributor Author

All good.

@IgnisDa IgnisDa merged commit 9639077 into IgnisDa:main May 20, 2026
10 of 11 checks passed
@IgnisDa
Copy link
Copy Markdown
Owner

IgnisDa commented May 20, 2026

Will be available in the next release. Thanks for the PR!

@dimon222 dimon222 deleted the bugfix/movie_watched branch May 20, 2026 11:04
@IgnisDa
Copy link
Copy Markdown
Owner

IgnisDa commented May 21, 2026

@dimon222 I think something wrong was changed in this PR. Here is what the movies list page looks like for me:
image

Was this the intended behaviour? Because this is happening on the media list page and not the calendar page. This is probably happening for all media types except the episodes ones (shows, podcasts, anime and manga).

@dimon222
Copy link
Copy Markdown
Contributor Author

Interesting. I can confirm that I see the same behavior. Since the mechanism for green color glow conditions is same as yellow glow for newly acted items, I suspect it will inherit the glow along the way in all sections where it appears.
That said, it isn't necessarily introduced by this PR, its just this PR made the issue be more visible.

If this sounds more intrusive 2 options in mind:

  1. Revert just this PR, rely for movies and rest of types of similar content on green checkmark the corner as identifier.
  2. Investigate way to limit the scope only to calendar.

@dimon222
Copy link
Copy Markdown
Contributor Author

PR created for option 2.

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.

2 participants