---
title: "STATUS — VFJah_Messenger — 2026-06-29"
date: "2026-06-29"
time: "09:00"
author: "agent"
tags: ["status", "vfjah"]
template: blog
status: pub
source_origin: "clone"
source_path: "clone1:status/2026-06-29-status-vfjah.md"
---

# STATUS — VFJah_Messenger

_Article généré automatiquement depuis 03-poc/VFJah_Messenger/STATUS.md — 2026-06-29_

# STATUS — VFJah Messenger

**Etat :** ligne stable `0.3.x` (package observe: `0.3.71`) · prod `msn.vfg.lol` · legacy maintenu pendant la refonte `1.x`

## Programme Refactor
- Ce depot reste la ligne **legacy stable** et developpable.
- La refonte majeure vit dans un **repo Git autonome prive** : [VFJahMsnPlus](https://github.com/FGDidou/VFJahMsnPlus) (extrait du bootstrap `VFJah_Messenger_vNext/`).
- La cible de la nouvelle ligne est **`1.3.0`**.
- **Avancee 2026-06-28** : Vague 1 (contrats) + Vague 2 (backend par domaine) + Vague 3 partielle (UI) livrees. Produit testable end-to-end (`npm start`), 52 tests verts. Detail : [docs/articles/2026-06-28-vfjah-vnext-backend-ui-build.md](docs/articles/2026-06-28-vfjah-vnext-backend-ui-build.md).
- **Avancee 2026-06-29 (Session 2)** : Studio frontend (editeur, preview WS, publish/rollback, scene, widgets, onboarding), hardening final (CSRF, PoW, rate-limits, backup, readyz, maintenance), CI/CD, **133 tests verts**. Detail : [docs/articles/2026-06-28-vfjah-vnext-session-closure.md](docs/articles/2026-06-28-vfjah-vnext-session-closure.md).
- Le canon de transition est dans [docs/refactor-transition/README.md](docs/refactor-transition/README.md).

## ✅ Fait
- **v0.3.69** — Gamification : affinité par contact + badges Wizzeur + memes Lulu (`ui/affinity.js`)
- **v0.3.69** — Refactor `server.js` → modules (`hub.js` / `ws-handler.js` / `routes/*`) · cache-bust SW v2
- **v0.3.68** — PWA installable (manifest + SW + icons 192/512 + meta tags) · Chrome/Safari → « Ajouter à l'écran d'accueil »
- **v0.3.68** — Electron 32 Desktop thin client (`msn.vfg.lol`) · NSIS Windows · DMG Mac · AppImage Linux
- **v0.3.68** — tests automatisés PWA/Electron (`test/pwa.test.js`)
- Schéma SQLite complet (comptes, contacts/groupes, conversations, messages, bridges)
- Hub Fastify : REST + WebSocket + rate-limit login/register
- Hash mots de passe **argon2id** (legacy sha256 encore vérifié)
- Temps réel : présence réelle WS, chat, nudge/wizz, typing, **salons IRC join/leave/historique**, fichiers (data-url)
- Messages hors-ligne, blocage, **demandes contact pending** (accept/reject)
- UI : pastilles ponts live, avatar image, **panneau Salons + navigation mobile single-pane**, pending banner
- **Compte `fg@vfjah` auto** au boot hub + contact mutuel pour tous les comptes
- Bot `didou@vfg` : **welcome 1er message** · ingress `INGRESS_TOKEN` + `BOT_BIND`
- Telegram → ingress didou · adapters Discord/Matrix/WhatsApp (squelettes)
- Connecteurs : Pulse + **VFVFGPT** + **IdeaPit** (`scripts/connectors/*.mjs`)
- Panel admin : liaison bridges + monitoring
- Workspace SSOT : `workspace.manifest.json` + ports-registry 5210/5211
- Docker/WSL doc · CI GitHub (test + audit) · assets audio WAV
- **Preprod portable** : stack **WSL uniquement** (`scripts/wsl-fix-perms.sh`) · volume `vfjah_messenger_vfjah-data` · funnel `:5210`
- UI : **login/inscription unifiés** (`/api/auth`) · GIF/URL cliquables · mobile filtres contacts · maintenance hotfix
- WS client : reconnexion avec backoff + invalidation session (fix loop Tailscale)
- API salons : `GET /api/rooms/browse` · `POST /api/rooms/:id/leave` · events WS `room_event`
- **Hotfix v0.3.8 historique** : pagination `?before=` · cache **IndexedDB** · restore fenêtres · « charger plus anciens »
- **v0.3.9–0.3.35** : couleur fenêtre MSN · emotes animées + palette complète · Wizz composer · WebRTC appels · skin tactile iPad · anti-spam maintenance 429 · **patch notes** refetch+badge+cache-bust
- **v0.3.19 #bettermsn → IdeaPit** : `bettermsn.js` · proxy `/api/ideas` · UI 💡 · bot `idees` · workflow orchestrateur
- **Hotfix deploy** : `npm run hotfix:deploy` OK Windows (tar relatif) · prod v0.3.35 live
- **Docs audit** : `docs/project-audit.md` · `docs/io-review.md` (2026-06-16)
- **`.dockerignore`** : exclusion `scripts/prod-*` (sondes credentials hors image)

## 🔜 Backlog

### IdeaPit → INBOX (hybride · sprint 16–30/06)

SSOT hub : `VFVFGPT/data/workspace-backlog.json` · workflow : [BETTERMSN-IDEAS-ORCHESTRATOR.md](docs/workflows/BETTERMSN-IDEAS-ORCHESTRATOR.md)

| Priorité | ID | Tâche | Mode |
|----------|-----|-------|------|
| P0 | INBOX-18 | Cooldown wizz | manual + holy hotfix | **v0.3.39 prêt deploy** |
| P1 | INBOX-35 | Persistance dimensions fenêtres | manual |
| P1 | INBOX-34 | Clic notif → conversation | **auto** |
| P1 | INBOX-13 | Quitter salon ≠ wizz | **auto** |
| P1 | INBOX-28 | Emotes animées + fan offset | manual |
| P1 | INBOX-31 | Couleurs UI salons/fenêtres | manual |
| P1 | INBOX-02 | ID unique compte | manual |
| P1 | INBOX-30 | Perf connexions lentes | manual (spec d'abord) |
| P2 | INBOX-36 | Wizz OSC RGB | manual |
| P2 | INBOX-24 | Biblio GIF + pack 88x31 | manual |
| P2 | INBOX-25 | Memes Lulu unlock | manual |
| P2 | — | Mobile Android (APK) | Capacitor 6 — `cap add android`, `server.url=msn.vfg.lol` |
| P2 | — | Mobile iOS (IPA) | Capacitor 6 + Xcode — macOS requis |

**Rituel** : chaque livraison VFJah = `npm test` → bump patch → CHANGELOG-USER → `hotfix:deploy` → patch notes 📋 sur msn.vfg.lol.

### P0 (infra)
- [ ] Plan hardening **S3** (WS token header) + **S6** (CORS restreint) avant Internet
- [ ] **VPS-CD-07** — poser `TELEGRAM_BOT_TOKEN` prod dans `env/vfjah.env` (**FG**)

### P1
- [x] io-review (`docs/io-review.md`)
- [ ] Ingress VFGate / Hero E2E (POST adapters send → didou → UI)
- [ ] Spec wizz avancé (**FG**)
- [ ] CI : retirer ref branche `master` (`.github/workflows/ci.yml`)

### P2
- [ ] Gateways Discord / Matrix / WhatsApp
- [ ] Sessions persistantes + TTL (S4)
- [ ] Export JSON périodique BDD → backup externe
- [ ] CI/CD GHCR publish
- [ ] Quest sync stubs Matrice/Gandalf (post-orchestrateur)

## ⚠️ Notes
- `INGRESS_TOKEN` recommandé sur LAN/Tailscale (`BOT_BIND=0.0.0.0`)
- Sessions en mémoire (redémarrage hub = re-login)
- **Ne pas lancer Docker Desktop ET WSL compose en parallèle sur `:5210`**
- Restore BDD volume : backup `docs/backups/vfjah-db/` · script `wsl-fix-perms.sh`
- Cache navigateur IndexedDB (`vfjah-msg-cache`) : complément local, pas remplacement SQLite serveur
- Audit canon : [docs/project-audit.md](docs/project-audit.md) · I/O : [docs/io-review.md](docs/io-review.md)

## Grille test Lot 0 (2026-06-20)

| Test | Local | Tailscale |
|------|-------|----------|
| Login 2 comptes | npm test/smoke PASS | à valider FG |
| Chat temps réel | OK | WS fix appliqué |
| Nudge / typing | OK | — |
| Offline delivery | test auto | — |
| didou ping/pong | OK | — |
| Pulse relay | connecteur OK | — |
| Admin services | OK | — |
| #bettermsn → IdeaPit | tests unitaires PASS | E2E orchestrateur à valider |
| Appels WebRTC salon | 131/131 tests PASS | — |
| Voix truquée / vidéo-actions | tests unitaires PASS | — |

## Frontiere Legacy
- Autorise dans cette ligne: bugfix, hardening minimal, compat, docs, exploitabilite, maintenance.
- A eviter dans cette ligne: gros refactor structurel, nouvelle architecture front, nouveau studio live, moteur de regles vNext.
- Le handoff vers la refonte est dans [docs/refactor-transition/LEGACY-TO-VNEXT-HANDOFF.md](docs/refactor-transition/LEGACY-TO-VNEXT-HANDOFF.md).
