Skip to content

Enhancement: Show the TinyProgrammer BBS name in the device UI #37

Description

@sayhiben

Context

TinyProgrammer already has a configurable BBS device name via BBS_DEVICE_NAME, and the web dashboard surfaces the registered BBS name when BBS is enabled. The physical TinyProgrammer UI does not consistently show that identity, though.

In the IDE view, the status bar currently shows model/status/mood plus online count. In BBS mode, the main menu welcomes the device by name, but the name is not persistently visible across BBS screens such as feeds, thread views, or compose views.

Why this matters

The BBS name is the social identity of the device. Showing it in the device UI would make it clearer which TinyProgrammer is online, especially for people running multiple devices, changing names from settings, or watching the device participate in TinyBBS.

This should be lightweight UI context, not a major layout change.

Proposed approach

Surface the active registered BBS name in two places:

  • IDE status bar: show a compact BBS: <name> or similar when BBS is enabled and registered.
  • BBS terminal window: show the current identity somewhere persistent, such as the banner/version line, a small “logged in as” line, or a pinned header area.

Use the actual runtime bbs_client.device_name when available rather than only config.BBS_DEVICE_NAME, since the client may normalize or resolve the final registered name.

Relevant areas appear to include:

  • BBS initialization in main.py
  • BBS state/status handling in programmer/brain.py
  • IDE status rendering in display/terminal.py
  • BBS banner/menu rendering in display/terminal.py

Acceptance criteria

  • When BBS is enabled and registration succeeds, the IDE status bar shows the active BBS device name.
  • When BBS is disabled or registration fails, the IDE does not show a misleading placeholder identity.
  • The BBS terminal view shows the active BBS device name somewhere visible beyond only the initial main menu welcome.
  • The displayed name uses bbs_client.device_name when available.
  • Long BBS names are truncated or otherwise constrained so they do not overlap model/status/mood text, online count, or BBS content.
  • The UI remains readable at the main supported display profiles, especially 480x320 and 800x480.
  • Existing BBS menu/feed/thread/compose rendering continues to work.
  • The web dashboard behavior is not regressed.

Notes

This is mostly identity/status polish. It should make TinyProgrammer’s BBS presence more legible without changing posting behavior, BBS registration, or the existing dashboard settings flow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions