Foundry376/Mailspring · error
Sorry, we were unable to complete the translation request.
Error message
Sorry, we were unable to complete the translation request.
What it means
Generic guard inside GithubUserStore._githubRequest: thrown whenever the GitHub API fetch for a user profile or repo list returns a non-ok response (rate limits, 404 for nonexistent users, auth failures). The message is user-facing but the underlying cause is lost because the status/body are not captured.
Source
Thrown at app/internal_packages/github-contact-card/lib/github-user-store.ts:107
}
this._loading = false;
this._profile = this._cache[email] = profile;
this.trigger(this);
} catch (err) {
// fail silently
}
}
// Wrap the Node `request` library and pass the User-Agent header, which is required
// by Github's API. Also pass `json:true`, which causes responses to be automatically
// parsed.
async _githubRequest(url: string) {
const headers = new Headers();
headers.append('User-Agent', 'fetch-request');
const resp = await fetch(url, { headers });
if (!resp.ok) {
throw new Error('Sorry, we were unable to complete the translation request.');
}
return resp.json();
}
}
export default new GithubUserStore();
View on GitHub (pinned to 648c685d60)
Solutions
- Include resp.status and a truncated body in the error to distinguish rate limiting (403/429) from a missing user (404)
- Respect GitHub's X-RateLimit-Reset header and back off before retrying
- Since the caller catches and fails silently, log the failure so debugging is possible
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at app/internal_packages/github-contact-card/lib/github-user-store.ts:107 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Foundry376/Mailspring@648c685d60 (2026-09-03).
Data as JSON: /api/errors/7493c54911305b68.
Report an issue: GitHub.