- 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
46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
# 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
|