Add comprehensive AppImage metadata extraction, display, and bug fixes

- Add AppStream XML parser (quick-xml) to extract rich metadata from bundled
  metainfo/appdata files: description, developer, license, URLs, keywords,
  categories, content rating, release history, and MIME types
- Database migration v9: 16 new columns for extended metadata storage
- Extended inspector to parse AppStream XML, desktop entry extended fields,
  and detect binary signatures without executing AppImages
- Redesigned detail view overview tab with 8 conditional groups: About,
  Description, Links, Release History, Usage, Capabilities, File Info
- Fix crash on exit caused by stale GLib SourceId removal in debounce timers
- Fix wayland.rs executing AppImages directly to detect squashfs offset,
  replaced with safe binary scan via find_squashfs_offset_for()
- Fix scan skipping re-analysis of apps missing new metadata fields
This commit is contained in:
lashman
2026-02-27 18:31:07 +02:00
parent 39b773fed5
commit 1bb7a3bdc0
13 changed files with 1239 additions and 24 deletions

View File

@@ -342,9 +342,13 @@ impl LibraryView {
let view_mode_d = view_mode_ref.clone();
let search_empty_d = search_empty_ref.clone();
let debounce_clear = debounce_source.clone();
let source_id = glib::timeout_add_local_once(
std::time::Duration::from_millis(150),
move || {
// Clear the stored SourceId so nobody tries to remove a fired timer
debounce_clear.set(None);
let recs = records_d.borrow();
let match_flags: Vec<bool> = recs
.iter()