Añadir Stripe webhook forwarding y facturación API ruta de entrada
- POST /api/billing/webhooks/stripe recibe Stripe webhooks y forwards a BillingService con cabecera Stripe-Señacter conservada - /api/billing/** rutas de pasa...
Adelante param param to SecurityService en endpoint de catálogo de suscripciones públicas
Añadir grupo de concurrencia para evitar carreras duplicadas de flujo de trabajo
Cuando un empujón desencadenante un flujo de trabajo y el flujo de trabajo-dispatch también se dispara (o dos empujón llegan en rápida sucesión), ambas carreras...
Añadir el punto de final de entrada de plomo público para la presentación del tercer partido
Añade LeadIntakePublicController at /api/public/lead-intake/.token. acepta datos de plomo en cualquier formato (JSON, form-urcoded) de la tercera parte vendedor...
Añadir /api/esig/** gateway routing a ESigService
Ruta todas /api/esig/** solicitudes a través de la puerta de entrada de la API existente a la dedicado ESigService (kamowsesig-service) en lugar de lo inexisten...
Validar la firma Forgejo HMAC-SHA256 en lugar de cabecera secreta
Forgejo envía secreto de redhook como X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hachácete, no como un valor de cabecera. Leer el cuerpo, verificar HMA...
Expong changelog webhook a través de APIService con clave secreta auth
Añade POST /api/changelog/webhook ruta que valida *** cabecera antes de reenviar a SecurityService. Secreto configurado a través CHANGELOG-WEBHOOK-SECRET env va...
Ejecutar el alcance de PUBLIC-WEBINAR en los puntos de endos web-núo
Añade verificación de validación de alcance antes de reenviar solicitudes de webinar públicas a MediaService, devolviendo el 403 si la clave de la API carece de...
Añadir rutas de pasarela webinar para endpoints autenticados y públicos
Rutas /api/webinar/** a MediaService para operaciones de webinar autenticadas y /api/public/webinar/** con validación de claves de API para programación pública...
Incluir SUBSCRIPTION.CATALOG en los alcances por defecto falla
Cuando MediaService no devuelve los alcances en la respuesta de validación, Por defecto, incluyendo los visors de PUBLIC-CHAT y SUBSCRIPTION-CATALOG. Esto asegu...
Añadir comercio webhook forwarding endpoint para integraciones de proveedores minoristas
Añadir el punto final de la clave de la API y la variable de catálogo de suscripción pública
Añadir /api/media/** mapeo de rutas a MediaService para la gestión de claves de chat público
Añadir la pasarela de chat público con validación de claves de la API, limitación de tarifas y proxy WebSocket
Añade terminales de chat público en /api/public-chat/** para chat anónimo del sitio web. Incluye validación de claves de API (SHA-256 hashed, Redis-cached), por...
Use getServerName() en lugar de getHeader(Host) para la resolución original del host
ForwardedHeaderFilter consume X-Forwarded-Host y adapta getServerName() en consecuencia, mientras getHeader (Host) devuelve el huésfico HTTP crudo que puede ser...
Utiliera HTTP en el puerto 80 para satisfacer la URL de servicio para que cointe con otros servicios
La variable HTTPS en 8443 causa desajuste de certificados SSL al enrutar a través de K8s interno DNS. Todos los demás servicios utilizan HTTP en el puerto 80.
Utilícele la URL correcta de MediaService (https port 8443) para meet.service.url
Añadir meet.service.url a K8s configmap para evitar accidente de APIService
Preservar X-Forwarded-Host en lugar de sobreescritura con su anfitrión
Cuando un proxy aguas arriba (Next.js) establece X-Forwarded-Host al navegador's anfitrión original, APIService ahora lo preserva en lugar de sobreescritura con...
Ruta /api/notes a KBService en lugar de SecurityService
La gestión de notas ha sido trasladada de SecurityService a KBService.
Explicar explícitamente la IP del visitante a los servicios posteriores
ForwardedHeaderFilter consume X-Fored-For de la solicitud entrante, así cuando APIService se dirige a SecurityService vía RestTemplate la cabecera - Falta. Ahor...
Move AccessConforcementFilter a paquete escaneado, revertir ComponentScan
El ensajo de la empresa Picacan causó un conflicto de frijol corsFilter entre CorsConfig y WebConfig. Movié el filtro en com.kamo.api.app.config (ya escaneado p...
Añadir Config de conexión Redis a K8s configmap
La vaina de APIService no estaba empezando porque Spring-boot-starter-data-redis la auto-configuración no pudo conectarse a Redis en localhost:6379. Puntos a re...
Añadir filtro de aplicación de acceso para el control de acceso basado en IP
Filtro de servicio de respaldo redistetario que evalúa la lista blanca/lista negra/bloqueo de temba normas sobre cada solicitud entrante. Añade spring-boot-star...
Añadir el reenvío de llamada de OAuth con RestTemplate sin dirección
- Añadir noRedirectRestTemplate bean (HttpClient.Redirect.NEVER) 302 de la devolución de llamada OAuth de VOIPService se pasa al navegador en lugar de ser s...
Añadir rutas de pasarela para los servicios de KB y RAG
- rutas /api/kb/** a kamowskb-service - rutas /api/rag/** a kamowsrag-service - Aplicación actualizada.yml y k8s configmap con URLs de servicio
Añadir /wopi/** vía hacia adelante a DocsService
Docs necesita llegar a los endpoints WOPI a través de api.kamocrm.com.
Utilízate JdkClientHttpRequestFactory para soportar el reenvase del método PATCH
El RestTemplate por defecto utiliza SimpleClientHttpRequestFactory (HttpURLConnection) que no soporta el método PATCH HTTP, causando que los títulos de rama se ...
Fija actualización de kubeconfig para usar WireGuard VPN IPs (10.8.x.x) en lugar de IPs de Tailscale viejas
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.