• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Development Feature Requests Display release/premiere date on movie detail page for YouTube archive libraries

     
    • 0 Vote(s) - 0 Average

    Display release/premiere date on movie detail page for YouTube archive libraries

    dlennox
    Offline

    Junior Member

    Posts: 2
    Threads: 1
    Joined: 2026 Mar
    Reputation: 0
    #1
    2026-03-18, 06:02 PM (This post was last modified: 2026-03-18, 06:04 PM by dlennox. Edited 2 times in total.)
    When using Jellyfin as a movie library for local YouTube archives (yt-dlp + jellyfin-youtube-metadata-plugin), full release dates are correctly stored but not shown in the UI, only the year. Will be great if the movie detail page displays the full release date, as it’s essential for context and already available in the metadata.  

    https://features.jellyfin.org/posts/3822...-libraries
    dlennox
    Offline

    Junior Member

    Posts: 2
    Threads: 1
    Joined: 2026 Mar
    Reputation: 0
    #2
    2026-03-21, 07:45 PM (This post was last modified: 2026-03-21, 08:31 PM by dlennox. Edited 4 times in total.)
    Workaround found while waiting for a proper fix:

    The PremiereDate is already stored correctly in Jellyfin. The issue is purely that the UI displays ProductionYear (year only) instead of the full PremiereDate.

    Step 1: Create and copy custom.js into the container:

    Code:
    cat > ~/custom.js << 'EOF'
    (function() {
        function formatDate(dateStr) {
            var d = new Date(dateStr);
            return d.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' });
        }
        var cardCache = {};

        function replaceCardDates() {
            var creds = JSON.parse(localStorage.getItem('jellyfin_credentials'));
            if (!creds || !creds.Servers || !creds.Servers[0]) return;
            var server = creds.Servers[0];
            var found = 0;
            document.querySelectorAll('.cardText-secondary bdi').forEach(function(bdi) {
                var year = bdi.textContent.trim();
                if (!/^\d{4}$/.test(year)) return;
                found++;
                var card = bdi.closest('[data-id]');
                if (!card) return;
                var id = card.getAttribute('data-id');
                if (!id) return;
                if (cardCache[id]) { bdi.textContent = cardCache[id]; return; }
                fetch(server.ManualAddress + '/Items/' + id + '?userId=' + server.UserId, {
                    headers: { 'X-Emby-Token': server.AccessToken }
                })
                .then(function(r) { return r.json(); })
                .then(function(data) {
                    if (!data.PremiereDate) return;
                    var formatted = formatDate(data.PremiereDate);
                    cardCache[id] = formatted;
                    var el = document.querySelector('[data-id="' + id + '"] .cardText-secondary bdi');
                    if (el) el.textContent = formatted;
                });
            });
            if (found === 0) setTimeout(replaceCardDates, 500);
        }

        window.addEventListener('hashchange', function() {
            setTimeout(replaceCardDates, 1000);
        });
        setTimeout(replaceCardDates, 1500);
    })();
    EOF

    docker cp ~/custom.js jellyfin:/jellyfin/jellyfin-web/custom.js


    Step 2: Patch index.html to load the script:

    Code:
    docker cp jellyfin:/jellyfin/jellyfin-web/index.html ~/index.html.bak
    docker cp jellyfin:/jellyfin/jellyfin-web/index.html ~/index.html
    sed -i 's|</head>|<script src="custom.js"></script></head>|' ~/index.html
    docker cp ~/index.html jellyfin:/jellyfin/jellyfin-web/index.html


    Step 3: Hard refresh browser with Ctrl+Shift+R

    ⚠️ Note: This resets on every Jellyfin update and needs to be reapplied. A proper fix in Jellyfin's UI would be the right long-term solution.

    [Image: youtube-date.webp]
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode