Track payload by provider before suppressing refresh errors
This branch suppresses errors whenever any in-memory payload exists, but usageJSON is a single shared value and not tied to selectedProvider. After switching from Codex to Claude, if the Claude request fails, hasCurrentPayload is still true from the prior Codex fetch, so the method returns with errorMessage = nil and leaves stale Codex metrics visible under Claude-selected UI labels. This is a regression from the previous behavior (showing an unreachable-server error) and can mislead users with wrong-provider usage data.
Useful? React with 👍 / 👎.
Originally posted by @chatgpt-codex-connector[bot] in #37 (comment)
This branch suppresses errors whenever any in-memory payload exists, but
usageJSONis a single shared value and not tied toselectedProvider. After switching from Codex to Claude, if the Claude request fails,hasCurrentPayloadis still true from the prior Codex fetch, so the method returns witherrorMessage = niland leaves stale Codex metrics visible under Claude-selected UI labels. This is a regression from the previous behavior (showing an unreachable-server error) and can mislead users with wrong-provider usage data.Useful? React with 👍 / 👎.
Originally posted by @chatgpt-codex-connector[bot] in #37 (comment)