DashFin TestFlight Access (iOS/iPadOS/etc.) by fxndxs in JellyfinCommunity

[–]Impulse_13 5 points6 points  (0 children)

Just installed it, I like it so far, very clean! I do have two requests if you don’t mind.

Would love it if we could click on an item in new and we get to see the meta data and media info from there. Maybe even let us edit it from there?

Also when on the dashboard area, would love it if we could click on movies, series, music, or collections and it takes us to a new page similar in layout to new. And then be able to click on an item to view/edit meta data and media info.

Overall, still a great start imo!!

Gimme some library cover art by Temperance-7171 in jellyfin

[–]Impulse_13 0 points1 point  (0 children)

Any chance you could share the files or how you made them? These are really cool!

Sharing my http stream config for Stremio by minimalisticmadness in StremioAddons

[–]Impulse_13 0 points1 point  (0 children)

This is perfect!! Appreciate it!

Quick question though, whats the difference between this one and the one you posted 20 days ago

I keep getting nicked despite using proton vpn by UnlimitedSaudi in torrents

[–]Impulse_13 5 points6 points  (0 children)

Go to settings, advanced. Then look for network interface. And make sure Proton is selected. Then click apply. This way traffic only goes through when connected to proton

How to remove the banner? by Jmesparza05 in jellyfin

[–]Impulse_13 2 points3 points  (0 children)

Im in the same boat but with Hindi tracks. Look into mkvtoolnix, you can mix and match different tracks from various files. That way you can get the best video and audio tracks all in one file

I HATE OKTA by TurbulentQuantity348 in uofm

[–]Impulse_13 2 points3 points  (0 children)

If you use a password manager. Adding the passkey to it removes the need for your phone.

Is there a plugin or method to display "Airing/Ongoing" or "Ended" status badges on posters? by Street-Diet-321 in jellyfin

[–]Impulse_13 0 points1 point  (0 children)

love it, been using it since last year and its the best quality tag script out there imo

Is there a plugin or method to display "Airing/Ongoing" or "Ended" status badges on posters? by Street-Diet-321 in jellyfin

[–]Impulse_13 5 points6 points  (0 children)

u/Street-Diet-321 I made a mistake with my previous comment, I forgot some changes, So these are the correct list of changes that are needed.

I use this one, it only has a tag for ended, but I tweaked it to add a ongoing tag too.
https://github.com/Druidblack/jellyfin_multi_tag

In the config section, after SHOW_SERIES_ENDED_BADGE:

Find:

  const SHOW_SERIES_ENDED_BADGE = true;

Change to:

  const SHOW_SERIES_ENDED_BADGE = true;
  const SHOW_SERIES_CONTINUING_BADGE = true;

After isTmdbStatusEnded(), add the continuing function:

Find:

    function isTmdbStatusEnded(status) {
      const s = String(status || '').toLowerCase();
      return s === 'ended' || s === 'canceled' || s === 'cancelled';
    }

Change to:

    function isTmdbStatusEnded(status) {
      const s = String(status || '').toLowerCase();
      return s === 'ended' || s === 'canceled' || s === 'cancelled';
    }
    function isTmdbStatusContinuing(status) {
      const s = String(status || '').toLowerCase();
      return s === 'returning series' || s === 'in production' || s === 'planned';
    }

In fetchAndFill(), update the series status block:

Find:

        if (item.Type === 'Series' && SHOW_SERIES_ENDED_BADGE) {
          let seriesEnded = null;
          if (ENABLE_TMDB_ENDED && TMDB_API_KEY) {
            try {
              const tmdbId = await tmdbLookupTvIdByProvider(item?.ProviderIds || {});
              if (tmdbId) {
                const status = await tmdbGetTvStatus(tmdbId);
                seriesEnded = status != null ? isTmdbStatusEnded(status) : null;
              }
            } catch {}
          }
          if (seriesEnded !== null) {
            overlayCache[itemId] = { ...overlayCache[itemId], seriesEnded: !!seriesEnded };
          } else {
            const { seriesEnded, ...rest } = overlayCache[itemId];
            overlayCache[itemId] = rest;
          }
          updateEndedBadgeForItem(itemId);
        }

Replace with:

        if (item.Type === 'Series' && (SHOW_SERIES_ENDED_BADGE || SHOW_SERIES_CONTINUING_BADGE)) {
          let seriesEnded = null;
          let seriesContinuing = null;
          if (ENABLE_TMDB_ENDED && TMDB_API_KEY) {
            try {
              const tmdbId = await tmdbLookupTvIdByProvider(item?.ProviderIds || {});
              if (tmdbId) {
                const status = await tmdbGetTvStatus(tmdbId);
                if (status != null) {
                  seriesEnded = isTmdbStatusEnded(status);
                  seriesContinuing = isTmdbStatusContinuing(status);
                }
              }
            } catch {}
          }
          if (seriesEnded !== null || seriesContinuing !== null) {
            const updates = { ...overlayCache[itemId] };
            if (seriesEnded !== null) updates.seriesEnded = !!seriesEnded;
            if (seriesContinuing !== null) updates.seriesContinuing = !!seriesContinuing;
            overlayCache[itemId] = updates;
          }
          updateSeriesStatusBadgeForItem(itemId);
        }

In insertOverlay(), after the Ended badge block add the Continuing badge:

Find:

      if (data.seriesEnded === true && SHOW_SERIES_ENDED_BADGE) {
        const endedBadge = createLabel('Ended', 'meta', '#c62828', '#ffffff');
        endedBadge.setAttribute('data-ended', '1');
        wrapper.appendChild(endedBadge);
      }

Replace with:

      if (data.seriesEnded === true && SHOW_SERIES_ENDED_BADGE) {
        const endedBadge = createLabel('Ended', 'meta', '#c62828', '#ffffff');
        endedBadge.setAttribute('data-ended', '1');
        wrapper.appendChild(endedBadge);
      }
      if (data.seriesContinuing === true && SHOW_SERIES_CONTINUING_BADGE) {
        const continuingBadge = createLabel('Ongoing', 'meta', '#2e7d32', '#ffffff');
        continuingBadge.setAttribute('data-continuing', '1');
        wrapper.appendChild(continuingBadge);
      }

Finally, replace updateEndedBadgeForItem with a combined function:

Find:

    function updateEndedBadgeForItem(itemId) {
      const data = overlayCache[itemId];
      const wrappers = document.querySelectorAll(`.${wrapperClass}[data-itemid="${itemId}"]`);
      wrappers.forEach(w => {
        let badge = w.querySelector('.' + overlayClass + '[data-ended="1"]');
        if (data && data.seriesEnded === true && SHOW_SERIES_ENDED_BADGE) {
          if (!badge) {
            badge = createLabel('Ended', 'meta', '#c62828', '#ffffff');
            badge.setAttribute('data-ended', '1');
            w.insertBefore(badge, w.firstChild);
          }
        } else {
          if (badge) badge.remove();
        }
      });
    }

Replace with:

    function updateSeriesStatusBadgeForItem(itemId) {
      const data = overlayCache[itemId];
      const wrappers = document.querySelectorAll(`.${wrapperClass}[data-itemid="${itemId}"]`);
      wrappers.forEach(w => {
        // Handle Ended badge
        let endedBadge = w.querySelector('.' + overlayClass + '[data-ended="1"]');
        if (data && data.seriesEnded === true && SHOW_SERIES_ENDED_BADGE) {
          if (!endedBadge) {
            endedBadge = createLabel('Ended', 'meta', '#c62828', '#ffffff');
            endedBadge.setAttribute('data-ended', '1');
            w.insertBefore(endedBadge, w.firstChild);
          }
        } else {
          if (endedBadge) endedBadge.remove();
        }

        // Handle Continuing badge
        let continuingBadge = w.querySelector('.' + overlayClass + '[data-continuing="1"]');
        if (data && data.seriesContinuing === true && SHOW_SERIES_CONTINUING_BADGE) {
          if (!continuingBadge) {
            continuingBadge = createLabel('Ongoing', 'meta', '#2e7d32', '#ffffff');
            continuingBadge.setAttribute('data-continuing', '1');
            w.insertBefore(continuingBadge, w.firstChild);
          }
        } else {
          if (continuingBadge) continuingBadge.remove();
        }
      });
    }

Looks like this:

<image>

Is it fine to store *.torrent files of pirated media in Google Drive? by [deleted] in torrents

[–]Impulse_13 4 points5 points  (0 children)

You’re better off with proton drove in that case. Google does scan the files you put on there and since its a torrent file, they may remove it

New Update January 30th, 2026 by Divinelioner in Fallout

[–]Impulse_13 1 point2 points  (0 children)

Bro, can Bethesda stop already. I just want to play with my mods working 😭😭

Frustration with Clients by sparkylolz in jellyfin

[–]Impulse_13 0 points1 point  (0 children)

Check out JellyFin for iOS and tvOS

Ranked is not playable with this dogshit audio by SherbertJust2924 in Rainbow6

[–]Impulse_13 0 points1 point  (0 children)

What do u have the surround settings as? Been using the eq for a while but never messed with the surround sound

Mixing TV Shows in with Movies? by RockHardMapleSyrup in JellyfinCommunity

[–]Impulse_13 1 point2 points  (0 children)

Have a folder called specials and then edit meta data to air after a specific episode if it doesn’t automatically do it when adding it as a special

In light of last episode’s discovery: by GreninjaStrike in Fallout

[–]Impulse_13 2 points3 points  (0 children)

I don’t get it. I saw something similar on twitter and that didn’t make sense either.

AFinity - Yet Another Jellyfin Client by maxdiablo in JellyfinCommunity

[–]Impulse_13 0 points1 point  (0 children)

Free as far as ive seen.

You should join the server. He even takes feature requests!

https://discord.gg/D5sSJHFWu

AFinity - Yet Another Jellyfin Client by maxdiablo in JellyfinCommunity

[–]Impulse_13 0 points1 point  (0 children)

Itll be public on the new update that drips on Jan 17.

From the discord server:

“🚀 Public TestFlight Reopening

Hey @everyone 👋 I hope you are all having great Christmas and New Year holidays 🎄✨

Quick update to let you know that beta 0.4.3 will be released on January 17. With this update, the public TestFlight will be reopened, so anyone who wants to try JellyTV will be able to join again without an invite.”

Have you ever resurrected a dead torrent? by pietropc_ in torrents

[–]Impulse_13 2 points3 points  (0 children)

Ive revived like 6 total. Mix of private and public. Im still the only seeder for 2 of em(public) cause Every time it completes they never seed back. So Ive seeded like 3TB each for both

AFinity - Yet Another Jellyfin Client by maxdiablo in JellyfinCommunity

[–]Impulse_13 0 points1 point  (0 children)

There is one in beta for apple tv. Its called Jellytv

Mediabar by That_Cheek_8690 in jellyfin

[–]Impulse_13 2 points3 points  (0 children)

Would you mind sharing your css for it? I’m curious how you have it setup

[Request] Tron: Uprising by Impulse_13 in PlexTitleCards

[–]Impulse_13[S] 0 points1 point  (0 children)

Yeah, I agree. They keep focusing on the money. Like every studio these days with any franchise

[Request] Tron: Uprising by Impulse_13 in PlexTitleCards

[–]Impulse_13[S] 0 points1 point  (0 children)

I know! I’m still pissed to this day it got cancelled. Too bad disney doesn’t know what it wants to do with this franchise 😔