Bac à sable superadmin, accusés de lecture, modération, poste de travail
Samuel ADONE+1: Claude Opus 5
3e637ac
Bac à sable : les 20 comptes et 6 groupes `test_` deviennent un festival
fictif réservé au superadmin. Ils ne peuvent plus se connecter — l'écran
d'accueil les traite comme des numéros inconnus — et disparaissent de
l'annuaire, des conversations, des statistiques et du tableau de bord. Le
superadmin y écrit au nom d'un compte fictif et peut déclencher la lecture
par tout le groupe, pour voir basculer les accusés sans second téléphone.
Accusés de lecture : une coche à l'envoi, deux à la remise, deux en cyan à
la lecture ; appui long pour la liste nominative. Aucune table d'accusés —
/receipts renvoie le last_read_id de chaque membre et le client compare. La
version stockée aurait pesé 700 000 lignes à la charge visée.
Modération : vocabulaire surveillé (accès gratuit, revente, insultes) en
trois passes — normalisation des accents et chiffres-substituts, sous-chaîne
sur le texte compacté, distance d'édition bornée. « gr4tuit », « g r a t u i t »
et « gratuiit » sont reconnus. Le messag…
Inscription libre, import de tableur, épinglage, signalement, jeu de test
Samuel ADONE+1: Claude Opus 5
2bc5c2a
Inscription : un bénévole crée son compte même si son numéro n'a jamais été
enregistré. Le compte naît sans groupe et ne peut pas être superadmin ; les
superadmins sont notifiés pour l'affecter. SELF_REGISTRATION=0 restaure la
liste blanche seule.
Import : POST /api/admin/users/import lit un .xlsx ou un .csv et retrouve seul
les colonnes prénom / nom / téléphone (en-têtes français accentués, colonne
« Nom complet », numéros abîmés par Excel, séparateur point-virgule, CP1252,
absence d'en-tête). Aperçu avant écriture, colonnes corrigeables à la main.
Rôles : l'admin de groupe ajoute et retire des bénévoles et épingle les
messages ; seul le superadmin distribue le rôle d'admin. Nouveau signalement
de compte, distinct du blocage, et recherche d'annuaire par numéro espacé.
Stockage : `meta` filtré champ par champ pour qu'aucune image ne puisse être
écrite en base, rétention calée sur la cible réelle (500 messages/groupe,
30 jours), requêtes agrégées sur les écrans rechargés en permanenc…
Add keep-alive script to stop the Space from sleeping
Samuel ADONE+1: Claude Opus 5
f7fa177
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>