- OAuth2 Gitea (login/callback/logout) with fallback admin mode
- Session management with signed cookies (itsdangerous, 7 days)
- CSRF protection middleware on all POST/PUT/PATCH/DELETE
- Rate limiting in-memory (60 req/min per IP)
- Issue creation from FlowDeck (POST /api/issues/{owner}/{repo})
- Inline issue editing (PATCH /api/issues/{owner}/{repo}/{issue_id})
- Card detail modal (double-click): description, labels, comments
- Checklists with toggleable items (CRUD endpoints + UI)
- Priority + due date editable on cards
- Webhook receiver (POST /api/webhook) with HMAC-SHA256
- Auto-register/status webhooks for repos
- GiteaClient: create_issue, update_issue, get_comments, webhooks, collaborators
- New DB tables: users, user_tokens, checklists, checklist_items
- CSS: modal, forms, checklists, comments, PR section
1.9 KiB
1.9 KiB
Changelog
[0.3.0] — 2026-07-08 — "Auth + Card Detail + Webhooks"
Added — Auth & Multi-user (v0.3.0)
- OAuth2 Gitea (login via Gitea) — /auth/login, /auth/callback, /auth/logout
- Token par utilisateur stocké en BDD (user_tokens table)
- Session signed cookies (itsdangerous) — 7 jours
- CSRF protection middleware sur tous les POST/PUT/PATCH/DELETE
- Rate limiting in-memory (60 req/min par IP, configurable)
- Fallback mode sans OAuth: connexion automatique en tant qu'admin
Added — Issue Creation & Editing (v0.5.0 partial)
- Création d'issues depuis FlowDeck (POST /api/issues/{owner}/{repo})
- Formulaire inline avec labels, milestone, assignee
- Édition de titre inline (PATCH /api/issues/{owner}/{repo}/{issue_id})
- Card metadata: priority + due date (POST /api/card/{owner}/{repo}/{issue_id})
Added — Webhooks (v0.4.0)
- Endpoint webhook receiver: POST /api/webhook
- Signature HMAC-SHA256 verification
- Gère: issue opened/closed/labeled/deleted, PR, repository
- Auto-registration: POST /api/webhook/register/{owner}/{repo}
- Webhook status: GET /api/webhook/status/{owner}/{repo}
- GiteaClient: list_webhooks, create_webhook, delete_webhook
Added — Card Detail + Checklists (v0.5.0)
- Modal détail carte (double-clic): description, labels, assignee, milestone, commentaires
- Checklists avec items checkable + ajout/suppression inline
- Priorités (Low/Medium/High/Urgent) + dates d'échéance éditables
- Commentaires Gitea affichés dans le modal
- GET /api/issues/{owner}/{repo}/{issue_id} — détail complet
- GET /api/collaborators/{owner}/{repo} — pour assignee picker
- Bouton "🔔 Webhook" pour enregistrer le webhook Gitea
Stack
-
- itsdangerous (signed sessions)
-
- slowapi (rate limiting, optional)
-
- starlette SessionMiddleware pour OAuth2 state
[0.2.0] — 2026-07-08 — "FlowDeck"
- Dashboard + Board Kanban + Gitea sync + Notes + Docker
[0.1.0] — Kanbante (non publié)
- MVP initial