pyr0ball created pull request Circuit-Forge/kiwi#14

pyr0ball
Fri, 03 Apr 2026 19:00:58 -0700

14#feat: feedback button, cf-core env-var LLM config, mobile polish#

Summary

In-app feedback FAB (FeedbackButton.vue) — 2-step modal (type → review → submit) that creates Forgejo issues; probes /feedback/status on mount so button only shows when FORGEJO_API_TOKEN is configured; hidden in demo mode

cf-core env-var LLM config (closes #13) — bare-metal users can now set OLLAMA_HOST / ANTHROPIC_API_KEY / OPENAI_API_KEY with no llm.yaml needed; CF_LICENSE_KEY wired for hosted coordinator auth; circuitforge-core pinned to >=0.6.0

Mobile UX polish — nav FOUC fix via inline critical CSS; Pantry scan toggle responsive layout (480px / 360px); inv-row-right shrink fix; overflow-x: hidden on body and inventory list; env(safe-area-inset-bottom) for iPhone home bar clearance

.gitleaksignore — suppress initial-commit .env false positive (DIRECTUS_JWT_SECRET already gitignored going forward; rotate if not already done)

requests>=2.31 declared in pyproject.toml (used by feedback endpoint Forgejo calls)

Test plan

pytest tests/api/test_feedback.py — 7 tests: status endpoint, 503/403 gates, happy path, 502 on Forgejo error

Set FORGEJO_API_TOKEN in .env and confirm feedback FAB appears on load

Leave FORGEJO_API_TOKEN unset and confirm FAB stays hidden

Submit a test bug report and verify issue created in Circuit-Forge/kiwi

Check mobile layout at 480px and 360px (scan toggle, bottom nav clearance)

Set only OLLAMA_HOST (no llm.yaml) and confirm LLM recipe path works