Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-shared-library
Ajouter 7 droits d'accès au module (ID 112-118)
ACCESS-COMMERCE, VEW-CALENDAR, ACCESS-CHAT, ACCESS-MAIL, ACCESS-VOIS, VUE-SUPPORT, VUE-ANALNALYSE
· SecurityService
Passer le délai d'expiration lisible par l'homme au modèle de vérification des courriels
Ajouter l'aide humanizeMinutes() qui met en forme les minutes en jours/heures/minutes (par ex. "1 jour" pendant 1440 min). Passe sous forme de «expiryText» pour correspondre à la mise à jour variable de modèle canonique.
· kamo-shared-library
Améliorer le modèle de vérification des e-mails et la récupération URL, le texte d'expiration, le sujet
- Ajouter un lien de vérification en texte clair sous le bouton en tant que copier-pâte de secours - Passer la variable d'expiration de l'expiration de M. . . . . . . . . . . . . . . . . . . . . Forme lisible par l'homme (par ex. "1 jour" au lieu de "1440 minutes") - Mettre à jour sous réserve de "Vérifier l'e-mail associé à votre compte 'orgName'"
· kamo-internal
Sétérialiser le HTML de courrier électronique complet avec une trame externe sur le modèle
- SerializeFullEmailHtml enveloppe des blocs intérieurs dans le cadre extérieur de marque (logo de l'en-tête, titre/sous-titre, zone de contenu, logo de bas de page et nom d'orge) utiliser des URL absolues afin que les clients de courrier électronique puissent aller chercher les images - Les paramètres de cadre extérieur (options de logo, titre, sous-titre) sont sauvegardés à bodyBlocks.outerFrame et restauré sur la charge du gabarit - handleSave utilise maintenant serializeFullEmailHtml donc envoyé correspondent à la Avant-première du constructeur
· SecurityService
Ajouter un chemin de vérification de courrier électronique basé sur le code à /verify-email endpoint
Le point d'extrémité gère maintenant à la fois le jeton (clic de liaison) et le code utilisateurId (entrée manuelle à 6 chiffres). Chemin de jeton inchangé; le chemin de code hachage le un code fourni et des correspondances contre le jeton actif pour cet userId.
· KlusterServices
Ajouter un pruneau hebdomadaire et un aspirateur journalier CronJob pour k1m1
CronJob se déroule tous les dimanches 3 heures du matin, privilégié, épinglé à k1m1. - crictl rmi -prune enlève les images des récipients inutilisés - nsenter journal de vide impose un plafond de 500 Mo - Étape CI/CD ajoutée pour flux de travail des services de déploiement
· KlusterServices
Ajouter l'étape de déploiement des documents au flux de travail
· kamo-register
Exiger la page de vérification avant chaque tentative de vérification/résenté en arrière
est réinitialisé après chaque action (succès ou échec) donc un nouveau la résolution est nécessaire pour chaque tentative ultérieure.
· kamo-register
Renommer /réserverification page de /verification
· kamo-register
Add/resend-verification page pour les redirecteurs de connexion
Crée une route autonome/résenté par vérification qui accepte ?email et ?userId requêtes params, réutilisant PostCompletionScreen pour un écran cohérent vérification par courrier électronique UX. Fabrique RegisterResponse.alias facultatifs, de sorte que page fonctionne sans alias d'enregistrement disponible.
· kamo-register
Reconception de l'écran de vérification des e-mails et correction de l'e-mail bug
- PostCompletionScreen: mise en page intégrale avec un orge animé, Carte de vitrmorphisme, logo, boîtes à code visuelle à 6 chiffres, réussite/états vérifiés - resendVerification: passez l'e-mail dans l'organisme de demande (le backend l'exige)
· kamo-register
Entreposage d'avatars kamo-internal '3 tailles, MinIO, étape de téléchargement séparée
Le dialogue de fond produit maintenant trois blobs PNG (50/150/350px) via une toile, identique à l'AvatarManager de kamo-internal. Après l'enregistrement, l'utilisateurId, les blobs sont POSTed to (nouveau critère d'évaluation non authentifié) AvatarUl n'est plus envoyé dans l'enregistrement Corps JSON. L'échec du téléchargement de l'avatar est non mortel pour que l'enregistrement soit toujours terminé.
· SecurityService
Ajouter le point d'extrémité de la photo-photo pour le téléchargement d'avatars non authentifiés après l'enregistrement
POST - accepte userId - file/fileSm/fileMd/fileLg sans session. Gardes: l'utilisateur doit ne pas être vérifié et ne pas avoir d'avatar encore, en prévenant les abus contre les comptes existants. Stocke les fichiers dans MinIO avec la même structure de chemin et des variantes calibrées comme le point d'extrémité authentifiée /avatars/photo.
· kamo-login
Remplacer l'erreur EMAIL-NOT-VERIFIED par une carte de vérification riche
Lorsque la connexion échoue avec EMAIL-NOT-VERIFIED, la carte de connexion est désormais remplacée par un écran poli "Vérifier votre boîte de réception": enveloppe animée SVG avec rabat ouvrant et Éclisses flottantes, affichage masqué, bouton resend-e-mail avec une vitesse de 30 secondes Bague de compte à rebours SVG, alertes de retour de succès/erreur/limite de réduction, et un « Back to le lien de signature. Toutes les transitions utilisent AnimatePresence avec scale-fade. - app/api/login/route.ts: passez tous les champs d'erreur backend (et pas seulement le message) de sorte userId atteint le client - Nouveau mandataire à l'égard de SecurityService - - app/page.tsx: composant EmailVerifyCard, emailVerifyState / resendLoading / resendCooldown / resendStatus state, resendVerification callback, 30-seconde Utilisation du refroidissementEffet, EMAIL-NOT-VERIFIED detection in performLogin
· kamo-register
Étendre le téléchargement de photos à l'appui des formats AVIF et SVG
Ajoute image/avif et image/svg-xml à la liste d'acceptation de l'entrée du fichier et validation regex. Met à jour l'étiquette pour répertorier les six formats. kamo-internal accepte déjà l'image/- donc aucun changement n'est nécessaire là-bas.
· kamo-register
Ajouter l'éditeur de photo de réact-faille à l'étape de téléchargement d'enregistrement
Mirre le PhotoCropDialog de l'AvatarManager de kamo-internal: - le dialogue de culture s'ouvre immédiatement après la sélection du fichier - panoramique par traînage, zoom via le défilement ou le curseur (1 à 5 euros) - le guide de recouvrement circulaire en pointillés indique la superficie cultivée - la toile produit un 400 x 400 PNG stocké sous forme d'avatar de base64Url - re-campiser le bouton sur l'aperçu permet à l'utilisateur de s'ajuster après l'enregistrement
· kamo-register
Autodétection de l'itinéraire/api/géoip et du pays filaire
Proxine la recherche de l'IP client à SecurityService GeoLite2, puis définit le pays détecté dans FormMyCountry automatiquement sur le chargement des pages.
· SecurityService
Ajouter GET /api/security/geoip/me pour la recherche d'un pays IP client
Lire le vrai client IP à partir des en-têtes X-Forwarded-For / X-Real-IP, fait une recherche GeoLite2, et retourne - country-code, pays-nom - nom. Utilisé par l'étape d'auto-détection du pays du kamo-register.
· kamo-register
Remplacer h' par kamo-capcha-widget en ligne à l'étape d'arrivée
· kamo-register
Ajouter /api/capcha/chemin de procuration
· kamo-register
Ajouter kamo-capcha-widget vendeur, supprimer les paquets h
· kamo-register
SP6 enregistreur magicien refactor et split PersonalInfo, ajouter l'API d'enregistrement réelle
- Remplacer FormPersonalInfo par FormName (champs nominatifs) et FormAvatar (générateur Avatar Creator avec les modes de génération/upload/skip pour 13 ans) - Supprimer FormRecoveryEnforcement (champs de recouvrement retirés du flux) - FormPassportID de refactoriage à la présentation en double champ: alias toujours affichés, par courrier électronique uniquement pour 13 euros; rappels remplacent la fenêtre globale - Ajouter registerApi.ts avec dactylographié - Ajouter PostCompletionScreen pour la saisie du code de vérification des e-mails et la redirection de SIGNÉD-IN - Refactor RegisterFlow: liste des étapes dynamiques basée sur shouldIncludeAgeCheck et isUser13Plus, remplacer la poignée - Soumettre stub par un véritable appel API, rendre PostCompletionScreen sur le succès
· InitializerService
SP5 migrent KamoCRM agereq vers TOUS LES WORK-ÉLIGIBLE
Ajouter KamoCRMAgeReqUpdateRunner (ordre 10) et conditionnel idempotent UPDATE sur le démarrage; Où la clause vérifie l'ancienne valeur, de sorte que les re-runs sont nuls. Erreurs sont avalées, la startup n'est pas bloquée. Mettre à jour DataLoader pour ensemencer TALL WORK-ELIGIBLE sur les nouvelles installations.
· SecurityService
Mise en œuvre de la vérification des e-mails et du câblage d'enregistrement SP4
- Supprimer l'ancien courrier électronique/VerificationEmail.java (stupbou SMTP codée) - Ajouter (modèle de récupérage des miroirs) - Ajouter - - génération de jetons/SHA-256, envoyer/verifier/résoudre les flux supportés par - Ajouter - alias - e-mail, vérification des chèques uniques, création de l'utilisateur, déclenche la vérification par e-mail sur le registre - SecurityController: wire RegistrationService into /register endpoint, ajouter EMAIL-NOT-VERIFIED (403) sur la connexion, ajouter les critères d'évaluation POST/verify-email et POST /registr/registr/résentérage-vérification - Bump kamo-library à 1,40
· kamo-shared-library
Ajouter EmailVerificationToken entity et repo User.alias/emailVerified ' UserRepo'ses; bump 1.4.0 (SP4)
· InitializerService
Ajouter SP4 e-mail-verification-jetons DDL 'Utib: 'Upern alias/email-veil-Vérification des colonnes
· kamo-marketing
Ajouter le déni de responsabilité de marque au texte juridique en bas de page
· kamo-internal
Ajouter les paramètres des pages pour les questions de téléphone et de sécurité (SP3)
Ajout d'un câblage API à Service de sécurité/api/compte/. Synchronise la navigation sur les 3 sites.
· kamo-login
Appels d'API réels en fil dans /recover page (SP3)
Remplace tous les stubs FakeSubmit() par des appels RecoveryApi. Ajout SMS OTP phase de vérification, entrée de courrier électronique de démarrage, étape de mot de passe et atterrissage de jeton via ?token URL param.
· kamo-login
Ajouter/api/récupération proxy et recoveryApi client (SP3)

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise