Connecting to a server above the account's tier fails without visible feedback #156

Open
opened 2026-08-24 16:20:30 -04:00 by mysticalsoap · 0 comments
Owner

Observed live (2026-08-24): a free-tier Proton account connecting to a Plus server just doesn't connect — no dialog, nothing the user saw. A free-server connection from the same account worked.

Two layers to this:

  1. Connect failures only surface as toasts. Both conn_attempt_failed* and the 15s watchdog's timeout() report via notify() — the exact channel #141/#149 established as unreliable for imports (KDE suppresses toasts over fullscreen apps, and they're easy to miss even when shown). A failed connect answers a user action the same way a failed import does; it deserves the same treatment. (The toast body also says "Unable to connecto".)

  2. aqomui already knows enough to prevent the attempt. The import stores each logical's tier in the server name, and the /vpn reply consulted during import carries the account's MaxTier — servers above it could be marked in the server tab (or the connect refused with a message naming the plan mismatch) instead of letting OpenVPN fail on credentials the server will never accept. Needs a decision on presentation: hide, grey out, or connect-time message.

First step next time it reproduces: check the log tab / journal for whether the attempt died as AUTH_FAILED (mgmt auth path) or hung until the watchdog killed it — that decides which surface carries the fix in layer 1.

🤖 Generated with Claude Code

Observed live (2026-08-24): a free-tier Proton account connecting to a Plus server just doesn't connect — no dialog, nothing the user saw. A free-server connection from the same account worked. Two layers to this: 1. **Connect failures only surface as toasts.** Both `conn_attempt_failed*` and the 15s watchdog's `timeout()` report via `notify()` — the exact channel #141/#149 established as unreliable for imports (KDE suppresses toasts over fullscreen apps, and they're easy to miss even when shown). A failed connect answers a user action the same way a failed import does; it deserves the same treatment. (The toast body also says "Unable to connecto".) 2. **aqomui already knows enough to prevent the attempt.** The import stores each logical's tier in the server name, and the `/vpn` reply consulted during import carries the account's `MaxTier` — servers above it could be marked in the server tab (or the connect refused with a message naming the plan mismatch) instead of letting OpenVPN fail on credentials the server will never accept. Needs a decision on presentation: hide, grey out, or connect-time message. First step next time it reproduces: check the log tab / journal for whether the attempt died as `AUTH_FAILED` (mgmt auth path) or hung until the watchdog killed it — that decides which surface carries the fix in layer 1. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mysticalsoap/aqomui#156
No description provided.