You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want GitHub tabs to keep showing the last good data when a refresh fails. A stale badge and fetch time would make network or auth problems clear without blanking the workflow.
flowchart TD
A[GitHub tab refresh] --> B[GitHub client]
B --> C{Request works}
C --> D[Render fresh rows]
C --> E[Load cache]
D --> H[Update cache]
E --> F[Mark stale rows]
F --> G[Notify once]
F --> I[Keep preview usable]
Loading
Problem
The GitHub tabs are only useful when the network and auth path are healthy. If a request fails, I lose continuity even though the previous PR, issue, workflow, or release data was good enough for reading and navigation.
This is most painful on flaky Wi-Fi, during GitHub API rate limits, or when a token expires mid-session. The TUI should make the failure visible without making the panel feel empty.
Proposed solution
Use the existing internal/github/cache.go package as the storage path for the last successful issues, PRs, actions, workflows, and releases response for the current repository.
On refresh errors in internal/panels/gitinfo/gitinfo_github.go, render cached rows with a stale marker and a last fetched age in the header. Show one warning toast through internal/notify, keep the current selection when possible, and let preview render cached body content when it exists.
Keep writes out of scope. This issue is display only and should not retry hidden mutations or change GitHub state.
User impact
I can keep reading PRs, issues, workflow status, and release notes during short outages. The UI tells me what is stale, so I do not mistake old data for a fresh sync.
Acceptance criteria
Successful GitHub tab refreshes update the cache with fetched time and repo identity.
Failed refreshes render cached rows when cache data exists.
Stale rows and headers clearly show that data is not fresh.
A refresh failure shows one warning toast per failed refresh burst.
Preview still opens cached issue, PR, workflow, action, or release details when available.
No GitHub write action is attempted from cached data.
I want GitHub tabs to keep showing the last good data when a refresh fails. A stale badge and fetch time would make network or auth problems clear without blanking the workflow.
flowchart TD A[GitHub tab refresh] --> B[GitHub client] B --> C{Request works} C --> D[Render fresh rows] C --> E[Load cache] D --> H[Update cache] E --> F[Mark stale rows] F --> G[Notify once] F --> I[Keep preview usable]Problem
The GitHub tabs are only useful when the network and auth path are healthy. If a request fails, I lose continuity even though the previous PR, issue, workflow, or release data was good enough for reading and navigation.
This is most painful on flaky Wi-Fi, during GitHub API rate limits, or when a token expires mid-session. The TUI should make the failure visible without making the panel feel empty.
Proposed solution
Use the existing internal/github/cache.go package as the storage path for the last successful issues, PRs, actions, workflows, and releases response for the current repository.
On refresh errors in internal/panels/gitinfo/gitinfo_github.go, render cached rows with a stale marker and a last fetched age in the header. Show one warning toast through internal/notify, keep the current selection when possible, and let preview render cached body content when it exists.
Keep writes out of scope. This issue is display only and should not retry hidden mutations or change GitHub state.
User impact
I can keep reading PRs, issues, workflow status, and release notes during short outages. The UI tells me what is stale, so I do not mistake old data for a fresh sync.
Acceptance criteria
Complexity
M