21 Commits
Author SHA1 Message Date
bruno 90b94e653e refactor: backend port 8000 → 7000 pour eviter conflits applicatifs
CI / Lint & Format (push) Failing after 16s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 17s
CI / Docker Build (push) Has been skipped
- Dockerfile: EXPOSE + CMD uvicorn --port 7000
- app/config.py: PORT default 8000 → 7000
- nginx default.conf: 6x proxy_pass backend:8000 → backend:7000
- docker-compose.prod.yml: BACKEND_PORT default 8001 → 7000, internal 7000
- docker-compose.yml (dev): 8000:8000 → 7000:7000
- imago-admin/docker-compose.yml: VITE_API_BASE_URL + port mapping → 7000
- .env.example: BACKEND_PORT=8001 → 7000
- deploy.sh: defaults + invites port 8001 → 7000
2026-08-06 11:40:18 -04:00
bruno 317c73407e Fix dropdown menu: use React portal to render outside table overflow
CI / Lint & Format (push) Failing after 8s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
- createPortal renders menu at document.body level, bypassing all
  parent overflow/scroll containers
- Fixed positioning calculated from button's getBoundingClientRect()
- menuButtonRefs map ensures correct position per row
2026-06-25 22:13:11 -04:00
bruno 009e42b3e2 Fix dropdown menu clipping: remove overflow-hidden from clients table card
CI / Lint & Format (push) Failing after 12s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
2026-06-25 21:57:05 -04:00
bruno 92cf23dbb3 Live AI provider/model switching without restart
CI / Lint & Format (push) Failing after 8s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
Backend:
- RuntimeAIConfig singleton: mutable in-memory overrides for provider/model
- PATCH /admin/api/ai/config: change active provider/model on the fly
- GET /admin/api/ai/config: read current runtime state
- ai_vision.py: uses runtime_ai_config before falling back to settings
- health/status endpoints reflect runtime overrides

Frontend:
- 'Définir comme actif' button in AI config section
- Live feedback message on save
2026-06-25 11:07:17 -04:00
bruno 7dd26ea636 Fix unused Images import
CI / Lint & Format (push) Failing after 14s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 16s
CI / Docker Build (push) Has been skipped
2026-06-25 10:56:31 -04:00
bruno c1f0492124 Fix ClientDetail: use ImageLoader instead of static icon for thumbnails
CI / Lint & Format (push) Failing after 18s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
2026-06-25 10:54:19 -04:00
bruno 8ce64c8578 Fix unused import and variable in AIConfigSection
CI / Lint & Format (push) Failing after 13s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
2026-06-25 10:33:36 -04:00
bruno 9bb440707c AI Vision: multi-provider config, model testing, per-client AI preferences
CI / Lint & Format (push) Failing after 11s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
Backend:
- Add ai_provider + ai_model columns to APIClient model
- New admin_ai router: GET /admin/api/ai/status + POST /admin/api/ai/test
- Update ai_vision.py: provider_override + model_override support
- Update pipeline: load client AI prefs for image processing
- ClientUpdate/ClientResponse schemas include ai_provider/ai_model

Frontend:
- New AIConfigSection component: provider list, model dropdowns,
  test button with live results (no page refresh needed)
- AI types (ai.types.ts) + API (api/ai.ts)
- APIClient types extended with ai_provider/ai_model
2026-06-25 10:30:50 -04:00
bruno 1260a46c7c Add /files/ proxy in nginx config for signed URLs
CI / Lint & Format (push) Failing after 8s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
2026-06-25 10:01:11 -04:00
bruno 4085902ad4 Fix unused get param in auth.store.ts
CI / Lint & Format (push) Failing after 12s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 12s
CI / Docker Build (push) Has been skipped
2026-06-25 08:25:32 -04:00
bruno 1e36216349 Fix remaining anthropic→ai references in TypeScript types and Dashboard
CI / Lint & Format (push) Failing after 8s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
2026-06-25 08:23:19 -04:00
bruno f5de66f848 Fix AI env passthrough and health check key mismatch
CI / Lint & Format (push) Failing after 11s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
- docker-compose.prod.yml: add env_file to inject full .env into backend
  container (AI_ENABLED, AI_PROVIDER, OPENROUTER_API_KEY, etc. were missing)
- Config.tsx: fix health check key from 'anthropic' to 'ai'
  (backend returns checks.ai, not checks.anthropic)
2026-06-25 08:16:28 -04:00
bruno 7787d6db98 fix: persistance du login admin via localStorage (zustand persist)
CI / Lint & Format (push) Failing after 1m3s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
2026-06-23 16:09:20 -04:00
bruno a8eeb6394a feat: ajout images:delete dans scopes, édition client dans ClientDetail
CI / Lint & Format (push) Failing after 8s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
2026-06-23 15:55:07 -04:00
bruno 8e9c600aa3 fix: admin voit toutes les images, ajout images:delete par défaut, filtre client_id pour admin
CI / Lint & Format (push) Failing after 9s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
2026-06-23 15:35:42 -04:00
bruno ee2abc344c Fix nginx: add IPv6 listen [::]:80 to fix connection reset
CI / Lint & Format (push) Failing after 1s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 1s
CI / Docker Build (push) Has been skipped
2026-06-22 22:34:24 -04:00
bruno e965e44e89 Fix admin nginx: listen on port 80 instead of 3000 (match docker-compose port mapping)
CI / Lint & Format (push) Failing after 1s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 1s
CI / Docker Build (push) Has been skipped
2026-06-22 22:23:39 -04:00
bruno da69b786d3 Fix S3 credentials and remove duplicated worker service
CI / Lint & Format (push) Failing after 9s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 7s
CI / Docker Build (push) Has been skipped
2026-06-22 18:55:39 -04:00
bruno d323ed98e5 T1-T4: tests de resilience, SDK PyPI ready, worker docker-compose, fix compat tests
CI / Lint & Format (push) Failing after 10s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
2026-06-22 16:49:39 -04:00
bruno 0d2ecbd218 Upgrade configuration and Docker stack to v2.0.0 2026-06-22 14:49:56 -04:00
bruno 2f2a5e9b4a Add admin panel, WebSocket support, and API versioning
CI / Lint & Format (push) Failing after 28s
CI / Tests (push) Has been skipped
CI / Security Scan (push) Failing after 8s
CI / Docker Build (push) Has been skipped
Introduce an admin portal (React + Nginx), WebSocket routing, and
API versioning middleware with `/api/v1/` prefix deprecation.
Add master API key authentication, new Prometheus metrics for AI
token consumption and active WebSockets, and extend S3 config
with a public endpoint URL. Update test paths and fixtures to
align with the new routing structure.
2026-06-22 11:25:22 -04:00