Hide folders holding only hidden versions from /photos dirs (#194)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
aefc4bc411
commit
0e1fdd43e5
3 files changed
+122
No files matched your search
@@ -725,6 +725,23 @@ pub async fn list_photos<TagD: TagDao, FS: FileSystemAccess>(
|
||||
return HttpResponse::BadRequest().finish();
|
||||
}
|
||||
|
||||
// A folder whose indexed contents are all hidden versions (typically
|
||||
// `aiedits/`) would open empty: leave it out unless versions are asked
|
||||
// for. Recursive listings are flat and carry no dirs.
|
||||
if !search_recursively && !include_versions && !dirs_set.is_empty() {
|
||||
let candidates: Vec<String> = dirs_set.iter().cloned().collect();
|
||||
let view: Vec<i32> = library.into_iter().map(|l| l.id).collect();
|
||||
match app_state
|
||||
.version_dao
|
||||
.lock()
|
||||
.expect("Unable to lock VersionDao")
|
||||
.dirs_holding_only_hidden_versions(&view, &candidates)
|
||||
{
|
||||
Ok(empty) => dirs_set.retain(|d| !empty.contains(d.trim_end_matches('/'))),
|
||||
Err(e) => warn!("dirs_holding_only_hidden_versions failed: {:?}", e),
|
||||
}
|
||||
}
|
||||
|
||||
let dirs: Vec<String> = dirs_set.into_iter().collect();
|
||||
|
||||
info!(
|
||||
|
||||
Reference in new issue
Block a user