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]