diff --git a/core/imports/quarantine.py b/core/imports/quarantine.py index 0e9af594..9e49121c 100644 --- a/core/imports/quarantine.py +++ b/core/imports/quarantine.py @@ -220,6 +220,10 @@ def list_quarantine_entries(quarantine_dir: str) -> List[Dict[str, Any]]: "source_username": source_username, "source_filename": source_filename, "thumb_url": _extract_context_thumb(ctx), + # Real probed audio quality (recorded on the context before the + # quality/AcoustID gates) so the review UI shows what the file + # actually is when deciding to approve/delete. + "quality": ctx.get("_audio_quality", "") if isinstance(ctx, dict) else "", } ) diff --git a/web_server.py b/web_server.py index 230f8461..ef6d5820 100644 --- a/web_server.py +++ b/web_server.py @@ -11749,6 +11749,9 @@ def _sync_tracks_to_server(track_rows, server_type): return result +_resolve_library_diag_logged = False + + def _resolve_library_file_path(file_path): """Resolve a library file path to an actual file on disk.""" if not file_path: @@ -11806,6 +11809,17 @@ def _resolve_library_file_path(file_path): if found: return found + # Couldn't resolve — log the bases we searched ONCE so a path/mount mismatch + # is diagnosable (e.g. files live under a dir that isn't transfer/download/ + # a configured library path). + global _resolve_library_diag_logged + if not _resolve_library_diag_logged: + _resolve_library_diag_logged = True + logger.warning( + "[PathResolve] Could not resolve %r under any base dir — searched transfer=%r " + "download=%r library=%r. If files live elsewhere, add it under Settings > Library music paths.", + file_path, transfer_dir, download_dir, sorted(library_dirs), + ) return None diff --git a/webui/static/pages-extra.js b/webui/static/pages-extra.js index 0dd09fc8..6de7de97 100644 --- a/webui/static/pages-extra.js +++ b/webui/static/pages-extra.js @@ -2689,6 +2689,7 @@ function _verifQuarRows() {