Files
Obtainium/lib/components
Imran Remtulla 3579891889 fix: source robustness, APKCombo, download-progress UI, and perf
App sources:
- Harden sources against malformed/changed responses (null, parse, index
  and empty-version guards): rustore, tencent, apkmirror, gitlab, aptoide,
  fdroid(repo), sourcehut, huaweiappgallery, itchio, izzyondroid,
  telegramapp, uptodown, vivoappstore, etc.
- APKCombo: fix and enable (issue #341) - unwrap "/r2?u=" links to the
  signed Cloudflare R2 URL, drop the Host header that 403'd the R2
  download, take one build per variant, and parse the release date;
  register the source.
- Remove orphaned Mullvad source (never registered).
- F-Droid version-regex filter selects the newest match; fix Jenkins
  changelog link; GitLab reuses one GitHub helper instance; GitHubStars
  reuses one GitHub instance.

UI / behaviour:
- Fix download progress bar never updating on the app detail page and the
  apps list (provider select on an in-place-mutated AppInMemory never
  fired a rebuild).
- Fix single-category gradient crash, dead "installing" tile state, silent
  swipe-install errors, deep-link dedup, mounted/context guards in
  import/export and add-app, and ExportSection future caching.
- generated_form: GeneratedFormSwitch.disabled is now applied; clone()
  preserves disabled and autoCompleteOptions.

Performance:
- Cache SettingsProvider.categories (was rebuilding a Map + re-parsing JSON
  on every access, over-rebuilding category selectors).
- Memoize the flattened combined form items used by the per-app JSON
  migration at load.

Tooling / config:
- build.sh: set -euo pipefail; make the --build-id=none workaround
  idempotent and glob-safe.
- pubspec: branch-track git dependencies.
- Remove unused config_keys.dart (consolidate on raw setting keys).
2026-06-29 15:04:30 +01:00
..
2026-06-25 14:50:40 +01:00
2026-06-25 18:09:42 +01:00