Feat/aa failure tracking#1907
Open
chrisuthe wants to merge 4 commits into
Open
Conversation
Add a card on Settings > System > Audio Analysis, below the coverage frame, listing tracks that failed audio analysis (audio_analysis/failures) with their reason and next-retry state. Each row can be deleted to clear the failure and let the track be analyzed again on the next scan, plus a confirmed 'Clear all'. - New composable useAudioAnalysisFailures: fetches the failures list, resolves track names lazily per visible page (so large failure lists stay cheap), paginates, and clears failures by row or in bulk per AA domain. - New component AudioAnalysisFailures: reuses the shared table primitives and TablePagination; AlertDialog confirm on 'Clear all'; toast feedback. - Degrades to an empty list when the server lacks the command (version skew). Companion server branch: feat/aa-failure-tracking
- Key failure rows by the (item_id, provider, aa_domain) triple via a new rowId helper, so a track that failed under multiple AA providers is treated as distinct rows. Previously clearOne could over-remove and Vue list keys could collide. The name-resolution cache stays keyed by provider+item_id since the resolved track name is domain-independent. - clearAll now uses Promise.allSettled and always refreshes from the server, so a partial failure across domains re-syncs the table instead of leaving stale rows; it throws when any domain fails so the UI surfaces the error. - refresh now binds and logs the error before degrading to an empty list, leaving a diagnostic trail for genuine (non-version-skew) failures. - Add tests for multi-domain clearOne, provider-scoped name resolution, name-cache dedup and negative-cache reuse, last-row page clamp, and clearAll partial-failure re-sync.
17 tasks
Distinguish version skew (Invalid command rejection from older servers, which still degrades to an empty list) from genuine load failures, which now keep previously loaded rows, expose an error ref rendered as a distinct error state instead of the misleading empty message, and log to the console. Also log the domain and reason of each rejected clearAll call and the errors swallowed by the component toast handlers.
…cking # Conflicts: # src/translations/en.json
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.
Implements frontend of Sonic Analysis failure table, showing "Failures" and re-scan date, and ability to clear table and force rescan of rows.
depends on music-assistant/server#4167