உள்ளடக்கத்திற்குச் செல்லவும்
KAMOUniverse

மாற்று பதிவேடு

என்ன புதிது.

அது கப்பல்கள் போல், தளத்தில் ஒவ்வொரு மேம்பாடு.

  1. · kamo-internal

    Bold 'CRM Settings:' prefix, pipe separators, hover-only underline on tab links

    Preface the CRM settings tab links with a bold 'CRM Settings:' label (new **************** key), separate links with ' | ' instead of a bare space, and switch the links from always-underlined to underline-on-hover.

  2. · kamo-internal

    Add CRM settings tab links above refresh, gated like settings menu

    Render a right-aligned row of white, underlined, space-separated links to each /settings/features/crm tab above the Leads header refresh button. The links reuse the CRM topic + gating from settingsMenu.ts, so they only show when the org is a CRM org and the member holds MANAGE_CRM_SETTINGS, and the market-gated tabs (Vendors & Products, Manual/Automated Imports) stay hidden until an active market exists.

  3. · kamo-shared-library

    FindByStatus finder (freshness sweep enumerates ACCEPTED requirements)

  4. · SecurityService

    Staff vendor-doc upload endpoint satisfies third-party requirements

    POST **************** (LOS write): staff upload an appraisal/title/HOI/flood doc to the loan-level image store, then satisfy the loan's THIRD_PARTY requirement with it → RECEIVED (staff then accept → clears). Gives vendor documents an actual home + satisfy path instead of forcing a condition waive.

  5. · SecurityService

    Cascade condition waive/delete to document requirements

    waiveCondition and deleteCondition now best-effort call MLOSDocService's suppress-for-condition after a successful waive/delete, so a waived condition's requirements flip to WAIVED (delete → NOT_APPLICABLE) and the borrower portal stops demanding the document for an obligation the steward already removed.

  6. · SecurityService

    Notify borrower when they've submitted all documents (DOC_COMPLETE)

  7. · EmailService

    DOC_COMPLETE preview sample variables

  8. · kamo-shared-library

    DOC_COMPLETE canonical template (borrower has submitted every requested document)

  9. · SecurityService

    Daily outstanding-document reminder sweep (re-nudge borrowers, throttled)

  10. · kamo-shared-library

    FindBorrowerOutstandingForNudge (stale outstanding requirements for the reminder sweep)

  11. · SecurityService

    Notify borrower when a document is accepted (DOC_ACCEPTED, per-party routed)

  12. · EmailService

    DOC_ACCEPTED preview sample variables

  13. · kamo-shared-library

    DOC_ACCEPTED canonical template (borrower confirmation a submitted doc cleared)

  14. · kamo-internal

    Surface 'Needs review' (borrower-submitted docs awaiting staff) as a distinct, prioritized state

    A borrower's uploaded document flips the requirement to RECEIVED (awaiting lender), but the Documents column only showed 'Awaiting borrower' or a neutral 'In review' — so a doc waiting on STAFF sat invisibly until someone opened the account tab. Surface awaitingLender as a prominent violet 'N to review' that takes precedence over the amber borrower-waiting label, since it is the state the loan officer can act on now.

  15. · kamo-shared-library

    Centralize §4.5 supersession-collapse (RequirementSupersession)

    The freshness engine leaves a STALE_EXPIRED predecessor beside its fresh successor under one **************** Only the read path (ConditionClearabilityComputer) collapsed those dead heads out; the write/count paths used raw repo queries and disagreed. Extract the collapse to ONE pure shared helper (liveHeads / supersededUids / isSuperseded) so the clear-trigger, satisfy fan-out, and pipeline summary all agree with the read.

  16. · SecurityService

    Borrower notifications close the collection loop

    DocNotificationService sends transactional emails (established EmailTemplateServiceClient path, recipient = account primary member, portal link from org root domain): - DOC_REQUEST once when a loan reaches APPLICATION_TAKEN (checklist minted). - DOC_REJECTED when staff return a document (both the loan-scoped and party-scoped reject paths), with the doc name + reason. Best-effort — never blocks the document action.

  17. · EmailService

    DOC_REQUEST/DOC_REJECTED preview sample variables

  18. · kamo-shared-library

    DOC_REQUEST + DOC_REJECTED canonical templates

    Borrower document-collection emails (transactional, CAN-SPAM-exempt): a request nudge when the checklist is minted, and a return-for-reupload notice. Added to CANONICAL_KEYS + 4 resource files (doc-request/doc-rejected .json/.html), seeded on-demand per org.

  19. · kamo-internal

    Document-collection progress column

    Per-loan doc progress (accepted/total + a colored bar, 'N from borrower' / in-review / complete) in the applications pipeline, fetched in one batch by loanFileUid. Makes the document system visible in the processor's daily working view.

  20. · kamo-internal

    Remember Quick Tips open/closed per USER across all pages

    The help column's visibility was stored in a single global localStorage key, so it wasn't scoped to the user. Introduce useQuickTipsVisible, keyed by user id (not member id) so the open/closed choice is consistent for a user across every page and every org/member context, and never leaks between users on a shared browser. A custom event keeps mounted columns and other tabs in sync on toggle. SettingsView now uses it.

  21. · SecurityService

    Proactive checklist generation + pipeline doc summary

    - Generate the scenario document checklist at APPLICATION_TAKEN (MortgagePipelineController transition hook) so it exists the moment a loan enters the pipeline — no waiting for a view. - Keep the checklist current: the loan document-requirements GET now always regenerates (idempotent) so newly-entered employment/gift/program facts add their requirements. - POST **************** pipeline-gated batch proxy for the per-loan collection-progress column.

  22. · kamo-internal

    Standardize Quick Tips help column + de-slop reference page

    - Rename the help side-column title to "Quick Tips" everywhere (SettingsView reads **************** whose value is now "Quick Tips"). - Add a shared HelpContent component set **************** **************** — one accent colour, one list marker, no emoji, semantic colour reserved for meaning (e.g. permission states). - Rewrite the Essential Settings help content (behavior-labeling, security-roles, departments, job-titles) with those components: removed the 💡 emoji and the green/blue/red decorative bullets; permission states keep meaningful colour. All translation keys preserved.

  23. · kamo-internal

    Nested sub-options so deeper items (e.g. Settings sub-topics) are reachable

    The sub-option menu only rendered one level, so a sub-option that itself has sub-options (Settings topics → sub-topics) was inaccessible. - NavToolButton now renders nested children as accordions in every placement (bar popover, collapsed rail fly-out, expanded rail inline). A parent with a destination navigates on row click while its chevron expands/collapses the children; chevron toggles use a span (not a nested <button>) to keep valid HTML. - Restore the full settings tree as data (settingsMenu.ts) — every topic and its sub-topics with routes + gates, ported from the retired SettingsStatusWindow, including the market-gated CRM sub-topics — and drive SettingsButton from it. - Add the two settings label keys the old window resolved by fallback (universe, loanProducts).

  24. · kamo-internal

    Member-configurable navigation — drag options between rail & top bar, expandable rail, per-member layout

    Turn the two hardcoded navs (NavPri/NavTop) into a data-driven, per-member system. - Single nav registry (navRegistry) + pure resolver (resolveNavLayout) enforcing the invariants: every gated option lives in exactly one nav, gate-hidden options drop, newly-eligible options land at their default, nothing is ever lost/duplicated. - NavLayoutContext persists the layout per member via the existing ui-preferences store (cross-device, no backend change) and drives --nav-pri-width so an expanded rail reflows the shell with no magic numbers. - Always-on drag between NavPri and NavTop plus reorder within each nav screen-reader announcements. - NavPri gains expanded (icon + label + inline sub-lists) and collapsed (icons-only, fly-out sub-options) modes with hover-to-peek and a collapse toggle; adds active-route highlighting + aria-current; triggers are real <button>s. - The five tool buttons **************** become portable via one NavToolButton primitive — downward popover in the bar, right fly-out in the collapsed rail, inline list in the expanded rail — preserving their exact handlers. - Dedicated /settings/navigation page: move/reorder options, choose rail behavior, Reset to Standard with undo; linked from the Settings slide-out (top) and /settings. - ⌘K / Ctrl-K command palette to jump to any option. - Desktop/tablet only (gated on the md breakpoint); mobile keeps the static nav. - Deletes the superseded nav plumbing (NavPriItemWithPanel, NavPriLayout, NavPriPanel, NavInfo, NavPanelLink, NewDocumentButton).

  25. · kamo-shared-library

    **************** self-heal

    Idempotent re-link of every borrower on a loan to its account-party, callable from the document surfaces so an upload can always resolve the borrower's vault party — even for loans created before the link hooks shipped.

  26. · kamo-internal

    Document vault tab — parties, requirements, satisfy/accept/reject

    - AccountDocumentsTab: per-borrower-party view of the account's document vault and per-loan requirements. Upload once, satisfy every loan (satisfy-across); staff accept/reject received submissions; status + waiting-on at a glance. - memberDocsApi client + **************** catch-all proxy (JSON + multipart upload) to SecurityService. - Replaces the Documents tab 'coming soon' placeholder in AccountViewClient.

  27. · SecurityService

    Proxy the vault-backed requirement surface

    - MlosDocClient: POST verbs (generate, satisfy, accept, reject, satisfy-across) + enriched loan/party reads over X-Internal-Auth. - MortgageAppController /{uid}/document-requirements: enriched loan requirements (self-heals — mints the baseline checklist on first view), generate, satisfy (loan-party gated), accept/reject (steward write only). - MemberDocumentController: account parties list, party requirements (across loans), satisfy, satisfy-across, accept/reject — the account/party vault surface for staff (LOS rights) and borrowers (party membership). - MemberDocumentService: listPartiesForAccount, resolveAccountUidForMember, isMemberOfAccount.

  28. · kamo-shared-library

    Account-borrower-party link service + vault finders

    - **************** find-or-create the reusable account-party (document-vault shared-human key) for each loan Borrower; dedup ssn4+dob, else primary→account.primaryMember, else create; enrich existing on new facts. - Hooks: BorrowerSectionService (create/createPair/update) + AppMortgageService .stampOwnershipAndGet backfill (authoritative relink once the account exists). - **************** DocumentRequirementRepository .findByBorrowerUidIn + **************** (vault cross-loan reach). - **************** surfaced.

  29. · kamo-internal

    Transaction drill-in drawer in the pipeline

    Clicking a multi-loan deal opens a right drawer showing the group status + each member loan (borrower, property, loan status), each clickable through to the loan; a single-loan deal opens its loan directly. Fetches GET **************** ****************

  30. · SecurityService

    Transaction detail endpoint GET ****************

    Returns one deal group's rolled-up summary + each member loan's AppMortgageSummaryDTO (drill-in for the per-transaction pipeline). Operator view or a party to the deal (isMemberPartyToTransaction).

உங்கள் உலகம் காத்திருக்கிறது.

நிமிடங்களில் இலவசமாகத் தொடங்கவும். நீங்கள் தயாராக இருக்கும் போது பொருட்களை சேர்க்கவும் - எந்த மாற்றமும் இல்லை, புதிய உள்நுழைவுகள் இல்லை.

எப்பொழுதும் இலவசம் — கடன் அட்டை தேவையில்லை