Manual search link paste: clean error on unresolvable link, don't search the raw URL (#813 lock-in)
A parsed link is unambiguously a Tidal/Qobuz /track/ URL (no false positives),
so if its source isn't connected or the track can't be resolved, return a clear
400 ("Tidal isn't connected — … or search by name") instead of silently
running a useless search of the raw URL text. The frontend already surfaces the
400's error message in the modal.
This commit is contained in:
parent
cea0e9d63c
commit
c654deac17
1 changed files with 16 additions and 8 deletions
|
|
@ -7155,14 +7155,22 @@ def manual_search_for_task(task_id):
|
||||||
link_track_id = None
|
link_track_id = None
|
||||||
if link:
|
if link:
|
||||||
_src, _tid = link
|
_src, _tid = link
|
||||||
if _src in valid_source_ids:
|
# A parsed link is unambiguously a Tidal/Qobuz track URL, never a
|
||||||
clean_q, link_err = _resolve_link_track_query(_src, _tid)
|
# name a user would type — so if we can't use it, say why clearly
|
||||||
if clean_q:
|
# instead of running a useless search of the raw URL text.
|
||||||
query = clean_q
|
if _src not in valid_source_ids:
|
||||||
source = _src
|
return jsonify({
|
||||||
link_source, link_track_id = _src, _tid
|
"error": f"{_src.title()} isn't connected — can't resolve a "
|
||||||
else:
|
f"{_src.title()} link. Connect it in Settings, or search by name."
|
||||||
logger.info(f"[Manual Search] link resolve fell back: {link_err}")
|
}), 400
|
||||||
|
clean_q, link_err = _resolve_link_track_query(_src, _tid)
|
||||||
|
if not clean_q:
|
||||||
|
return jsonify({
|
||||||
|
"error": link_err or f"Couldn't resolve that {_src.title()} link."
|
||||||
|
}), 400
|
||||||
|
query = clean_q
|
||||||
|
source = _src
|
||||||
|
link_source, link_track_id = _src, _tid
|
||||||
|
|
||||||
if source != 'all':
|
if source != 'all':
|
||||||
if source not in valid_source_ids:
|
if source not in valid_source_ids:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue