Menu

#514 fix(auth): add auth dialog window icon

open
nobody
None
2026-08-31
2026-08-31
Anonymous
No

Originally created by: thesageak

Pull Request

Slice

  • Repo: doberman-core
  • Feature / Slice: [#432] — auth dialog taskbar/title-bar icon
  • Plan reference: [#432]

What this PR does

Adds the Doberman mark as the auth dialog window icon using Tk's iconphoto() API.

The icon uses the existing bundled doberman-mark.png asset and keeps a reference on the root window so Tk does not drop the image. Icon setup is best-effort and will not prevent the auth dialog from opening if loading or setting the icon fails.

Tests added (run in CI)

  • Added coverage asserting _configure_window() calls iconphoto() once with the default flag enabled.
  • Added coverage ensuring an icon load failure does not interrupt normal window configuration.
  • tests/unit/test_gui_prompter.py: 37 passed locally.
  • Ruff lint and formatting checks pass.

Public-release safety (doberman-core only)

  • [x] Contains nothing from the "not allowed" list: no enterprise/hosted code, no proprietary detection, no customer data, no secrets, no commercial-license code
  • [x] Core still builds/tests/runs with NO enterprise package installed

Security checklist

  • [x] Fails closed on error / uncertainty
  • [x] No secret, full file, or unredacted prompt logged or committed
  • [x] Any guardrail/learning change is raise-only (no silent loosening)
  • [x] Every BLOCK/AUTH carries reason codes + a human explanation
  • [x] doberman-core does not import doberman_enterprise

Edge cases covered / Deviations from plan / Risks introduced

  • Icon loading is cosmetic and failure is intentionally ignored so it cannot prevent the auth dialog from opening.
  • Developed and tested on Fedora with GNOME. GNOME does not display the window icon in the same way as Windows, so Windows taskbar/title-bar appearance was not visually verified.
  • iconphoto() behavior is covered by the faked-root unit test.
  • No changes to authorization behavior or verdict logic.

Closes [#432]

Related

Tickets: #432

Discussion


Log in to post a comment.