HKUDS/nanobot · error · TuiUnavailableError

TUI release manifest is not valid UTF-8

Error message

TUI release manifest is not valid UTF-8

What it means

Error "TUI release manifest is not valid UTF-8" thrown in HKUDS/nanobot.

Source

Thrown at nanobot/cli/tui_launcher.py:310

def _release_checksum(raw: bytes, archive_name: str) -> str | None:
    try:
        parts = raw.decode("utf-8").split()
    except UnicodeDecodeError:
        return None
    if len(parts) != 2 or parts[1] != archive_name:
        return None
    digest = parts[0].lower()
    if len(digest) != 64 or any(character not in "0123456789abcdef" for character in digest):
        return None
    return digest


def _release_manifest(raw: bytes, asset: str) -> dict[str, str]:
    expected_names = set(_release_bundle_names(asset)[:-1])
    try:
        lines = raw.decode("utf-8").splitlines()
    except UnicodeDecodeError as exc:
        raise TuiUnavailableError("TUI release manifest is not valid UTF-8") from exc
    checksums: dict[str, str] = {}
    for line in lines:
        digest, separator, name = line.partition("  ")
        digest = digest.lower()
        if (
            separator != "  "
            or name not in expected_names
            or name in checksums
            or len(digest) != 64
            or any(character not in "0123456789abcdef" for character in digest)
        ):
            raise TuiUnavailableError("TUI release manifest is malformed")
        checksums[name] = digest
    if set(checksums) != expected_names:
        raise TuiUnavailableError("TUI release manifest is incomplete")
    return checksums

View on GitHub (pinned to 42f37dc4c0)

When it happens

Trigger: Thrown at nanobot/cli/tui_launcher.py:310 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26). Data as JSON: /api/errors/cf1cb04ff99aa4d4. Report an issue: GitHub.