Compare commits

..

2 Commits

Author SHA1 Message Date
ccacd16edb Merge remote-tracking branch 'origin/main'
# Conflicts:
#	backend/src/lib/redis.ts
#	backend/src/routes/messages.ts
#	frontend/src/composables/useMessages.ts
#	frontend/vite.config.ts
2026-05-31 14:20:29 +02:00
raphael.thieffry
fdce9e4eb8 feat: live messages via SSE + real client IP
- backend: SSE endpoint /api/messages/stream backed by Redis pub/sub
- backend: read real client IP via getConnInfo (fallback for x-forwarded-for)
- backend: CORS allow any origin (dev: LAN access from phone)
- frontend: useMessages subscribes via EventSource, auto-reconnect, merges new messages/replies live
- frontend: vite host:true to expose dev server on LAN

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 13:53:12 +02:00
2 changed files with 2 additions and 1 deletions

View File

@@ -25,7 +25,7 @@ app.use("*", logger());
app.use(
"*",
cors({
origin: ["http://localhost:5173"],
origin: (origin) => origin ?? "*",
allowMethods: ["GET", "POST", "OPTIONS"],
allowHeaders: ["Content-Type"],
})

View File

@@ -11,6 +11,7 @@ export default defineConfig({
},
server: {
port: 5173,
host: true,
// Le projet vit sur /mnt/c (disque Windows) mais Vite tourne dans WSL :
// l'inotify natif ne reçoit pas les événements de fichiers Windows, donc le
// HMR ne se déclenche jamais. Le polling règle ça de façon fiable.