Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  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

    Aggiungi campo fileHash all'entità Avatar per l'archiviazione sicura dei file

    - Aggiungi la colonna fileHash per memorizzare SHA-256 hash di avatar ID - Hash viene utilizzato per il nome del file MinIO per evitare attacchi di enumerazione - Formato: {hash}.{fileExtension} invece di {id}.{fileExtension}

  3. · kamo-internal

    Ricostruire avatar UI - moderno, interattivo, lucido. Backend restituisce gli URL direttamente

  4. · SecurityService

    Rebuild avatar system - backend generates presigned URLs directly like backgrounds

  5. · kamo-internal

    Aggiungere le credenziali MinIO a k8s configmap

  6. · kamo-internal

    Generare URL prescritti in Next.js utilizzando MinIO SDK con dominio a tema

  7. · kamo-shared-library

    Aggiungi getPresignedUrlWithEndpoint metodo per gli URL prescritti da endpoint personalizzati

  8. · kamo-internal

    Aggiungi Avatar Creator avatar creazione, gestione di sfondo con riordinare, e pieno supporto libreria avatar / background

  9. · SecurityService

    Add avatar and background management endpoints

  10. · kamo-shared-library

    Aggiungi AvatarPhoto e AvatarAvatar Creator classi, refactor Avatar eredità struttura

  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

    Aggiungi repository Avatar e UserBackground e supporto URL prefirmato

    - Aggiunto AvatarRepository con metodi per trovare avatar da utente - Aggiunto UserBackgroundRepository con metodi per trovare sfondi per utente/membro - Aggiunto getPresignedUrl metodi a MinIOStorageService per la generazione di URL di accesso temporaneo - Presigned URLs default a 7 giorni di scadenza, tempo di scadenza configurabile

  14. · kamo-shared-library

    Aggiungi UserPhoto e UserBackground entità con relazioni utente/membro

    - Creato UserPhoto entità per la memorizzazione delle foto del profilo utente e dei membri - Creato UserBackground entità per la memorizzazione di immagini di sfondo utente e membro - Entrambe le entità supportano le associazioni a livello utente (member=null) e a livello di membro (set di membri) - UserPhoto include il campoSet per indicare quale foto è attualmente attiva - UserBackground include il campo sortId per l'ordinazione di più sfondi - Entrambe le entità utilizzano EmbRecordState incorporabile per tracciare la creazione, gli aggiornamenti e lo stato attivo - Aggiunti gli indici di database appropriati per l'ottimizzazione delle prestazioni

  15. · kamo-internal

    Aggiungere componente MemberHeader condiviso con avatar / override di fondo a livello membro

    - Creato componente MemberHeader condiviso con immagini di sfondo e display avatar - Aggiunte opzioni di override a livello di membro per avatar e sfondo (uso utente predefinito vs membro-specifico) - Profilo aggiornatoTab per utilizzare il componente MemberHeader condiviso - Aggiornato MembershipPermissionsTab per utilizzare il componente MemberHeader condiviso - L'intestazione ora appare sia sul profilo che sulle schede di ammissione - Aggiunti gli switch per "Use Default User Avatar" e "Use Default User Background" - Supporta l'URL dell'immagine di sfondo personalizzato quando non si utilizza lo sfondo del tema predefinito

  16. · kamo-marketing

    Aggiungi supporto touch a Magneticcoder per dispositivi mobili

  17. · kamo-internal

    Modificare la griglia per il layout autoHeight per mostrare tutti i record senza barra di scorrimento

    - Impostare domLayout per autoHeight così griglia si espande per adattarsi a tutte le righe - Rimuovere il troppopieno: nascosto dalle scatole dei container della griglia - Rimuovere l'altezza: 100% vincolo dalla scatola di involucro della griglia - Griglia ora mostra tutti i record sulla pagina corrente senza barra di scorrimento verticale

  18. · kamo-internal

    Sostituisci la colonna Indirizzo con colonne Stato e Strada

    - Rimuovi la colonna Indirizzo e AddressRenderer - Aggiungi colonna Stato dopo Contatto (mostra suddivisione/codice stato) - Aggiungi la colonna Street dopo Stato (mostra il formato 'strada, città') - Sostituire l'indirizzoFilterValuta con StateFilterValuta e viaFilterValore - Aggiungere il filtro a discesa dello Stato con tutti gli Stati Uniti - Aggiungi campo filtro testo Street - Aggiornare la logica di filtraggio per colonne di Stato e Street - Rimuovere il filtro dell'indirizzo da resetFilters

  19. · kamo-internal

    Aggiornare le larghezze della colonna ai valori specificati

    - Cambiare la larghezza della colonna Lead ID da 300px a 245px - La colonna di contatto rimane flex: 1 per riprendere la larghezza rimanente - Modifica larghezza della colonna di stato da 200px a 65px - Cambiare la larghezza della colonna Sub Status da 200px a 120px - Cambia la larghezza della colonna dell'agente da 150px a 120px - Aggiornare le corrispondenti larghezze del contenitore del campo filtro alle colonne di corrispondenza - Aggiungere vincoli espliciti di larghezza e larghezza massima dove necessario

  20. · kamo-internal

    Aggiorna gli ID mock lead a colonna di indirizzi alfanumerici casuali e imposta a 170px

    - Aggiungi la funzione GenereRandomLeadId per creare stringhe alfanumeriche casuali di lunghezza 13 - Modificare i numeri di piombo mock da numeri sequenziali a alfanumerico casuale (ad esempio, '34FDK69HWGPPK') - Aggiorna la larghezza della colonna dell'indirizzo da 250px a 170px con esplicita min/max - Aggiornare la larghezza del contenitore del filtro dell'indirizzo per abbinare 170px

  21. · kamo-internal

    Aggiornare le larghezze della colonna della data e sostituire i pulsanti di azione

    - Modifica della larghezza della colonna della data da 155px a 170px (Creato e Assegnato) - Aggiornamento data filtro campo contenitori per corrispondenza 170px larghezza - Sostituire i pulsanti 'Export Selected', 'Share' e 'Delete Selected' con: - 'Riassegna Selezionato ({importo selezionato})' con l'icona Persone - 'Change Status of Selected ({importo selezionato})' con l'icona SwapHoriz - Importare le persone e le icone SwapHoriz da Material-UI - I pulsanti mostrano dinamicamente il conteggio selezionato nelle etichette

  22. · kamo-internal

    Aggiungere il bordo grigio chiaro sottile alle schede secondarie

    - Aggiungi bordoBottom: '1px solido rgba(0, 0, 0, 0.12)' a schede di stato contenitore - Abbina lo stile trovato su /leads/view/ page - Crea separazione visiva tra schede e contenuti qui sotto

  23. · kamo-internal

    Aggiungere sfondi grigi per i campi filtranti rimanenti e allineare al fondo

    - Cambiare l'allineamento della riga del filtro dal centro al flex-end (allineamento del fondo) - Aggiungere lo sfondo grigio (#f8fafc) a tutti i contenitori di campo filtro rimanenti - Aggiungere il raggio di confine e l'imbottitura per abbinare lo styling del filtro data - Filtro regolare campi allineati al fondo, altezza corrispondente del campo della data inferiore - I campi data rimangono più alti con layout impilati - Tutti i campi filtranti ora hanno un trattamento di sfondo grigio coerente

  24. · kamo-internal

    Filtraggio data stack campi verticalmente con sfondo grigio isolato

    - Modifica dei campi di filtro della data dal layout orizzontale a verticale (flexDirection: colonna) - Aggiungere lo sfondo grigio (#f8fafc) solo alle caselle di filtro di data, non l'intera riga di filtro - Impostare la larghezza esplicita di 220px per i campi filtranti di data - Rimuovere lo sfondo grigio dal contenitore principale della riga del filtro - Aggiungere il raggio di confine alle caselle di filtro di data per una migliore separazione visiva

  25. · kamo-internal

    Migliorare il layout dell'interfaccia utente e aumentare i dati mock

    - Rendere il testo più piccolo per i campi di filtro della data (fontSize: 0.75rem per l'ingresso, 0.7rem per le etichette) - Sposta Ricerca rapida sulla stessa linea delle schede di stato, allineato a destra - Aumentare i cavi mock da 50 a 250 - Rimuovi la colonna Azioni dalla griglia - Pulisci il layout rimuovendo la sezione barra di ricerca duplicata

  26. · kamo-internal

    Aggiungi componenti del filtro dell'intervallo di date per colonne create e assegnate

    - Aggiungi variabili di stato per i filtri dell'intervallo di date create e assegnate (datteri di inizio/fine) - Creare i componenti del filtro dell'intervallo di date con i campi Start Date e End Date - Aggiungi i componenti del filtro dell'intervallo di date alla riga del filtro personalizzata per colonne create e assegnate - Aggiornamento filtratoRowData logica per filtrare per intervalli di date - I campi di data vuoti non significano restrizioni (tutte le date per tale fine) - Reset di aggiornamento Funzione di filtri per l'intervallo di date chiare - I filtri di data supportano intervalli parziali (solo inizio, solo fine, o entrambi)

  27. · kamo-internal

    Fare i nomi di contatto link cliccabili e aggiungere doppio clic per aprire il cavo

    - Aggiornare ContactRenderer per visualizzare il nome e il cognome come link cliccabili sottolineati - Aggiungi il manubrio onClick ai nomi di contatto che apre il cavo tramite suViewLead o naviga in /leads/view/:id - Aggiungi suRowDoubleClicked handler a AgGridReact per aprire il comando quando la riga è doppio clic - I nomi di contatto ora hanno colore primario, sottolineatura e effetto hover - Fare doppio clic ovunque su una riga apre il comando

  28. · kamo-internal

    Aggiungi icone al filtro a discesa sub-status e aggiorna Contratti Invia

    - Aggiornamento 'Contracce firmate' a 'Contracce Sent' per abbinare Java enum - Cambia icona per Contratti Invia icona - Aggiungi icone agli elementi del menu a tendina sottostatus - Importa Invia icona da Materiale-UI - Visualizzazione icona accanto ad ogni opzione sub-status nel filtro a discesa

  29. · kamo-internal

    Aggiungi icone uniche per ogni sub-status con i colori dello stato del genitore

    - Aggiungi icone uniche e rilevanti per ogni sub-status (ad esempio, PersonAdd for New Lead, Message for Left Message) - Icone mantengono il colore dello stato del genitore (verde per fresco, blu per il Reckoning, arancione per la fattoria, rosso per Grim, grigio per Void) - Importa icone materiali-UI aggiuntive per sub-statuses - Aggiornare ottenereSubStatusIcon per mappare ogni sub-status alla sua icona unica - Fresco: PersonAdd, Messaggio, Evento, Programma, Freccia, Descrizione, ShoppingCart, Pagamento - Reckoning: Sync, Assegnazione, AssegnazioneTurnedIn, Costruire, LocalShipping - Azienda: LocalFlorist, ThumbDown, PhoneDisabled, Business, AttachMoney, AccessibilitàNew, Block - Grim: Stampa, SignalWifiOff, PersonOff, Avvertenza, DoNotDisturb, Ripristino Da Trash - Void: Scienza, ContentCopy

  30. · kamo-internal

    Aggiungi le icone ai colori dello stato dei genitori corrispondenti della colonna sub-status

    - Aggiungi la funzione di helper getSubStatusIcon per determinare l'icona in base allo stato del genitore - Le icone Sub-status utilizzano le stesse icone e i colori del loro stato genitore - Sottostatuse fresche: icona verde NewReleases - Sub-statuse di registrazione: icona di Gavel blu - sub-statuse agricole: icona Agricoltura arancione - Grim sub-statuses: icona raven rosso - Void sub-statuses: grigio Cancella icona

Il tuo universo ti sta aspettando.

Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.

Gratis per sempre — nessuna carta di credito richiesta