Jump to content

TV Show Status — TMDB-powered Returning/Ended/Cancelled badges for series


Recommended Posts

ginjaninja
Posted

image.png.0bc4c74699d65c4fce671dad70a029da.png

On 29/08/2026 at 16:42, Blueskies278 said:

Unfortunately per-episode on a shared image, and per-user can't be done. but I will still add it to the roadmap.

Hi @Blueskies278,
I am struggling to make sense of the options and the terminology.
My understanding - All levels can have thumbnails in theory, Shows, Seasons, Episodes....but the one that really matters is "Show"
IMO The options should perhaps ask (and answer) questions:

  • What do you want on your show poster.
  • What do you want on your show thumbnail
  • What do you want on Season Poster
  • What do you want on your show thumbnail
  • What do you want on Episode Poster
  • What do you want on your Episode thumbnail

Taking Show thumbnail as one example

  • Do you want Show Status (Ended|Contuing)
  • Do you want Premiere/Finale.*
  • Do you want season completeness.*


Info - * calculated based on your preffered users watch status.


And then there are options about how you want the data presented (Color, Pill , Text, Location, blah blah blah), per level? per image type? not sure havent thought that through.


*when you you say "cant be done". are you saying logical imposssibility or sdk doesnt support or not part of current thinking or something else?

I dont know how the image processor function works but i assume its a case of the plugin deciding what it wants to be overlayed and how and tell emby to do that?
Can the plugin know if the preffered users episode watch status is at a  Premier or Finale point  - i assume yes (thats core functionality to know the properties of the show/season and getting the users watched status is possible)...and have they asked for this to be tattoed anywhere....then do that...(and if not at that point remove the request or request blank - i dont know how permanent a processed image is)
Can the plugin know if the preffered users episode watch status is at a season which is complete or not - i assume yes (thats core functioanlity)...and have they asked for this to be tattoed anywhere....then do that...

then subscribe to the watched event and recalculate show/season/episode images for the preffered user, their preferences and the episode just watched.
No doubt i have over simplified, but that was my thinking / suggestion.

I am no expert but it doesnt on the surface feel like a logical impossibility or a an sdk impossibility?



 

Blueskies278
Posted
1 hour ago, ginjaninja said:

image.png.0bc4c74699d65c4fce671dad70a029da.png

Hi @Blueskies278,
I am struggling to make sense of the options and the terminology.
My understanding - All levels can have thumbnails in theory, Shows, Seasons, Episodes....but the one that really matters is "Show"
IMO The options should perhaps ask (and answer) questions:

  • What do you want on your show poster.
  • What do you want on your show thumbnail
  • What do you want on Season Poster
  • What do you want on your show thumbnail
  • What do you want on Episode Poster
  • What do you want on your Episode thumbnail

Taking Show thumbnail as one example

  • Do you want Show Status (Ended|Contuing)
  • Do you want Premiere/Finale.*
  • Do you want season completeness.*


Info - * calculated based on your preffered users watch status.


And then there are options about how you want the data presented (Color, Pill , Text, Location, blah blah blah), per level? per image type? not sure havent thought that through.


*when you you say "cant be done". are you saying logical imposssibility or sdk doesnt support or not part of current thinking or something else?

I dont know how the image processor function works but i assume its a case of the plugin deciding what it wants to be overlayed and how and tell emby to do that?
Can the plugin know if the preffered users episode watch status is at a  Premier or Finale point  - i assume yes (thats core functionality to know the properties of the show/season and getting the users watched status is possible)...and have they asked for this to be tattoed anywhere....then do that...(and if not at that point remove the request or request blank - i dont know how permanent a processed image is)
Can the plugin know if the preffered users episode watch status is at a season which is complete or not - i assume yes (thats core functioanlity)...and have they asked for this to be tattoed anywhere....then do that...

then subscribe to the watched event and recalculate show/season/episode images for the preffered user, their preferences and the episode just watched.
No doubt i have over simplified, but that was my thinking / suggestion.

I am no expert but it doesnt on the surface feel like a logical impossibility or a an sdk impossibility?



 

 

Thank you for your input and suggestions. I will revise the wording in the next update. It has been a very intense few weeks, so I am taking a brief break from coding. Regarding the SDK, for now I can’t see a way to implement this feature, but it’s still on my roadmap. This will be my last post. Be back soon🙂

 

 

Blueskies278
Posted

@ginjaninja

THE REAL CONSTRAINT IS THE CLIENT, NOT THE IMAGE

• The current badge isn't drawn onto an image at all — it's injected into the page by JavaScript in the web client
• That's why styling is basically unlimited there: colour, pill, text, position, icon shape are all just DOM and CSS
• Android and tvOS can't receive any of it. The Android app loads its UI from an index.html baked into the APK at build time, not from the server — so no server-side change reaches it
• There's currently no supported hook for third-party UI on those clients

POSTER OVERLAY — NOT IMPOSSIBLE. IT WAS BUILT, AND IT WORKED

• I've seen real badges rendered on real poster artwork
• IImageEnhancer only fires when a client sends EnableImageEnhancers=true — Emby confirmed no official client does, and there's no server override
• Stamping the badge into the poster file on disk does work, and does reach every client
• But it looks like a sticker on the key art, and it permanently rewrites files in your real media library
• So: not a logical impossibility, not an SDK impossibility — a "reaches everything but looks bad and touches your files" problem

WATCH-STATUS FEATURES — YOU'RE RIGHT ABOUT THE DATA, WRONG ABOUT WHERE IT CAN GO

• Yes, the plugin can know premiere/finale position and season completeness. That's just querying
• Yes, I can subscribe to watched events
• But a baked-in image is one file on the server, shared by every user — while watch status is per-user
• So a poster overlay can only ever reflect one user's progress. That's exactly why "preferred user" exists, and exactly why it feels awkward
• The web badge avoids this entirely, because it renders per session
• Images are also cached aggressively, on the server and on every client. A badge that changes each time an episode is watched would mean constant redraws, plus cache invalidation that clients may simply ignore — so people could keep seeing a stale badge regardless

ON THE SETTINGS MATRIX

• Your framing (level × image type × data type × presentation) is logically clean, and I take the point that the current options are confusing
• But it multiplies to roughly six image targets × three data types × several presentation options
• Most of those combinations only work on web — I'd rather simplify than ship a page of unavailable checkboxes

WHAT I'M THINKING OF DOING

One on/off tick per level, with Season and Episode off by default — nothing gets removed, anyone who wants them just turns them on. And the options relabelled using your wording, since I think the terminology was the bigger problem.

Concept :

TV Show Status — Settings

Preferred user:  [ Select user  ▾ ]

── SHOW ────────────────────
☑  Show badges on shows

     What do you want on the show poster?
       ☑ Status (Ended / Continuing)
       ☐ Premiere / Finale
       ☐ Season complete

     How should it look?
       Style      [ Pill       ▾ ]
       Position   [ Top right  ▾ ]
       Icon       [ Calendar   ▾ ]

── SEASON ──────────────────
☐  Show badges on seasons

── EPISODE ─────────────────
☐  Show badges on episodes

Season and Episode would expand to the same set of questions if you tick them.

With this many features I'm never going to please everyone, so sensible defaults plus an opt-in tick seems like the fairest approach. I think this a good compromise. 

jellowe
Posted

Thank you for making this. This is an excellent addition!

  • Thanks 1
ginjaninja
Posted
On 31/08/2026 at 10:50, Blueskies278 said:

But it looks like a sticker on the key art, and it permanently rewrites files in your real media library

It does not need to change the real Media Library images (I agree that would be unworkable if so) , A case in point is iconic plugin. That applies badges visbile on android and my media library images are unaffected (I store images in my media folders fwiw and this is what i am checking when i say it doesnt change those).

Blueskies278
Posted (edited)
21 hours ago, jellowe said:

Thank you for making this. This is an excellent addition!

Thank you. That means a lot. I spend a lot of my free time doing this because I genuinely enjoy it, so it’s nice to feel appreciated.🙂

Edited by Blueskies278
  • Like 2
Blueskies278
Posted (edited)

I'm back!

Currently, I'm trying to fix the season finale / season premiere appearing multiple times in 'Upcoming.'

* Added a few new feature requests.

* Better wording and layout.

I will try to upload an update today or tomorrow 🙂

Please take a look at the pdf

TV-Show-Status-settings-2.5.104.pdf

Edited by Blueskies278
  • Like 1
Blueskies278
Posted (edited)

TV Show Status 2.5.110.0

Nothing you have saved changes — every setting keeps its name and default.

New

  • Settings page rewritten: grouped into sections, clearer labelling.
  • Upcoming: show Season Finale — per-episode, lands only on the finale. Web browser only
  • Flag a premiere or finale this many days ahead (default 7) — stops badges appearing weeks early
  • Say 'Airing' for a show that is mid-season, with its own colour

Fixed

  • The badge position setting now applies to the web badge as well as the drawn one
  • No finale flagged on a season that has not started yet
  • Web badge colours now match the drawn badge for mid-season and finale

Known limitation

  • In the Emby apps, a premiere or finale badge appears on every Upcoming card of that show, not just the episode it refers to. Unaired episodes have no artwork of their own, so every card requests the same series image and the server cannot tell them apart. Only a browser can, which is why the per-episode badges are web-only
  • To mark those episodes on TV and phone apps, the companion plugin Trakt Air Dates can put the words in front of the episode title instead

EmbyTVShowStatus.dll TV-Show-Status-settings-2.5.110.pdf

Edited by Blueskies278
GrimReaper
Posted
1 hour ago, Blueskies278 said:

TV Show Status 2.5.110.0

Nothing you have saved changes — every setting keeps its name and default.

New

  • Settings page rewritten: grouped into sections, clearer labelling.
  • Upcoming: show Season Finale — per-episode, lands only on the finale. Web browser only
  • Flag a premiere or finale this many days ahead (default 7) — stops badges appearing weeks early
  • Say 'Airing' for a show that is mid-season, with its own colour

Fixed

  • The badge position setting now applies to the web badge as well as the drawn one
  • No finale flagged on a season that has not started yet
  • Web badge colours now match the drawn badge for mid-season and finale

Known limitation

  • In the Emby apps, a premiere or finale badge appears on every Upcoming card of that show, not just the episode it refers to. Unaired episodes have no artwork of their own, so every card requests the same series image and the server cannot tell them apart. Only a browser can, which is why the per-episode badges are web-only
  • To mark those episodes on TV and phone apps, the companion plugin Trakt Air Dates can put the words in front of the episode title instead

EmbyTVShowStatus.dll 353.5 kB · 4 downloads TV-Show-Status-settings-2.5.110.pdf 27.9 kB · 3 downloads

Nice work. Few scenarios falling through the cracks and/or need additional logic implemented, though:

1) Last episode in the last season does not get "Season Finale" badge for Returning Series that has next season data already available.

Example: Silo (itemid=1180641), S03E10:

    "1180641": {
        "Status": "Returning Series",
        "NextAirDate": "2027-07-08",
        "LastAirDate": "2026-09-03",
        "NextEpisodeNumber": 1,
        "NextSeasonNumber": 4,
        "NextSeasonEpisodeCount": 1

 image.png.4e5476b6a08343f376d1db6b08869f66.png

 

2) Last episode in the last season present on the server for Returning Series gets "Season Finale" badge even though there are missing/to-be-added episodes.

Example: The UnXplained (itemid=1348049), S08E17

    "1348049": {
        "Status": "Returning Series",
        "NextAirDate": null,
        "LastAirDate": "2026-08-28",
        "NextEpisodeNumber": null,
        "NextSeasonNumber": null,
        "NextSeasonEpisodeCount": null

  image.thumb.png.2946f3c972a122788aa1b14acb35b0f2.png

  • Agree 1
Blueskies278
Posted (edited)
8 hours ago, GrimReaper said:

Nice work. Few scenarios falling through the cracks and/or need additional logic implemented, though:

1) Last episode in the last season does not get "Season Finale" badge for Returning Series that has next season data already available.

Example: Silo (itemid=1180641), S03E10:

    "1180641": {
        "Status": "Returning Series",
        "NextAirDate": "2027-07-08",
        "LastAirDate": "2026-09-03",
        "NextEpisodeNumber": 1,
        "NextSeasonNumber": 4,
        "NextSeasonEpisodeCount": 1

 image.png.4e5476b6a08343f376d1db6b08869f66.png

 

2) Last episode in the last season present on the server for Returning Series gets "Season Finale" badge even though there are missing/to-be-added episodes.

Example: The UnXplained (itemid=1348049), S08E17

    "1348049": {
        "Status": "Returning Series",
        "NextAirDate": null,
        "LastAirDate": "2026-08-28",
        "NextEpisodeNumber": null,
        "NextSeasonNumber": null,
        "NextSeasonEpisodeCount": null

  image.thumb.png.2946f3c972a122788aa1b14acb35b0f2.png

I hope to have a fix uploaded soon. This particular bug was quite tricky, but very valuable, and while addressing it, I uncovered a few more bugs. However, the main fix should be working properly now 🙂

Thanks

Edited by Blueskies278
  • Like 1
Blueskies278
Posted (edited)

 

TV Show Status 2.5.122.0

Nothing you have saved changes — every setting keeps its name and default.

Before you start: episode badges need one thing outside this page. Dashboard → Libraries → your TV library → Manage library → Episode Image Fetchers → tick TV Show Status, and rank it below TheMovieDb and TheTVDB. It arrives unticked and does nothing until it is.

New

  • Settings page rewritten: grouped into sections, clearer labelling.
  • Upcoming: show Season Finale — per-episode, lands only on the finale. Web browser only
  • Flag a premiere or finale this many days ahead (default 7) — stops badges appearing weeks early
  • Say 'Airing' for a show that is mid-season, with its own colour
  • Mark season premieres and finales in the episode name — adds the words to the episode's title instead of drawing on artwork. Works on every client, and is the only option for an episode with no still of its own
  • When to show it  Always, or Hide once watched so an unwatched card carries the words and a watched one goes back to its plain title. Follows the preferred user, and updates within seconds of marking watched

Fixed

  • Badges on episode stills are no longer blurry. The size cap was computed from the wrong dimension, so wide images got a badge a third smaller than intended. Posters are unchanged
  • An episode with no still of its own can now carry a badge — the plugin supplies the show's artwork so there is something to draw on
  • The last episode of a finished season is now badged even when the next season is already scheduled
  • The last episode present on the server is no longer mistaken for the finale when later episodes exist but are not downloaded
  • Some shows never showed a Season Premiere or Season Finale badge in Upcoming. The card was checked against the show's next season, which only exists for a show with one already scheduled — anything else compared against nothing and never matched
  • No finale flagged on a season that has not started yet
  • The badge position setting now applies to the web badge as well as the drawn one
  • Web badge colours now match the drawn badge for mid-season and finale

Known limitation

  • In the Emby apps, a premiere or finale badge drawn on a show's artwork appears on every Upcoming card of that show, not just the episode it refers to. Unaired episodes have no artwork of their own, so every card requests the same series image and the server cannot tell them apart. Only a browser can, which is why the per-card badges are web-only
  • The episode-name marker above is the way to mark those episodes on TV and phone apps

EmbyTVShowStatus.dll TV-Show-Status-settings-2.5.122.pdf

Edited by Blueskies278
  • Like 1
  • Thanks 1
GrimReaper
Posted
4 hours ago, Blueskies278 said:

 

TV Show Status 2.5.122.0

Nothing you have saved changes — every setting keeps its name and default.

Before you start: episode badges need one thing outside this page. Dashboard → Libraries → your TV library → Manage library → Episode Image Fetchers → tick TV Show Status, and rank it below TheMovieDb and TheTVDB. It arrives unticked and does nothing until it is.

New

  • Settings page rewritten: grouped into sections, clearer labelling.
  • Upcoming: show Season Finale — per-episode, lands only on the finale. Web browser only
  • Flag a premiere or finale this many days ahead (default 7) — stops badges appearing weeks early
  • Say 'Airing' for a show that is mid-season, with its own colour
  • Mark season premieres and finales in the episode name — adds the words to the episode's title instead of drawing on artwork. Works on every client, and is the only option for an episode with no still of its own
  • When to show it  Always, or Hide once watched so an unwatched card carries the words and a watched one goes back to its plain title. Follows the preferred user, and updates within seconds of marking watched

Fixed

  • Badges on episode stills are no longer blurry. The size cap was computed from the wrong dimension, so wide images got a badge a third smaller than intended. Posters are unchanged
  • An episode with no still of its own can now carry a badge — the plugin supplies the show's artwork so there is something to draw on
  • The last episode of a finished season is now badged even when the next season is already scheduled
  • The last episode present on the server is no longer mistaken for the finale when later episodes exist but are not downloaded
  • Some shows never showed a Season Premiere or Season Finale badge in Upcoming. The card was checked against the show's next season, which only exists for a show with one already scheduled — anything else compared against nothing and never matched
  • No finale flagged on a season that has not started yet
  • The badge position setting now applies to the web badge as well as the drawn one
  • Web badge colours now match the drawn badge for mid-season and finale

Known limitation

  • In the Emby apps, a premiere or finale badge drawn on a show's artwork appears on every Upcoming card of that show, not just the episode it refers to. Unaired episodes have no artwork of their own, so every card requests the same series image and the server cannot tell them apart. Only a browser can, which is why the per-card badges are web-only
  • The episode-name marker above is the way to mark those episodes on TV and phone apps

EmbyTVShowStatus.dll 361.5 kB · 2 downloads TV-Show-Status-settings-2.5.122.pdf 29.24 kB · 1 download

Well done, both of those bugs have been squashed. However, not sure how the badges are being scaled, as episode images now (with the new setting) get huge badge on Extra Large (while Poster badges retained their size as previously with the same setting); maybe thumb-type image badges should get their own size picker?

image.png.7a4e99acfae30083e5f5157d73d0304d.png

vs. previously:

image.png.e384b0eba8ce36dab19bb23e0500764a.png

 

Poster:

 image.png.a9ed0d122b6076ed45932360c540cc8b.png

  • Thanks 1
Blueskies278
Posted
3 hours ago, GrimReaper said:

Well done, both of those bugs have been squashed. However, not sure how the badges are being scaled, as episode images now (with the new setting) get huge badge on Extra Large (while Poster badges retained their size as previously with the same setting); maybe thumb-type image badges should get their own size picker?

image.png.7a4e99acfae30083e5f5157d73d0304d.png

vs. previously:

image.png.e384b0eba8ce36dab19bb23e0500764a.png

 

Poster:

 image.png.a9ed0d122b6076ed45932360c540cc8b.png

I will look into it. Thanks for reporting.🙂

  • Thanks 1
ginjaninja
Posted

The fundamentals are looking good now for me. I have information showing up on android and it looks correct.
The config made sense to me, far more obvious what was web client and what was image overlay.

 

Observations.
The neccessary libary fetcher config was quite squirrelled away in the pdf instrcutions? i wonder wether that is worth surfacing on the plugin config page.

The wording "an episode with no still of its own cannot carry a badge" in the pdf instructions ...i didnt readily understand 'still' but i assume this mean an episode with no 'image'?


Not all my shows on their continue watching thumbnail showed the correct information at the same time, it took 1 min for everything to catch up? i thought something was broken so it might be worth a note about "patience and timing". (1.2K shows and 55K episodes)

Will do a more thorough deep dive/testing tomorrow, but its looking good.

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...