Skip to content

fix: Froyo widget says why a read failed, reads open_items_live - #44

Merged
rayvader merged 1 commit into
mainfrom
fix/widget-fetch-reason
Nov 5, 2026
Merged

rayvader merged 1 commit into
mainfrom
fix/widget-fetch-reason

Conversation

@rayvader

@rayvader rayvader commented Nov 5, 2026

Copy link
Copy Markdown
Owner

Summary

The Froyo widget no longer fails silently. A failed read now says why, and reads prefer Froyo's live list.

Read result Header
good N open · Updated HH:mm
login ran out (after one renewal) N open · as of HH:mm · sign-in
no connection / 502 / 503 … · network
socket timeout / 408 / 504 … · timeout
other HTTP error … · server
200 but no list in the page … · format
  • Rows are always kept on failure. With no saved list yet: Couldn't update · <reason>.
  • Each failure is logged under tag FroyoWidget with the HTTP code or exception (adb logcat -s FroyoWidget).
  • Reads prefer open_items_live.items (Froyo page v4: kept current every 15 min by its sync job) and fall back to open_items.
  • A 400/404/409 drops the remembered thread and asks for it again, once.
  • The dashboard read waits up to 45 s (the gateway composes the whole page per read).

Checked on the gateway side: auth on /api/members/froyo-personal-butler/dashboard passes in its audit log, and the v4 page, rendered with the gateway's own code, carries open_items and open_items_live in the data island the widget reads.

Tests

  • UpcomingTest: v4-shaped response prefers the live list; falls back when it is missing, not an object, or has no items; empty live list is "nothing open"; reason table; stale-thread codes; as of HH:mm carries the reason.
  • e2e Froyo widget: fake gateway serves the v4 shape with a stale extra row in open_items (never shown); 503 -> · network; 200 without a list -> · format; rows kept; next good read clears the reason.

Not covered

  • The phone's own failure. The new reason and logcat line will name it.

The header now shows the reason next to 'as of HH:mm' (sign-in, network,
timeout, server, format), and logs it under the FroyoWidget tag. Reads
prefer Froyo's open_items_live (kept current by its sync job) and fall
back to open_items. A 400/404/409 asks for Froyo's thread again once,
and the dashboard read waits up to 45 s.
@rayvader
rayvader enabled auto-merge November 5, 2026 09:12
@rayvader
rayvader merged commit c91dba1 into main Nov 5, 2026
6 checks passed
@rayvader
rayvader deleted the fix/widget-fetch-reason branch November 5, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant