विषयवस्तु पर जाएँ
KAMOUniverse

परिवर्तन लॉग

क्या नया है.

यह जहाज के रूप में, प्लेटफार्म के हर सुधार.

  1. · kamo-internal

    P1 frontend — चार्ज बंद कतार + लेखा परीक्षा समयरेखा

    LosApi: ChargeoffQueue / पुष्टि Chargeoff / लेखापरीक्षाByLoan ********** D120 समीक्षा कतार पृष्ठ; org उपयोगकर्ता प्रत्येक ऋण की समीक्षा करें, एक कारण जोड़ें, क्लिक करें पुष्टि करें → POST /api/los/चार्ज-ऑफ /{id}/confirm. प्रतिभूतियों को वापस लेने के लिए ऋण प्रदान करता है। - न्यू <LoanAuditTimeline> घटक: पढ़ता है ************* और पूर्ण ऋण प्रदान करता हैAuditEvent स्ट्रीम (अभिलेख प्रकार, तरह, राशि,) टाइमस्टैम्प). org-side ऋण विस्तार पृष्ठ में प्लग करने के लिए बनाया गया है।.

  2. · kamolos

    P1 बैच - webhooks अग्रिम राज्य, crons, वाणिज्य ऊर्ध्वाधर

    मुद्रा आंदोलन (मूल P1): - LoanPaymentPostingService: markSucceedAndPost / markFailed / MarkReturnedAndReverse / markDisbursementSucceed / markDrawDisbursed. आवंटन आदेश बंद: शुल्क → ब्याज → प्रिंसिपल। स्टेटस ऑटो-एडवांस DELINQUENT å ACTIVE σ PAID OFF जिसके परिणामस्वरूप संतुलन पर आधारित है। - स्ट्राइपवेबहुक सर्विस अब लॉग-ऑन नहीं है: pay intent.succeed / भुगतान failed / Charge.refunded (ACH रिटर्न) / विवाद.created + बंद / भुगतान + सभी पोस्टिंग सर्विस के माध्यम से लेजर को आगे बढ़ाते हैं। - NachaReturnCode + RetryScheduler: NACHA-compliant R-code routing — R01 / R09 2 × / 5 दिनों के अलावा, R07 / R10 / R29 ने जनादेश को रद्द कर दिया, एक्स्हॉस्ट रिट्रीज़ फ्लिप लोन पेमेंटमेथोड → REQUIRES REVERIFY। वाणिज्य-vertical materialization: ************* अब सगाई का निर्माण (PERSONAL LOANS, COMMITTED), Commitment (ACTIVE, मूल्य निर्धारण + अवधि JSON के साथ) स्नैपशॉट्स), ऑर्डर (AUTHORIZED, subtotal = प्रिंसिपल), और उनके ID थ्रेड्स वापस Loan.commitmentUid / सगाईUid / OriginatingOrderUid in समान लेनदेन। क्रोन नौकरियां (वास्तविक तर्क, स्टब नहीं): - शीतलकOffAdvanceJob: एक लंबित DISBURSEMENT out भुगतान के लिए enqueues हर PENDING DISBURSEMENT ऋण जिसका ठंडा बंद हो गया। - InterestAccrualJob: प्रिंसिपल संतुलन पर दैनिक सरल-interest accrual सक्रिय ऋण के लिए - स्टेटमेंट जेनरेशनजॉब: प्रति दिन की तारीख स्टेटमेंट, LOC प्रति चक्र ADB आकलन + वार्षिक शुल्क मूल्यांकन + ऑटो-पे शेड्यूलिंग - AutoDebitRunJob: आग ऑटो डेबिट + DISBURSEMENT OUT भुगतान + NACHA idempotency कुंजी के साथ StripeConnectService के माध्यम से retries। - ReconciliationJob: रात्रि पुन: शुल्क / मूल / से संतुलन नेतृत्वकर्ता; बहाव सुधार लॉग + लेखापरीक्षित। - ReminderDispatchJob: अपने अनुसूचित वनवासियों के लिए SCHEDULED अधिसूचनाओं को खींचती है और अधिसूचना डिस्पैच सेवा के माध्यम से वितरित किया जाता है। अधिसूचनाएं: ********** ईमेल सेवा के लिए वास्तविक HTTP POST (/api/email/transactional/send) /api/voip/voice/send), टेम्पलेट कुंजी = "loan.{kind lowercase}. प्रमाणीकरण: - ऋण उत्पादवैलिडेशन सर्विस: एपीआर ≤ स्टेट कैप (प्रति तरह) को लागू करता है, निषिद्ध जांच, न्यूनतम / अधिकतम मूल पवित्रता। में हुक LoanProductservice.create + अद्यतन. चार्ज-ऑफ: - LoanChargeoffservice.queue () D120 ऋण सूचीबद्ध करता है; .confirm () स्थिति फ्लिप CHARGED OFF करने के लिए और एक CHARGE OFF RECORDED ऑडिट इवेंट लिखते हैं। - LoanChargeoffController exposes ************* ऑडिट ब्राउज़: ऋण AuditEventController exposes *************

  3. · kamo-internal

    P0 सख्त - रूपों, सत्र संकल्प, भुगतान विधि

    फॉर्म (ऑर्ग साइड): ************* /{productUid} संपादित पृष्ठ - न्यू लोन प्रोडक्टफॉर्म: मूल बातें / मूल्य निर्धारण / सीमा / शर्तें / अनुपालन वर्गों, तरह केवेयर क्षेत्रों (स्थापना बनाम LOC), promissory-note टेम्पलेट UID, अनुमति-राज्य-कोड ********** उत्पाद चयन (केवल इस बाजार से सक्रिय उत्पाद), उधारकर्ता सदस्य, प्रधान, वैकल्पिक अवधि, उधारकर्ता राज्य, "सेव ड्राफ्ट" बनाम "सेंड" - /settings/features/lending: org-side Stripe Connect onboarding page (call ************************* स्ट्रिप पर रीडायरेक्ट करें) बोरोवर साइड सख्त: - नया उपयोगCurrentSession () हुक सदस्य को हल करता हैId/orgId से /api/user-info (canonical *** पथ) - नकली KMEMBER/KORG की जगह कुकी माय लोन में पढ़ती है, प्रस्ताव विस्तार, ऋण विस्तार, ऋण सेटिंग, PipelineLoanOffersTab, PipelineActiveLoansTab - न्यू उधारकर्ता ACH बैंक (Stripe) को लिंक कर सकते हैं भुगतान method आईडी + जनादेश) या कार्ड, लिंक किए गए तरीकों को देखें, डिफ़ॉल्ट सेट करें, रद्द करना; एम्बेडेड on /loans/[loanId] page - losApi: + startStripeConnectonboarding सेटिंग्स नेव (2 प्रति स्मृति नियम 3 स्थानों में से): सेटिंग्सStatusWindow वाणिज्य + मार्ग प्रविष्टि के तहत "Loan Products" जोड़ता है ************* - (sidebar.tsx) में कोई पीओएस प्रविष्टि नहीं है - पुष्टि नहीं की गई है।

  4. · kamolos

    P0 सख्त - स्ट्रिप कनेक्ट समापन बिंदु + पीडीएफ समतल

    - EsignClient आयात को ठीक करें: EsignGenericEnvelopeRepository / EsignSignatureRepository .esign.repos में रहते हैं, नहीं। न्यू स्ट्रिपकनेक्ट कंट्रोलर POST ************* Org कस्टम-account + रिटर्न ऑनबोर्डिंग URL बनाता है मौजूदा स्ट्रिप कनेक्टसर्विस - MediaServiceClient.fetchBlob: के लिए एक संग्रहीत ब्लॉब के बाइट खींचता है समतल / पुनः प्रस्तुत वर्कफ़्लो - नई PdfFlattenservice: एक E-SIGN का पालन करता है अधिनियम-अनुपालन हस्ताक्षर प्रत्येक कैप्चर के लिए स्रोत प्रकटीकरण पीडीएफ के लिए प्रमाणीकरण पृष्ठ हस्ताक्षर (typed-name in italic); हस्ताक्षरकर्ता/आईपी/UA/SHA-256 + लिफाफे UID ने पृष्ठ पर रिकॉर्ड किया है। मीडिया सर्विस के माध्यम से नए चपटा ब्लोब स्टोर करता है और रिटर्न blob id + SHA-256। - EsignClient.submitSignature अब SIGNED चिह्नित करने के बाद flattens और जनसंख्या ************* + हस्ताक्षरितDocumentSha256। फ़्लैटन विफलता लॉग लेकिन हस्ताक्षर को वापस नहीं करता है।.

  5. · kamo-internal

    /api/los/* प्रॉक्सी मार्ग → K8s DNS के माध्यम से KamoLOS

    दर्पण /api/billing/[[...path]]]] बिलिंग सर्विस प्रॉक्सी: -*** सत्र Redis के माध्यम से हल; X-Org-Id + X-Member-Id आगे - /api/los/webhooks/* छोड़ सत्र auth (Stripe हस्ताक्षर सत्यापित at) KamoLOS; स्ट्रिप-सिग्नचर हेडर के माध्यम से पारित किया जाता है - भगवान-मोड हेडर पास-थ्रू संरक्षित - अपस्ट्रीम विफलताओं पर 502 रैपिंग

  6. · kamo-internal

    जोड़ें PERSONAL LOANS commerce type front-end

    - सगाई प्रकार लेबल: सगाई का विस्तार टाइप यूनियन + शब्दावली - MarketcardGrid: PERSONAL LOANS रंग (#14b8a6) + लैंडमार्क आइकन + काउंटर - मार्केट विस्तार पृष्ठ: नया टैब (लोन उत्पाद / ऑफ़र / सक्रिय ऋण / राज्य नियम: commercetype === 'PERSONAL LOANS' पर - losApi.ts: पूर्ण डीटीओ सतह + पतली लांच रैपर हिट / एपीआई / लॉस / * उत्पादों, प्रस्तावों, ऋण, भुगतान, ड्रॉ, बयान, भुगतान के लिए विधियां, ऑटो-पे, राज्य नियम, ESign हस्ताक्षर प्रस्तुतीकरण न्यू मार्केटलानउत्पाद टैब / मार्केटलाओनप्रस्ताव टैब / मार्केट एक्टीवलांस टैब / MarketLoanStateRulesTab घटक - PipelineView: VERTICAL ICONS प्रविष्टि for personal loans - PipelineVerticalSection: PERSONAL LOANS in hasSubTabs + रेंडर ब्लॉक रूट्स ऑफर (आवश्यक) + सक्रिय ऋण (संवाद) उप-टैब New PipelineLoanOffersTab / PipelineActiveLoansTab - बोरोवर (मेम्बर) / लोन्स सतह: सूचकांक, / लोन / ऑफ़र्स / [ऑफ़र आईडी स्वीकार्य और संकेत प्रवाह के साथ (टाइप हस्ताक्षर → ESign प्रस्तुतीकरण → स्वीकारकर्ता), /लोन / [loanId] शेष, बयान, भुगतान के साथ इतिहास, अभी भुगतान करें, ड्रॉ-फो-लॉक - सेटिंग्स/page.tsx: commerce nav "Loan Products" प्रविष्टि जोड़ता है

  7. · kamolos

    प्रारंभिक व्यक्तिगत ऋण उत्पत्ति + सर्विसिंग सेवा

    नई स्प्रिंग बूट 3.1.5 / जावा 21 माइक्रो सर्विस बिलिंग सर्विस पर मॉडलिंग की गई। व्यक्तिगत लोन डोमेन के अंत तक: - REST + DTO लेयर के साथ लोन प्रोडक्ट / लोनऑफर / लोन CRUD - ऋण जीवनचक्र सेवा ऋण + वाणिज्य सगाई / प्रतिबद्धता को भौतिक बनाता है प्रस्ताव स्वीकृति पर (एक txn) ऋण भुगतान + ऋण विवरण + ऋण भुगतान ऋण लेना भुगतान प्लान सेवाएं + नियंत्रक - गणित: Amortization Engine (Reg Z Appendix J), InterestAccrualEngine (ACT 365 / ACT 360 + ADB) - स्ट्रिप कनेक्ट सर्विस (कस्टम-खाता ऑनबोर्डिंग, ACH डिस्बर्समेंट) ACH डेबिट + StripeWebhookService (idempotent via) LoanStripeWebhookEvent + कनेक्ट-विशिष्ट वेबहुक समापन बिंदु - TilaRenderer Service Reg Z Schumer बॉक्स (स्थापना) / ओपन-एंड प्रकटीकरण (LOC) PDFbox के माध्यम से MinIO में - StateRuleselfHealService boot-loads loan state rules.json (50-state) रजिस्ट्री + MLA कैप + कूलिंग-ऑफ EsignClient + EsignSignController लापता सदस्य-facing पूरा हस्ताक्षर प्रस्तुतीकरण पथ (लेखन EsignGenericEnvelope +) साझा-lib में EsignSignature) अधिसूचनाडीप-कीड शेड्यूलिंग के साथ डिस्पैच सेवा - क्रोन नौकरियां: प्रस्ताव एक्सपिशन, स्टेटमेंट जेनरेशन, डेलिनक्वेंसीस्वीप - K8s प्रकट होता है (configmap / तैनाती / सेवा), Dockerfile, Forgejo CI वर्कफ़्लो (dual-cluster K1M1+K2M1) सभी के साथ गठबंधन बिलिंग सर्विस सम्मेलन

  8. · kamo-shared-library

    PERSONAL LOANS वाणिज्य प्रकार + इकाई पैकेज जोड़ें

    - Commercetype.PERSONAL LOANS + समानांतर सगाई टाइप + शब्दावली - व्यक्तिगत लोन विक्रेताओं के लिए अंतर्निहित विक्रेता सूची प्रविष्टियों - 15 personal loans JPA संस्थाओं (LoanProduct, LoanStateRule, LoanOffer,) ऋणप्रस्ताव, ऋण, ऋणड्रा, ऋणभुगतान, ऋणभुगतान LoanRecurringPayPlan, LoanStatement, LoanFee, LoanDisclosure, LoanDisclosure, LoanDisclosure. LoanAuditEvent, LoanStripeWebhookEvent, LoanNotification. - 22 personal loans enums (status, tier, तरह, स्रोत, चैनल, आदि) - EsignGenericEnvelope + EsignSignature + गैर-मार्टगेज के लिए प्रस्ताव लिफाफे निर्माण और सदस्य-facing हस्ताक्षर कैप्चर KamoLOS वाणिज्य विपणन सेवा / वाणिज्य सेवा स्कीमा प्रबंधन KamoInitializer Services के साथ बनी हुई है; KamoLOS उपयोग करता है डीडीएल-ऑटो: कोई नहीं।.

  9. · kamo-internal

    फोटो-अलबम अपलोड समान WS पाइपलाइन का उपयोग अपलोड टैब के रूप में करते हैं

    Doc-manager अपलोड पाइपलाइन (hashing → dedup चेक → रजिस्टर-or-upload → WebSocket-driven रूपांतरण) को एक पुन: प्रयोज्य useImagingUploads हुक में निकालें। हुक प्रति फ़ाइल स्टेट मशीन, XHR प्रगति और लाइव रूपांतरण-प्रगति WebSocket सदस्यता है कि अपलोड टैब का उपयोग करता है। फोटो-अलबम संवाद हुक का उपभोग करने के लिए फिर से लिखा गया: - फ़ाइलें स्वचालित रूप से और एक समय में एक प्रक्रिया। प्रत्येक इन-फ्लाइट फ़ाइल अपने मौजूदा स्टेज लेबल (Hashing → चेकिंग → अपलोडिंग → कनवर्टिंग → पूर्ण) को रैखिक प्रोग्रेसिव, एक चेक / त्रुटि / स्पिनर आइकन और विफलता के बाद एक रिट्री बटन के साथ दिखाता है। - संवाद अब वास्तविक सर्वर त्रुटि संदेश को प्रदर्शित करता है (उदाहरण के लिए, इसे निगलने के बजाय "MinIO को अपलोड करने में विफल") और अपलोड करने के दौरान सेव को अवरुद्ध किया जाता है। - सफलतापूर्वक अपलोड की गई फाइलें स्वचालित रूप से एल्बम को आइटम के रूप में संलग्न करती हैं।.

  10. · kamolos

    वास्तविक समय में उधारकर्ताओं से सक्रिय = झूठे कार्यक्रम

    useProgramCatalog अब isActive=false के साथ कार्यक्रमों को फ़िल्टर करने से पहले उन्हें ऋण विज़ार्ड में वापस आ गया। ध्वज को सर्वर-साइड के रूप में जोड़ा जाता है (base.isActive and override.isActive). बंधक कार्यक्रम सेटिंग्स टैब में बंद, संबंधित कार्ड बंद हो जाता है व्यक्तित्व/प्रोग्राम चयन में दिखाई देने वाले - मौजूदा 60s द्वारा कैप्ड staletime छत।.

  11. · SecurityService

    बूट पर मौजूदा बंधक बाजारों के लिए बैकफिल कार्यक्रम की पेशकश

    DataLoader अब कॉल ************* AppMortgage-engagement backfill के बाद। प्रत्येक मौजूदा मॉर्टगेज को स्वीप करें वाणिज्य बाजार और यह सुनिश्चित करता है कि इसके कार्यक्रम की पेशकश की जाती है। आवरण बाजार जो निर्माण से पहले बनाया गया थाMarket-side हुक उतरा - विशेष रूप से उपयोगकर्ताओं को इससे पहले मार्केट्स एंड फील्ड्स के माध्यम से जोड़ा गया तैनाती। Idempotent: एक पूरी तरह से bootstrapped प्रणाली लॉग "सभी बाजारों पहले से ही प्रावधानित "और छोड़ें।.

  12. · kamo-shared-library

    बाजार पर बूटस्ट्रैप बंधक कार्यक्रम की पेशकश + बूट बैकफिल बनाते हैं

    जब उपयोगकर्ता commercetype=MORTGAGE के साथ एक commerceMarket बनाता है - माध्यम से मार्केट्स एंड फील्ड्स सेटिंग्स टैब - इसके तहत बाजार को कार्यक्रम की पेशकश की आवश्यकता है डाउनस्ट्रीम commerce सतहों के लिए संकेत देते हैं। इससे पहले पहले AppMortgage निर्माण पर lazily हुआ, इसलिए नवविवाहित बंधक बाजार खाली बैठा और KamoLOS-साइड एडमिनिस्ट्रेशन ने एक जोड़ने से कोई प्रभाव नहीं देखा। ************* जब type=MORTGAGE, कॉल ************* बाजार बचाने के बाद। लपेटना कोशिश में / पकड़ो इसलिए एक प्रोग्राम-सीडिंग विफलता बाजार निर्माण को अवरुद्ध नहीं करती है (KamoLOS प्रोग्राम रजिस्ट्री से प्रोग्राम पढ़ता है, नहीं पेशकश). ********** झाड़ू प्रत्येक मौजूदा मॉर्टगेज बाजार और यह सुनिश्चित करता है कि इसकी पेशकश की गई है। बूट पर सुरक्षा सेवा डेटालोडर द्वारा पहले बनाए गए बाजारों को कवर करने के लिए उपयोग किया जाता है यह हुक भूमि पर उतरा। Idempotent — स्थिर राज्य जूते एक नहीं हैं।.

  13. · kamo-internal

    डुप्लिकेट बाइंडर इसलिए उपयोगकर्ता मूल को प्रभावित किए बिना फोर्क कर सकते हैं

    बाइंडर सूची के संदर्भ मेनू से सुलभ "डुप्लिकेट" कार्रवाई को जोड़ता है और संपादक हेडर में एक नए बटन से जोड़ता है। डुप्लिकेट स्रोत बाइंडर के मेटाडाटा + आइटम + संशोधक से शुरू होता है, जो वर्तमान उपयोगकर्ता के पास कोई शेयर नहीं होता है और इसे स्वचालित रूप से चुना जाता है ताकि उपयोगकर्ता तुरंत नई शाखा पर उतर जाए। तार ऊपर: ********** प्रॉक्सी मार्ग - डुप्लिकेट बाइंडर () बाइंडरApi.ts और उपयोग में बाइंडरस्टोर - बिंदरलिस्टपैनल में "डुप्लिकेट" मेनू आइटम (किसी भी दृश्य बाइंडर पर काम करता है - स्वामित्व, साझा या टेम्पलेट) - डुप्लिकेट आइकन बटन + स्पिनर बाइंडरएडिटर हेडर में

  14. · DocsService

    POST ****************

    डीप कॉपी एक बाइंडर अनुरोधकर्ता अनुरोधकर्ता के स्वामित्व वाले एक ताजा बाइंडर में देख सकता है (owned, साझा या टेम्पलेट)। प्रत्येक आइटम (DOC, SEPARATOR, GENERated) को ऑर्डर, टाइप, configJson, और प्रति-इंस्टेंस संशोधक ओवरराइड्स intact; प्रति बाइंडर-वाइड संशोधक; अकेले अंतर्निहित Img दस्तावेजों को छोड़ देता है (दोनों बाइंडरों ने समान डॉक्स का संदर्भ दिया)। प्रति शेयर के साथ शुरू होती है और isTemplate=false.

  15. · kamo-internal

    बंधक कार्यक्रम टॉगल + MORTGAGE सगाई गहरी लिंक

    - MortgageProgramsPanel अब प्रत्येक प्रोग्राम कार्ड पर एक वास्तविक स्विच भेजता है आशावादी अद्यतन + असफलता पर रोलबैक। Toggling a प्रोग्राम कॉल पुटी **************** और प्रतिबिंबित करता है आधार + ओवरराइड से प्रभावी सक्रिय राज्य कम्प्यूट सर्वर-साइड। - ************* isActive) नए समापन बिंदु को लपेटता है। - /commerce/engagement/[id] पेज: आवेदन लिंकटाइप अब रूट्स टू /Applications/{linkId} (urlA विस्तार पृष्ठ), लापता नहीं ************* MORTGAGE सगाई ऑटो-redirect में लोड पर /Applications/{linkId}, इसलिए उपयोगकर्ता सीधे URLA विस्तार में आते हैं सामान्य सगाई के दृष्टिकोण के बजाय।.

  16. · SecurityService

    PUT/programs/{code}/active + deprecate legacy बंधक POS endpoints

    - MortgageProgramController लाभ PUT ************* बॉडी {"isActive": bool}, LOS TAKE APPLICATION पर गेटेड। प्रतिनिधि ************* जो OrgProgramOverride पंक्ति को अद्यतन करता है। ********** GetMortgageAppById, makeMortgageApp. updateMortgageApp, updateMortgageAppStatus सभी चिह्नित @Deprecated with जावाडोक ने URLA-fidelity /api/security/mortgage-apps पर कॉलर्स को इंगित किया समापन बिंदु विरासत पीओएस पथ बैक-कम्पैट के लिए कार्यात्मक रहते हैं।.

  17. · kamo-shared-library

    Per-org सक्षम / अक्षम + विरासत वाणिज्य-केवल बंधक पथ को हटा दें

    ********** एक OrgProgramOverride पंक्ति upsert RecordState.isActive=desired; listForOrg अब और बेस प्रोग्राम है ओवरराइड के साथ सक्रिय ध्वज, इसलिए एक विकलांग ओवरराइड दोहरी है अर्थ "इस ऑर्ग ने इस कार्यक्रम को स्पष्ट रूप से अक्षम कर दिया है। -ऑर्गप्रोग्राम ओवरराइड रिपोजिटरी ने पाया AllByOrganizationId और ************* upsert + listForOrg पथ के लिए। ********** / findMortgageAppbyId / ************* / अद्यतनMortgageApp / अद्यतन updateMortgageAppStatus @Deprecated हैं। वे केवल वाणिज्य पर काम करते हैं Intents ने LOAN APPLICATION को टैग किया और URLA AppMortgage को नहीं बनाया और पढ़ा रिकॉर्ड - **************** के साथ बैक-कम्पैट के लिए रखा लेकिन नए कोड को AppMortgageService + /api/security/mortgage-apps का उपयोग करना चाहिए।.

  18. · kamolos

    स्क्रबबेबल दिन रात्रिभोज थीम विद सन-मून स्काईटोगल

    - सतत टी 🧛 [0,1] दृश्य स्थिति ड्राइव ~ 25 सीएसएस कस्टम गुण पर: गर्म कागज दिन के बीच रैखिक आरजीबी इंटरपोलेशन के माध्यम से जड़ और lib/scene/palettes.t में Aurora रात एंकर - पहली यात्रा पर दिन के स्थानीय समय के लिए डिफ़ॉल्ट; मैनुअल ओवरराइड है एक कुकी में चिपचिपा, फिर से सक्षम ऑटो फॉलो करने के लिए एक क्लॉक-आइकॉन बटन के साथ SSR scenePainter पहले पेंट से पहले हल पैलेट सेंकना वापसी यात्रा पर कोई FOUC नहीं है; पहली बार दौरा ऑटो मोड में आसानी दिन से स्थानीय घड़ी t ओवर ~1.4s - SkyToggle: सूचक draggable अंगूठे जिसका सूर्य चंद्रमा glyph में घूमती है सूरज के साथ किरणों और वर्धमान चंद्रमा के बीच टी और रूपांतर के साथ वास्तविक समय - PageGlow + StarField ambient परतें: amber sun-glow upper-left at दिन, रात में शांत चन्द्र-ग्लो ऊपरी-दाएं, ~ 80 बीज वाले सितारों में फीका पिछले डस्क और twinkle के माध्यम से कम गति-aware keyframe - MUI थीम T≥0.5 dusk सीमा पर स्विच करता है; CssBaseline शरीर का रंग सीएसएस vars से पढ़ा जाता है ताकि पारस्परिकता निरंतर रहती है - हार्ड-लॉक्ड डार्क क्लास + कलर-स्कीमी ड्रॉप्स; दो को ठीक करता है लंबे समय से कहानी - सतह आधार (रंग-समाप्त) ढाल गिरने की वापसी JourneyCrest और CeremonyClient में

  19. · kamolos

    सम्पर्क करने का विवरण

    AppMortgageDTO अब वाणिज्य-जीवन चक्र पहचानकर्ता को वहन करता है जो कि वाणिज्य-जीवन चक्र पहचानकर्ता हैं। प्रत्येक बंधक आवेदन पर सुरक्षा सेवा बैकेंड आबादी। कामोलोस उन्हें अभी तक सक्रिय रूप से उपयोग नहीं करता है, लेकिन उन्हें भविष्य के माध्यम से टाइप करना उधारकर्ता का सामना करना ("आपका आवेदन प्रतिबद्ध है") कर सकते हैं यूआरएलए मॉडल के माध्यम से जाने के बिना सीधे वाणिज्य परत का संदर्भ लें।.

  20. · kamo-internal

    वाणिज्य संदर्भ + प्रोग्राम सेटिंग टैब दिखाएं

    - / आवेदन नायक अब "कामर्स > आवासीय बंधक · यूआरएलए 2021" पढ़ता है इसलिए कर्मचारी वाणिज्य मॉड्यूल के एक ऊर्ध्वाधर के रूप में बंधक देखते हैं, एक नहीं स्टैंडअलोन पाइपलाइन। - वाणिज्य सेटिंग्स के तहत नए बंधक कार्यक्रम टैब - केवल की सूची सक्रिय राज्य और नियमावली संस्करण के साथ ऋण कार्यक्रम (CONV/FHA/VA/...)। सेटिंग्स नेव को सभी तीन स्थानों (subTopics, मार्गों, लेबलFor) में अद्यतन किया। AppMortgageDTO/SummaryDTO + नया प्रोग्रामDTO/LoanProgramCode प्रकार दर्पण साझा-lib परिवर्तन (engagementUid / intentUid / प्रतिबद्धताUid). - बंधकAppsApi.listPrograms () मौजूदा / प्रोग्राम्स समापन बिंदु को हिट करता है।.

  21. · SecurityService

    LOS अधिकार को लागू करना + /commerce/engagement endpoint

    - MortgageAppController: हर समापन बिंदु अब रोलराइट टाइप पर गेट्स। पढ़ना LOS VIEW PIPELINE की आवश्यकता होती है; एक नया अनुप्रयोग बनाने के लिए आवश्यकता होती है LOS TAKE APPLICATION; संपादन किसी भी LOS लिखने की भूमिका (टेक / प्रक्रिया /) को स्वीकार करते हैं। अंडरराइट / बंद / निलंबित); हटाने के लिए LOS SUSPEND OR WITHDRAW की आवश्यकता होती है। KamoLOS के सेवा खाते पहले से ही पूरा LOS सही सेट किया जाता है इसलिए उधारकर्ता यात्रा अप्रभावित है; स्टाफ उपयोगकर्ताओं को उनकी भूमिका के अनुसार गेट किया जाता है। - वाणिज्य प्रबंधन नियंत्रक: नया GET ************* (type/status/date filters के साथ सूची) और GET .../engagement/{uid} (detail), ACCESS COMMERCE पर गेटेड। यह ऊर्ध्वाधर-एग्नोस्टिक समकक्ष है। बंधक-apps समापन बिंदु - वही तार प्रारूप जो आप पढ़ रहे हैं बंधक, खुदरा आदेश, या किराये की बुकिंग।.

  22. · kamo-shared-library

    वायर URLA बंधक सगाई / इरादा / प्रतिबद्धता में

    बंधक वाणिज्य प्रणाली का एक ऊर्ध्वाधर ऊर्ध्वाधर है - खुदरा, किराये के साथ, सेवा, सदस्यता और खरीद। यह URLA-fidelity बंधक तार डोमेन-agnostic commerce lifecycle के लिए स्टैक तो क्रॉस-vertical सतहों (पाइपलाइन डैशबोर्ड, एनालिटिक्स, ग्राहक पोर्टल) किसी अन्य की तरह बंधक देखें सगाई। - आवेदन: नई सगाई id / intent id / प्रतिबद्धता id FKs (के लिए शून्य) विरासत पंक्तियाँ). - ************* बूट्स ऑर्ग के मोर्टगेज को बूटस्ट्रैप करता है commerceMarket + पहला ऐप बनाने पर प्रति ऋणProgramCode की पेशकश; प्रत्येक AppMortgage के लिए सगाई + इरादे को संलग्न करता है; दर्पण लोनफ़ाइल। स्थिति Intent.status और सगाई पर। स्थिति; पर एक प्रतिबद्धता को भौतिक बनाता है लोन की शर्तें स्नैपशॉट के साथ FUNDED। Idempotent अंत करने के लिए अंत। - AppMortgageService: बनानाब्लैंक/createFromLead सगाई के लिए संलग्न; सेटचयनितप्रोग्रामकोड इरादा की पेशकश को ताज़ा करता है। - प्रत्येक संक्रमण के बाद LoanPipelineService.transition दर्पण; commerce दर्पण विफलता यूआरएलए प्रगति (लॉग + जारी) को अवरुद्ध नहीं करती है। AppMortgageDTO / AppMortgageSummaryDTO expose सगाई Uid / intentUid / प्रतिबद्धता फ्रंटेंड के लिए प्रयुक्त।.

  23. · kamo-internal

    बाइंडर, विभाजक, उत्पन्न डॉक्स के साथ ऑर्गनाइज़र टैब जोड़ें

    ऑर्गनाइज़र को डॉक मैनेजर में जोड़ता है: - एक बाइंडर सूची + संपादक स्प्लिट व्यू के साथ नया "ऑर्गनिज़र" टैब (स्थिति 4); मौजूदा टैब सही ढंग से बदलाव करते हैं - प्रत्येक doc पंक्ति पर " ऑर्गनाइज़र में जोड़ें" एक्शन एक बाइंडर पिकर (बाइंडर्स को बाहर निकालना या नया बनाना) खुलता है। - बाइंडर संपादक: ड्रैग-टू-रिऑर्डर आइटम (HTML5 DnD), पेज सेपरेटर (मॉड्यूलर कलर पिकर के माध्यम से रंग + लेबल) जोड़ते हैं, जेनेटिक डोक (कवर पेज, टेबल ऑफ कंटेंट, फोटो एलबम, वर्ड काउंट) जोड़ते हैं। - फोटो एलबम अपलोड-न्यू-फोटो का समर्थन करता है (डॉक मैनेजर को भी जोड़ता है) और ब्राउज़-existing - बाइंडर-वाइड संशोधक पैनल ने esign संशोधक आकार (पृष्ठ संख्या, लेबल, वॉटरमार्क) का पुन: उपयोग किया - प्रति-doc-instance संशोधक एक प्रति-item संवाद के माध्यम से ओवरराइड करता है - पूर्वावलोकन मोड एक iframe में विलय पीडीएफ प्रदान करता है - डाउनलोड बटन invokes /api/docs/binders/{id}/render नया Zustand स्टोर useBinderStore, REST क्लाइंट ऐप/utils/binderApi.ts, and Next.js प्रॉक्सी मार्गों के तहत /api/docs/binders/* मौजूदा इमेजिंग प्रॉक्सी पैटर्न को प्रतिबिंबित करता है।.

  24. · DocsService

    जोड़ें ऑर्गनाइज़र बैकेंड - CRUD, रेंडर, उत्पन्न डॉक्स

    ऑर्गनाइज़र सुविधा के लिए नए REST सतह के तहत /api/docs/binders: - बाइंडरकंट्रोलर: CRUD, आइटम ऐड / अद्यतन / हटाने / आदेश, शेयर, प्रस्तुत - बाइंडर सर्विस: ऑर्ग-स्किप्ड एक्सेस चेक, मालिक / शेयर / टेम्पलेट दृश्यता, आइटम स्थिति प्रबंधन - BinderRenderer: दो-पास विलय (deferred ToC/WordCount), साझा PdfBuildUtils के माध्यम से प्रति-इंस्टेंस और बाइंडर-व्यापी संशोधक लागू होता है। - कवर पेज, टेबल ऑफ कंटेंट, वर्ड काउंट, फोटो एलबम (चित्र बाइट्स के लिए MinIO का उपयोग करता है) के लिए रेंडरर्स के साथ उत्पन्न-doc रजिस्ट्री Reuses ************* esign-modified docs के लिए और **************** एक्सेस कंट्रोल के लिए।.

  25. · kamo-shared-library

    Binder/BinderItem/BinderShare संस्थाओं और भंडार जोड़ें

    नए डॉक-मैनेजर ऑर्गनाइज़र सुविधा के लिए दृढ़ता परत जोड़ता है: - बाइंडर (लांग आईडी, मालिक सदस्य, ऑर्ग-स्कैप्ड, isTemplate, बाइंडर-वाइड संशोधक जेसन) - BinderShare (UUID, प्राप्तकर्ता सदस्यआईडी, READ/WRITE भूमिका) - स्प्रिंग डेटा जेपीए ऑर्ग-स्कैप्ड क्वेरीज़ और "सदस्य सदस्य" संघ (स्वामित्व + साझा + टेम्पलेट) के साथ पुनर्स्थापना करता है। शिमा को हाइबरनेट के डीडीएल-ऑटो के माध्यम से KamoInitializerसेवा द्वारा स्वचालित रूप से उठाया जाता है।.

  26. · kamolos

    Glimmer परीक्षण बैनर, viewport फिट, कुकी सहमति जोड़ें

    - TestModeBanner अपनी ऊंचाई को --kamolos-banner-h पर प्रकाशित करता है और Globals.css इसे मिन-h-स्क्रीन से घटा देता है इसलिए होम व्यू नहीं अब बैनर के पिक्सेल द्वारा व्यूपोर्ट को ओवरफ्लो करता है। - बैनर एक स्लाइडिंग एम्बर shimmer + धीमी छाया पल्स प्राप्त करता है ताकि यह एक सक्रिय चेतावनी के रूप में पढ़ता है, विपणन पूर्वावलोकन बार को प्रतिबिंबित करता है। - नई कुकीConsentBanner (सभी को स्वीकार / विश्लेषण के साथ प्रबंधित करें) Toggle, विपणन संस्करण से reskinned अंधेरे का उपयोग करने के लिए Aurora की सतह + per-tenant -org-primary / -org-gradient।.

  27. · kamolos

    Lender + निर्दिष्ट LO के लिए सरफेस SAFE एक्ट NMLS ID

    अवतार, उपस्थिति पल्स, सत्यापित NMLS लिंक के साथ LoContactCard जोड़ता है, और नायक के शीर्ष स्तर में कॉल / ईमेल / संदेश कार्रवाई और सतहों को लागू करना, इसलिए उधारकर्ता के लाइसेंस प्राप्त ऋण मूलक (नाम + NMLS ID) हमेशा एक है SAFE अधिनियम §1503 और Reg Z §1026.36(g). ऋणदाता पाद लेख के NMLS को "Licensed · NMLS #" ट्रस्ट गोली, और बढ़ावा दिया जाता है। UseAssignedLO अब ऋण फ़ाइल LO असाइनमेंट तक एक नकली डेमो LO लौटा देता है भूमि LoGuideChip केवल आवाज को उलट देता है क्योंकि LO की अपनी सतह है।.

  28. · kamolos

    Demo lender auto-loads when no real tenant resolves

    The reason "still not branded" — no real tenant org existed for the hostname being tested, so the SSR fetch returned null and every lender-facing surface fell through to the bundled Kamo defaults. The branding system was working; it just had nothing to brand WITH. Now ships a complete demo lender that auto-loads as the fallback when the real fetch returns nothing AND stubs are allowed **************** the default). Production with stubs disabled still falls through to bare Kamo defaults so we don't ever ship a real borrower to "Apex Mortgage". - lib/org/demoOrg.ts: "Apex Mortgage" — burgundy (#8B1538) primary and gold (#D4A24C) secondary, deliberately far from aurora so the branded effect is unmistakable. Full populate: tagline ("Three generations of getting you home."), NMLS #123456, support phone + email, year established 1989, both EHO + EHL marks, linear-135 gradient direction. New assetBasePath: '/demo-lender' on the org type tells ThemeLogo to load /demo-lender/logo-full.svg before trying MinIO or the global fallback. - **************** + logo.svg: real Apex Mortgage wordmark and mountain-peak mark in the burgundy → gold gradient. Not just a wordmark, an actual lockup. - lib/org/fetchOrganization.ts: returns DEMO_ORG when upstream is unreachable or no org is registered AND stubs allow it. Real-host / real-tenant resolution wins when present. - components/theme/ThemeLogo.tsx: consults useOrg().assetBasePath and puts that prefix at the front of the candidate chain. Demo lender's logo lands; real tenants' MinIO assets still resolve first when populated. - app/layout.tsx: <link rel="preload"> tracks the same priority order, so the SSR preload targets the demo lender's logo when demo mode is active. - **************** when org.id === 'demo-apex', the banner calls out "Showing the demo lender (no tenant org configured for this host)" so testers know which brand they're seeing is canned. Build 32/32, 140 tests pass. Reload the borrower app and you should now see the Apex Mortgage logo + name in the header, the burgundy and gold throughout the CTAs and ribbons, "Welcome to Apex Mortgage." on the landing hero, NMLS #123456 + EHO + EHL in the footer, "Call Apex Mortgage (800) 555-2739" in the help sheet.

  29. · kamolos

    लेंडर को प्राथमिक ब्रांड बनाएं, न कि उच्चारण

    "कैमो उत्पाद के साथ ऋणदाता एक्सेंट" से उधारकर्ता-facing ऐप को फिर से फ्रेम करें "लेंडर के उत्पाद, कामो इंजन के रूप में" के लिए। अब हर सतह के साथ होती है ऋणदाता की पहचान - LenderLockup ************* - canonical lender ब्रांड मार्क हर जगह इस्तेमाल किया। स्केल sm → md → lg → xl → हीरो। जोड़े लोगो (या शब्दचिह्न के प्राथमिक रंग में गिरावट) के साथ ऋणदाता का नाम; वैकल्पिक टैगलाइन नीचे। हर सतह से प्रयुक्त होता है "मैं MY ऋणदाता की साइट पर हूँ" महसूस करने की जरूरत है। - बोरोअरहेडर - हेडर बार h-14 / h-16, लोगो + lender नाम के लिए बढ़ता है हमेशा दिखाई देते हैं (size="md" forceWordmark), ड्रॉप-शैडो में tinted उधारदाता का प्राथमिक। पिछले छोटे 24px कोने का चिह्न चला गया है। नया क्लिक-टू-कॉल फोन बटन ने उधारदाताओं के साथ मदद करने के लिए आगे बैठता है प्राथमिक सीमा + चमक; मोबाइल पर यह एक आइकन बटन पर गिर जाता है। The उच्चारण रिबन 4px (2px) है और अभी भी ऋणदाता ढाल को पैन करता है। - लैंडिंग पेज हीरो - केंद्रित, हीरो पर ऋणदाता लॉकअप द्वारा प्रभुत्व मजबूत-ऑर्ग-प्राथमिक चमक के साथ ग्लास कार्ड के अंदर स्केल करें। ऊपर "Welcome to {LenderName}." (Gradient-clipped lender) नाम हेडलाइन है, जिसमें लेंडर की टैगलाइन उपशीर्षक के रूप में है। एक रंगीन गोली कहते हैं "{Lender} · ऋण ऑनबोर्डिंग" बजाय जेनेरिक "Kamoville" CTA बटन बड़ा होता है और एक मजबूत होता है -ऑर्ग-प्राथमिक बाहरी चमक। - LenderFooter - पूर्ण attribution पंक्ति: lender name + NMLS उपभोक्ता एक्सेस लिंक + फोन + ईमेल + वेबसाइट + ईएचओ / ईएचएल मार्क। कॉपीराइट लाइन "© 2023-2026 {LenderName}. सभी अधिकार सुरक्षित हैं। "कामो द्वारा ऑनबोर्डिंग" क्रेडिट। हीरो सतहों पर दृश्यमान। - हीरोब्रांडइंट्रो - स्पलैश 3.4s (2.4s था), पहली यात्रा पर शो और प्रत्येक 30 मिनट निष्क्रिय वापसी (एक बार प्रति सत्र था)। लोगो कार्ड बढ़ता है एक भारी के साथ एक मजबूत ग्लास कार्ड के अंदर आकार "हीरो" -ऑर्ग-प्राथमिक बाहरी चमक। "Welcome to {LenderName}" शीर्षक है; ऋणदाता की टैगलाइन उपशीर्षक है। - उत्पन्न मेटाडाटा - Next.js शीर्षक टेम्पलेट अब `% है · {LenderName}` डिफ़ॉल्ट रूप से केवल ऋणदाता नाम होने के साथ। हर बच्चे का पेज पढ़ता है ब्राउज़र टैब और ओजी कार्ड में उधारदाता-पहले। साइटनाम, शीर्षक और विवरण ऑर्ग रिकॉर्ड से सभी प्रवाह। 32/32, 140 टेस्ट पास बनाएं। यदि आपके किरायेदार विन्यास ने टैगलाइन / nmlsId / फोन समर्थन को पॉप्युलेट किया है / ईमेल समर्थन / वर्षपूर्व / रंगप्री / रंगसेक / लोगो परिसंपत्ति, साइट अब अपने ऋणदाता के उत्पाद की तरह अनजाने में दिखता है। कुछ नहीं इसे "Kamo" डिफ़ॉल्ट रूप से डिग्रेड किया गया था।.

  30. · InitializerService

    Migration for borrower-facing brand + disclosure columns

    Adds the seven nullable columns the kamo-shared-library Organization entity now declares (TAGLINE / NMLS_ID / PHONE_SUPPORT / EMAIL_SUPPORT / EQUAL_HOUSING_DISCLOSURE / ON_PRIMARY_TEXT / GRADIENT_DIRECTION) so the kamo-los borrower app can pick up lender branding without schema errors on existing orgs rows. @Order(35) — runs after LogoFullExtMigrationRunner (30) and before LeadCompanyColumnRunner (40). Idempotent via ADD COLUMN IF NOT EXISTS; safe to re-run. Per project policy this file is not executed here — KamoInitializerService is started by the user.

तुम्हारा ब्रह्मांड इंतजार कर रहा है.

मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.

हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं