Releases: SykepticalS/Sykepticals_HyperBridge
Releases · SykepticalS/Sykepticals_HyperBridge
Release list
HyperBridge 0.5.9-sykeptical
Fixed
- Prevented the same WhatsApp or messaging notification from expanding again after its Island had already collapsed.
- Message fingerprints now follow the logical conversation across Android post-time refreshes and notification source-key replacements.
- Rendering-only changes for the same message event now update the existing Island silently; genuinely new events with distinct message timestamps or counts still receive a fresh presentation.
Validation
testDebugUnitTestpassed, including new post-time replay and same-event rendering regression tests.assembleReleaseandlintVitalReleasepassed.- APK signature and zip alignment verified; the signing certificate matches
0.5.8-sykepticalfor in-place upgrades. - Package:
com.sykeptical.hyperbridge - Version:
0.5.9-sykeptical(code 34) - Minimum Android version: Android 15 (API 35)
Integrity
SHA-256: F2644028356A1A7E8CBEC375ACE043548B840601AC42317BD2EDCCBA702B87F6
HyperBridge 0.5.8-sykeptical
Fixed
- Standard and message Islands now honor the effective global or per-app auto-hide duration instead of always disappearing after 60 seconds.
- Durations both below and above one minute are preserved exactly.
- Disabling auto-hide no longer schedules a hidden service-side expiry.
Validation
testDebugUnitTestpassed, including new timeout-policy regression tests.assembleReleaseand release lint-vital checks passed.- APK signature and zip alignment verified.
- Package:
com.sykeptical.hyperbridge - Version:
0.5.8-sykeptical(code 33) - Minimum Android version: Android 15 (API 35)
Integrity
SHA-256: A97167ED520F9CE99BD96C2B1658CA6261051474CC492E3456CB63E722A0E6F2
Version 0.5.7 - Sykeptical
- Reliable notification lifecycle: Reworked notification intake, reconciliation, expiry, and recovery to reduce missing, duplicated, stale, or reappearing islands.
- Messaging deduplication: Added content-aware message fingerprinting and grouping for rapid WhatsApp and other chat updates.
- Latest-update-wins processing: Serializes rapid source changes and prevents older work from overwriting newer notification state.
- Improved call handling: Added call classification and session tracking for more reliable incoming, active, answered, declined, and ended call transitions.
- Better visual resolution: Improved icon sourcing, bitmap bounds, and rendered-data normalization for more consistent island artwork.
- Setup and diagnostics: Added setup-health diagnostics, safer onboarding migration, and a guided floating-notification settings flow.
- Duplicate-banner guidance: Recommends disabling an app's Floating notifications setting when HyperBridge is providing its banner.
- Fork transparency: Added a first-run acknowledgement explaining this edition and linking users to support the original developer.
- Regression coverage: Added focused unit tests and a release manual-test matrix for notification, message, call, reconciliation, visual, and setup behavior.
Optimization work
The Sykeptical Edition optimizes the full notification path, not just the visible Island. The goal is to do less duplicate work, keep temporary state bounded, and make rapid notification changes deterministic.
Notification processing
- Candidate-first intake: Sparse Android callbacks are refreshed from the active-notification snapshot before expensive classification and rendering begin. Empty or unusable candidates are rejected early.
- Latest-generation wins: Per-source generation gates prevent delayed coroutine work from overwriting a newer notification. Lifecycle mutations are serialized only where shared Island state must remain consistent.
- Update instead of recreate: Logical notification identities, content hashes, and message fingerprints allow genuine updates to reuse the current Island while suppressing framework reposts and duplicate chat events.
- Targeted reconciliation: Service reconnects compare Android's active sources with HyperBridge's tracked Islands and repair only missing or stale entries instead of rebuilding everything.
- Bounded recovery: Expiry tombstones, replacement windows, removal delays, and refresh attempts all have explicit limits, preventing endless retries or stale-notification resurrection.
Memory and CPU use
- Shared settings cache: Lightweight
AppPreferencesinstances share one Room observer and one in-memory settings cache, avoiding duplicate database collectors and blocking reads in the notification hot path. - Bounded visual caches: App labels, application icons, extracted brand colors, and processed action bitmaps use size-limited LRU caches rather than growing for the lifetime of the service.
- Aggressive lifecycle cleanup: Finished jobs, source aliases, expired records, message fingerprints, call sessions, pictures, and reverse-translation entries are cancelled or pruned when they are no longer useful.
- Work on the correct dispatcher: Package scanning, backup processing, notification refreshes, and other I/O-heavy operations run away from the main thread; UI state remains coroutine- and Flow-driven.
Rendering and background behavior
- Reusable rendered assets: Stable resource keys and normalized bitmap bounds reduce repeated icon work while keeping artwork correctly scaled and visible.
- State-aware timers and calls: Call timers are created only after a verified connection transition, and hidden call stages continue lightweight session tracking without posting an Island.
- Permanent Island reconciliation: The permanent Island reacts to active Island and widget state, avoiding overlaps and unnecessary reposts when nothing meaningful changed.
- HyperOS survival guidance: Setup Health exposes notification access, Autostart, and battery-restriction checks so users can fix OS-level service termination without root or continuous polling.
These changes are designed to reduce redundant allocations, database access, rendering, and notification churn. Exact CPU and battery results still depend on the device, HyperOS version, enabled apps, widgets, and notification volume.