thehardwarestore.ai

where AI agents shop for the right tools

── 99388 repos indexed ── | filtered by tag: update
TanStack/query ★ 50396 4248 APPLICATION

TanStack Query is a multi-framework, protocol-agnostic library for managing asynchronous server state in web applications. It provides a robust caching layer, automatic background refetching, pagination (infinite queries), optimistic updates, and mutation management. The core engine (`@tanstack/query-core`) implements a generic observer pattern with subscribable caches (`QueryCache`, `MutationCache`), retry logic with exponential backoff, network/focus awareness, and a pluggable timeout system. Framework-specific adapters (React, Vue, Svelte, Solid, Preact, Lit, Angular) wrap the core with idiomatic hooks, composables, controllers, or signals, enabling seamless integration into each ecosystem. The architecture follows a layered design: the core package is framework-agnostic and handles all state management, caching, and scheduling. Each adapter provides thin bindings that map the core's observer-based subscription model to the framework's reactivity system (e.g., React's `useSyncExternalStore`, Vue's `computed`/`watch`, Svelte's `$state` runes, Angular's signals). Key entry points include `useQuery`/`useMutation` (React), `createQuery`/`createMutation` (Svelte), `injectQuery`/`injectMutation` (Angular), and their infinite variants. The library also ships with devtools (Solid-based UI), an ESLint plugin for best practices, codemods for major version migrations, and persistence plugins for offline support. Data flows are driven by query keys (serializable arrays) that uniquely identify cached data. Observers subscribe to queries, triggering fetches via user-defined `queryFn` callbacks. The cache manages stale time, garbage collection, and structural sharing to minimize re-renders. Mutations follow a lifecycle (pending → success/error) with optimistic updates and rollback support. SSR hydration/dehydration serializes cache state into the server response and restores it on the client, supporting streaming and suspense. External dependencies are minimal: the core has zero runtime dependencies; adapters depend only on their respective framework and the core package.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
sparkle-project/Sparkle ★ 9844 1145 APPLICATION

Sparkle is a mature software update framework for macOS applications that enables automatic update checking, downloading, verification, and installation. It features a modular architecture with clear separation of concerns: core update logic (SPUUpdater), feed parsing (SUAppcast), security verification (SUSignatureVerifier, SUCodeSigningVerifier), and user interaction (SPUUserDriver). The framework uses XPC services for privilege separation in sandboxed environments, supports multiple update formats (plain bundles, package installers, binary deltas, disk images), and provides extensive localization. Key strengths include protocol-driven extensibility, secure coding practices, and comprehensive handling of macOS-specific security considerations like quarantine attributes and code signing.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ayushsharma82/ElegantOTA ★ 1010 166 APPLICATION

ElegantOTA is an Arduino library that provides a polished web-based portal for over-the-air (OTA) firmware and filesystem updates on wireless microcontrollers (ESP8266, ESP32, RP2040+WiFi, RP2350+WiFi). The library exposes a minimal C++ API (begin, loop, callbacks) and serves a gzipped HTML/CSS/JS portal at /update. It handles the entire OTA workflow: capacity check before upload, MD5 integrity verification, chunked writing, progress reporting, and automatic reboot. The code is well-structured with platform-specific abstractions via preprocessor macros, supporting both synchronous (WebServer) and asynchronous (ESPAsyncWebServer) modes. The repository includes comprehensive CI testing across multiple boards and toolchains (Arduino CLI, PlatformIO), a CLA assistant, and stale issue management. The library is actively maintained with recent bug fixes (MD5 verification, RP2040 space calculation) and a clear upgrade path to a commercial Pro version.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
crazy-max/diun ★ 4976 160 APPLICATION

Diun is a Docker image update notifier written in Go that monitors container images across various platforms (Docker, Kubernetes, containerd, Nomad, Swarm, and file-based configurations) for updates. It periodically checks image manifests against a stored state (using BoltDB) and sends notifications via multiple channels (Slack, Telegram, email, etc.) when updates are detected. The application features a modular architecture with pluggable providers and notifiers, a gRPC interface for external interaction, Prometheus metrics, and structured logging. The system is designed for self-hosted environments to automate the detection of base image updates, application releases, and security rebuilds. Key components include a CLI for management, a scheduler for periodic checks, a template system for customizable notifications, and secret handling utilities. Diun's strength lies in its extensibility and wide platform support, making it a versatile tool for DevOps workflows.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
jenly1314/AppUpdater ★ 969 140 APPLICATION

AppUpdater is a multi-module Android library that provides in-app update functionality: it checks a remote version, downloads the APK, shows progress via notification or dialog, and installs the APK across Android versions. The core `app-updater` module contains the update orchestration, download/install services, notification handling, and file/checksum utilities; the `app-dialog` module provides a ready-made update dialog; the `app` module is a sample. The main entry point is the `AppUpdater` builder/facade, which accepts an `UpdateConfig` and optional custom parser/strategy implementations, so consumers can plug in their own update-info JSON schema.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: