Ajouter EmailTemplatePreview modal
S'ouvre sur la prévisualisation de l'action en ligne. Dossier par l'intermédiaire de templateApi.preview(); résultat affiché dans une iframe bac à sable pour l'...
Supprimer EmailGeneralManager.tsx non utilisé (560 lignes de code mort)
Le composant n'a jamais été importé nulle part. Ses bascules (boque maniabilité, le non-sabonnement, le suivi de la livraison, par défaut à partir du courrier é...
Ajouter templateApi et categoryApi et variableContracts clients modules clients
S'enroue sur les scripts de la SP1/api/courriers/mesure/- les critères d'évaluation avec les assistants de typeScript dactylographiés. variableContracts miroirs...
Wire EmailTemplateSeedClient dans
Client de Thin RestTest que POST est à EmailService Après un org et propriétaire TeamMember sont ont persisté. Retrie deux fois avec le backoff; échecs lancer O...
Ajouter EmailTemplateCategoryController REST
- CRUD. Supprimer la réponse comprend reassignéCount - le nombre de modèles qui ne sont pas classés le résultat de la suppression de la catégorie. Contexte de l...
Ajouter EmailTemplateCritères de REST et DTO
Exposes /api/email/templates/- CRUD - prévisualisation - doublement - réinitialisation à défaut Service-to-service /send /seed-org/-org--org- Orgs de premier ni...
Ajouter InternalAuthFilter pour les critères d'évaluation de service à service
Validation de l'en-tête X-Internal-Auth sur /api/email/templates/send et /api/email/templates/seed-org/- chemins. D'autres chemins contournent ce filtre (La ses...
Ajouter EmailTemplateCategoryService et CRUD pour les catégories à champ d'application org
Nom insensible au casque d'unicité par org l'ordonnance appliquée au niveau de service (correspond à l'indice unique partiel dans le DB). Suppression nulls cate...
Ajouter EmailTemplateService et CRUD - envoyer - semence - réinitialisation à défaut
Orchestre principal pour le courrier électronique transactionnel. sendToUser résout le modèle, rend le sujet/corps, choisit le domaine principal de l'organisati...
Ajouter NoReplySenderService pour 'NoReply'domain' à partir de l'adresse
Source unique de vérité pour les courriers transactionnels à partir d'adresses. Accepte a chaîne de domaine, la sous-cassette la répercute, retourne "NoReply-do...
Ajouter TemplateRenderer pour la substitution de l'Avar
Cendleur de regex d'État. Les cuves manquantes remplacent la ficelle vide et émettre un journal WARN avec templateKey et orgId pour l'attribution. Pas d'échappe...
S'appendice à ce jourEntement, JS analysent donc JS en tant qu'UTC
LocalDateTime.toString() ne produit aucun concepteur de fuseau horaire, provoquant JavaScript's new Date() pour traiter la valeur UTC comme heure locale et affi...
Ajouter EmailTemplateSeedRunner for SYSTEM et par or ensemencement
S'exécute à l'Order (20) sur le startup KamoInitializerService. Charges canoniques modèles à partir de ressources de kamo-shared-library; upserts SYSTEM rows (n...
Convertir le seuil de minuit de PT en UTC pour la requête d'aujourd'hui
Les engagements sont conservés en UTC, mais la coupure était une période locale n'ayant pas de temps en ligne. PT, provoquant hier-soir, des engagements (00:00-...
Ajouter des index uniques partiels et des contraintes CHECK pour les e-mails-modèles
Hibernate ddl-auto ne peut pas générer d'indices uniques partiels ou de chèvre calculé contraintes. Cet engagement les ajoute via le idempotent idempotent DDL r...
Bump kamo-shared-library version à 1.2.0 pour les ajouts SP1
Ajoute EmailTemplate, EmailTemplateCategory, TemplateStatus, TemplateKeys, CanonicalTemplate, CanonicalTemplateLoader, et ressources HTML canoniques.
Ajouter CanonicalTemplateLoader et CanonicalTemplate record
Lire les trois modèles REQUIS (COMSEAU, PASSWORD-RESET, EMAIL-VERIFICATION) à partir des ressources de la voie de classe à Consommé par KamoInitializerService p...
Ajouter HTML canonique et JSON pour BIENVENUE, PASSWORD-RESET, EMAIL-VERIFICATION
Contenu de la source de la vérité pour les lignes SYSTEM. Chargement à KamoInitializerService démarrage par CanonicalTemplateLoader et UPSERTed dans e-mail-temp...
Renommer la réponse de la liste mailboxId et providerStatus-status dans la liste des boîtes aux lettres
Alignez les noms des champs avec les attentes frontales pour les listes de boîtes aux lettres membres.
Ajouter EmailTemplate entité et référentiel
Conserve une ligne SYSTEM par modèle-clé (org-id NULL, is-system TRUE) plus un clone par org par modèle. Soft-reference org-id/category-id. DB- les horodatages ...
Ajouter EmailTemplateCategory entité et référentiel
Catégories à criblage pour les modèles d'e-mails. Soft BIGINT org-id (pas de FK) correspond aux modèles existants. L'unicité du nom insensible au cas par or est...
Ajouter TemplateStatus enum et TemplateKeys constantes pour les modèles transactionnels
Déclare les états de cycle de vie REQUIS/CUSTOM/ARCHIVÉ et les trois clés de modèle requises (COMSEAU, PASSWORD-RESET, EMAIL-VERIFICATION). Contrats variables p...
Semener KamoCRM avec All-WORK-ELIGIBLE sur des installations fraîches
L'aide createOrg() applique cet argument unique aux deux AgeReqTypeMembre et âgeReqTypeTeamMembre ; cohérent avec convention de la plate-forme. Assaisonnant ave...
Serre KamoCRMAgeReqUpdateRunner par avis
- Rétablir le paragraphe de Javadoc expliquant la justification de l'ordonnance(10). - Le test fait maintenant référence à la constante UPDATE-SQL directement a...
Ajouter un coureur à usage unique pour migrer KamoCRM agereq à All WORK-ELIGIBLE
MISE À JOUR conditionnelle idémpotent s'exécute au démarrage du service; LORS, les contrôles de la clause l'ancienne valeur attendue, de sorte que les rediffusi...
Remplacer toutes les instances de logo du filtre CSS par le SVG blanc
Navigation, sous-navigation, piètre, sous-déchargeur et préchargeur tous utilisés le même motif de luminosité de filtre cassé - 0 inversion. Remplacé par Logo-p...
Utiliser le logo SVG blanc dans le pied de page au lieu du filtre CSS
Même solution que le filtre nav et CSS sur img à l'intérieur du filtre de fond est peu fiable sur iOS Safari.
Procès-maître de couleurs avec z important contre le thème CSS
DynamicMetaLoader peut injecter des CSS distants qui gagnent la cascade. Ajout Le noir ne peut jamais être supplanté par des feuilles de style à thème.
Exclure les liaisons pieds pieds et nav de l'application de la jambe de force TouchOptimized min-height
TouchOptimisé était le réglage minHeight:44px sur tous les éléments 'a' plus court que 44px, y compris les liaisons de nav en pied de page (de hauteur de 20px)....
Utiliser le logo blanc SVG pré-rendu au lieu du filtre CSS
Le filtre CSS sur img à l'intérieur du filtre de fond n'est pas fiable sur iOS Safari. Générez le logo-plein-blanc.svg avec tous les remplissages mis à 'fffffff...
Variante en mode sombre à la requête multimédia basée sur la classe, jamais OS
Tailwind v4 par défaut est sombre: les utilitaires à répondre au régime de couleurs préférées (S. préférences). La dérogation de la variante assure l'obscurité:...
Utiliser le style de filtre en ligne sur le lien du logo pour un rendu blanc fiable
Les classes de filtres à vent sur les éléments img sont incohérentes entre les navigateurs mobiles. Le style en ligne sur l'élément d'ancrage garantit que la lu...
Forcer le régime de couleur foncé de sorte que le navigateur n'applique jamais le rendu du mode de lumière
Passage de "lumière seule" à "dark" dans globals.css, générerViewport, et le style d'élément html - cela empêche le navigateur de rendre les SVG et l'UI native ...
Empêcher le logo de rendre derrière la rangée nav sur mobile
L'enveloppement avec filtre CSS a créé un nouveau contexte d'empilement qui est en conflit. avec le filtre de fond de l'en-tête sur les navigateurs mobiles, ce ...
Résoudre la barre de défilement et la coupure mobile sur JumpToBar et PreviewBanner
- Ajouter déversé: caché dans le récipient intérieur JumpToBar pour empêcher la barre de défilement verticale - Permettre au contenu de PreviewBanner de s'enrou...
Remplacer l'espace-y-4 par l'intervalle de flexf en ligne sur les listes de liaisons de pied de page
Tailwind space-y-4 utilise: où() (spécificité 0) qui raye avec CSS le chargement sur rafraîchissement dur entraînant un espacement vertical incohérent. En ligne...
Régler Traefik externalTrafficPolicy-Local pour préserver l'IP client
Avec la politique "Cluster" par défaut, le traffic externe kube-proxy SNATs au code IP du nœud avant de le transmettre à Traefik. Cela a amené Traefik à voir le...
Ajouter une demande manquanteClé d'intégration i18n dans tous les endroits
Le bouton "Soumettre une demande" sous le "Nouver une intégration personnalisée?" CTA sur/les intégrations retomaient à la clé brute Parce que la clé n'était dé...
Logos d'intégration et métadonnées précises/d'intégration
Les pages d'intégration et le centre affichent désormais des logos de fournisseurs (recours aux versions existantes) - Avoirs de la page d'accueil TechStackBann...
Étendre/intégration à tous les fournisseurs inscrits sur la liste des pages d'accueil
Alligne la page /intégrations sur les intégrations réelles exposées par la page d'accueil (TechStackBanner). Ajout de 28 nouvelles pages d'intégration ce que le...
Page de l'industrie des courtiers hypothécaires à domicile
Nouvelle page de la solution de l'industrie à l'adresse /solutions/courtiers hypothécaires hypothécaires les courtiers et les initiateurs de prêts. Suive la pla...
Marketing honnête - aligner les pages sur les capacités réelles de la plate-forme
Examen complet des pages de commercialisation par rapport aux capacités réelles des produits KamoCRM. Suppression des allégations fabriquées de toutes pièces co...
Ajouter 92 pages et industries SEO, intégrations, glossaire
Implique le niveau 1 du plan d'expansion du contenu SEO: trois nouveaux contenus des sous-systèmes avec un total de 92 nouvelles URL expraiblissantes plus 3 pag...
Ajouter géo-base-url à l'analyse-secret pour la recherche de géolites CockroachDB
Kamo Analytics utilise cette URL pour consulter le visiteur IP-country/région/cité à partir des tableaux de l'adresse. Utilise l'utilisateur de kamo avec plaisa...
Comme ce que tu vois expédier ?
Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.
