Ir para o conteúdo
KAMOUniverse

Changelog

O que há de novo.

Cada melhoria para a plataforma, como ele envia.

  1. · kamo-internal

    Tipos de tarefas, a sessão e os clientes líderes, e os horários devidos na zona do membro

  2. · kamo-shared-library

    Colunas de tarefas, links, comentários, tipo de caixa de entrada, links de notas e autoria

  3. · kamo-shared-library

    AI divulgação da assinatura na configuração do campo da assinatura

  4. · KlusterServices

    Pined, hash-verified modelo buscar e um aquecimento que mantém o pod até que cada modelo é residente

    O aquecimento também deixa cair um modelo cuja carga falhou: Speaches 0.9.0-rc.3 mantém o entrada de uma carga falhada, então a próxima inicializaçãoProbe obteria 409 e /api/ps listar um modelo que nunca tenha carregado.

  5. · kamo-shared-library

    Direitos de IA nunca concedidos, tipo de modelo ARTIFICIAL, eventos de log de acesso AI

  6. · kamo-internal

    Biblioteca de clientes membro de IA e proxies BFF

    O cliente para o estado de um membro da IA, pausa/resumo/aposentado, lista de verificação de contratação e tentar novamente, assentos, controles de força de trabalho da organização e a plataforma matar Troca, mais quatro relés para o Serviço de Segurança. Um relé recusa um segmento ou segmento com 404 antes do encaminhamento: encodeURIComponent deixa pontos intactos e o URL as compilações de busca as resolveriam acima do prefixo retransmitido.

  7. · kamo-shared-library

    Ligação de recorrência, codificador de chamadas de atenção e entidade EXDATE; padrão da zona UTC

  8. · TranslateService

    Apresentar o token a montante de Kamot e libretraduzir

  9. · SecurityService

    A aba Tarefas são tarefas — servidas pelo KBService, trancadas aqui como o próprio lead

  10. · RAGService

    Apresentar a chave de API TEI para os modelos de incorporação e reclassificação

  11. · kamo-shared-library

    Enums de registro STRING, 24 tipos de provedores, conversores dígitos

  12. · APIService

    Roteie o centro de notificação para o telefone

  13. · DaemonService

    O trabalho de Kamoai-hire-hire-steps conduz a varredura do serviço de segurança a cada minuto

  14. · KBService

    O esquema SP06 — tarefas, links, comentários, caixa de entrada, links de nota e autoria

  15. · kamo-shared-library

    Estado membro do IA, org pausar e kill-switch colunas (somente leitura em JPA)

  16. · KlusterServices

    Svc ai publica ai.registry.changed.> (Actos de registo do Kamoai SP01)

  17. · kamo-shared-library

    Status da tarefa, prioridade, tipos de link de registro, Seções de Inbox e master-note

  18. · KlusterServices

    Svc security publica kamoai.platform.state, svc kamoai assina (KamoAI SP02)

    SecurityService anuncia a plataforma AI kill switch em kamoai.platform.state e O Serviço KamoAI ouve. rt.org.<org>.ai-workforce não precisa de novo subsídio: svc security já publica rt.org.>.

  19. · KlusterServices

    Retire o login compartilhado do kamo svc

  20. · kamo-internal

    As bolhas de imagem desenham uma antevisão de 480px; a caixa de luz mantém a original

    Uma imagem de bate-papo é desenhada no máximo 240x240 CSS px e a bolha baixou a totalidade original para fazê-lo — 3-8 MB por foto de telefone, por visualizador. AnexoChip agora desenha **************************** 480px WebP (dezenas de KB), fez a primeira vez que alguém pergunta e respondeu com o original sempre que um a imagem não tem nenhuma (uma animação, um vector). A caixa de luz, downloads, vídeo e O áudio continua lendo o original. Retrocesso: se a antevisão falhar a bolha tenta o original na mesma URL geração, e somente a falha do ORIGINAL entra no usoAtaqueFonte recuperação (cookie re-plant, em seguida, o veredicto HEAD) — uma prévia quebrada nunca é reportado como um ficheiro desaparecido. O chip lembra-se em que url a visualização falhou em, assim uma recuperação que muda o url (o re-plant, Retry) tenta a visualização novamente em vez de deixar todo o original na bolha. /api/media/* não é um prefixo proxied, assim que o preview tem seu próprio arquivo de rota. Ambas as rotas agora compartilham app/lib/imageingProxyRelay.ts (mesma OTK forward, mesma Passagem do CSP/nosniff/disposition do MediaService, mais x-attachment-rendition), e recusar um id que não seja um UUID antes de construir a URL upstream. Implantar após MediaService (o endpoint /preview). Se isto aterrar primeiro, pedido de visualização 404s upstream e cada bolha cai de volta para o original - O comportamento de hoje, um pedido extra pequeno.

  21. · MediaService

    Os anexos das imagens são desenhados a partir de uma antevisão de 480px, não do original

    Uma bolha de chat desenha uma imagem no máximo 240x240 CSS px e cada visualizador baixado o original para fazê-lo — 3-8 MB por foto de telefone. GET Agora responde a um WebP limitado a 480px na sua borda longa; o endpoint original, a caixa de luz e os downloads são inalterado. Uma antevisão por ficheiro armazenado (ImgDat), não por anexo: <imgDatId> thumb 480.webp no balde de imagem, ao lado do original. O thumb infix é o que SegurançaOrgObjectStorageSweep contas como uma derivada desse dat. Está. deliberadamente não o thumb p0.png da biblioteca de imagens (um PNG DocsService 640px serve sob direitos de documento e bandeiras no dat compartilhado). Feito no upload e no primeiro pedido. Ambos anexam caminhos (carregar, e o dedup link) fila-lo em segundo plano; uma requisição que não encontra nenhum spot via ConversionService /api/conversion/image/preview — assim, cada existente anexo recebe um na primeira vez que alguém olha, sem preenchimento. Concorrente requisições para o mesmo conteúdo juntam-se a uma geração; no máximo duas execução por pod; o A fila de fundo cai em vez de crescer. Uma recusa (animação, indecodável, não menor) é lembrado como um objeto de zero-byte e o original é servido a partir de então; uma falha (ocupado, para baixo, um 404 de um Serviço de Conversão sem o endpoint) não é lembrado. Sempre que não houver pré-visualização, o endpoint serve o original exatamente como /imaging/proxy/{id} faz, então um <img> apontou para ele Sempre consegue uma foto. X-Attachment-Rendition diz qual. Acesso: ambos os endpoints passam por uma autorização () — autenticação, existência, revogação, remoção de mensagens, falta de conteúdo, adesão à sessão, mesma ordem, as mesmas respostas — antes de tocar na loja de pré-visualização. Um anexo revogado A pré-visualização é recusada no mesmo instante do seu original. ImagingProxyPreviewAccessPins de teste cada recusa ao original (status e corpo, GET e HEAD); um controle negativo (cheque de adesão pulou para o preview) falhou. Uma prévia GET registra o primeiro download do membro, como o GET de arquivo completo do original fez quando as bolhas desenharam o original. Implantar após a conversãoService f7729d9 (o ponto final). Antes de aterrar O pedido de antevisão falha no original; nada está marcado.

  22. · ConversionService

    /image/preview corta uma foto de chat em um WebP 480px

    Um anexo de imagem de chat é desenhado no máximo 240x240 CSS px e cada visualizador baixado o original para fazê-lo — uma foto de telefone é de 3-8 MB. MediaService irá armazenar uma visualização por arquivo armazenado (ImgDat) e servi-lo para bolhas de conversação; isto é Chama-se o cortador. ImagePreviewService se encaixa na borda longa para 480 (2x a caixa), nunca upscales, e escreve o WebP perdido sem metadados. Orientação EXIF é cozido em (um retrato a pré-visualização da foto estaria do seu lado ao lado do seu original vertical), com a própria auto-rota do ffmpeg para que nenhuma construção possa rodar duas vezes. Vetores, animações (GIF, APNG, WebP animado), bytes indecodáveis, fontes sobredimensionadas e pré-visualizações não menores do que o original são RECUSAD — 422 com X-Preview-Refused, Que o chamador possa recordar. Ocupado/timeout/ffmpeg falha é 503 e diz Nada sobre a imagem. Memória, após a escada de logotipo OOM-matado ambas as cápsulas: ffmpeg executa um de cada vez, **************************** 1), escalas antes de rodar, e decodifica um JPEG a 1/2^k no IDCT (-lowres, mantendo 2x a borda da antevisão). Pico RSS medido com /usr/bin/time -f %M no exato comando: 12 MP JPEG 68 MB, 48 MP JPEG 123 MB, progressivo 12 MP 92 MB, 16 MP PNG 115 MB (184 MB para ruído puro). Limites máximos: JPEG 52 MP, PNG/WebP/GIF 16.8 MP, Fonte 40 MiB. O Serviço de MediaSecreto, apenas interno, já apresenta /transcribe; falha ao fechar.

  23. · kamo-internal

    Desenhar os logótipos das variantes pré- dimensionadas do servidor, nunca o original multi- MB

    Um membro viu o logo do cabeçalho org pequeno no compositor, mas uma imagem > 3 MB o e-mail enviado: cada logo superficie ligada `img/logo-full.svg` / `img/logo.svg`, que para um raster-logo org é um SVG que envolve todo o upload (crm: 2,95 MB), desenhado 24-120 px tall - e em e-mail, em um formato Outlook não mostra. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ao lado dos originais (LOGO VARIANTS CONTRACT). Isto encaminha todos os consumidores de logotipos através de um ajudante e mantém o original como o backback, porque variantes estará faltando no balde vivo por um tempo: - Está bem. LOGO RUNGS, pickLogoRung (menor degrau >= cssPx x 2, mais 1024), logoVariantUrl, logoDisplayCap, a sonda (probeImage, cached per tab), cachedRemoteImageExists (HEAD, 10 min) e o Sent-email settle/verify of PNG degraus. useLogoVariant.ts: useLogoVariantSrc (<img>: variante, então original no erro, em seguida, o próprio retorno do chamador), useProbedLogoUrl (CSS/mask/canvas: '' até ser sondado, nunca ambos), useEmailLogoLadders, useRemoteImageVerdicts. - ThemeLogo escolhe o degrau de sua própria caixa (NavPri 64, casa 128, configurações 128, carregar 256, validar 192, marcas d'água/painel 1024) e cair no erro; o A máscara de sobreposição segue. Quadro/erro/marcas de água não encontradas, a transição de página cobertura (escolhaCoverLogo + sonda), marca d'água esign (1024) e picador (64), xadrez Mark (192), página de lançamento do computador hospedado (128, data-fallback onerror), Meet pré-visualização da marca (128), pré-visualização do editor de modelos de email, / chips de rede (via a imagem proxy, variante -> original -> inicial) e Hold'em chip faces (128). - Email: Resolvido As imagens carregam a escada PNG de cada logotipo (probed); o cabeçalho, os renderizadores de assinatura e crachás imprimem o degrau para o tamanho que desenham. Cada Send path confirma cada degrau impresso com uma HEAD e coloca a parte de trás original onde ele está faltando (compositor + seu convite reunião, campanha / via meet-invite). Os crachás de rodapé enviados pedem o EmailService para `?h=<2x>` (<= 128). O HTML placeholder armazenado nunca carrega um degrau. A rota do encontro-convite agora lê o tema do alias org em vez da pasta FQDN pre- alias. - Esquerda nos originais por design: LabelManager, configuração-wizard LogosStep, favicons. Testes: escolha de degrau, forma de URL, caches sonda/HEAD, ambos fallbacks, ThemeLogo, cover choice, OrgLogo chain, launch-page fallback, emblema ?h=, e uma fiação guarda que mostra todos os layouts de cabeçalho/assinatura com um logotipo escadado e falha em qualquer URL /img/logo bruto ou caminho de envio não verificado.

  24. · kamo-register

    Logotipos de registro carregam uma cópia pré-dimensionada e o original quando está faltando

    Cada pasta de tema agora carrega img/tamanho/<stem>/h<rung>.webp ao lado de cada logotipo. Uma org de PNG logo.svg / logo-full.svg é todo o seu upload envolto em base64 (vários MB), desenhado 30-72px de altura aqui; o degrau é a menor altura cobrindo o tamanho desenhado em 2x. - logoVariants.ts: a escada do degrau, pickLogoRung, URLs variantes e um registro per-tab de variantes Falhou. - ThemeLogo tenta a variante primeiro, degrau lido fora de sua altura numérica: o logotipo de pouso (72) h192, o cabeçalho de fluxo (30/44) h64/h96, a tela de preenchimento (52), /org (60) e /desculpe (64) h128. Ele não teve nenhum erro de manipulação; agora uma variante falhou mostra o URL original exatamente como ele foi construído antes. O oculto <img> é a sonda que a máscara de sobreposição segue.

  25. · kamo-login

    Logotipos de login carregam uma cópia pré-dimensionada e o original quando está faltando

    Cada pasta de tema agora carrega img/tamanho/<stem>/h<rung>.webp ao lado de cada logotipo. Uma org de PNG logo.svg / logo-full.svg é todo o seu upload envolto em base64 (vários MB), desenhado 30-140px de altura aqui; o degrau é a menor altura cobrindo o tamanho desenhado em 2x. - logoVariants.ts: a escada do degrau, pickLogoRung, URLs variantes, um registro per-tab de variantes que falhou, e useLogoVariantSrc para imagens que não são um ThemeLogo. - ThemeLogo tenta a variante primeiro (rung read off height / maxHeight / width): o login e recuperar logo (maxHeight 140) h384, o logo de diálogo (96) h192, reset-password e verificar-email-change (52) h128, logout (120) h256. Em um erro ele mostra o URL original exatamente como foi construído antes, em seguida, caminha os recuos extensão como sempre fez. O oculto <img> é A sonda que segue a máscara de sobreposição. - A marca animada 48px na entrada e recuperação: h96, em seguida, o original. A sua pré-carga aguarda monte, para que a renderização hidratante não mais obtenha todo o original. - Área de trabalhoPicker linhas (~30px): h64, em seguida, logoUrl do org, em seguida, o monograma.

  26. · EmailService

    Logótipos PNG pré-dimensionados em linha; emblemas de rodapé servidos na altura desenhada

    E-mails transacionais apenas inlined um logotipo quando o original era um SVG sob 512 KB. Um e-mail do logo org do PNG ligou todo o upload em vez disso — 2,2 MB do crm Logo-full.png para um cabeçalho desenhado no máximo 48px de altura. - EmailTemplateService pede EmailLogoService para o pré-dimensionado PNGs SecurityService agora corta ao lado de cada logotipo (img/size/logo-full/h96.png para o cabeçalho 48px, img/tamanho/logo/h64.png para a marca de rodapé 28px), embutida como cid: partes e Cache com 10 min. Por logotipo, o caminho antigo (rasterizar o SVG original, caso contrário ligá-lo) permanece o recuo enquanto as cópias de uma org ainda não existem. - Está bem. leva ?h=: um emblema PNG/JPEG mais alto que o altura solicitada (snapted até 32/48/64/96/128) é reduzida com área média e cache em processo; GIF/WebP/SVG, crachás curtos e qualquer falha obter os bytes armazenados, então cada URL no e- mail já enviado está inalterado.

  27. · SecurityService

    Cópias pré-dimensionadas de cada logotipo org ao lado do original

    Todos os logotipos de org desenhados de superfície do upload original: 2.2 MB para o logotipo completo da crm em um nav/header de 30-56px, 2,95 MB (seu stand-in .svg) no compositor de e-mail, 4,3 MB pelo seu estilo de vida traçado SVG. ThemeLogoVariantService agora mantém **************************** + manifesto.json para todos os oito slots de logotipo (tem = nome do arquivo original), cortado por ConversionService /image/logo-variantes. Clientes escolhem o menor degrau >= altura desenhada x 2 e queda De volta ao original. Os originais não são tocados. - upload-logo: as cópias do logotipo antigo são apagadas primeiro (nada de velho é nunca servido), então os novos são cortados; o pedido espera no máximo 20s, o resto termina ao fundo. Após o ext ser salvo. - disposiçãoCompleto/fornecimentoAtualização: garantir que todos os cortes apenas caminhem cujos bytes de origem alterado (SHA-256 no manifesto), deixa cair cópias de um logotipo que se foi. Antes escreverConfigFiles, como os favicons. - DataLoader: um backfill de fundo para cada org ao vivo (não no caminho de arranque). - img/tamanho/ nunca é semeado do tema base.

  28. · kamo-signer-monorepo

    Desenhe o logotipo da org a partir de sua variante pré-dimensionada, o original somente se estiver faltando

    Uma página de assinatura desenhou o logotipo enviado da org — o logo-full.svg da crm é de 2,95 MB — com 28-44px de altura. O serviço temático agora corta img/tamanho/<stem>/h<rung>.wepp ao lado de cada logotipo; peça o menor degrau que é afiado em dpr 2 e voltar para o URL original, exatamente como foi construído antes, em qualquer erro (pastas ainda não recheadas, uma geração falhada). - logótipo/temaVariant.ts: LOGO RUNGS, pickLogoRung (dpr 2), logótipoVariant Url, logoVariantFromUrl; exportado do pacote de tema. - ThemeLogo: a variante é a primeira tentativa, dimensionada a partir da altura numérica do chamador, caso contrário MaxHeight, caso contrário, a largura delimitada (sem limite: o original, como antes). Um erro nele vai para o original, em seguida, a extensão existente caminhada e fallbackTexto. A máscara de sobreposição segue o oculto <img>, que é a sonda. TopBar h64, ****************h96. - Citação timbre (máximo-altura 56 -> h128): QuoteLogo deriva a variante de branding.logoUrl no tempo de renderização, então aspasThemeAlias ainda lê a pasta do URL inalterado. A página é server-rendered, assim que o monte também pega uma variante que 404ed antes da hidratação.

  29. · kamo-apps

    Logotipos pedir uma variante pré-dimensionada, e voltar para o original

    O logotipo de uma organização é desenhado 30-180px de altura aqui, mas baixado inteiro: O logo-full.png da crm é 2.2 MB, seu stand-in 2.95 MB. O ThemeLogo agora pergunta para img/tamanho/<stem>/h<rung>.webp primeiro, o degrau dimensionado para o dobro do mais alto pode ser desenhado (leia-se a sua própria altura/máximoAltura/largura: o carril 128, a barra superior 64, o cabeçalho 96 recebido, o portal sign shell 64). Uma variante em falta volta para o original exatamente como era construído antes, e só então caminha a lista de extensões. A máscara de sobreposição pinta com uma variante apenas após a imagem oculta a carregar. A foto do agente de empréstimo pede o corte 150px md em vez do total upload; seu erro cai de volta para o original, em seguida, para as iniciais.

  30. · ConversionService

    /image/logo-variantes corta um logotipo em degrau pré-dimensionado PNG + WebP

    Logotipos Org são carregados uma vez e desenhados em todos os lugares em 24-120px, e cada superfície baixado o original: crm's logo-full.png é 2.2 MB (seus .svg stand-in 2,95 MB, que é o que o compositor de email links em 40-48px), seu estilo de vida traçado SVG 4.3 MB. LogoVariantService renderiza qualquer logotipo (SVG via Batik, raster via ffmpeg com um fixado demuxer) para uma escada de altura 32..1024 em PNG (email) e WebP com perda com alfa (web, móvel), nunca subindo um raster e largura de tampa em 4096. Um ffmpeg Processo por logotipo. O desfecho responde a um zip de h<rung>.png/.wepp + manifest.json. SVG: dados incorporados: as imagens são permitidas (exportações de arquivos são uma), todas as outras recurso e todos os scripts são recusados; um SVG simples 1.1 DOCTYPE (Ilustrator) é queda, um com um subconjunto interno é recusado. Medido em logotipos reais: crm logo-full h128 = 67 KB PNG / 19 KB WebP.

Seu universo está esperando.

Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.

Gratuito para sempre — não é necessário cartão de crédito