Skip to content

Upstream errors reach the user verbatim, including OS-level ones #142

Description

@PianoNic

Connecting an account with an unreachable Schulnetz URL shows the user this, in the app:

Login failed: [Errno -2] Name or service not known

That is a Python DNS resolution error from SchulwareAPI, passed straight through the plugin into the message the app renders. Errno -2 means nothing to a student, and the actionable part - that the URL could not be resolved, so it is probably mistyped - is not stated.

The same channel carries other upstream text unchanged. A real MFA failure arrives as:

MFA required: MFA required but no TOTP secret/code was provided.. Provide a TOTP secret/code or re-authenticate interactively.

with the heading duplicated into the sentence and a double full stop, which suggests a prefix is being concatenated onto a message that already contains it.

The app now renders whatever message the plugin returns (schulydev/Schuly#455), so the wording here is what the user reads. The common failures worth naming are: host not resolvable, host unreachable or timed out, credentials rejected, and MFA required. Anything genuinely unexpected can stay generic, with the technical detail logged rather than shown.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions