arrow_backRetour aux issues
fu351/Doberman-Core
#443
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
dash: "Copy details" button on each pending-approval card
ecoDébutant
enhancement
good first issue
level-3
descriptionDescription
Each pending-approval card in the dashboard (`renderPending`, `src/doberman/dash/app.py:448-544`) shows the risk badge, summary, expiry, reason codes, explanation and the Approve/Deny buttons, all built with `createElement`/`textContent`. There's no way to grab those fields to paste into a chat or an issue except retyping them.
**What to do**
1. In the per-row loop of `renderPending`, add a `Copy details` next to Approve/Deny.
2. On click, `navigator.clipboard.writeText(JSON.stringify({id, tier, risk, action_type, reason_codes, explanation}, null, 2))` built from the row the server sent. Wrap it in `try/catch`, the same defensive shape the file already uses for `sessionStorage` (lines 306-314); the clipboard API is unavailable in some contexts and a failure must not break the card.
3. Only fields `/api/pending` already serves (`_pending_row`, line 755 onward) go into the copied text. Never add a raw target or path; the server redacts for a reason.
4. Test in `tests/unit/test_dash_polish.py`: the served shell contains `btn-copy` (same style as the existing badge-class assertions).
Heads-up: two dashboard PRs are in flight (#401 strictness-mode control, #415 per-project title); both edit `dash/app.py`'s top bar. Branch from a fresh `main`, stay out of `.topbar-right`, and expect a small rebase if they land while you work.
Issues similaires
calkit/calkit
star53
Poids du dépôt moyen
VS Code extension should be robust to YAML parser errors
Seeing this error: ``` Failed to read calkit.yaml: YAMLParseError: A block sequence may not be used as an implicit map…
Python
bug
good first issue
fu351/Doberman-Core
star211
Poids du dépôt léger
dash: a manual Refresh control
The dashboard polls: `refreshStats()` (`src/doberman/dash/app.py:408`) every 5 s and `refreshPending()` (`:546`) every …
Python
enhancement
good first issue
Tracer-Cloud/opensre
star10.8k
Poids du dépôt lourd
Refresh the interactive_shell AGENTS.md package map
## Goal `surfaces/interactive_shell/AGENTS.md` is the first thing a contributor reads before touching the REPL, and it…
Python
good first issue
docs