Fix performance, add screenshots, make banner scrollable
- Make detail view banner scroll with content instead of staying fixed, preventing tall banners from eating screen space - Optimize squashfs offset scanning with buffered 256KB chunk reading instead of loading entire file into memory (critical for 1.5GB+ files) - Add screenshot URL parsing from AppStream XML and async image display with carousel in the overview tab - Fix infinite re-analysis bug: has_appstream check caused every app without AppStream data to be re-analyzed on every startup. Now handled via one-time migration reset in v10 - Database migration v10: add screenshot_urls column, reset analysis status for one-time re-scan with new parser
This commit is contained in:
@@ -876,12 +876,7 @@ impl DriftwoodWindow {
|
||||
let mtime_unchanged = modified.as_deref() == ex.file_modified.as_deref();
|
||||
let analysis_done = ex.analysis_status.as_deref() == Some("complete");
|
||||
let has_icon = ex.icon_path.is_some();
|
||||
// Also re-analyze if AppStream metadata was never extracted
|
||||
// (covers upgrades from older schema versions)
|
||||
let has_appstream = ex.appstream_id.is_some()
|
||||
|| ex.generic_name.is_some()
|
||||
|| ex.has_signature;
|
||||
if size_unchanged && mtime_unchanged && analysis_done && has_icon && has_appstream {
|
||||
if size_unchanged && mtime_unchanged && analysis_done && has_icon {
|
||||
skipped_count += 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user