github Moonfin-Client/Plugin 3.1.0
v3.1.0

3 hours ago

Moonbase 3.1.0 Release Notes github

Moonbase 3.1.0 is the server side of the Moonfin 3.1.0 apps for Core, Smart-TV and Roku.

Moonbase now hosts Watch Parties on Jellyfin, Emby and Plex, with chat, reactions and voting on what to watch. Smart search lets the apps search with plain sentences, running on your own server. A Sonarr and Radarr calendar comes with reminders for when a title lands in your library. Admins can put labels like 4K and HDR on posters, and they hear when a Seerr download gets stuck. Admin defaults can now be set per device and applied to just the users and settings you pick. Emby catches up on bookmarks, Moonfin Recommends and the full retro games setup. Moonbase for Plex picks up most of what Jellyfin has, and Moonbase for Silo and Plex both host the Moonfin web app.

The bundled web client moves up to Moonfin 3.1.0. It brings Watch Parties, four new details styles, a redesigned Settings with a live preview, and the Calendar.

Note

Update the Moonfin apps to 3.1.0 as well. Most of what's new here is the server side of their features, and Moonfin 3.1.0's Upcoming rows and Calendar need this release.

Important

The Enable SyncPlay admin default is now Watch Parties, and users who had SyncPlay saved as off keep Watch Parties off. To turn parties on for them, set the default to Yes under User defaults > Playback > Watch Parties and use Apply Defaults. Public Server URL also moved to Web Client > Connecting to this server, and Watch Party invite links now use it. If you run a reverse proxy, forward /Moonfin/Party/ too.

Features

Watch Parties

  • Watch Parties on Jellyfin, Emby and Plex. Moonbase runs the rooms the apps' Watch Parties use, with a lobby, voting on what to watch, chat, reactions and synced playback. Any signed-in user can host a room. A room only shows to people who can play what it's playing.
  • A new Watch Parties tab. It has Turn on Watch Parties, and turning it off closes every open room. You can also choose whether hosts can let everyone control playback, turn chat, reactions and party alerts on or off, and set People per room, which defaults to 20. Live rooms lists every open room with its title, host and people, and lets you close a room or remove someone.
  • Invite links. Each room gets a link at /Moonfin/Party/<code>, a page with the server's name, an Open in Moonfin button and the code to copy, and no sign-in needed. It uses Public Server URL, then the server's own published address, then the address the request came in on.
  • Party alerts. When someone starts a party, users who turned on Party Alerts and can play the title get a push to their phones on Jellyfin and Emby, at most once per host every 10 minutes. On Plex, alerts only show as banners in an open app.
  • Private by design. Rooms, chat and room PINs live in memory only and are never written to disk or the logs, so a server restart ends them.
  • SyncPlay stays on Jellyfin. Start Parties With picks Watch Party or SyncPlay for the rooms a user starts, and they can join either kind. On Emby, Moonbase parties are the only kind.

Smart Search

  • Search with plain sentences. The apps can search with something like "90s movie about a kid pulled into a board game". It runs on your server's CPU with a small model, so searches never leave the server. Turn it on with Enable smart search on the new Smart Search tab. It works on Jellyfin, Emby and Plex.
  • Two models. English is a 91 MB download. Multilingual covers about 100 languages, is a 488 MB download and takes about 2.5 times as long to build. Both download once from Hugging Face, and changing the model rebuilds the index.
  • Indexing. The Moonfin Smart Search Index task builds the index from your movies, shows, people, music and books. The first build takes 15 to 30 minutes on a desktop CPU and uses half its cores. After that it runs daily at 3:00 and only takes in what changed. The index takes about 135 MB, or 535 MB with Multilingual.
  • New and upcoming searches. "New" finds titles out in the last year, and "upcoming" finds ones that aren't out yet.
  • Seerr suggestions. With the server-wide TMDB key and Seerr on, a second row suggests popular titles you don't have. Parental limits apply to both rows.

Calendar

  • A Sonarr and Radarr calendar for the apps. On Jellyfin and Emby, Moonbase reads Seerr's default Sonarr and Radarr, so it needs Seerr on and a Seerr admin signed in through a Moonfin app. On Plex, set the Sonarr and Radarr URLs and API keys on the admin page. Entries are checked against the libraries each user can open.
  • Calendar settings under Integrations > Calendar. Who can see the calendar is Everyone or Admins only. Days back defaults to 14, Days ahead to 90, and Cache minutes to 5.
  • Reminders. Users can be reminded about up to 500 titles each. When a title lands in a library they can see, Moonbase tells their open apps and sends a push to their phones.

Seerr

  • Why a download is stuck. The apps can read the Radarr or Sonarr queue for a request through Moonbase, so they can show the arr's own reason. That includes import blocked, failed and stalled. It works on Jellyfin, Emby and Plex.
  • Get a different release. Admins can remove a stuck download from the apps. Moonbase blocklists the release and lets the arr search again.
  • Stuck download notifications. Turn on Notify when a request gets stuck under Integrations > Stuck downloads, and set Stalled hours, which defaults to 6. Moonbase checks every 15 minutes, and a download that's still stuck on the next check notifies once. Admins hear about every stuck download, and requesters about their own. This is on Jellyfin and Emby.

Poster Labels

  • Labels on posters. A new Labels tab lets you set the default look of the labels the apps draw on posters: style, shape, size, corner, opacity and how many go in each corner. It includes built-in labels like 4K, HDR10, DV, Atmos, DTS:X, REMUX and IMAX. Add your own under Your labels, with icons and flags. It works on Jellyfin, Emby and Plex.
  • Anime markers moved to the same tab, under Anime episodes.
  • Poster Labels under User defaults > Appearance > Display lets you turn them off for new users.

Home and Media Bar

  • Watching on MDBList. A new MDBList route feeds the apps' Watching on MDBList row, using the server's MDBList key or the user's own. It's cached for a few minutes and works on all four servers.
  • Studio logos for the Studios row. Moonbase hands the apps every cached studio and network logo. Dark, colorless logos are turned white, and logos you already have are checked once by the Moonfin Studio Images Sync task. This is on Jellyfin and Emby.
  • More media bar sources. Media Bar Source under User defaults > Home Screen > Media Bar now offers Random, Recently Added, Recently Released and New Seasons & Episodes. Old Library and Collections values read as Random. Default Libraries and Default Collections / Playlists always show, and the media bar Moonbase serves draws from both together for every source.
  • The new release banner. New Release Banner and New Release Window set whether series slides flag a new season or episodes, and for how many days. The window runs from 7 to 90 days.
  • Hide watched titles from recent rows. With Hide Watched in Recent Rows on, Moonbase also sets the user's own "Hide played in latest" setting on Jellyfin and Emby. The media bar's Recently Added and Recently Released sources skip watched titles too.
  • The seasonal row all year. Seasonal Row All Year under Home Screen > External Sources shows a holiday row outside the holiday dates too, with a different ticked holiday each day.

Admin Page

  • Admin defaults for each kind of device. A switch at the top of User defaults sets defaults for Global, TV, Desktop or Mobile. A device's own defaults win over Global, and the apps get the defaults for the device they're on. (#233)
  • Apply Defaults to who and what you pick. Apply Defaults To Users can reach all users or the ones you pick, any of their profiles, and every set default or just the settings you choose, as a merge or a full reset.
  • Copy A User's Settings. A new action on the Actions tab copies one user's settings to another, everything they saved or just the settings you pick. It can merge or replace. API keys and hidden Continue Watching and Next Up items stay with their owner.
  • The Settings Sync tab is gone. The Moonbase Sync switch now sits at the top of User defaults, which is the first tab.
  • Hidden from recently added. User defaults > Libraries > Library Visibility has a new picker that keeps libraries out of Recently Added for new users, or existing ones through Apply Defaults, while they stay in navigation. This is on Jellyfin and Emby.
  • Uploaded themes as the default. The App Theme default lists themes from the Themes tab under Uploaded.
  • The new details styles, Stage, Premiere, Quick Look and Frost, are in the Detail screen style default.
  • External rows have no per-row defaults now. The IMDb chart, TMDB, Seasonal Row and Radarr and Sonarr Calendar on and off defaults are gone, since the apps offer those rows whenever the server can fill them. Seasonal Row Country, Holidays and All Year stay.
  • Active Downloads only shows while something is downloading, and it says that original quality downloads aren't listed.

Settings Sync and Admin Defaults

  • New synced settings, each with an admin default:
    • Hide Watch Progress on Home and Hide Unwatched Counts on Home
    • Seerr Badge Style
    • New Release Banner and New Release Window
    • Radarr: Hide Movies Already on the Server and Sonarr: Hide Episodes Already on the Server
    • Treat Book Folders as Series
    • Seasonal Row All Year
    • Hide Watched in Recent Rows
    • Hide Controls After and Dim Controls in HDR
    • Poster Labels
    • the Watch Parties and Calendar settings
  • New synced settings without an admin default: Date Format, Let TV Sleep After, Show During Music and Audiobooks, and the subtitle stroke width, shadow and font.

Emby

  • Audiobook bookmarks and notes work on Emby, using the same store as Jellyfin.
  • Moonfin Recommends. Similar items on Emby now use Moonfin's own scoring, like Jellyfin. Turn off Use Moonfin Recommends for similar items under Integrations > Recommendations to hand them back to Emby.
  • Transcoded downloads show progress and time left on Emby.
  • The full retro games setup. Emby gets game artwork, per-game core and backend picks, arcade compatibility and ROM links that end in the file name.
  • Restore reset settings. When Emby's Moonbase settings look like they were reset and a backup is on disk, the admin page offers Restore these settings.
  • Seerr webhook status, with a Re-provision webhook button, under Integrations > Seerr Integration.
  • Isolate the web app for PSP games, under Games > Retro Games (EmulatorJS).

Moonbase for Silo and Plex

  • Moonfin Web hosting. Moonbase for Silo and Plex now serve the Moonfin web app at /Moonfin/Web/. On Silo, open it from Plugin Apps > Moonfin, and it signs in to that Silo. On Plex, open http://<host>:32500/Moonfin/Web/ and sign in with Plex. If PLEX_URL is a Docker-internal name, set Default Server URL so the web app can reach Plex.
  • Plex picks up most of what Jellyfin has:
    • Watch Parties
    • smart search, with Seerr suggestions
    • the calendar with reminders, from the Sonarr and Radarr you set on the admin page
    • Seerr, with each viewer signed in through their own Plex account
    • the Radarr and Sonarr queue, and Get a different release
    • Moonfin Recommends similar items, which you can turn off under Integrations > Recommendations
    • custom and chart rows, including official MDBList lists
    • anime markers
    • retro games with .7z support
    • the seasonal row
    • poster labels
    • sign-in PINs stored by Moonbase, on the Accounts tab
  • Retro games on Plex. Mount each ROM folder into the container at the same path Plex uses. If Plex sees it at another path, add the mapping under Game folder paths. RomM only needs an empty Plex library.
  • HTTPS for Plex outside the house. Put Moonbase for Plex behind an HTTPS reverse proxy instead of forwarding port 32500. You'll need that to use it away from home, to reach it from the web app over HTTPS, and for invite links that work for friends.
  • On both Silo and Plex:
    • App log uploads, with Enable client log upload under Help > Diagnostics, on by default
    • the Watching on MDBList route
    • After Hours scoreboards
    • the per-device defaults switch, Apply Defaults picks and Copy Settings

Roku

  • SyncPlay on HTTPS servers. Roku can't open Jellyfin's socket on an HTTPS server, so Moonbase relays SyncPlay messages for it. Turn off SyncPlay relay for Roku on the Watch Parties tab if you don't want it. This is on Jellyfin.

After Hours

  • Scoreboards for the hidden games. Moonbase keeps the top 3 for each After Hours game, one row per user, so scores are shared across the server's apps. This works on all four servers.

Moonfin Web

The bundled web client picks up everything from Moonfin 3.1.0 that applies to the web. Web uses the desktop layout in a wide window and the phone layout in a narrow one, so a few of these depend on the window size.

Watch Parties

  • Watch Parties with rooms, the lobby, voting, chat, reactions and synced playback. Web can copy an invite link, and you join by pasting a code or a link into the join box.
  • The Watch Parties settings page replaces the SyncPlay page, and the SyncPlay screen was restyled with profile pictures.

Player and Subtitles

  • Playback reconnects for about two minutes if the connection drops.
  • Hide Controls After hides the controls after 1, 3 or 5 seconds.
  • Dim Controls in HDR dims the controls while HDR video direct plays.
  • Playback speeds go up to 5x for video and 3x for music.
  • Chapters are a row of chapter cards, and the browser tab shows what's playing.
  • More ways to style subtitles: bold, a stroke width, a shadow, and a font from Google Fonts.
  • Subtitle Delay opens at the top of the player with a timeline of the track's lines.

Live TV

  • Favorite a channel from the player, and picking a program in the player's guide opens its options.
  • Long descriptions scroll at reading pace.

Home

  • Hide Watch Progress and Hide Unwatched Count for Home posters, and Hide Watched for the recent rows.
  • IMDb, TMDB and custom list rows show your library's own card for titles you already have, and external rows show whenever the server can fill them.
  • The Watching on MDBList row, new release labels in the media bar, and poster labels.
  • See All cards at the end of each library's Latest row and every pinned collection row.
  • The seasonal row can show all year.
  • Upcoming rows skip titles already on the server, with friendlier release dates.
  • The media bar backdrop fades out at the bottom in a wide window.
  • Modern cards on My Media row is now off by default.

Details

  • Four new details styles: Stage, Premiere, Quick Look and Frost. Frost is the default in a wide window.
  • Scroll arrows on season tabs and episode rows in a wide window.
  • Rating Badges are off by default.

Calendar

  • The Calendar, with the Agenda and Countdown styles and a full month grid.
  • The next air date at the end of an episode, and Date Format for calendar and release dates.

Search and Seerr

  • Smart search and an Audiobooks row in search.
  • Seerr requests show why a download is stuck, and admins can get a different release.
  • Badge Style, Discover posters that follow your card size, and a Movies or TV Shows switch in Sort & Filter.
  • A Watchlist tab in Favorites, and a Search button on Discover.

Libraries and Books

  • Remove from Playlist and Remove from Collection in the long-press menu.
  • A page for each book series, and a Folders entry in book libraries.

Sign-in, Settings and Games

  • A redesigned Settings with a live preview, beside the list in a wide window and above it in a narrow one.
  • A new Who's watching and Switch User, and a spinner while a user signs in.
  • After Hours, the hidden arcade, with scores from Moonbase.

Bug Fixes

Settings Sync and Admin Defaults

  • Media bar Excluded Genres set on the admin page work in the apps. The admin page saved genre ids, while the apps match genres by name, so admin exclusions did nothing. They're saved by name now, and older saves still show as ticked.
  • Six app settings sync on Jellyfin and Emby. The automatic download settings, the details button limit and grouping playlists by type were dropped, so they never followed users between devices.

Jellyfin

  • The PIN list and PIN resets work on Jellyfin 12.2 and later. The list came back empty, and resetting a forgotten PIN answered "That user does not exist". (#365, #373)

Emby

  • Ratings save on Emby. Moonbase only took the ids Jellyfin uses, so rating a title failed and the My Rating sort couldn't match anything.
  • .7z games load on Emby. Every .7z game failed, because Emby loads its own version of the library that opens them.

Retro Games

  • RomM PlayStation games show up and load. Games with a .cue and .bin or an .m3u were skipped. Each game's files now go out as one zip, and a RomM PlayStation .7z is repacked as a zip.
  • The cores instructions point at the right file, the .7z from the EmulatorJS releases rather than the source code download, which has no cores. (#358)

Custom Rows

  • Official MDBList lists work. A List from URL like mdblist.com/lists/official/movies/most-watched-week was read wrong and failed with a 404, and couldn't be kept to movies or shows. Both work now. (#372)

Moonbase for Silo and Plex

  • The Excluded Genres and Screensaver Excluded Genres pickers fill on Silo and Plex. They were always empty.
  • Titles outside your library get their TMDB details on Silo and Plex. Media bar External Lists slides without a backdrop were dropped, and Seerr cards had no trailer preview.
  • Ending a Silo Watch Party frees its room. After 10 parties in a day, an account lost the host's subtitle pick and members' avatars. This needs Moonfin 3.1.0.
  • Sections that did nothing are hidden. That's Studio Logos on both hosts, Active Downloads on Plex and PINs on Silo.

Moonfin Web

Playback

  • Skipping the credits of a last episode or a movie leaves it watched, and no longer cuts off a scene after the credits.
  • The next episode keeps the subtitle track you picked.
  • Trickplay previews keep up while you scrub, and scrubbing with the arrow keys pauses when Pause While Scrubbing is on.
  • Direct play no longer waits on the Auto bitrate speed test, and the player no longer redraws everything once a second.
  • Theme music carries on smoothly when you open an item from Home.
  • The music and video players set and remember their volume.

Home

  • The Studios row works, with the studio's art or logo, and it opens the studio on the right server.
  • Continue Watching and Next Up update after you finish an episode, and come back after being empty when Home first loaded.
  • Random in the media bar is random, and the Makd, Gallery and Banner media bars start past the left sidebar.
  • Merged rows keep the sort you chose, and genres open on the server they came from.
  • Row Options switches show on Home right away, and the Rows editor opens right away.
  • The merged Continue Watching row is in the right order on Emby.
  • Modern rows in a narrow window leave room for a tapped card's details.
  • Since You Watched rows are translated, and non-admins can open Upcoming Calendars.
  • The media bar Source no longer reads "library".

Details and Libraries

  • The action buttons show all at once, and Dolby Vision and HDR badges read DV P8, HDR10+, HDR10, HLG or SDR.
  • An episode's cast includes the show's regular cast, and its season list opens on that episode.
  • Next Up on a series moves on after you mark its episode played.
  • Library grids no longer show the previous filter's results after a quick change.
  • Group Items into Collections works on Emby, and Emby libraries no longer show up twice.
  • Bookstore scrolls a title's details into view.

Search and Seerr

  • Movies and series show in search on Jellyfin after adding a books or games library.
  • Series without a TVDB id can be requested, and the All filter on Issues includes resolved issues.
  • Seasons show their posters on a request page for a show you don't have.

Sign-in, Settings and Admin

  • Adding a Plex server no longer opens the connection diagnostics before the Plex check finishes.
  • The SyncPlay group you're in no longer shows up as one to join, and the screen shows the number of participants.
  • More settings headers are translated, and Traditional Chinese is picked for Taiwan, Hong Kong and Macau.
  • Analytics loads on big libraries.
  • The photo slideshow gives each photo its full time.

Contributors

Huge thanks to everyone who contributed to this release:

Don't miss a new Plugin release

NewReleases is sending notifications on new releases.