RemoveFromLibrary deletes the audio_files rows the way the scan's own orphan cleanup does and records each path in excluded_paths. The exclusion is not an enhancement: without it the next scan finds the file, sees no row and imports it again, so the button undoes itself. The soft scan compares files on disk against rows in the database, so surveyAudioFiles and countAudioFiles both take the exclusion set — otherwise an excluded path makes the two disagree forever and queues a full scan on every launch. Deleting a row cascades to queue_tracks, so the removal calls the same CompactQueue hook RemoveLibrary does. Also lands the requested badge: library-status-indicator is a button again where it can act, utils/library-status.ts states once what owning and wanting mean, and the long-declared queued state finally has a producer. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UDCbcCZQepnpSQYJ6SxxZm
232 lines
6.7 KiB
JavaScript
Executable File
232 lines
6.7 KiB
JavaScript
Executable File
// @ts-check
|
|
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
|
// This file is automatically generated. DO NOT EDIT
|
|
|
|
export function AdoptPausedIndexBuild() {
|
|
return window['go']['explore']['Service']['AdoptPausedIndexBuild']();
|
|
}
|
|
|
|
export function BackfillLibraryDiscographies() {
|
|
return window['go']['explore']['Service']['BackfillLibraryDiscographies']();
|
|
}
|
|
|
|
export function BackfillLibraryLyrics() {
|
|
return window['go']['explore']['Service']['BackfillLibraryLyrics']();
|
|
}
|
|
|
|
export function BackfillReleaseGroupMBIDs() {
|
|
return window['go']['explore']['Service']['BackfillReleaseGroupMBIDs']();
|
|
}
|
|
|
|
export function BrowseReleaseGroups(arg1) {
|
|
return window['go']['explore']['Service']['BrowseReleaseGroups'](arg1);
|
|
}
|
|
|
|
export function BrowseReleases(arg1) {
|
|
return window['go']['explore']['Service']['BrowseReleases'](arg1);
|
|
}
|
|
|
|
export function CAALimiter() {
|
|
return window['go']['explore']['Service']['CAALimiter']();
|
|
}
|
|
|
|
export function CheckLibraryMBIDs(arg1) {
|
|
return window['go']['explore']['Service']['CheckLibraryMBIDs'](arg1);
|
|
}
|
|
|
|
export function CoreCatalogImported() {
|
|
return window['go']['explore']['Service']['CoreCatalogImported']();
|
|
}
|
|
|
|
export function CoverArtGroupURL(arg1) {
|
|
return window['go']['explore']['Service']['CoverArtGroupURL'](arg1);
|
|
}
|
|
|
|
export function CoverArtURL(arg1) {
|
|
return window['go']['explore']['Service']['CoverArtURL'](arg1);
|
|
}
|
|
|
|
export function GenerateMix(arg1, arg2, arg3) {
|
|
return window['go']['explore']['Service']['GenerateMix'](arg1, arg2, arg3);
|
|
}
|
|
|
|
export function GetArtistImageCached(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistImageCached'](arg1);
|
|
}
|
|
|
|
export function GetArtistImageCachedPath(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistImageCachedPath'](arg1);
|
|
}
|
|
|
|
export function GetArtistImageURL(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistImageURL'](arg1);
|
|
}
|
|
|
|
export function GetArtistImagesCachedPaths(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistImagesCachedPaths'](arg1);
|
|
}
|
|
|
|
export function GetArtistMBID(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistMBID'](arg1);
|
|
}
|
|
|
|
export function GetArtistPlayCount(arg1) {
|
|
return window['go']['explore']['Service']['GetArtistPlayCount'](arg1);
|
|
}
|
|
|
|
export function GetCandidateThumbnail(arg1, arg2) {
|
|
return window['go']['explore']['Service']['GetCandidateThumbnail'](arg1, arg2);
|
|
}
|
|
|
|
export function GetExploreShelves() {
|
|
return window['go']['explore']['Service']['GetExploreShelves']();
|
|
}
|
|
|
|
export function GetIndexStatus() {
|
|
return window['go']['explore']['Service']['GetIndexStatus']();
|
|
}
|
|
|
|
export function GetLibrarySimilarArtists(arg1) {
|
|
return window['go']['explore']['Service']['GetLibrarySimilarArtists'](arg1);
|
|
}
|
|
|
|
export function GetThumbnail(arg1, arg2, arg3) {
|
|
return window['go']['explore']['Service']['GetThumbnail'](arg1, arg2, arg3);
|
|
}
|
|
|
|
export function GetThumbnails(arg1) {
|
|
return window['go']['explore']['Service']['GetThumbnails'](arg1);
|
|
}
|
|
|
|
export function GetTrackLyrics(arg1) {
|
|
return window['go']['explore']['Service']['GetTrackLyrics'](arg1);
|
|
}
|
|
|
|
export function GetTrackThumbnail(arg1, arg2, arg3, arg4) {
|
|
return window['go']['explore']['Service']['GetTrackThumbnail'](arg1, arg2, arg3, arg4);
|
|
}
|
|
|
|
export function GetTrackThumbnails(arg1) {
|
|
return window['go']['explore']['Service']['GetTrackThumbnails'](arg1);
|
|
}
|
|
|
|
export function IndexBaselineSeries() {
|
|
return window['go']['explore']['Service']['IndexBaselineSeries']();
|
|
}
|
|
|
|
export function IndexImportComplete() {
|
|
return window['go']['explore']['Service']['IndexImportComplete']();
|
|
}
|
|
|
|
export function IndexLastImported() {
|
|
return window['go']['explore']['Service']['IndexLastImported']();
|
|
}
|
|
|
|
export function InvalidateIndexDiscographies() {
|
|
return window['go']['explore']['Service']['InvalidateIndexDiscographies']();
|
|
}
|
|
|
|
export function InvalidateLibrarySync() {
|
|
return window['go']['explore']['Service']['InvalidateLibrarySync']();
|
|
}
|
|
|
|
export function IsIndexReady() {
|
|
return window['go']['explore']['Service']['IsIndexReady']();
|
|
}
|
|
|
|
export function LookupArtist(arg1) {
|
|
return window['go']['explore']['Service']['LookupArtist'](arg1);
|
|
}
|
|
|
|
export function LookupReleaseGroup(arg1) {
|
|
return window['go']['explore']['Service']['LookupReleaseGroup'](arg1);
|
|
}
|
|
|
|
export function MusicBrainz() {
|
|
return window['go']['explore']['Service']['MusicBrainz']();
|
|
}
|
|
|
|
export function PopulateLocalCrossReferences() {
|
|
return window['go']['explore']['Service']['PopulateLocalCrossReferences']();
|
|
}
|
|
|
|
export function PopulateLocalCrossReferencesIfNeeded() {
|
|
return window['go']['explore']['Service']['PopulateLocalCrossReferencesIfNeeded']();
|
|
}
|
|
|
|
export function PrefetchReleases(arg1) {
|
|
return window['go']['explore']['Service']['PrefetchReleases'](arg1);
|
|
}
|
|
|
|
export function PrepareIndexRebuild() {
|
|
return window['go']['explore']['Service']['PrepareIndexRebuild']();
|
|
}
|
|
|
|
export function RebuildLyricsIndex() {
|
|
return window['go']['explore']['Service']['RebuildLyricsIndex']();
|
|
}
|
|
|
|
export function RebuildLyricsIndexIfNeeded() {
|
|
return window['go']['explore']['Service']['RebuildLyricsIndexIfNeeded']();
|
|
}
|
|
|
|
export function RecordSearchClick(arg1, arg2, arg3) {
|
|
return window['go']['explore']['Service']['RecordSearchClick'](arg1, arg2, arg3);
|
|
}
|
|
|
|
export function RefreshIndexNow(arg1) {
|
|
return window['go']['explore']['Service']['RefreshIndexNow'](arg1);
|
|
}
|
|
|
|
export function RefreshListenCounts() {
|
|
return window['go']['explore']['Service']['RefreshListenCounts']();
|
|
}
|
|
|
|
export function ResolveReleaseGroupMBIDs(arg1) {
|
|
return window['go']['explore']['Service']['ResolveReleaseGroupMBIDs'](arg1);
|
|
}
|
|
|
|
export function SearchLocal(arg1) {
|
|
return window['go']['explore']['Service']['SearchLocal'](arg1);
|
|
}
|
|
|
|
export function SearchLyrics(arg1) {
|
|
return window['go']['explore']['Service']['SearchLyrics'](arg1);
|
|
}
|
|
|
|
export function SetAlbumComplete(arg1) {
|
|
return window['go']['explore']['Service']['SetAlbumComplete'](arg1);
|
|
}
|
|
|
|
export function SetContext(arg1) {
|
|
return window['go']['explore']['Service']['SetContext'](arg1);
|
|
}
|
|
|
|
export function SetJobRegistry(arg1) {
|
|
return window['go']['explore']['Service']['SetJobRegistry'](arg1);
|
|
}
|
|
|
|
export function SimilarArtists(arg1) {
|
|
return window['go']['explore']['Service']['SimilarArtists'](arg1);
|
|
}
|
|
|
|
export function StartIndexBuild() {
|
|
return window['go']['explore']['Service']['StartIndexBuild']();
|
|
}
|
|
|
|
export function StopIndexBuild() {
|
|
return window['go']['explore']['Service']['StopIndexBuild']();
|
|
}
|
|
|
|
export function TopRecordingsForArtist(arg1) {
|
|
return window['go']['explore']['Service']['TopRecordingsForArtist'](arg1);
|
|
}
|
|
|
|
export function TopReleaseGroupsForArtist(arg1) {
|
|
return window['go']['explore']['Service']['TopReleaseGroupsForArtist'](arg1);
|
|
}
|
|
|
|
export function WaitForIndexIdle() {
|
|
return window['go']['explore']['Service']['WaitForIndexIdle']();
|
|
}
|