Changelog
Qué hay de nuevo.
Cada mejora de la plataforma, a medida que se envía.
· kamo-internal
Tipos de tareas, la sesión y clientes principales, y los tiempos de vencimiento en la zona del miembro
· kamo-shared-library
Columnas de tareas, enlaces, comentarios, Inbox kind, enlaces de notas y autoría
· kamo-shared-library
Publicación de la firma AI en el contexto de la firma
· KlusterServices
Modelo pinchado, hachón-verificado y un calentamiento que sostiene la cápsula hasta que cada modelo es residente
El calentamiento también deja caer un modelo cuya carga falló: Speaches 0.9.0-rc.3 mantiene el entrada de una carga fallida, por lo que la próxima startupProbe obtendría 409 y /api/ps lista un modelo que nunca cargó.
· kamo-shared-library
Derechos de IA nunca importantes, tipo de plantilla ARTIFICIAL, eventos de acceso-log de IA
· kamo-internal
Biblioteca cliente miembro AI y proxies BFF
El cliente para el estado de un miembro de AI, pausa/retire, lista de verificación de contratación y reingreso, asientos, controles laborales de la organización y la plataforma mata interruptor, más cuatro relés al servicio de seguridad. Un relé rechaza un segmento . o .. con 404 antes de la reenvío: codeURIComponent hojas puntos intactos y la URL Edificaciones de embrague los resolverían por encima del prefijo retransmitido.
· kamo-shared-library
Recurrence bound, codificador de recordatorio y entidad EXDATE; UTC zona por defecto
· TranslateService
Presente la ficha de Kamo a bergamota y libretranslate
· SecurityService
La pestaña Tareas es tareas atendidas por KBService, cerrada aquí como el propio plomo
· RAGService
Presentan la clave de la API TEI para los modelos de integración y reubicación
· kamo-shared-library
STRING registry enums, 24 tipos de proveedores, convertidores tolerantes a dígitos
· APIService
Ruta el centro de notificación del teléfono
· DaemonService
El trabajo de Kamoai-contrae-steps impulsa el barrido de seguridadService a pasos adosados cada minuto
· KBService
El esquema SP06 - tareas, enlaces, comentarios, bandeja de entrada, enlaces de notas y autoría
· kamo-shared-library
Estado miembro de AI, org pausó y mata columnas de interrupte para matar (sólo lectura en JPA)
· KlusterServices
Svc ai publica ai.registry.changed. (KamoAI SP01 eventos de registro)
· kamo-shared-library
Estado de tareas, prioridad, tipos de enlace con registros, bandeja de entrada y notas maestras
· KlusterServices
Svc security publishes kamoai.platform.state, svc kamoai subscribes to it (KamoAI SP02)
SecurityService anuncia el interruptor de la plataforma AI matar en kamoai.platform.state y KamoAI Service lo escucha. rt.org. svc security already publishes rt.org.
· KlusterServices
Retirar el inicio de sesión compartido kamosvc
· kamo-internal
Las burbujas de imagen dibujan una vista previa de 480px; la caja de luz mantiene el original
Una imagen de chat se dibuja como máximo 240x240 CSS px y la burbuja se descarga en su conjunto original para hacerlo 3-8 MB por foto de teléfono, por visor. AttachmentChip ahora sorteado *******************'s 480px WebP de MediaService (decenas de KB), hizo la primera vez que alguien pregunta y contestó con el original cuando un la imagen no tiene ninguna (una animación, un vector). La caja de luz, descargas, vídeo y audio sigue leyendo el original. Retrocetra: si la vista previa falla la burbuja intenta el original en la misma URL generación, y sólo el fracaso del original entra en usoAttachmentSource's recuperación (cookie re-plant, luego el veredicto HEAD) - un adelanto roto nunca es reportado como un archivo desaparecido. El chip recuerda en qué url el preestreno falló, así una recuperación que cambia la url (la replantación, Retry) intenta la vista previa otra vez en lugar de dejar todo el original en la burbuja. /api/media/* no es un prefijo axied, por lo que la vista previa tiene su propio archivo de ruta. Ambas rutas ahora comparten aplicación/lib/imagingProxyRelay.ts (mismo OTK adelante, el mismo paso de la CSP/nosniff/disposición de MediaService, además de x-adtachment-renegodition), y rechazar una identificación que no sea un UUID antes de construir la URL de arriba. Implementar AFTER MediaService (el endpoint /preview). Si esto aterriza primero el petición de vista previa 404s aguas arriba y cada burbuja cae de nuevo al original El comportamiento de hoy, una pequeña petición extra.
· MediaService
Los accesorios de imagen se extraen de una vista previa de 480px, no del original
Una burbuja de chat dibuja una imagen como máximo 240x240 CSS px y cada visor descargado el original para hacerlo 3-8 MB por foto de teléfono. Tú ************* ahora responde a un WebP limitado a 480px en su borde largo; el endpoint original, la caja de luz y las descargas son Sin cambios. Una vista previa por archivo almacenado (ImgDat), no por fijación: en el cubo de imágenes, al lado del original. El infix de "thumb" es lo que SecurityService's OrgObjectStorageSwell facturas como un derivado de ese dat. Es deliberadamente no el .thumb.p0.png de la biblioteca de imágenes (un 640px PNG DocsService sirve bajo derechos de documentos y banderas en el diot compartido). Hecho a carga y a primera petición. Ambos conectan sendas (sube, y la desvanuza enlace) hacer cola en el fondo; una petición que no encuentra que la hace en el spot via ConversionService /api/conversion/image/preview El accesorio consigue uno la primera vez que alguien mira, sin relleno. Al mismo tiempo las solicitudes de un mismo contenido se unen a una generación; a lo sumo dos corridas por vaina; La cola de fondo cae en lugar de crecer. Una negativa (animación, indecible, no más pequeño) se recuerda como un objeto cero-byte y el original se sirve a partir de entonces; un fallo (ocupado, abajo, un 404 de un ConversionService sin el endpoint) no se recuerda. Siempre que no hay vista previa el punto final sirve el original exactamente como /imagen/proxy/-idá, por lo que un .img. señaló a él Siempre tiene una foto. X-Attachment-Rendition dice cuál. Acceso: ambos endpoints pasan por una autorización: autenticación, existencia, revocación, eliminación de mensajes, contenido perdido, membresía en sesión, mismo orden, las mismas respuestas antes de que se toque la tienda de previsualización. Un adjunto revocado La vista previa se rechaza en el mismo instante que su original. ImagingProxyPreviewAccessPpins de prueba cada negativa al original (estadio y cuerpo, GET y HEAD); un control negativo (chequeo de la pertenencia saltó para el previsualización) falla. Una vista previa GET graba la primera descarga del miembro, como el archivo completo de la El original hizo cuando las burbujas dibujaban el original. Implemente AFTER ConversionService f7729d9 (el punto final). Antes de que aterrice cada petición de vista previa falla suavemente en el original; nada está marcado.
· ConversionService
/image/preview corta una foto de chat en un WebP 480px
Un accesorio de imagen de chat se dibuja en la mayoría de 240x240 CSS px y cada espectador descargado el original para hacerlo: una foto de teléfono es de 3-8 MB. MediaService almacenar una vista previa por archivo almacenado (ImgDat) y servirlo para chat burbujas; esto es el cortador que llama. ImagePreviewService se ajusta al borde largo a 480 (2x la caja), nunca escalas, y escribe WebP perdido sin metadatos. Orientación EXIF se hornea en (un retrato la vista previa de la foto se acostaría en su lado junto a su original derecho), con el propio autorotate de ffmpeg para que ninguna construcción pueda girar dos veces. Vectores, animaciones (GIF, APNG, WebP animada), bytes indecodables, fuentes de gran tamaño y no menor que el original son REFUSED — 422 con X-Preview-Refused, que el que llama puede recordar. El fracaso ocupado/timeout/ffmpeg es 503 y dice nada sobre la imagen. Memoria, después de la escalera de logotipo OOM-killed ambos pods: ffmpeg corre uno a la vez, - ¿Qué? 1), escalas antes de girar, y decodificar un JPEG a 1/2^k en el IDCT (-bajos, manteniendo 2x el borde de la vista previa). Pico RSS medido con /usr/bin/time -f %M en la exacta comando: 12 MP JPEG 68 MB, 48 MP JPEG 123 MB, progresiva 12 MP 92 MB, 16 MP PNG 115 MB (184 MB para el ruido puro). Techos: JPEG 52 MP, PNG/WebP/GIF 16.8 MP, fuente 40 MiB. Solo internamente en la cadena pública MediaService ya presenta para /transcribe; falla cerrada.
· kamo-internal
Dibusean logotipos de las variantes pre-dimens sobredimenyes del servidor, nunca el original multi-MB
Un miembro vio el logotipo de la cabecera de org pequeño en el compositor, pero una imagen de 3 MB en el correo enviado: cada superficie del logo enlazado. que para un raster-logo org es un SVG envolviendo toda la carga (cmexi: 2,95 MB), dibuja 24-120 px de altura - y en el correo electrónico, en un formato Outlook no se muestra. ************* ahora escriba ************* al lado de los originales (LOGO-VARIANTS-CONTRACT). Estas rutas a todos los consumidores de logo a través de un ayudante y mantiene el original como el retroceso, porque las variantes faltará en el cubo en vivo por un tiempo: - ******************* LOGO-RUNGS, pickLogoRung (pequeño más pequeño -= cssPx x 2, de lote 1024), logoVariantUrl, logoDisplayCap, la sonda (sondaImagen, en caché por pestab), encajareRemoteIageExists (HEAD, 10 min) y enviaron-email settle/verify of PNG rungs. useLogoVariant.ts: useLogoVariantSrc (Eimg: variante, luego original en el error, luego la devolución del propio llamante), useProbedLogoUrl (CSS/máscara/canvas: '' hasta que se sondee, nunca ambos), useEmailLogoLadders, useRemoteImageVerdicts. - ThemeLogo elige el peldaño de su propia caja (NavPri 64, home 128, settings 128, carga 256, validar 192, marcas de agua/pane 1024) y vuelve a caer en el error; Le sigue la máscara de superposición. Backdrop/error/marks de agua sin encontrados, la página-transición cobertura (elegirCoverLogo - sonda), marca de agua de esigno (1024) y recolector (64), ajedrez Mark (192), Hosted Computer launch page (128, data-fallback onerror), Meet Vistas previsualizadas de marca (128), vista previa del editor de plantillas de correo electrónico, chips /network (vía el proxy de la imagen, variante -o original -a inicial) y caras de chip Hold'em (128). - Correo electrónico: ResolvedImages lleva la escalera PNG de cada logotipo (probado); la cabecera, Los renderizadores de firmas y placas imprimen el peldaño por el tamaño que dibujan. Cada send senda confirma cada peldaño impreso con un HEAD y pone el original de nuevo donde falta (compositor - su reunión invitan, campaña/envoltura de goteo, ruta encuentro-invitado). Las insignades de pies cargados piden EmailService para el .h= 2x. (a= 128). El marcador de posición localizado HTML nunca lleva un peldaño. La ruta de encuentro-invitación ahora lee el tema del alias de org en lugar de la carpeta pre-alias FQDN. - A la izquierda en los originales por diseño: LabelManager, preparador-emoto LogosStep, favicons. Pruebas: selección de pescado, forma de URL, escaneos de sonda/HEAD, ambos retrocesos, ThemeLogo, elección de portada, cadena OrgLogo, caída de página de lanzamiento, insignia ?h=, y un cableado guardia que hace cada diseño de encabezado/firma con un logotipo de escalera y falla en cualquier URL de referencia /img/logo o ruta de envío no verificada.
· kamo-register
Los logotipos de registro cargan una copia pre-size, y el original cuando falta
Cada carpeta de tema ahora lleva img/sized/sized/ierestem inteligente/h obedecrung confianza.webp junto a cada logotipo. A PNG org's logo.svg / logo-full.svg es toda su carga envuelta en base64 (several MB), dibujado 30-72px alta aquí; el rancio es la altura más pequeña que cubre el tamaño dibujado a 2x. - logoVariants.ts: la escalera de rancio, pickLogoRung, URLs variantes y un registro per-tab de variantes eso falló. - ThemeLogo intenta la variante primero, rang lee su altura numérica: el logo de aterrizaje (72) h192, el encabezado de flujo (30/44) h64/h96, la pantalla de terminación (52), /org (60) y /lorry (64) h128. No tenía ningún manejo de errores; ahora una variante fallida muestra la URL original exactamente como fue construido antes. La máscara oculta es la sonda que sigue.
· kamo-login
Los logotipos de inicio de sesión cargan una copia pre tamaño, y el original cuando falta
Cada carpeta de tema ahora lleva img/sized/sized/ierestem inteligente/h obedecrung confianza.webp junto a cada logotipo. A PNG org's logo.svg / logo-full.svg es toda su carga envuelta en base64 (several MB), dibujado 30-140px alta aquí; el rancio es la altura más pequeña que cubre el tamaño dibujado a 2x. - logoVariants.ts: la escalera de rancio, pickLogoRung, URLs variantes, un registro de variantes por bloque que falló, y useLogoVariantSrc para imágenes que no son un ThemeLogo. - ThemeLogo intenta la variante primero (rung read off height / maxAltura / ancho): el inicio de sesión y recuperar logo (maxAltura 140) h384, el logotipo de diálogo (96) h192, reset-password y check-email-change (52) h128, logout (120) h256. En un error muestra la URL original exactamente como se construyó antes, entonces camina los retrocesos de extensión como siempre lo hizo. El secreto es la sonda que sigue la máscara. - La marca animada de 48 px en inicio de sesión y recuperación: h96, luego el original. Su precarga espera montaje, por lo que el render hidratante ya no frega todo el original. - WorkspacePicker filas (~30px): h64, luego el logo del orgUrl, luego el monograma.
· EmailService
Logotipos PNG pre-de tamaño en línea; placas de pies servidos a la altura dique
Los correos electrónicos transaccionales sólo inclinaron un logo cuando el original era un SVG bajo 512 KB. Un correo electrónico de un logotipo de PNG org enlazaba toda la carga en su lugar de 2,2 MB de Crm logo-compon.png para una cabecera dilatada a lo sumo de 48px de altura. - EmailTemplateService pide a EmailLogoService para el Servicio de Seguridad de PNGs antes de tamaño Ahora cortes al lado de cada logotipo (img/dimensionado/logo-full/h96.png para la cabecera de 48px, img/dimensurre/logo/h64.png para la marca de pies de 28px), inlineado como cid: partes y encajaba 10 min. Per logo, el camino antiguo (rasterizar el SVG original, de lo contrario enlace) Sigue siendo la revuelta mientras las copias de un org no existen todavía. - **************** toma ?h=: una insignia de PNG/JPEG más alta que la altura solicitada (con una superficie de hasta 32/48/64/96/128) se reduce con área promedio y caché en proceso; GIF/WebP/SVG, insignia corta y cualquier fracaso get los bytes almacenados, por lo que cada URL en el correo ya enviado no cambia.
· SecurityService
Copias de tamaño previos de cada logo de org al lado del original
Cada superficie dibujaba logotipos de org de la carga original: 2,2 MB para el logotipo completo de Crm en un nav/jeblo de 30-56px, 2.95 MB (su stand-in .svg) en el compositor de correo electrónico, 4.3 MB por su estilo de vida rastreado SVG. ThemeLogoVariantService se mantiene ahora ******************* . manifiesto.json para las ocho ranuras de logotipo (talm = nombre del archivo original), cortado por ConversionService /imagen/logo-variantes. Los clientes elenco más pequeño de la altura de la picota x 2 y caen de vuelta al original. Los originales no son tocados. - upload-logo: las copias del viejo logo son borrados primero (nada rancio es nunca servidos), luego los nuevos se cortan; la petición espera a lo sumo de 20, el resto acabados en el fondo. Después de que el ext se salva. - provisiónL totalidad/provisionalActualización: asegurar todos los recortados únicamente tallos cuya fuente se desprende de la fuente cambiado (SHA-256 en el manifiesto), deja copias de un logo que se ha ido. Antes escribirConfigFiles, como los favicons. - DataLoader: un relleno de fondo para cada org en vivo (no en la ruta de arranque). - img/ tamaño/ nunca se siembra del tema de la base.
· kamo-signer-monorepo
Dibuse el logotipo de la org de su variante pre-dimensurado, el original sólo si falta
Una página de firma dibujó el logotipo subido de la org. El servicio temático ahora corta img/dimensionado/-stemá/h-rung-.webp junto a cada logo; pregunte por el el peldre más pequeño que es afilado en dpr 2 y caer de nuevo a la URL original, exactamente como se construyó antes, sobre cualquier error (carpetas aún no llenas, una generación fallida). - paquetes/logo de temaVariant.ts: LOGO-RUNGS, pickLogoRung (dpr 2), logoVariantUrl, logoVariantFromUrl; exportado desde el paquete temático. - TemeLogo: la variante es el primer intento, dimensionado desde la altura numérica del llamante, de lo contrario maxHeight, de lo contrario el encuadernamiento de anchura (no encuadernación: el original, como antes). Un error a la vez el original, luego la ex extensión existente caminata y retroceso. La máscara de capa sigue el escondido, que es la sonda. TopBar h64, ************* h96. - Membresía de cotización (altura máxima 56 -o h128): QuoteLogo deriva la variante de branding.logoUrl en el momento render, por lo que citoThemeAlias todavía lee la carpeta de la URL sin cambios. La página es Renderizado por el servidor, por lo que la montura también atrapa una variante que 404ed antes de la hidratación.
· kamo-apps
Logos pide una variante de tamaño pre, y retrocede al original
El logo de una organización se dibuja 30-180px aquí pero se descarga entera: crm's logo-full.png es 2.2 MB, su .svg stand-in 2.95 MB. ThemeLogo ahora pregunta para img/sized/sized/segurado/h seleccionadorung hilo.webp primero, el rang tamaño para el doble de la más alta se puede dibujar (leer de su propia altura/máxHeight/width props: el ferrocarril 128, la barra superior 64, el encabezado recibido 96, el portal se inscribe en 384, el portal shell 64). Una variante perdida se remonta al original exactamente como construido antes, y sólo entonces camina la lista de extensión. La máscara de superposición pinta con una variante sólo después de que la imagen oculta la haya cargado. La foto del oficial del préstamo pide el corte 150px md en lugar de todo subir; su error se remonta al original, luego a las iniciales.
· ConversionService
/image/logo-variantes corta un logo en PNG de tamaño pre-tipos de los pesquidos WebP
Los logotipos de org se suben una vez y se dibujan por todas partes en 24-120px, y cada superficie descargada el original: crm's logo-full.png es de 2,2 MB (its .svg stand-in 2,95 MB, que es lo que el compositor de correo electrónico enlaza a 40-48px), su estilo de vida trazado SVG 4.3 MB. LogoVariantService renderice cualquier logo (SVG vía Batik, raster vía ffmpeg con un clavado demuxer) a una escalera de altura 32..1024 en PNG (email) y WebP con alfa (web, móvil), nunca escalar una raster y tapar anchura a 4096. Un ffmpeg proceso por logo. El endpoint responde a una cremallera de húrung.png/.webp . manifiesto.json. SVG: datos integrados: se permiten imágenes (las exportaciones de figmas son una), todas las demás recursos y todos los scripts son rechazados; un SVG 1.1 DOCTYPE (Illustrator) es Uno con un subconjunto interno es rechazado. Medido en logotipos reales: crm logo-complejo h128 = 67 KB PNG / 19 KB WebP.

Tu universo está esperando.
Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.
Gratis para siempre: no se requiere tarjeta de crédito