feat: autotag mixed-bag splitting, search relevance fixes, and multi-library download imports
Autotag: detect "junk drawer" folders with no artist/album consensus and split them into synthetic per-cluster groups instead of forcing one match on an unrelated pile of tracks; repair tagging_items rows left behind by a prior scan orphan-cleanup gap. Explore: fix an exact artist-name search being drowned out by its own catalog entries in intent-prior scoring, and prune stale in_library bookkeeping left behind when a referenced library row is deleted. Download: fix a multi-library regression where every import failed with "no library root configured" — the importer resolved the library root from a legacy single-library config field that nothing populates in the current multi-library model. It now resolves the destination library per-request from the request's own library_id. Also widen the Soulseek search window (12s -> 20s), measured against real request history to be missing available peers on live queries. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y2Agd9af5hE7qzti2ackiS
This commit is contained in:
@@ -130,6 +130,12 @@ type Config struct {
|
||||
Enabled bool `json:"enabled"`
|
||||
Priority int `json:"priority"`
|
||||
Settings map[string]string `json:"settings"`
|
||||
|
||||
// SetSecrets names which of the descriptor's secret fields already
|
||||
// have a stored value, without exposing it. Populated only when a
|
||||
// Config is built for the frontend (see Service.withSecretFlags);
|
||||
// empty when read from or written to the store.
|
||||
SetSecrets map[string]bool `json:"setSecrets,omitempty"`
|
||||
}
|
||||
|
||||
// Setting returns a config value, or fallback when unset.
|
||||
@@ -197,6 +203,11 @@ type Field struct {
|
||||
// provider config row, and rendered as a password input.
|
||||
Secret bool `json:"secret"`
|
||||
|
||||
// Path marks a value that names a local filesystem directory, so
|
||||
// the settings form can offer a native folder picker beside the
|
||||
// text input rather than making the user type or paste it.
|
||||
Path bool `json:"path"`
|
||||
|
||||
Required bool `json:"required"`
|
||||
Default string `json:"default,omitempty"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user