Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· kamo-signer-monorepo
Locale-aware date formatting and per-locale metadata
· kamo-signer-monorepo
İşaretleyici üst bara dili ekle
22'nin üzerinde sınırsız menü yerelleri destekledi. Soruyu korur Anahtar üzerine dize - ?t= sadece işaretleyicidir.
· kamo-signer-monorepo
RTL yerelleri için ayna düzeni stylis-jurin-rtl
MUI teması tek başına bileşeni mantığı çevirir, ancak fiziksel olarak ayrılır CSS özellikleri silindi, bu yüzden Arapça LTR ile uygulandı. Swaps the Swaps the Emotion önbellek anahtar ve yön üzerine eklentiler. Ayrıca, stylis’i doğrudan bir bağımlılık olarak da ekliyor (muhtemelen sadece geçişli olarak geçişli olarak). Emotion) ve @types/stylis, bu repo'nun izole pnpm node-linker phantom bağımlılıklarını ve stylis 4.2.0 gemilerini çözmüyor Tür bildirimleri.
· kamo-signer-monorepo
Bir sonraki-intl ortaware ile işaretleyici
I18n /routing.ts (yerelePrefix her zaman), i18n/navigasyon.ts, and and andnavigation.ts Ortaware.ts ve rota ağacı src/app/[locale] / altında hareket eder. İstek.ts now resolves from the URL instead of the kamo-locale cookies, Derin-merge İngilizce geri çekilmek. Üstün işaretçi bağlantıları çalışmaya devam ediyor: ortaware 307-redirects Unprefixed URLs and protects the?t= token.
· kamo-internal
Blink posta ikonunu gönderirken, eksik bir gösterge gösteriyor
Sadece en iyi barda kaçırmak kolaydı. NavItemButton bir şey kazanır TinyIcon bu nabızları ikonu (ve onun kötügesi) ortaya koyuyor - ayrı tuttu Mevcut “blink”, sadece liderlik-alert dot - ve MailButton döner Bu, daha kısa bir süre için, 0. Honors, ortaya çıkan duygusallığı tercih eder.
· kamo-marketing
Başlangıç 5 kullanıcıya ulaştı, 25
Yayınlanmış koltuk kapakları /pricing (ve hesaplayıcı, JSON-LD teklifleri ve llms.txt summaries) abonelikle eşleştirmek için katalog: 25 -> 5 kullanıcı, Business 100 -> 25 kullanıcı.
· kamo-internal
Clarify MeridianLink pazarı sırrı, bağlı hizmet (veya profiline giriş)
· kamo-internal
Üye profili + liderlik-button LO pre-warnn
MeridianLink LOS kredisi-officer haritalama (per §3.4-3.6) Tasarım spektralları: - Yeni üye-skop LOS-credential proxy **************** ve tiplenmiş müşteri **************** türleri GET/PUT/DELETE/POST'yi Güvenlik Hizmetine Bekliyoruz. - Yeni "MeridianLink Kredi memuru Access" BölümCard on **************** Sağı Devlete Dayalı Licensing. Sadece üye bir NMLS kimliği olduğunda ve en azından bir tane org piyasasının aktif bir MeridianLink bağlantısı vardır; mevcut olan kapıda ************ hakları. Pazar başına bir satır (username/secret/tili/status çip/Test); sır sadece yazılır ve Asla geri dönmedi. - Lead-view Create Application düğmesine şimdi pre-warns: Bir liderlik hiçbir LOS olmadığında Uygulama henüz ve atanmış kredi memuru henüz bağlantılı değildir MeridianLink, düğme, yerine LO'yı isimlendirmek yerine bir alettiple devre dışı bırakılır Sadece tıkla başarısız. MarketConfig'i losLoName/losLoLinked ile uzatın (Eski güvenlik hizmetleri için savunma varsayılan varsayılan varsayılan varsayılan varsayılan varsayılan varsayılan varsayılanlar). Geri dönüş 422 Gerçek garanti kalır.
· SecurityService
LO-skop oluşturma (block if unmapped) + üye MeridianLink credential API + piyasa yapılandırılmış LO bağlantı durumu
MeridianLink kredisi-officer haritalama tasarımı (kamo-internalternal **************** §3.3-3.6), L1 paylaşılan-lib şema /resolver (MarketLosUserCredential, **************** All SOAP alay etti (kahkahada Hala bekliyor). - **************** şimdi kredi AS'nin atandığını yaratır Bağlantının paylaşılan servisi yerine Member'i çözerek kredi memuru Kimlik (B: blok, geri düşme) LO -> 422 atanmış değil; MeridianLink kullanıcı -> 422 ile bağlantılı bir LO atanmış bir eylemle Mesaj. Zaten bağlantılı 409 check şimdi bağlantıdan önce çalışır / EN Kontroller, önceden yapılan bir incelemede, bu yüzden tekrarlanan bir girişim geri dönemez 409 önünde 403/422. - New **************************** **************** (GET/PUT/{marketId}/ DELETE/{marketId} /POST /{marketId}/test) gibi kapılandı Üye DevletLicensingController (STATE LICENSING VIEW/EDIT OWN/ ALL, Allah'a yemin ederim. PlatformSecretCipher aracılığıyla şifre yazmak, boş sır tutar Depolanan ciphertext, sadece görünüşe sahip, yumuşak-delete, asla bitmiyor Test eylemi. - LeadController piyasa yapılandırılmış kazanımlar losLoName/losLoLinked böylece liderlik-görüşme düğme 422'yi vurmadan önce önceden savaşabilir. - BaseLosController #unprocessable (422 yardımcı). TDD: LeadLosControllerTest (extended), **************** (yeni) ve LeadControllerMarketConfigTest (extended) – tüm yeşil. L3 (kamo-internal UI + ) ayrı takip çalışmasıdır.
· kamo-shared-library
Per-member MeridianLink (MarketLosUserCredential) + Member + LO-scoped outbound push
· kamo-internal
Bulk E-posta kampanyaları UI – ağ, editör, sağlayıcı sekmesi, harekete geçiyor
/ pazarlama / pazarlama / pazarlama / e-posta altındaki veya üst düzey e-posta pazarlama yüzeyi ekleyin: - Bulk Email sekmesi (Sosyal Medyadan sonra) + Kampanyalar AG Grid iş alanı canlı canlı Stat/sent-vs-toplam STOMP (/topik/campaigns/{orgId}); düzeltmeleri düzeltin Pazarlama sekme kapısı / nested rotalar için aktif mantık. Kampanya editörü ( / pazarlama / e-posta/campaign): Quill yeniden yaratır İmzalı / ayaklayıcı sistemi + jet yükleyicileri birleştirir (email protected-column haritası), liderlik/account/application IDs (solve endpoint), veya manuel Giriş, ön ışık paneli (skip/opt-out/masked/invalid arıza + CAN-SPAM gardiyanlar) ve gönderir/draft/schedule + throttle (tüm-at-once / hatta / doğal / doğal olarak / + sıcak-up). Liderleri kabul edin, toplu e-posta elioff. - Bulk Email Provider ayarları sekmesi (separate SMTP yapılandır + gerçek Send Test Email). - Leads: "Bulk e-posta (N)" multi-select → kampanya editörü. - Bölümler: e-posta + telefon / genişletici alanlar; davranış-labeling: şirket e-postası. Müşteri APIleri (emailCampaignApi, BulkEmailProviderApi, alıcıResolveApi) useEmailCampaignsWebSocket kancası ve güvenlik uyarısı rotası.
· SecurityService
Bulk-email alıcı kararı + bölüm iletişim alanları
- ******************** POST /api / güvenlik / pazarlama-email / Alıcılar/resolve, e-posta alıcılara liderlik / hesap / uygulama kimliklerini döndürür. MANAGE BULK EMAIL'da kapılandı; gönderileyicinin altında yönlendirme işlemi uygulanır (kırık sessizce atılır), Hesap.Marketing opt-in kapısını kabul edin, borçlayıcı Uygulamalar için e-posta, sintactic validasyon, çapraz kaynak dedupe + dolu dolu At / hesap bozulması. - BölümController: Yeni e-posta / telefon / genişletici istek alanları içine koymak BölümHizmeti / güncel yaratır.
· kamo-shared-library
Toplu e-posta alıcı kararı için ortak destek + şirket iletişim e-posta ile
- ******************** contactEmail şubesi (company contact PUT /api/güvenlik/org aracılığıyla e-posta düzenlenebilir, şirket-skop kampanyası olarak kullanılır) - UygulamaRepository: polimorphic toplu finder (findByUidInAndOrganization Id) Kampanya alıcıları için bir Uygulamanın ödünç e-postasını çözmek için - HesapBorrowerPartyRepository:Account UidIn public finder (no N+1) Sadece alıntı; paketler zaten ************
· EmailService
Bulk e-posta kampanyası geri döndü - sağlayıcı, dağıtımcı, uyumluluk, gerçek zamanlı
Org seviyesindeki toplu e-posta kampanyaları için geri dönüş, tamamen günlük olarak ayrı. e-posta sağlayıcısı bu yüzden iş postasının yanı sıra ton /blocklisted olamaz: - Bulk SMTP sağlayıcısı (BulkEmailProviderService + BulkProviderController): Şifreli veya yapılandırılmış e-postaProviderEncryptionService; gerçek Gönder Test E-posta ( canlı bir SMTP seansı açın ve gönderir). - Kampanya CRUD + statü makinesi (CampaignService/Controller): draft, program, Gönder-şimdi, duraklama, özgeçmiş, iptal, tekrarlama; alıcı malzemelendirilmesi Dedupe, baskı, per-recipient unsubscribe tokens; CAN-SPAM kapısı (subject + fiziksel adres + >=1 alıcı taslağı bırakmak için gereklidir). - Throttled senter (CampaignDispatcher @Scheduled): all-at-once / Hattaly-over-window / doğallaştırılmış-random per-recipient nextReleaseAt (Başlangıç güvenli), maxPer Saat'te ısınıyor, sert-bounce -> oto-eress. - Uyum: SuppressionService, public one-up Connect 8058 UnsubscribeController (+ List-Unsubscribe headers), gönderide tekrar kontrol etti. Gerçek zamanlı: doğrudan STOMP /topik /campaigns /{orgId} + abone-zaman org ChannelInterceptor (kapanmış konu maruziyeti). E-postaSmtpService: EkstraHeadersler gönderir() aşırı yükleme (List-Unsubscribe).
· kamo-shared-library
ECOA/FCRA olumsuz-action fark şüpheliler + tatmin-timer
Teklif mekanizmasının paylaşılan yarısı. UyumlulukTimerService kazançları **************** - sadece ARMED ECOA AA zamanlayıcılarını çevirmek SATISFIED (Bölümler COUNTEROFFER/INCOMPLETE NOA ve zaten tatmin edici Buna rağmen, bir SENT olumsuz tepki bildirimi Reg B saatini kapatabilir. Hiç olmayan bir kimse, ihlal süpürücü için ARMED kalır. İki kanonik e-posta şablonları – ADVERSE ACTION NOTICE (ECOA/Reg B + FCRARARARARA §615 (a) ve RISK BASED PRICING NOTICE (FCRA §615 (h)/Reg V) - kayıtlı CanonicalTemplateLoader. Her ikisi de sadece STRUCTURAL scaffolds: a dashed [[ [[ [[ [[ [[ [[ ANCE ANCE s the [[ the In, artı yapılandırılmış-data değişkenleri (applicant, tarih, temel nedenler / Uyarı). Kamo hiçbir ameliyat dışı yasal fark prose.
· kamo-internal
Master Machine uzaktan-desktop starter (god-gated) ekle
Linux/Windows'a bir sonraki üçüncü bir masaüstü: navRegistry girişi (BilgisayarIcon), 'master' açıkKamoDesktop + SSO proxy rotası ile hedef ve tüm üç aksiyon handler gönderdi.
· SecurityService
Master Machine SSO derin bağlantı için "master" hedefi ekleyin
autoConnectUrl şimdi bir Master Machine bağlantısı (KAMO GUAC MASTER HOSTNAME, varsayılan 192.168.4.46); her token oturum yeniden dahil. KlusterServices bottrap SQL ile senkronize edilmiştir.
· KlusterServices
"Master Machine" (kamo-dev-1) RDP cihazı Guacamole
Yerel Kubuntu iş istasyonu, RDP'yi KRdp aracılığıyla canlı plazma / otoyol oturumunu paylaşıyor. Bir idempotent bottrap SQL bağlantısı (192.168.4.46:3389, sage/shared pw, güvenlik=her, göz ardı et, renk- derinlemesine 24) ve D hibe. Tasarım spec içerir.
· kamo-shared-library
Bulk-email kampanyası temel varlıklar + bölüm/org iletişim alanları
Ortak üst düzey toplu e-posta kampanyaları için paylaşılan temel ekleyin: - OrgBulkEmailProviderEntity (günlük sağlayıcıdan para ödüyor; UNIQUE org id) - E-postaCampaignEntity / E-postaCampaignRecipientEntity (+ durum/skop/throttle / Kaynak enums) kalıcı per-recipient gönderme modeli - E-postaSuppressionEntity (CAN-SPAM baskı listesi) Bölüm: e-posta + telefon/exction (EmbPhoneNumber) temas alanları Organizasyon: e-posta (kompany-skop kampanyası varsayılan olarak) RolRightType: İNCE BULK EMAIL(175), MANAGE BULK EMAIL (176) altında MARKETING Tüm yeni paketler com.kamo.z.shared.email.* (already tarafından kapıldı KamoInitializer **************** Yavaş yavaşlar.
· kamo-shared-library
STEWARD TASK ROUTED canonical şablon
Rotad-decision steward bildirimin kanonik bir e-posta şablonuna ihtiyacı vardır. Kayıtlar STEWARD TASK ROUTED in CANONICAL KEYS with its json/html çifti; vücut kredi / kredi taşır / karar / istisna bağlamı ve bir steward-queue bağlantısı. Content is org-writerable through through Mevcut şablon sistemi.
· SecurityService
Bir kapanış paketi için bir MERS MIN'a geçiş
POST **************** Sahipliği kontrol etti (requirePackageOrg) bu yüzden sadece kendi kiracıları için bir üslup. The The The The The The The The Upstream, kiracının MERS sağlayıcı bağlantısından gelen 7 dijital MERS Org ID'yi okur entegrasyonlar sekmesi; 400 MERS yapılandırılmamış veya kredinin kredi numarası yoktur.
· kamo-internal
Tarih doğumu liderlik bakış + form oluşturmak
Bir "Doğuş Tarihi" alanını birincil İletişim altında ekleyin /leads/view/[id] kullanarak MUI DatePicker ilk önce yıl ızgaraya açılıyor (openTo=year, avoidFuture, min 1900) - Doğum tarihleri için sezgisel akış - artı aynı seçici Yeni-lead formu. Date-fns parseISO/format (local, No UTC (Bir) Ekran, CanViewContact'te gizliliktir; alan Seçmelidir. Wires dateOfOneth through types, leadApi create/update guard, and the import-wizard alan listesi.
· SecurityService
Kabul ve kapı temas tarihi doğum (DOB)
Haritalar "dateOf Doğum'u manuel-import ve satıcı-intake alan anahtarları ile Bir lenient multi-format parse (ISO artı ortak ABD M/d/yy formlar; güvenilmez değerler DOB setini fırlatmaktan ziyade terk eder). Konts DOB temas PII in İstekleriContactInfo böylece başka bir üyenin liderliğinde düzenleme gerektirir EDIT LEAD CONTACT INFO OTHERS. Yeni paylaşılan-lib Lead.dateOfOneth tarafından geri çekildi.
· kamo-shared-library
Kurşun için nullable contact date-of-born ekleyin
Bir iletişim seviyesi "tarihsel" (java.time. LocalDate, DATE sütunu) Temel Lead: varlık + Create/Update/LeadDTO (Lead'dan), LeadService Form/update ve hem ipotek sınıfı yardımcıları döndürür, böylece hayatta kalır Pazar geçiş. Baş tarihi kayıt defterinde (İletişim) takip edildi ve maskelendi PII in MaskeContactInfo from others. Nullable, varsayılan değil - güvenli ALTER ADD COLUMN.
· kamo-internal
Yazar belge-requirement overlay rules from the steward konsol
“Bu kredinin ne ihtiyacı var” kural matrisinin hiçbir yazarı yoktu. Bu bir şey ekliyor Doküman-requirement kuralları bölümü Belgeler ve Koşullar ekranına (önemli olarak Kendi ekran, yeni bir sekme değil) bir stil listesi, yazarları ve onant'ın emeklilerini emekli eder. Overlay kuralları. Yardım kopyası kapsamı hakkında dürüst: platform tabanının üst kısmında ve AUS/agency bulguları (DU/LP/GUS), gerçek kaynağı olarak kalır; bir kural bir kuralı onaylayamaz Kredi veya bir koşul açık ve burada hiçbir şey yasal bir görev değildir. Form 23'ü sunuyor GereksimentDriverType değerleri ve ücretsiz metin doc-type kodu (geçen bunu doğrular org'un görüntüleme kataloğuna karşı ve org toplayamazsa açık bir 400 döndürür. - sert kodlanmış doc listesi değil. Yasal bir duvar kötü ve bloklar - danışmanlık vs kötüleştirme Her kurala göre; Emekli ilk önce onaylar.
· SecurityService
Relay belgesi-requirement overlay-rule authoring
Relays POST/GET/retire on ************ to MLOSDocService, with with with Operatör seansından itibaren organizasyonId server-stamped from the operator session so a steward author and listeleri only only only Kendi onant'ın aşırı kuralları.
· kamo-internal
Author koşulal LLPAs from the catalog Panel
Teklifler ödünç alınamadı: MlosAdjustmentCondition’un yazarlığı yoktu ve Fiyat motoru, her zaman uygulama olarak hiçbir koşulda bir ayarlamaya çalışır, bu yüzden her LLPAPA Her borçlayıcı için kovuldu ve 780-FICO ödünç veren aynı vuruşu 620 olarak aldı. Bu form Yazarlar bu kapıyı açan koşullarla birlikte bir ayarlama. Aynı panelde kilit-politik form üzerinde modelleme: bir oran-form-vers id, fiyat delta ve etiket ve koşul sıralarının tekrarlanabilir bir listesi (tribute + operatör + numLow, Sadece BETWEEN için gösterilen yüksek. Müşteri sunucu muhafızlarını aynalar - en azından bir tane Durum, her durumda bir sınır, hem düşük <= yüksek ile BETWEEN için sınırlar - bu kadar kötü Kural bir turda yerine inline yakalanır.
· kamo-internal
Liderden bir liderlik yaparken e-postayı onaylayın
Assignment kartı şimdi Api.reassignLead'a yol açıyor, hangi yüzeyleri yüzeyler Sunucunun atanmış bayrağı. Yeni bir üyeye imza atarak tost "Assignment kurtarıldı - {name} e-posta ile bildirilir"; bir no-op veya ya da Kendini atama (kullanıcı hiçbir şey göndermez) düz onay kalır.
· SecurityService
Yeni sahibi e-posta tek bir liderlik yeniden imzalandığında
Aynalar lider görüş Assignment kartı için büyük yol. PUT /leads/{id} Farklı bir üyeye yol açıyor, bu üye şimdi aynı LEADS ASSIGNEDED e-posta (bölge 1) toplu akış gönderir. En iyi-effort - gönderi sonra çalışır Güncelleme taahhütleri yapar ve asla başarısız olmaz. Yangınlar sadece gerçek bir reassignment üzerindedir: atamanın nerede olduğunu kurtarmaz değişmeden (konuş iletişim bilgileri hiçbir şey göndermez), ve kendini atamayı atlar – Bir yöneticinin kendisini kendi kendilerine atamasının bir nedeni olmadığını iddia ediyor kendileri. Cevap, UI'nin yeniyi onaylaması için atanır. Sahibi e-postalandı. Pre-update liderliği şimdi hem authz hem de the pre-update lead is now bringed once and reused for both authz and the Önceki-assigneee yakalama, sadece non-god authz şubesinin içinde.
· SecurityService
Relay koşulal-LLPA yazarı
Relays POST **************** via the org-stamping write helper, so so Bir üslup yazarları sadece kendi onantları için koşullu düzenlemeler.

Evreniniz sizi bekliyor.
Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.
Sonsuza kadar ücretsiz — kredi kartı gerekmiyor