Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· SecurityService
Translate de modification concomitante d'État IllegalStateException à 409 avec code
Associons à la modification de la serrure optimiste partagée: quand LoanPipelineService "Modifications concurrentes: rafraîchissement et essai", surface structurée zerror, code: "CONCURRENT-MODIFICATION" - corps de l'UI afin que l'UI puisse réagir avec un rafraîchir au lieu d'un toast d'erreur brute.
· kamo-shared-library
Optimistic-lock LoanFile.status pour prévenir les transitions de course
Des clics "Advance" simultanés pourraient tous deux écrire des jalons. Ajout de la version à la version Fichier de prêt et une chasse explicite dans LoanPipelineService.transition donc le Pare de défaillance OptimistiqueLock modification: rafraîchir et réessayer") pour que le contrôleur se traduise en 409.
· kamo-internal
Affichage des noms, éditeur de privilège REO, administrateur webhook, nettoyage des chaînes
Passage polonais alignant l'avant-valor sur les changements correspondants: - Les éléments rendent désormais les champs "MembreNim" résolu à partir du backend (acteur de l'étape de la section de la ligne de pipéline, état d'effacement/veillé attribution). - RéoSection : les privilèges sont désormais entièrement modifiables (il était en lecture seule avec un TODO). Nouveau LienRow avec type autosaved / prêteur / compte en dernier 4 / solde impayé / paiement mensuel / limite de crédit / ordre d'affichage champs, plus une basculement To-Be-Paid-Off et supprimer par ligne. - mortgageAppsApi gains createReoLien / patchReoLien / deleteReoLien et un adhésif séparéAbonnementsApi surface pour l'extérieur Admin de webhook. Page "Nouveaux /settings/Inscriptions/webhooks" : liste d'abonnement avec ajouter/éditer modal, action pivot-secret qui fait surface dans la nouvelle signature-secret lettre modale à la date de livraison par abonnement dialogue historique. - types/mortgageApp.ts gains - Champs MemberName, esignTemplateUid on EsignEnvelopeDTO, et le Webhook SubscriptionDTO / WebhookDeliveryDTO formes. - Chaînes anglaises à code dur nettoyées à travers PipelineSection, PipelineBoardClient, Section des informations, Section des prix, HmdaLarClient, et applicationsListClient - chaque label passe désormais utilisationTranslations().
· SecurityService
REO liens endpoints et contrôleur d'abonnement webhook
- Adresses hypothécairesControviseur : POST/-uid-/reo-/liens, PATCH /-uid-/reo-liens/-id-, DELETE /-uid-/reo-liens/-id-------------------------------------------- délégation aux nouvelles méthodes de liaison BorrowerSectionService de liaison CRUD. - WebhookAbonnement Confier le contrôleur sous pour la gestion par or de webhook sortant. Lire avec la lecture sur LOS-VIEW-PIPELINE ; écriture/rotate-secret/lettre gated sur LOS-UNDERWRITE-LOAN. Retourne le secret de signature exactement une fois sur créer / rotation-secret.
· kamo-shared-library
Résolution de nom, privilèges REO, vacances TRID, livraison de crochet web, lien ESignTemplate
Passage de vernis transversal à tous les sous-projets LOS: Résolution du nom de membre (MemberNameResolver): - Service unique de résolveur partagé qui suit la norme Kamo Préséance Utilisateur.name et Member.usernameAlias User.username et un lot de résolution All() pour les points d'extrémité de l'instantanés - Les DTO ont fait pousser les champs de gammies - MemberName à côté de chaque 'MemberId: LoanPipelineMilestoneDTO, LoanConditionDTO, LoanPricingSnapshotDTO, RateLockDTO, AusFindingDTO, DisclosureSetDTO, TridTimerDTO - LoanPipelineService, LoanConditionService, LoanPricingService et DisclosureService enrichit désormais tous les DTO restitués REO lien CRUD: - par l'intermédiaire de l'Organisation des Nations ReoLien et RealEstateOwned - Empruner - EmprunerPair - AppMortgage :: Rejoignez la voie à suivre par l'Organisation; - / mise à jourReoLien / deleteReoLien avec le modèle d'ordonnancement existant (exigeant le retournement) - Posttorer d'une hypothèqueInsente POST/-uid-/reoId-/liens, PATCH et DELETE sur /-uid-/reo-liens/-id Calendrier des fêtes fédérales TRID: - Sautent maintenant les vacances fédérales américaines par CFPB 1026,2 a)(6) plus week-ends. Couvre NYE, MLK, Présidents, Mémorial, juin (depuis le 21 juin), Indépendance, Labor, Colomb, Veterans, Thanksgiving, Noel avec la célébration du week-end de l'OPM les jours fériés à date fixe Livraison de Webhook sortant: - WebhookAbonnement et WebhookDelivery entités avec config parorg (URL cible, filtre de type événement, filtre pour sujet NATS, signature secrète, tentatives max, dernier succès/repérage d'échecs) - Webhook SubscriptionService pour CRUD avec whsec auto-généré signature de secrets, action de pivot-secret - WebhookDeliveryWorker s'abonne à los.pipeline sur NATS, correspond aux abonnements, aux POST avec la signature HMAC-SHA-256 dans le En-tête X-Kamo-Signature, se recherche avec un backoff exponentiel, écrits une ligne WebhookLivraison par tentative - WebhookAbonnementContrôleur sous pour l'abonnement CRUD, la rotation secrète et la liste des audits de livraison. Pour lecture, LOS-UNDERWRITE-LOAN pour l'écriture Signe électronique et lien vers le modèle ESignTampate existant (pas d'abstraction de nouveau fournisseur): - EsignEnvelope a augmenté esignTemplateUid FK à l'actuel - donc l'enveloppe de divulgation réuse la liste des signataires per-org et la conception des emplacements sur le terrain par ESigService. Le flux d'envois aux prestataires continue de vivre ESigService - pas de code de fournisseur dupliqué dans le paquet d'informations.
· kamo-internal
Prix, divulgation, HMDA LAR UI
Trois autres sous-projets expédiés bout à bout terme: Sous-projet 5 - Prix - Section AUS sur la page de détail: - Liste des instantanés de prix avec dialogue d'ajout (programme, investisseur, taux, APR, points, lock-days, term, source, note) - Liste des écluses à taux avec dialogue d'ajout (statut, date de verrouillage/expire, jours, taux, points) - Liste des résultats de l'AUS avec dialogue supplémentaire (moteur DU/LP/GUS, décision, Dossier de cas, classe de risque, charge utile de résultats bruts) Sous-projet 6 - Divulgations - Section TRID: - Divulgation avec déchéances de type/livraison et réceptions présumées affichage de la date - Téléchargement de documents par ensemble (multipart) avec téléchargement soutenu par MinIO via URL présignée - Enveloppes de signature électronique (stube agnostique du fournisseur) par ensemble - Liste des temporisateurs TRID avec mise en évidence tardive/due-in et "marque l'action satisfaite" Sous-projet 7 - HMDA LAR page at /applications/hmda-lar: - Filtre d'année, rafraîchissement, téléchargement CSV (Blob fetch et clic d'ancrage) - Table en lecture seule de 13 colonnes en miroir des spécifications FIG - Nouveau bouton HMDA LAR figurant dans l'en-tête de la liste des applications
· SecurityService
Contrôleurs pour les prix, les informations, HMDA LAR
Trois nouveaux contrôleurs REST sous /api/sûreté/mortgage-apps: - MortgagePricingController: clichés de fixation des prix, verrous tarifaires, résultats de l'AUS CRUD (souverain/prix, zuid-souver, zuid-constatations). - Dépositaire des prêts hypothécairesContrôleur : documents et documents (chargement multiple - URL MinIO présignée), enveloppes de signature électronique, TRID Liste des temporisateurs et satisfaire. - hypothèqueHmdaContrôleur: liste HMDA LAR JSON et CSV export (-hmda/lar- et 'hmda/lar.csv', filtre d'année optionnelle). Tous les contrôleurs réutilisent les droits de session standard - Admissibilité modèle du reste de la base de code.
· kamo-shared-library
Crois d'évaluation, états de référence, résultats de l'AUS, divulgations, minuteries TRID, HMDA LAR
Sous-projets 5, 6 et 7 dossiers d'origine ont été expédiés ensemble: Sous-projet 5 (prix et serrures): - LoanPricingSnapshot et cotations à l'annexe uniquement (programme, investisseur, taux, APR, points, jours de verrouillage) - RateLock et enregistrement de taux verrouillé avec statut, expiration, raison effacée - AusFinding et DU/LP/GUS enregistre un record avec décision et charge utile brute Nouveaux enums : RateLockStatus, AusKind, AusDecision - Service de tarification de la prêt pour CRUD dans les trois Sous-projet 6 (divulgations - TRID - stub e-sign): - DisclosureSet (LE/CD/etc.) avec méthode de livraison, supposée la date calculée via la règle de la boîte aux lettres (math du jour commercial) - DivulgationDocument soutenu par MinIO via le logiciel MinIOStorageService existant - EsignEnvelope - talon fournisseur-agnostique pour l'intégration future - TridTimer - les bras automatiquement lorsqu'il s'agit de questions LE/CD; aides pour A l'intention de procéder, la CD-reception du CD-DA doit être fixée - Publication des orchestres de services, téléchargement MinIO, présigné télécharger des URL, suivi des enveloppes et satisfaction de la minuterie Sous-projet 7 (HMDA LAR): - HmdaLarRecordDTO reflète la disposition de la FIG HMDA 2018 - HmdaLarService construit des lignes à partir d'entités URLA existantes et émet CSV avec un code correctif de champ approprié; HMDA Action Taken codes dérivés de LoanFileStatus
· kamo-internal
LOS pipeline UI et kanban, section de détail, admin de modèle
Premier plan principal 4, bout en bout: - /demandes/pipeline (PipelineBoardClient): kanban groupé par LoanFileStatus avec des couloirs hors rampe sous les colonnes du chemin d'accueil. Chaque carte suit l'emprunteur, le montant du prêt, le jour de l'état d'avancement, l'ouverture et les taux de toxicité des conditions de blocage. Le menu "..." propose l'avance/horsampe Détails ouverts; avance et hors rampe ouvrent la même transition dialoguer avec les radios légales du statut suivant extrait du cliché. La case à cocher d'annulation de l'assureur apparaît lorsque la flèche directe choisie neva pas les conditions de blocage. - /demandes (liste): nouveau bouton d'en-tête "Pipeline" roulage vers le roulage kanban; préserve la liste existante et les filtres. /applications/[uid: nouvelle section "Pipeline - Conditions" dans la nav (entre le résumé et le prêt et les biens immobiliers). La section combine actuellement statut, liste des conditions (ouverte/effronnée/wavoie avec ajout/clair/waive/ supprimer), le délai de prêt, et le même dialogue de transition. - par or modèle admin avec Liste CRUD, addition/mode (titre, description, catégorie, caractéristiques) jours de compensation, blocAdvancementDefault, displayOrder). - types/mortgageApp.ts: canalisation/condition/modèles DTO, Carte de LOAN-FILE-STATUS, aide-rampli. - app/lib/mortgageAppsApi.ts: méthodes client pour chaque nouveau critère d'évaluation.
· SecurityService
Prêt-putagationPipelinePutpresseur et LOS-PIPELINE
Expose le backend du pipeline LOS sous /api/sûreté/mortgage-apps: - Résumé GET/pipeline et kanban - GET /-uid/pipeline et instantané complet - POST/- zu-/transitions - effectuer une transition - GET /-uid/conditions et liste - POST /-uid-/conditions et ajout - PATCH /-uid-/conditions/----------------------------------------------------------- - POST /-uid-/conditions/-id/clear-------------------------------------------------------- - Dérogation à la marque (LOS-UNDERWRITE-LOAN) - DELETE /-uid-/conditions/----------------------------------------------------------- - GET/templates de conditions et liste - POST/temptes de condition et création - PATCH/condition-templates/------------------------------------------------------------- DÉLÉTÉ /templates de condition/----------------------------------------------------------- Les contrôles de droite utilisent le modèle standard des droits de session avec le nouveau LOS sessionData.GD contournement en tant que reste des contrôleurs. Le configmap tire la los-pipeline.- clés afin que les opérations puissent régler la NATS dédiée Nom du flux et filtre du sujet via env vars.
· kamo-shared-library
Machine à l'état de tuyauterie, conditions, gabarits, événements NATS
Sous-projet 4 (réseau de transport et flux de travail) du sous-projet de transport (réseau de travail): Nouveau régime de prêt enumConditionStatus (OPEN/CLAIRÉ/WAVE) - Nouvelles entités : LoanPipelineMilestone (audit de transition uniquement applicable), Convention de prêt (liste de contrôle par prêt avec leur propre état), et Modèle de prêt (liste de contrôle par or réutilisable source) - Nouvelle prise en charge pour chacune, plus une requête à condition de blocage en un seul coup - LoanPipelineStateMachine déclare le pipeline de l'URLA (DRAFT traversant FUNDED) et les déréglages universels SUSPENDED/WITHDRAWN/DENIED, avec la fonction de type "RightType" requise pour chaque flèche - LoanPipelineService orchestre une transition atomique: valider les conditions de blocage (surpassement gâché par LOS-UNDERWRITE-LOAN), tamponnez la colonne de date de DoanFile appropriée, écrire une étape, écrire une demandeSoumission pour transitions juridiquement significatives (divulgation initiale, soumission à nouveau traitement/underwriting) avec SHA-256 snapshot, publier un événement NATS - LoanConditionService et LoanConditionTemplateService couvre le le reste de la surface du CRUD - LosPipelinePublisher publie sur JetStream sujets los.pipeline.transition.orgId et los.pipeline.condition.orgId - NatsConfig prévoit un flux dédié LOS-PIPELINE à côté le flux de discussion existant de sorte que la rétention peut être accordée indépendamment Six nouvelles entrées RoleRightType sous ServiceType.LOS (rebaptisée "Commerce: système d'origine de prêts"): LOS-VIEW-PIPELINE, LOS-TAKE-APPLICATION, LOS-PROCESS-LOAN, LOS-UNDERWRITE-LOAN, LOS-CLOSE-AND-FUND, LOS-SUSPEND-OR-WITHDRAW
· kamo-internal
Unité d'utilisateur
Ferme le sous-projet 3: la voie de l'expéditeur obtient un double bloc éditeur (individuel NMLS - organisation NMLS - adresse org) câblé à patchOriginateur avec l'auto-sauvetage standard de 800 ms, et L'itinéraire des soumissions rend un chronologie inverse-chronologique en lecture seule du tableau AppMortgage.submissions (la dernière entrée pulse verte; les notes et les hachages instantanés s'affichent lorsqu'ils sont présents). Bientôt la rupture n'est plus accessible, de sorte que la branche fourre-tout est supprimée.
· kamo-internal
HMDA Section de la démographie UI
Remplace l'espace réservé à venir pour la route hmda. Origine ethnique utilise la recherche à trois états avec un bloc de sous-cotation en ligne lorsque Hispanique est sélectionné (Mexican/PR/Cuban/Other. Description). Race rend cinq blocs à bascules (Américains indiens, asiatiques, noirs, NHPI, Blanche) avec sous-cotation conditionnelle des îles d'Asie et du Pacifique grilles en dessous. Sexe, méthode de collecte, et les trois les drapeaux d'observation visuelle sont suspendus sous le pied de page de vérification.
· kamo-internal
Section du service militaire UI
Remplace l'espace réservé à venir pour la route militaire. Le everServed switch upsers via mortgageAppsApi.putMilitary; toggling il élimine également l'état des services et l'expiration prévue de éviter les données VA périssées qui s'allument dans le dossier.
· kamo-internal
Section Immobilier
Remplace l'espace réservé à venir pour la route REO. Chaque bien carte édite l'adresse, l'occupation/le statut/l'utilisation prévue, la valeur du marché, l'assurance mensuelle - taxes - HOA, et loyers bruts/nets avec le même motif d'auto-sauvegarde que les autres sections. Remise des privilèges imbriqués une table en lecture seule; une note TODO dans le composant plus un index du pied de page expliquer les critères d'évaluation manquants de /reos/-id-/liens.
· kamo-internal
Passif et charges
Remplace l'espace réservé à venir pour la liaison à passif. Section 2c du passif, suivi du solde impayé, versements mensuels, mois mois restants, et les trois drapeaux de disposition de l'URLA (payés à la fermeture, payés antérieurement, omises) sous forme de bascules séparées; les lignes omises d'étam eux-mêmes. Section 2d, les autres dépenses mensuelles se partagent la même Puce d'emprunteur et totalité (dette en souffrance, dette mensuelle service, dépenses mensuelles, combinées mensuelles).
· kamo-internal
Section des actifs et des crédits
Remplace l'espace réservé à venir pour l'itinéraire des actifs. Déplit le la liste des actifs de l'emprunteur à la section 2a (banque/retraite/autres comptes, type id 50) et section 2b (autres actifs et crédits, id 50) via les gammes d'ID de type d'actifs publics, avec Joint et usagéForCashToClose bascule sur chaque rangée. Total des bandes de la bande indique les comptes sous-total, les crédits sous-total, et valeur combinée lorsqu'une ligne quelconque porte une valeur.
· kamo-internal
Section Emploi et revenu
Remplace l'espace réservé à venir pour l'itinéraire de l'emploi par un URLA Section 1d-1g éditeur. Le sélecteur de puce par emprunteur reflète le modèle de déclaration; chaque ligne de travail autosauver PrêtementAppsApi.patchEmploi avec les mêmes 800 ms de rebond. Carte en-tête superficies du total mensuel courant (base, heures supplémentaires, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus, bonus Commission - militaire - autre - agent des travailleurs indépendants nets). Section 1g Autres les lignes de revenu vivent dans leur propre liste ci-dessous.
· kamo-internal
URLA 2021 Demande d'hypothèque UI
Ajoute le nouveau groupe de routes de demande, le client hypo hypo-raccordéAppsApi qui s'entretient avec SecurityService/api/security/mortgage-apps, tous types TS en miroir des DTO d'arrière-plan, et une entrée de barre latérale à côté des Leads. UI: Vue en circuit principal avec filtres à seau stat (Tous / Projet / En cours / Fermé), recherche, cartes animées (Framer Motion), État vide CTA, squelette de chargement. /applications/[uid) Disposition détaillée: héros à gradient avec primaire emprunteur et badges de statut, section collante rail avec indicateur actif animé, transitions de section animée, économiseur automatique Indicateur (Sauver... - Sauvegardé - évanouissement). Sections livrées à la qualité de la production: - Prêt et propriété (section 4a/4b/4c) éditeur complet, économie automatique de 800 ms - Gestion des couples d'emprunteurs (1003s), conjoint marié basculer, ajouter/supprimer la paire et co- emprunteur, mutations animées - Déclarations (section 5) Questionnaire par emprunteur; Commandes de puces Oui/N/A, Chapitre 7/11/12/13 sous-flux Sections dotées d'un soutien d'appoint, mais l'interface utilisateur reportée à un suivi: Emploi et revenu, Actif, passif, REO, Militaires, HMDA, Référence de prêt, soumissions. Chacun rend une carte "Avenir suivant" de sorte que La navigation est complète et le schéma est découvrant. Toute copie passe par next-intl mortgageApps. codées en dur. Entrée en argent / %Input / SelectInput / Switch primitives sont réutilisables dans les sections futures.
· SecurityService
Moteur de hypothèques pour surface URLA 2021 REST
Nouveau contrôleur REST exposant le cycle de vie complet de l'application URLA: GET/api/security/mortgage-apps (résumé) GET - graphique complet POST - blanc ou à partir de la tête DÉLÉTAIRE : supprimer FEUILLEUR DE L'AIDE/Douange/Douane/Louane/Proviété/Provième/Profondeur/Profondeur/Profondeur/Profondeur/Profondeur/Profondeur/Provième/Provième/Profondeur/Provi Équipement de l'emprunt PATCH /-uid-/pairs/pairId- edit paire DÉLÉTÉ POST /-uid-/pair/pairId/emprunteurs ajouter emprunteur PATCH /-uid/emprunteur/emprunteur DELETE /-uid-/emprunteur/emprunteur------------------------------------------------------ POST/PATCH/DELETE /-section/-id-/-id-/-id-/-id-/------------------------------------------ PUT POST/PATCH/DELETE /-uid-/cadeaux/jardins et/ou autres hypothèques GET /-uid-/lookups et enum dump Org-sescarré par l'intermédiaire d'OTKPREAuthFilter session; zerror uniforme: enveloppe msg sur 400/401/404/500; utilise les règles de transaction existantes.
· kamo-shared-library
Couche de service URLA (repos, DTO, services, recherche)
Ajoute la couche complète de service backend pour le paquet URLA introduit dans l'engagement précédent: Reprise/demandes/ 20 JpaRepositories par entité Dtos/applications/réponses DTO (Long--String) et charge utile de recherche Services/applications/AppMortgageService (conversion de racines et de plomb) Section économise) et BorrowerSectionService (garçons, emprunteurs, emploi, revenu, actifs, Responsabilités, REO, déclarations, militaires, HMDA) Les conventions suivent le modèle existant de LeadService: - Déps auto-câblés sur le terrain - "Transactionnel (readOnly-true) pour les questions - Carmis d'usine statiques (entity), longs ids sérialisés sous la barre - Exception d'échecs non trouvés/de validation - Toutes les opérations traitées par l'intermédiaire de l'organisation de l'application id Le MortgageLookupsDTO retourne chaque URLA en un seul coup de feu donc l'UI ne code jamais les options de délabrement.
· kamo-shared-library
URLA 2021 base du schéma hypothécaire résidentiel
Refactorire AppMortgage dans une racine complète de boîtier URLA prenant en charge multiple 1003s par prêt avec jusqu'à deux emprunteurs par paire (mariés/joints ou non mariés). Remplace l'espace réservé à l'AppMortgage vide par un espace structuré miroir de graphe d'entité toutes les sections URLA de 2021: Noyau/Dossier de prêt, prêt, biens, prêt, prêturier, demande party/ArbordeurPaire (le "1003"), emprunteur emploi/Emploi (Sections 1d/1e/1f/Sec.7), Autres Revenus (1g) actifs/actif (2a/2b), cadeaux (4e) Engagements/Responsabilité (2c), autres dépenses (2d) reo/ RealEstateOwned (Sec.3) et ReoLien Déclarations/déclarations (Sec.5), Service militaire (Sec.7) hmda/HmdaDemographics (Sec.8) autres prêts/Autres autres nouveaux types d'ordonnement (4d) Actifs/passifs/REO utiliser la propriété "par emprunteur avec le drapeau commun" modèle de l'URLA "Compte appartenant à l'emprunteur / Co-Borrower / Both" La radio s'effondre à une seule ligne avec la co-propriété implicite de la paire. Tous les champs monétaires utilisent EmbMoney (BigDecimal et monnaie) et tous les taux utiliser EmbPercent (4dp BigDecimal) - pas de double, pas de JSON. Stratégie d'identification suit les conventions existantes: unique-rowid() pour les entités orientées vers l'utilisateur, pour les tables de détail internes. JSONB n'apparaît que sur le Sposhot de l'audit de soumission de l'application (intentionnel - pas pour les données en direct). Le schéma est auto-créé par KamoInitializerService via hibernate.ddl-auto sur le JAR reconstruit; aucun script DDL n'est requis. Service d'arrière-plan, UI et sous-projets LOS restants (frais de travail de la tuyauterie, les prix/verrouillages, les informations communiquées, les rapports HMDA) sont reportés à la suite sessions selon la décomposition de 7 parties.
· KlusterServices
Gérer mail.kamocrm.com TLS de bout en bout
Auto-cert dispose maintenant de dispositions et maintient le certificat Let's Encrypt pour mail.kamocrm.com (HTTP-01 via Traefik au port 80) et conserve le consommateur de postfixe en synchronisation entre les espaces de noms. Changements d'auto-cert: - Ajouter mail.kamocrm.com à STATIC-DOMAINS. - Nouveau tableau CROSS-NS-CERT-MIRRORS mappage de la table FQDN (espace de noms cible, déploiements à redémarrer). Entrée par défaut: mail.kamocrm.com ("courriel", ["postfixe)). - miroir-secret-to-namespace() copie tls--stm- de kamo à la cible ns idempotently (ne redémarre les consommateurs que lorsque le tls.crt est effectivement change - chaque minute de synchronisation reste bon marché). - redémarrage-déploiement() kubectl retournement redémarrage des consommateurs lorsqu'un les terres rénovées. - Accroché dans l'attente - pour -host-cert-cert-ready et la boucle principale de sorte que les deux Les émissions par cadet et les auto-renouvellements de cert-managers se propagent. - Nouveau rôle/Randider (espace de noms de messagerie) donne des secrets à créer/actualiser et le dispositif de déploiement du dispositif de mise en place de l'auto-cert ServiceAccount. Changements de postfixe: - Mont tls-mail-kamocrm-com (secret facultatif) à l'adresse /etc/lettre. - Sur le démarrage, copier le certificat LE dans /etc/postfix/tls/ si présent; sinon générer un serpent-oil auto-signé à courte durée de vie afin que le postfixe puisse commencer avant la délivrance du certificat. - Utilisez le véritable cert pour smtpd-tls-cert-file/clé-file avec TLSv1.2 et des chiffrements élevés. La soumission (587) offre désormais un certificat valide et fiable une fois que le certificat d'auto-certuite terminé la première délivrance et roule le déploiement.
· kamo-shared-library
- pour la promotion des rôles idémpotents
Ajout d'un service public et transactionnel qui assureRoleAssign(memberId, roleId) qui: - Non-ops si le rôle est déjà inscrit au rôle. - Regarde l'OrgRole et sauvegarde un nouveau rôle de joind 'MemberRole. - Recalcule le membre - droits appliqués de sorte que le cliché persiste les droits du rôle. Utilisé par le flux de création d'enfants dans SecurityService pour propager le le statut d'administrateur du créateur du nouvel enfant dans leur parent-org L'adhésion - maintient la portée administrative d'un utilisateur cohérente à travers l'enfant domaine (lorsque le createOrganizationOwner-minted - donne déjà leur propriétaire-admin) et le domaine de la société mère (où leur existence La session de l'équipe d'enregistrement, le membre de la session n'aurait pas CONFIGURE-SYSTEME et rebondir/décensiez-les/comptes).
· KlusterServices
Reverse-proxy priceturbo.com apex - wildcard via k1m1 avec TLS
k1m1 Traefik termine maintenant HTTPS pour priceturbo.com et n'importe quel .priceturbo.com sous-domaine, HTTP simple vers le Traefik en amont à 192.168.4.36:80 avec l'en-tête hôte conservé (rœud le service de réduction en amont). Graines d'auto-certs l'apex via STATIC-DOMAINS; les sous-domaines sont ramassés dynamiquement sur le premier coup via le chemin d'analyse d'accès Traefik existant per-FQDN HTTP-01 certs nécessitent que chaque nom d'hôte se résolve déjà à k1m1.
· SecurityService
Système de modèle de fil recalc - rafraîchissement de session - diagnostic efficace des droits
/ mise à jourModèle / supprimerModèle et - invoquent maintenant recalcAllMembersUtilisationModèle après les changements persistants - chaque org pointé sur le modèle (propre maître ou via type de branche) obtient le rafraîchi rafraîchi par le membre - droits - dans le même appel. Le le chemin de suppression de type branche également recalques orphelins d'enfants orphelins avant la ligne est Lancé donc leur résolution modèle appliquée est correcte lorsque le modèle est recherché Retourne. - écrit un tableau de droits de fantaisie dans une entrée existante - Redis, en préservant TTL - tous les autres champs, de sorte que les onglets en direct peuvent capter les changements pilotés par l'administration sans cycle de déconnexion/login. SessionRefreshContrôleur expose POST/api/security/session/refresh L'appelant est résolu à partir d'un biscuit ou de X-OTK, la cascade vivante Le résultat est écrit. L'usurpation croisée est impossible par construction: il n'y a pas de paramètre membre-id. RightsDiagnosticsContrôleur expose l'Egil - Retourne la totalité de la cascade : sources en cascade (rôles d'org, dept et dept, Titre du poste - rôles de jt, annulations directes), modèle appliqué - non-NOT-SPECIFIED les entrées de modèle par type de rôle, les droits résolus en direct divisés en et un drapeau inSyncWithLive qui fait surface dérive entre les clichés du membre des membres et des droits appliqués et ce que la vie la chute d'eau produit en ce moment. Auth: doit être dans l'ordre de la cible et soit être la cible, tenir ou avoir le mode dieu actif.
· kamo-shared-library
Chunked recalc - ventilateur multi-modèles et typeTemplate non-force repli
Ajoute trois éléments nécessaires pour que les modifications de modèles atteignent effectivement les membres existants sans forçage d'un cycle de déconnexion/login: 1. - marches de chaque org pointant vers le modèle (par masterModelID ou de type branche) et chunked-recalcs chacun Membres du membre de la Commission. Companion recalcAllMembersUsingBranchType manipule le boîtier de type à branche unique. 2. Chunked - sévir de masse - économisez entier Un orgorgif de 50 000 membres ne brûle plus les déclarations par rang de ligne. 3. AppartementProjectons de fixation de la prépondérance et du modèle non-forces DÉCLARATION/NUKE S'acquitte maintenant de NOT-SPECIFIED avant la reprise de la non-force DEFAULT. Matches les étiquettes UI ("Default enabled; child can d'invalidité") et empêchent les droits d'accès au module sur l'ÉQUIAM-MEMBER d'être ignorés silencieusement. Dévoit également le calculMemberRights en tant que lecture publique pour le nouveau les critères de rafraîchissement de session et de diagnostic dans SecurityService.
· kamo-internal
Studio de configuration DNS unifié avec aide en ligne par enregistrement
Remplace la division DnsProgressView - AliasStatusTable - ManualDnsGuide trio avec une seule expérience guidée: chaque record TXT/CNAME vit désormais dans un seul carte à côté de son aide en ligne, en supprimant la duplication lorsque la même Les enregistrements ont été rendus à la fois comme tableau d'état et guide d'installation distinct. - Le nouveau DnsSetupStudio orchestre un flux animé en trois étapes (vérifier la propriété - connecter les sous-domaines - émission SSL) avec des étapes fermées, a une grille de carte étalée, et un anneau de progression en direct piloté par SVG. - Les cartes par fiches adaptent leurs étiquettes de nom de champ à celle choisie par l'utilisateur; registrarisme - persisté à localStorage) et de surface un lien profond vers le portail DNS de ce fournisseur. - Chaque carte de sous-domaine porte une description en langage clair (par exemple "interne" est l'espace de travail de votre équipe") donc les utilisateurs non techniques comprennent ce que Ils sont en train de configurer. - Entrée de l'espace de travail, dialogue sur le domaine du changement, sondage, compte à rebours, thème le provisionnement, et le panneau de provisionnement auto-DNS sont tous conservés.
· KlusterServices
Reverse-proxy rate.loans/stack.loans hosts via k1m1 avec TLS
k1m1 Traefik met fin à HTTPS pour api.rate.loans, www.rate.loans, et www.stack.loans, en forwarding plain HTTP vers le Traefik en amont à l'adresse suivante: 192.168.4.36:80. Graines d'auto-certs par animateur Let's Encrypt certs pour les trois.
· EmailService
Wire DomainManager et MailboxProvisioner pour tous les fournisseurs d'informatique en nuage
Remplacer les stubs UnsupportedOperationException chez chaque fournisseur de cloud avec les appels HTTP réels contre l'API admin de chaque backend: - Microsoft 365 et Microsoft Graph (/utilisateurs,/domaines, /vérifier, ...) en utilisant le jeton d'accès par or OAuth. - Google Workspace et Admin Espace SDK - Vérification du site en utilisant l'or par og Jeton d'accès OAuth. - API d'administration de Mail zoho Mail en utilisant le jeton d'accès OAuth per-org. - IceWarp et IceWarp REST API (API (AxerUrl/api/v1/...) à l'aide de l'apiKey stocké dans providerConfig. - Échange (en ligne) - Microsoft Graph via un jeton de certification client minted de locataireId/clientId/clientSecret stocké dans providerConfig. Élargir également les champs d'application OAuth demandés par Microsoft, Google et zoho flux donc le jeton d'administration per-org a en fait les privilèges du nouveau code Besoins (User.ReadWrite.All / Domain.ReadWrite.All for Graph, admin.directory.user / admin.directory.domain / siteverification pour Google, - pour le zoho). Connexions existantes devra être réautoriser avec le consentement de l'administration pour relever les nouvelles possibilités d'application. La production HTTP partagée vit dans ProviderHttpClient et Bearer / Basic / API-key Auth, codage JSON, et extraction du message d'erreurs à travers les différents enveloppes d'erreur de fournisseur. Qu'est-ce qui est encore pétillé (et pourquoi) : - Compte rendu en temps réel sur Microsoft 365, Google Workspace, IceWarp, et Exchange - l'API push-notification de chaque fournisseur a besoin d'un webhook public un récepteur hébergé par EmailService, plus (pour Gmail) un sujet Cloud Pub/Sub. Câbler cela est sa propre tâche infra. - Échange sur place (authème et OUATH) - besoin de l'API SOAP EWS; ExchangeProvider lance une erreur claire sur cette voie jusqu'à ce qu'EWS soit ajouté.

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