-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Summary
Authentication timeout classification bug persists for 8+ consecutive days - critical fix needed. Backend Platform 428 errors continue dominating API failures (29% of total volume), indicating ongoing user confusion about CLI vs dashboard app types.
| Metric | Value |
|---|---|
| Time range | last 24 hours |
| Total errors | 110 |
| CLI bugs | 1 |
| Backend issues | 1 |
| User errors (working as designed) | 6 |
| Unique users affected | 75 |
| Internal user occurrences | 15 |
Errors requiring action
1. Authentication timeout lacks error classification — CLI bug
| Error code | None (unclassified) |
| Occurrences | 25 (1 internal) |
| Users affected | 25 |
| Command | whoami, deploy, site deploy, login, eject |
| Platforms | Linux, Windows, Darwin |
| PostHog | View in error tracking |
| Existing issue | Referenced in #415, #414, #413, #409 |
| Recurring | Yes (8+ days) |
Error: (from PostHog — the actual error message users see)
Error: Authentication timed out. Please try again.
Stack trace: (only showing frames from packages/cli/src/)
at waitForAuthentication (packages/cli/src/cli/commands/auth/login-flow.ts:71)
at login (packages/cli/src/cli/commands/auth/login-flow.ts:105)
Root cause: The authentication timeout throws a generic Error without proper classification, and uses an aggressive timeout period:
// packages/cli/src/cli/commands/auth/login-flow.ts:58-62
await pWaitFor(async () => { /* polling logic */ }, {
interval: interval * 1000,
timeout: expiresIn * 1000, // Often too aggressive
});
// Line 69-73: Improper error classification
} catch (error) {
if (error instanceof Error && error.message.includes("timed out")) {
throw new Error("Authentication timed out. Please try again.");
}
throw error;
}The timeout occurs when the OAuth2 device code expires. The generic Error lacks proper classification for telemetry tracking, causing error_code: null and is_user_error: null in PostHog.
Suggested fix: In packages/cli/src/cli/commands/auth/login-flow.ts:71, replace generic Error with proper AuthenticationTimeoutError class that extends UserError and provides error code classification. Also consider increasing timeout duration or adding retry logic.
Backend issues (not CLI fixes)
Brief table of errors caused by the backend/server, not the CLI:
| Error | Occurrences | Users | Command | PostHog |
|---|---|---|---|---|
| Backend Platform 428 requirement | 32 | 20 | functions deploy, entities push |
link |
The 428 errors indicate users attempting to deploy functions/entities to web dashboard-created apps that don't support Backend Platform features. While the CLI correctly reports these errors, they represent 29% of total error volume, suggesting significant user confusion about app types.
User errors (working as designed)
Brief table of expected user errors where the CLI validation is correct:
| Error | Occurrences | Users | Command | PostHog |
|---|---|---|---|---|
| Site config not found | 18 | 9 | site deploy |
link |
| Invalid app configuration schema | 8 | 4 | functions deploy |
link |
| Project ID not found for linking | 7 | 5 | link |
link |
| Project already linked | 6 | 5 | link |
link |
| App not configured | 5 | 5 | functions deploy |
link |
| Deno dependency missing | 1 | 1 | dev |
link |
All user errors provide appropriate validation messages and guidance for resolution.
Recurring errors
If any errors appeared in previous daily reports:
| Error | Days recurring | Existing issue | Tracked? |
|---|---|---|---|
| Authentication timeout (unclassified) | 8+ days | Referenced in multiple reports | No dedicated issue |
| Backend Platform 428 requirement | Ongoing | Previous error reports | Backend team aware |
The authentication timeout classification bug has been flagged in consecutive daily reports since at least 2026-03-11 but remains unfixed, affecting user experience and telemetry accuracy.
Action items
Numbered list of concrete next steps, most important first:
-
[critical]
packages/cli/src/cli/commands/auth/login-flow.ts:71— Replace genericError("Authentication timed out. Please try again.")with properAuthenticationTimeoutErrorclass that extendsUserErrorand provides telemetry classification. Consider increasing timeout duration or adding retry mechanism. -
[medium] Monitor Backend Platform 428 errors — coordinate with backend team on user education about CLI vs dashboard app differences, as these represent 29% of total error volume.