Skip to content

Document battery-saving limitation for remote OS widget refresh #992

@ovitrif

Description

@ovitrif

Context

Follow-up from PR #978 testing:

  • Piotr's successful log with power saving off showed SERVICE_STOP_ACTION scheduling catch-up, a background feeds.synonym.to request returning 200 OK while Bitkit was stopped, and the later CATCH_UP_ALARM skipping remote widgets because they were already fresh. No UnknownHostException appeared in AppWidgetRefreshWorker.
  • Earlier failing exports with power saving on showed the catch-up alarm firing and the worker attempting remote widget refreshes, but DNS failed with UnknownHostException for feeds.synonym.to / mempool.space until Bitkit was foregrounded.
  • Facts can still rotate because it is local; remote widgets need usable background network/DNS.

References:

Current interpretation

On some devices / OS versions, power saving or battery optimization can block background DNS/network access while Bitkit is stopped. The widget catch-up implementation can run correctly but still fail to refresh remote-backed widgets until the app is foregrounded or battery saving is disabled.

Product note

We should avoid rushing into an in-app prompt asking users to disable battery optimization for Bitkit. That flow is intrusive and likely not appropriate until we have a better battery profile for LDK-node foreground-service event handling. For now, treat this as a known limitation / support note unless we intentionally decide on a product-level workaround.

Follow-up ideas

  • Keep widget/background-work logs explicit about current battery-saving settings so support can identify this quickly.
  • Document support guidance: if Facts update but remote widgets stay stale and logs show background DNS failures, check device power saving / unrestricted battery settings.
  • Consider a docs/FAQ or troubleshooting entry before any in-app battery optimization request.
  • Revisit whether Bitkit should request battery optimization exemptions only after the foreground-service battery behavior is improved.
  • Display a "Latest Update" date and a refresh button for widgets with stale remote data.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions