Ir para o conteúdo
KAMOUniverse

Changelog

O que há de novo.

Cada melhoria para a plataforma, como ele envia.

  1. · SecurityService

    Implement hash-based file storage for avatars

    - Generate SHA-256 hash from avatar ID after persistence - Store hash in database fileHash field - Upload files to MinIO using hash-based naming: {hash}.{fileExtension} - Update all URL generation to use hash instead of ID - Add backward compatibility: generate hash for old avatars without hash - Update photo upload, Avatar Creator creation, update, and delete operations - Prevents enumeration attacks by making file names unpredictable

  2. · kamo-shared-library

    Adicionar campo de arquivoHash à entidade Avatar para armazenamento seguro de arquivos

    - Adicionar arquivoHash coluna para armazenar SHA-256 hash de avatar ID - O Hash é usado para nomear arquivos MinIO para evitar ataques de enumeração - Formato: {hash}. {fileExtension} em vez de {id}. {fileExtension}

  3. · kamo-internal

    Reconstruir avatar UI - moderno, interativo, polido. Infra- Estrutura retorna URLs diretamente

  4. · SecurityService

    Rebuild avatar system - backend generates presigned URLs directly like backgrounds

  5. · kamo-internal

    Adicionar credenciais MinIO ao mapa de configuração do k8s

  6. · kamo-internal

    Gerar URLs pré-assinadas em Next.js usando MinIO SDK com domínio de tema

  7. · kamo-shared-library

    Adicionar getPresignedUrlWithEndpoint method for custom endpoint presigned URLs

  8. · kamo-internal

    Adicionar criação Avatar Creator avatar, gerenciamento de fundo com reordenação e suporte completo à biblioteca avatar/fundground

  9. · SecurityService

    Add avatar and background management endpoints

  10. · kamo-shared-library

    Adicionar AvatarPhoto e AvatarAvatar Creator classes, refactorar estrutura de herança Avatar

  11. · SecurityService

    Organize MinIO storage with folder structure and add Avatar Creator SVG support

    - Updated storage paths to use organized folder structure: * members/avatars/photos/ for photo avatars * members/avatars/vector/ for Avatar Creator SVG avatars * members/backgrounds/ for background images - Added SVG file generation and storage for Avatar Creator avatars - Avatar Creator avatar creation/update now accepts SVG string and saves to MinIO - All presigned URL generation updated to use new folder paths - SVG files are saved when Avatar Creator avatars are created or updated

  12. · SecurityService

    Add avatar, background, and member profile management endpoints

    - Added AvatarController with CRUD operations for avatars (photo and Avatar Creator) - Added UserBackgroundController for managing user background images - Extended MemberController with GET/PUT endpoints for member profile data - All endpoints support MinIO uploads to 'internal' bucket with presigned URL generation - Avatar endpoints support photo uploads and Avatar Creator avatar creation - Background endpoints support member-specific backgrounds - Member profile endpoints support updating avatar selection from user's collection

  13. · kamo-shared-library

    Adicionar repositórios Avatar e UserBackground e suporte a URL pré-assinado

    - Adicionado AvatarRepositório com métodos para encontrar avatares pelo usuário - Adicionado UserBackgroundRepositório com métodos para encontrar fundos por usuário/membro - Adicionado métodos getPresignedUrl para MinIOStorageService para gerar URLs de acesso temporário - URLs pré-assinados padrão para 7 dias de validade, tempo de validade configurável

  14. · kamo-shared-library

    Adicionar UserPhoto e UserBackground entities with User/Member relations

    - entidade UserPhoto criada para armazenar fotos de perfil de usuário e membro - Criada entidade UserBackground para armazenar imagens de fundo de usuário e membro - Ambas as entidades suportam associações de nível de usuário (member=null) e de nível de membro (member set) - UserPhoto includes isSet field to indica qual foto está atualmente ativa - UserBackground inclui campo sortId para encomendar vários fundos - Ambas as entidades usam EmbRecordState incorporado para rastrear criação, atualizações e status ativo - Adicionados índices de banco de dados adequados para otimização de desempenho

  15. · kamo-internal

    Adicionar componente do MemberHeader compartilhado com sobreposições de avatar/background de nível de membro

    - Componente MemberHeader compartilhado criado com imagens de fundo e avatar display - Adicionadas opções de sobreposição de nível de membro para avatar e background (use usuário padrão vs membro específico) - Updated ProfileTab to use shared MemberHeader component - Updated MembershipPermissionsTab to use shared MemberHeader component - Cabeçalho agora aparece nas abas perfil e permissão de adesão - Adicionado interruptores para "Usar Avatar de Usuário Padrão" e "Usar Fundo do Usuário Padrão" - Suporta URL de imagem de fundo personalizada quando não usa o fundo do tema padrão

  16. · kamo-marketing

    Adicionar suporte touch ao codificador magnético para dispositivos móveis

  17. · kamo-internal

    Mudar a grade para a disposição AutoHeight para mostrar todos os registros sem barra de rolagem

    - Definir domLayout para autoAltura para que a grade se expanda para caber em todas as linhas - Remover o transbordamento: escondido das caixas de contentores da grelha - Remover altura: 100% restrição da caixa de embalagem grade - Grelha agora mostra todos os registros na página atual sem barra de rolagem vertical

  18. · kamo-internal

    Substituir a coluna Endereço por colunas Estado e Rua

    - Remover coluna de endereço e AddressRenderer - Adicionar coluna Estado após Contato (mostra subdivisão/código Estado) - Adicionar coluna de rua após Estado (mostra o formato 'rua, cidade') - Substituir endereçoFilterValue com stateFilterValue e streetFilterValue - Adicionar filtro dropdown Estado com todos os estados dos EUA - Adicionar campo de filtro de texto de rua - Atualizar a lógica de filtragem para colunas de estado e rua - Remover filtragem de endereço do resetFilters

  19. · kamo-internal

    Atualizar as larguras das colunas para valores especificados

    - Mudar a largura da coluna do ID do chumbo de 300px para 245px - Coluna de contato permanece flexível: 1 para ocupar a largura restante - Mudar a largura da coluna Estado de 200px para 65px - Alterar a largura da coluna do Sub Status de 200px para 120px - Mudar a largura da coluna do agente de 150px para 120px - Atualizar as larguras correspondentes do recipiente de campo de filtro para combinar com colunas - Adicionar restrições de largura min e maxWidth explícitas onde necessário

  20. · kamo-internal

    Atualizar IDs de lead simulados para a coluna alfanumérica aleatória e definir endereço para 170px

    - Adicionar a função gerarRandomLeadId para criar cadeias alfanuméricas aleatórias de comprimento 13 - Mudar IDs de lead simulados de números sequenciais para alfanumérico aleatório (por exemplo, '34FDK69HWGPPK') - Atualizar a largura da coluna do endereço de 250px a 170px com min/max explícito - Atualizar a largura do recipiente do filtro do endereço para corresponder a 170px

  21. · kamo-internal

    Atualizar a largura da coluna de data e substituir os botões de ação

    - Alterar as larguras da coluna da data de 155px para 170px (Criado e Atribuído) - Atualizar data filter field containers para combinar 170px largura - Substituir os botões 'Exportar selecionado', 'Compartilhar' e 'Excluir selecionado' com: - 'Reatribuir Selecionado ({amount selected})' com o ícone Pessoas - 'Alterar status do selecionado ({amount selected})' com o ícone SwapHoriz - Importar pessoas e trocar íconesHoriz de Material-UI - Os botões mostram dinamicamente a contagem seleccionada nos rótulos

  22. · kamo-internal

    Adicionar o fundo de borda cinza claro fino às abas secundárias

    - Adicionar fronteiraBottom: '1px solid rgba( 0, 0, 0, 0. 12)' ao recipiente de tabulações de estado - Corresponde ao estilo encontrado na página /leades/view/ - Cria separação visual entre tabulações e conteúdo abaixo

  23. · kamo-internal

    Adicionar fundos cinzentos aos campos restantes do filtro e alinhar para baixo

    - Mudar o alinhamento da linha do filtro do centro para a extremidade flex (alinhamento inferior) - Adicionar fundo cinzento (# f8fafc) a todos os restantes recipientes de campo filtrante - Adicionar raio de borda e enchimento para combinar estilo de filtro de data - Os campos de filtro regulares alinham-se ao fundo, altura correspondente do campo de data inferior - Campos de data permanecem mais altos com layout empilhado - Todos os campos de filtro agora têm tratamento de fundo cinza consistente

  24. · kamo-internal

    Stack campos de filtro de data verticalmente com fundo cinza isolado

    - Alterar campos de filtro de data da disposição horizontal para vertical (flexDireção: coluna) - Adicionar fundo cinzento (# f8fafc) apenas às caixas de filtro de data, não a linha inteira do filtro - Definir largura explícita de 220px para campos de filtro de data - Remover fundo cinza do recipiente principal filtrante - Adicionar raio de borda a caixas de filtro de data para uma melhor separação visual

  25. · kamo-internal

    Melhore o layout da interface e aumente os dados simulados

    - Tornar o texto menor para campos de filtro de data (fontSize: 0.75rem para entrada, 0.7rem para etiquetas) - Mover a Pesquisa Rápida para a mesma linha que as páginas de status, alinhadas à direita - Aumentar pistas simuladas de 50 para 250 - Remover coluna Ações da grade - Limpar o layout removendo a seção da barra de pesquisa duplicada

  26. · kamo-internal

    Adicionar componentes de filtro de intervalo de datas para colunas criadas e atribuídas

    - Adicionar variáveis de estado para filtros de intervalo de datas Criados e Atribuídos (datas de início/fim) - Criar componentes de filtro de gama de datas com campos Data de início e Data de fim - Adicionar componentes de filtro de gama de datas à linha de filtro personalizada para colunas criadas e atribuídas - Atualizar a lógica filtradaRowData para filtrar por intervalos de datas - Campos de data vazios significam nenhuma restrição (todas as datas para esse fim) - Atualizar a função de resetFilters para limpar filtros de intervalo de datas - Os filtros de data suportam intervalos parciais (apenas início, apenas fim, ou ambos)

  27. · kamo-internal

    Faça contato nomes links clicáveis e adicione duplo-clique para abrir o lead

    - Atualizar ContactRenderer para exibir primeiro e último nome como links clicáveis sublinhados - Adicionar noClique no manipulador aos nomes de contato que abrem o lead via noViewLead ou navega para /leads/view/:id - Adicionar onRowDoubleClicked handler to AgGridReact to open lead when row is double-clicked - Nomes de contato agora têm cor primária, sublinhado e efeito hover - Duplo-clique em qualquer lugar em uma linha abre a liderança

  28. · kamo-internal

    Adicionar ícones ao filtro suspenso do sub- status e atualizar contratos enviados

    - Atualizar 'Contratos Assinados' para 'Contratos Enviados' para corresponder ao Java enum - Alterar ícone para contratos enviados da atribuição para enviar ícone - Adicionar ícones aos itens do menu dropdown do sub- status - Importar Enviar ícone do Material- UI - Ícones exibidos ao lado de cada sub-status no filtro suspenso

  29. · kamo-internal

    Adicionar ícones únicos para cada sub- estado com cores de status pai

    - Adicionar ícones únicos e relevantes para cada sub-status (por exemplo, PersonAdd for New Lead, Message for Left Message) - Ícones manter a cor do status pai (verde para Fresco, azul para Reckoning, laranja para Fazenda, vermelho para Grim, cinza para Vazio) - Importar ícones adicionais de Material-UI para sub-status - Atualizar getSubStatusIcon para mapear cada sub-status para o seu ícone único - Fresh: PersonAdd, Mensagem, Evento, Agenda, PlayArrow, Descrição, Carrinho de Compras, Pagamento - Reconhecimento: Sincronização, atribuição, atribuiçãoTurnedIn, compilação, expedição local - Fazenda: Florista Local, Polegar Baixo, Telefone Desabilitado, Negócios, AnexarMoney, AcessibilidadeNovo, Bloco - Grim: Print, SignalWifiOff, PersonOff, Aviso, Não Perturbar, RestaurarDeTrash - Vazio: Ciência, ContentCopy

  30. · kamo-internal

    Adicionar ícones às cores de status pai da coluna de sub- status

    - Adicionar a função de ajuda getSubStatusIcon para determinar o ícone com base no status pai - Ícones de substatus usam os mesmos ícones e cores que seu status pai - Subestatutos frescos: Ícone NewLançases verde - Reconhecido como substatus: ícone Gavel azul - Sub-estatutos agrícolas: ícone da agricultura laranja - Substatus sombrios: ícone corvo vermelho - Vazio sub- estatísticas: ícone cinza Cancelar

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