Repository navigation
refactor(settings): replace the TMDB tab with settings for every metadata source - #1489
Merged
Merged
Conversation
revam
added this pull request to stack #1490
October 3, 2026 17:38
harshithmohan
force-pushed
the
split/12-metadata-settings
branch
from
October 3, 2026 17:43
b8e8b73 to
add5537
Compare
revam
force-pushed
the
split/12-metadata-settings
branch
from
October 3, 2026 18:48
add5537 to
733cd68
Compare
revam
force-pushed
the
split/12-metadata-settings
branch
from
October 3, 2026 19:04
733cd68 to
05ba5a3
Compare
harshithmohan
force-pushed
the
split/12-metadata-settings
branch
3 times, most recently
from
October 4, 2026 08:00
7ea2cc0 to
30e977c
Compare
harshithmohan
force-pushed
the
split/12-metadata-settings
branch
from
October 5, 2026 17:39
82a171f to
40003cb
Compare
harshithmohan
removed this pull request from stack #1490
October 5, 2026 17:42
harshithmohan
added this pull request to stack #1492
October 5, 2026 17:42
harshithmohan
force-pushed
the
split/12-metadata-settings
branch
from
October 6, 2026 13:51
40003cb to
c4799ce
Compare
harshithmohan
removed this pull request from stack #1492
October 6, 2026 13:53
harshithmohan
added this pull request to stack #1494
October 6, 2026 13:53
harshithmohan
removed this pull request from stack #1494
October 6, 2026 13:54
harshithmohan
changed the base branch from
split/11-metadata-linking-follow-ups
to
master
October 6, 2026 13:55
harshithmohan
changed the base branch from
master
to
split/11-metadata-linking-follow-ups
October 6, 2026 13:55
harshithmohan
added this pull request to stack #1495
October 6, 2026 13:55
harshithmohan
removed this pull request from stack #1495
October 6, 2026 16:37
harshithmohan
added this pull request to stack #1496
October 6, 2026 16:37
revam
force-pushed
the
split/12-metadata-settings
branch
from
October 6, 2026 22:16
d167732 to
f678f00
Compare
hidden4003
force-pushed
the
split/12-metadata-settings
branch
from
October 10, 2026 08:44
717b36e to
582b594
Compare
Base automatically changed from
split/11-metadata-linking-follow-ups
to
staging
October 10, 2026 16:34
- Renamed the TMDB tab to Metadata, listing each source from `GET Metadata/Provider` with its icon and status from `GET Metadata/Source`, and its icon from the providers' `HasIcon` when the source list has none
- Set every kind through `PUT Metadata/Source/{source}/Providers`: a switch where one provider answers, an order where several do, the answering provider marked Active and the other enabled ones Standby; `PUT Metadata/Provider/{providerID}` stays for auto-linking
- Moved the auto-linker and the auto-link switches onto the provider route for every source, and added TMDB's network download switch
- Kept the switches, orders and auto-link choices as a draft, counted as unsaved changes, sent on Save after the settings `PATCH` and dropped by Cancel; a part that fails stays in the draft with the server's error
- Rendered a provider's own `Configuration` inline in its source's section with `DynamicForm`, saved with its own button through `PUT Configuration/{id}`
- Replaced TMDB's image switches, counts and language order with `Image.MetadataSourceDefaults`, adding banners, and let each source with an image provider keep its own in `Image.MetadataSources`; a picked image language stays unsaved until Save
- Replaced the first run's TMDB tab with a Metadata tab showing the page's search option, image options and sources, its provider changes sent with the step's settings
- Added the `Metadata` purge days
- Stopped reading the core `TMDB` settings: removed `TMDBDownloadSettings` and the `TMDB` block from the settings types and defaults
- Picked the source on the metadata page and moved the export and import onto `Metadata/{source}/CrossReferences/Export` and `…/Import`
- Filtered the export by the source's own series, episode and movie IDs as text
- Listed what an import added, updated, kept and replaced in its toast
- Removed the `Tmdb/Export` and `Tmdb/Import` calls
- Added `getDistinctPluginName`, matching the one on `feat/calendar` - Showed the plugin name in parentheses after the provider name in the provider rows and configuration headers, and left it out when it repeats the provider's name
- Added "Series Title Source", "Episode Title Source" and "Description Source" after the renamed language orders on the collection page, editing `Language.*SourceOrder` in the settings draft - Offered AniDB and every source from `GET Metadata/Source` in an add picker, each with its icon and name, and kept source names no route lists, `user` among them - Moved the drag-and-drop list behind `LanguageOrderList` into `OrderList`, shared by both
…nder `Metadata` - Read and wrote the image defaults and each source's own image options at `Metadata.SourceDefaults.Images` and `Metadata.Sources`, where the server moved them - Added the episode matching window to the source defaults and as a per-source option next to the images - Dropped a source's entry once it follows the defaults for both
- Dropped `SupportsPausing` and typed `Suspensions` on the source status - Worded each suspension from its kind when it gives no reason
hidden4003
force-pushed
the
split/12-metadata-settings
branch
from
October 10, 2026 17:01
582b594 to
c51e18a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The server manages every metadata source and its providers through
/api/v3/Metadata/Providerand/api/v3/Metadata/Source/{source}/Providers, and moved TMDB's settings out of the core settings. The TMDB tab read core settings that are gone.What changed
/settings/metadata), each source with its icon and status, a switch per kind or a provider order (active and standby), auto-linking, and each provider's ownConfigurationinline (PUT /api/v3/Configuration/{id}). The kinds and their orders always come fromGET …/Source/{source}/Providers, which 6.0.0-dev.495 has.Image.MetadataSourceDefaultswith per-source overrides replace TMDB's image settings;Metadatapurge days added./api/v3/Metadata/{source}/CrossReferences/Exportand…/Import, replacingTmdb/ExportandTmdb/Import.MetadataSearchSettings,MetadataSourceList); its provider changes are a draft sent with the step's settings.TMDBsettings types and components are removed.Where to look first
src/core/react-query/metadata/draft.ts: how provider changes wait for Save and what is sent.src/pages/settings/tabs/MetadataSettings.tsx: the page, andsrc/components/Settings/MetadataSitesSettings/MetadataSourceList.tsx, its sources, shared with the first run.src/pages/settings/SettingsPage.tsx: saving the settings and the draft together.Feedback wanted
Whether saving provider changes with the settings' Save button is the right model, and the provider order UX.
Stack
Part 12 of 12 in the split of #1477. Below: Part 11, site links, source icons and the source picker. Above: nothing; this is the top. Its tree is #1477's plus the review fixes.
Testing
pnpm tscheck,pnpm lint,pnpm testandpnpm buildpass at this branch's tip. Manual, on 6.0.0-dev.495: reorder providers and toggle auto-linking, save and cancel; export TMDB links and import them back; run the first-run Metadata tab.Title and description sources
Settings > Collection now chooses which sources titles and descriptions come from, and in what order. These are the server's
Language.SeriesTitleSourceOrder,EpisodeTitleSourceOrderandDescriptionSourceOrder. Until now the WebUI had no way to edit them. With a description order of[TMDB, AniDB], for example, an overview that only TVDB has is never shown.-to remove and+to add.+picker lists AniDB and every source fromGET Metadata/Source(TMDb and the plugin sources, such as TvDB and AniList). Each source has its icon (Metadata/Source/{source}/Icon, with a generic icon when there is none) and its name, plus the plugin's name in parentheses when it differs.userentry already in a saved order is kept as a plain entry that can be removed.Language.*SourceOrder.LanguageOrderListis now a sharedOrderList, so the language lists look and behave the same as before.Testing
+on Description Source, tick TvDB (or any plugin source) and click Save in the picker. The source is added to the end of the list, and the unsaved-changes toast appears.-. Cancel should restore the saved order.settings-server.jsonunderLanguage. The orders take effect after a server restart, because they are[RequiresRestart]on the server.Screenshots
Settings overview: Metadata
Settings overview: Collection
Language Options: title and description sources
Source picker
Metadata: General Options
Metadata: Image Options
Metadata: TMDb source
Metadata: TvDB source
Metadata: AniList source
Metadata: TMDb providers
Metadata: TvDB providers
Metadata: AniList providers
Metadata: Cross-References
Dialog: Image Languages
Dialog: Export cross-references
Dialog: Import cross-references