thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #update-manager
mangerlahn/Latest ★ 4756 142 APPLICATION

Latest is a native macOS application that aggregates and manages software updates from multiple sources: the Mac App Store (via private frameworks CommerceKit/StoreFoundation), Sparkle-based apps (by parsing appcast feeds), and Homebrew Cask (via the Homebrew API). It scans local application directories, identifies installed apps, checks for updates, and provides a unified UI to view release notes, update individual apps, or update all at once. The architecture follows a monolith pattern with clear separation: model layer (App, Update, Version), update checkers (MacAppStoreCheckerOperation, SparkleCheckerOperation, HomebrewCheckerOperation), update executors (MacAppStoreUpdateOperation, SparkleUpdateOperation), and a Cocoa-based UI with table views, search, and Touch Bar support. The codebase demonstrates solid Swift engineering with custom NSOperation subclasses, observable patterns, and a well-tested version parser. However, it relies on private macOS frameworks and has some code quality issues (forced unwraps, fatalError usage, a typo in struct name 'Sparke'). The project is actively maintained with extensive localization and community contributions.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
mijorus/gearlever ★ 2168 93 APPLICATION

Gear Lever is a GNOME desktop application for managing AppImage files on Linux. Its core function is integrating AppImages into the desktop environment by extracting them, generating .desktop entries with metadata and icons, and keeping them updated. It supports one-click install from downloaded AppImages, drag-and-drop integration, in-place version updates from multiple sources (GitHub releases, GitLab, Codeberg, Forgejo, FTP, and static URLs), side-by-side version retention, per-app environment variables and exec arguments, and bulk update operations. The application is distributed primarily as a Flatpak on Flathub and also ships a headless CLI (src/Cli.py) matching most GUI operations such as integrate, update, remove, list, and fetch-updates. Architecturally, this is an event-driven GTK4/Adwaita desktop application written in Python. The main window (GearleverWindow) uses Adw.Leaflet navigation with a drag-and-drop overlay, and views communicate through custom GObject signals. The core lifecycle logic lives in AppImageProvider, which handles download, extraction, desktop-entry generation, and launch. Extraction uses a fallback chain (dwarfs → 7zz → unsquashfs → appimage-extract) to handle the fragmented AppImage format landscape. Update sources are abstracted behind an UpdateManager ABC with separate backend classes per hosting platform. Configuration is split between a global JSON settings store and per-app INI files, with a migration path from an older JSON schema. Background work is managed through custom async/idle/debounce decorators that marshal tasks onto worker threads and safely return results to the GTK main loop. The system relies on external runtime binaries (7zz, dwarfsck, dwarfsextract, unsquashfs, readelf, strings, file, get_appimage_offset) in addition to Python packages (dbus-python, pyxdg, ftputil, requests, desktop-entry-lib). Notably, the repo embeds a demo.AppImage binary used as a test fixture, illustrating the extraction pipeline against a real-world AppImage. Test coverage is thin — only CLI integration tests that download actual AppImages — and the codebase shows some legacy baggage (ftputil, direct D-Bus usage, fragile external-tool version assumptions). Nonetheless, the code is modular, actively maintained with nightly builds, well-internationalized (16 languages), and demonstrates real craftsmanship in its abstraction layers.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: