Reconstruir para actualización de la biblioteca compartida de kamo (escásares de señalización de plantillas de correo electrónico)
Recopila las nuevas plantillas canónicas esign.signer.verificación esign.signer.invite para que la semillaForOrg pueda semilla en el primer envío.
Plantillas de señalización de signo de signo electrónico canónico (verificación - invite)
Agrega dos plantillas de correo electrónico canónico de toda la plataforma semilla perezosa per org: - esign.signer.verificación (intromisión de la OTP: .code, ...
Registro de repositorios de esign para el medidor de sumisión de frijol
EsignMeterSubmissionService necesita EsignUsageRecordRepository, pero DepósitoJpaRepositorios no escaneó com.kamo.z.shared.esign.repos, así que el contexto no e...
Comaja de uso de la señal electrónica . Compra de autoservida de consumo
4 metros: - EsignMeterSubmissionService (Ejed daily): agrega API-orgin EsignUsageRecords per org-periodo; primero 40/período incluido, el resto presentado c...
Expong alcance de la clave API-SIGNATURE (E-Signature API)
Añadir el alcance de la API de la firma electrónica al gerente de org API-key para que el personal pueda conceder Negocios orgs acceso e-sign acceso al signo el...
Puerta de API de firma electrónica programática pública (Ámbio API-SIGNATURE)
Añadir /api/public/esign/** a PublicApiController: valida la tecla API org, requiere el alcance de API-SIGNATURE, los límites de tarifas y los reenvíses a ESigS...
API de sobre programático interno (origin=API) para negocios
- EsignInternalController (/api/esig/internal/**): X-Internal-Auth . X-Org-Id Authed, llamado por APIService después de validar la tecla API-SIGNATURE-scoped;...
Alcance de api-key de API.SIGNATURE . EsignGenericEnvelope.origin
Aditivo, sin top de versión: - ApiKeyScope.API.SIGNATURE - puertas de la API programática de firma electrónica (Business) - EsignGenericEnvelope.origin (EsignUs...
Acción de Enviar por firmar y el estado de los sobres en el editor de documentos
Añadir un botón 'Enviar a la firma' al encabezado del editor de plantillas que abre un diálogo para enviar el documento a los destinatarios y rastrear el estado...
Sobres genéricos crean/envíen motor (lado de la remitente)
Añadir las unidades OTK-authed /api/esig/envelopes API kamo-internal para enviar documentos para la firma, reutilizando las mismas entidades compartidas el públ...
Motor de API de firma pública para let sign.sign.pink
Implementar la API de la aplicación kamo-signer, implementar /apipi/esig/* firma de la API the kamo-signer, Convirtiendo el firmante en vivo de la bañera de pre...
Vuelta a precios adicionales medidos con un medidor de facturación
Stripe (= 2025-03-31.basil) rechaza el uso heredado.type.type.aggregate-usage modelo medido ('los medidos los precios deben estar respaldados por medidores'), p...
Producto de plataforma se deslfaba en Pestaña de Organizaciones
Superficie la designación de la plataforma-producto donde pertenece a la plataforma Organizaciones. Añade un interruptor cerrado por org (discapacidado para el ...
Gestión de la Organización.isPlatformProduct de la Plataforma . Orgs
PlatformAccountSummary expone isPlatformProduct . hasSubscriptionMarket; nuevo PUT ************* (plataforma-admin cerrada) pone la bandera e invalida los derec...
Organización explícita.isPlatformProduct como señal de derechos-raíz
Reemplazar el heurista derivado 'propete un mercado SUBSCRIPCION' con un explícito, bandera de propiedad de admin. Un producto de plataforma (por ejemplo, sign....
Seleccione el mercado SUBSCRIPCION para la configuración de la plataforma
KamoCRM posee varios mercados ************* por lo que resoluciónProductMarket debe elegir el mercado del tipo SUBSCRIPTION (plaform-access) en lugar de la prim...
E root del producto = posee mercado SUBSCRIPTION, no cualquier mercado
Un cliente org (por ejemplo. BluEleven) es dueña de sus mercados empresariales OWN (RETAIL/MORTGAGE) para dirigir su empresa mientras sigue siendo un cliente de...
Ámbito de aplicación de los derechos de los miembros a la raíz del producto, no KamoCRM
DerechoServicio ahora resuelve el accesorio de cada miembro a través de de derechoRootResolver (después de ancestros o autos) en lugar de caminando hasta el org...
Resolver derechos por producto-root org, no de plataforma de primer nivel
Introduce EntitlementRootResolver: el ancestro-ancestro-a-tuyo más cercano-propiedad-propiedad de una org (su raíz de producto), cayiéndose de nuevo a la plataf...
Mantenga la lista de org sobre la refetch de antecedentes; dedupe llamadas de sesiones
/network re-disf. i-disvió traiciones en cada sesión de antecedentes refresco y escondió toda la lista en cualquier error de la autopista, por lo que un blip tr...
Añadir recipiente de sobre, valor de campo, entidades de estado de la situación del destinatario
Check in in-progress as as model: EsignEnvelopeRecipiente (Erepo), EsignFieldValue (Erepo), EsignRecipientStatus y una actualización ESignSignerType. Aditivo; s...
Añadir EsignUsageRecord para el uso de la firma de medición
Nueva entidad de uso solo a apéndice (espejos AiUsageRecord) emitida en la firma completar. Sólo las firmas de origen de la API cuentan para el presupuesto mens...
Revertir manejadores de clic de enlace de correo electrónico, aislarse causa
Informes de usuario correo-preview link clicks todavía no hacer nada Y texto La selección se mata a mitad de rasguliado. clic derecho y flotar ambos trabajan, a...
Preservar la relación de aspecto, nunca estirar logotipos no cuadrados
Favicon PNG/ICO se produjeron marcos con keepAspectRatio (false), estirándose cualquier logotipo no cuadrado en un cuadrado distorsionado. Center-fit el logo en...
Regenerar favicones en el etiquetado Guardar; olfaar tipo real de logo
provisionActualización (corre sobre cada ahorro de etiquetado personalizado) escribió config/css/manifest pero nunca regenerados favicons, esos sólo se producía...
Seed globals.css de la plantilla cuando le falta la carpeta de org
provisionActualizando (corre en cada color excepto) reescribir los css/globals.css de org en su lugar, pero ese objeto sólo existe una vez que la provisiónLa úl...
Mostrar logo completo con su extensión real, no hardcoded .svg
La pestaña de marca construyó el logoFullUrl como logo-full.svg en mount, ignorando el Logo de orgFullExt. Logotipos completos subidas como png/jpg/etc. en vivo...
Refresca TLSStore cada bucle para que se sirvan las certas recién emitidas
update.tls-store() sólo fun en la puesta en marcha y en las importaciones de almacenamiento compartido, por lo que a cert recién emitido por cert-gester (HTTP-0...
Dar ruta de dirección solo un backend para que Traefik v3 lo permita
Traefik v3 desactiva un router de IngressRute con servicios: [] cuando allowEmptyServices está apagado (como está aquí), por lo que el dominio-agnóstico El rout...
Redirija todos los hosts HTTP a HTTPS - puerta auto-cert-cero a dominios org reales
Los dominios personalizado de org (e.g. login.sign.pink) devolvieron desnudos de Traefik "404 páginas no encontradas" sobre HTTP liso: el único router de redire...
Signs de pre-seed.pink . www.sign.pink en STATIC-DOMAINS
sign.pink es un nuevo dominio de ápice (marca de firma electrónica de consumo / marca blanca Kamo inquilino org). Cipex pre-seedex - www para que a Let's Encryp...
Conversión persis en lugar de fracasar en silencio
Tanto la plantilla como los oleoductos de conversión de carga regular se tragaron Docs Fallos de conversión (sólo registrado), saliendo is-converted=falso sin r...
Instala turbo a través de npm en la etapa de poder de Docker; pin pnpm; add .dockerignore
La etapa de nger corrió añad add -g turbo antes de que existiera cualquier paquete.json, así que Corepack agarró pnpm 11 y falló con "global bin directorio /pnp...
Nueva aplicación de firma de firmas de firmas de montaje electrónico monorepúlpe monorepúr.
Turborepo - pnpm espacios de trabajo monoreposipon vivienda reutilizable paquetes de señal electrónica extraído de kamo-internal más una nueva aplicación de kam...
Empresa de ancho completo reescribir con vista previa en vivo
LoanProductForm era una sola columna estrecha (máximo mediano: 880) con codificación dura Inglés por todas partes. Ahora utiliza el mismo patrón de empresa que ...
Disición de dos columnas con panel de vista previa en vivo
La nueva página de la oferta era una alta columna estrecha en pantallas anchas. el aporte de vista. Ahora utiliza CSS Grid con la forma en la izquierda (5fr) y ...
Rediseñar la nueva página de la oferta como espacio de trabajo de dos columnas . .review en vivo
Usted pidió bienes raíces completos, moderno, pulido último refactor puesto un forma de una sola columna se forma dentro de una cáscara de ancho completo, que e...
Página polaca de nueva oferta - estado vacío, insignia LOC, términos personalizados
Tres huecos de UX que la página de la oferta tenía después del refactor anterior: 1. Estado vacío. Cuando un mercado todavía no tiene productos de préstamo, el...
Porofía sobresortación por tarifa, APR y tasa de originación
LoanOfferCreateRequest gana tres campos opcionales de interésRateBpsOverride, aprBpsOverride, originationFeeAmountOverride. createDraft los aplica cuando conjun...
Fúbdalo predeterminado STRIPE-CONNECT-WEBHOOK-SECRET para que las botas KamoLOS
El configmap hacía referencia **************** sin un defecto, Así que el marcador de Spring se tiró antes de llegar al nivel de Java **************** que ya tr...
Tema compartido de LoanRepository . PersonalLoanRepository renombre
Actualiza cada tipo de importación y campo de LoanRepository a PersonalLoanRepository a través de 20 archivos de origen de KamoLOS 1 prueba (los nombres de camp...
Rename LoanRepository - PersonalLoanRepository
Spring Data JPA deriva el nombre del frijol del repositorio de la interfaz simple nombre de clase, no del valor clasificatorio de "Repository"...), así que el L...
Añadir /commerce/personal-servicio/nueva entrada .
La acción de QuickActionsBar "New Loan Offer" señaló /commerce/personal-présta/new pero no existía tal página, así que Next.js enrutada a la página dinámica [de...
Esmalte empresarial de ancho completo a lo largo de 10 páginas
Adopta el patrón de empresa moderno (cabeza de graduación y migas de pan. flecha de espalda . Concha de flexión de altura completa - contenido de card-group en ...
Reconstruye trigger para recoger la rebautizada entidad de PersonalLoan
La imagen de SecurityService en 761019b fue construida antes de la cámara compartida d14dc54 (que renombró la entidad de préstamos personales a la denominación ...
Exponga PERSONAL-LOANS en el tipo de comercio y los recolectores de compromiso
Añade PERSONAL-LOANS a las listas COMMERCE-TYPES y EngagementType para que el a partir de los mercados/nuevos y nuevos y de los préstamos personales de KamoLOS ...
Evitar la colisión de préstamo / préstamoRepositorio con la aplicación hipotecaria
KamoInitializerService no se dio cuenta de que se nombraban dos clases de Entity 'Lon' y dos clases de repositorio llamadas 'LoanRepository' ambos querían regis...
Esmalte frontend frontend esmalte de org Informes de org.
Esmalte de Frontend (T6): - Nuevo lib/format.ts: locale-aware Intl helpers - formatCurrency / formattaDema / formatoDateTime / formatPorcentBps. Reemplazas co...
Nivel de nivel 6-7o9o10 - esmalte frontend, informes org, OpenAPI, JaCoCoCo
T6 (policía en primera línea): - Nuevo /lib/format.ts: formato locale-awareCurrency / format formatDato / formatDateTime / format93Bps vía Intl APIs (sustituy...
Como lo que ves enviaste?
Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.