Translate hardcoded UI
commerce (10 files): applications, bookings, commitments, orders, procurement, requests, service, service-requests, signups, subscriptions detail pages. setting...
Aggiungi pricing@kamocrm.com mailbox e IMAP NodePort esterno
- Nuova posta di servizio/dovecot-imap-esterno (NodePort 30143 -> 143) IMAP può essere raggiunto da fuori del cluster su $NODE:30143. - Seed pricing@kamocrm.com...
Publish NATS CREATE event after transaction commit to fix image attachment race
The NATS message was published inside the @Transactional body, which meant recipients could receive the CREATE event and request the image via /imaging/proxy/{o...
Redesign ChatsList rows — elegant layout, no horizontal scroll, online dots, unread badge, relative timestamps
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
Add attachments and event fields to ChatMessageDto; ignore unknown fields
ChatMessageDto was missing `attachments`, `readMemberId`, `msgIdLastViewed`, `dateLastViewed`, `addedMemberId`, `objImgId`, `transitMemberId`, and `isJoin` fiel...
Kick MediaService redeploy for getChatSessions NPE fix
Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Increase gap between Meet and Add Member toolbar icons
Defects C/D/E — title display name, toolbar layout, header lift
Defect C: Add GET proxy for /sessions/{guid}/members so ChatBox.loadMembers() can populate the SessionMember.name field. ChatTool already uses members[0].name f...
Add GET /sessions/{guid}/members endpoint with display-name priority
Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Retry build after transient npm ci ECONNRESET
Rebuild with updated kamo-shared-library (paged chat query fix)
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Derive and dispatch tool window title from session members
Adds onMembersChange callback to ChatBox; ChatTool derives the title (single name for 1-on-1, or '<name> (+N more)' for groups) and dispatches tool:title to upd...
Collapse toolbar, remove ChatHeader, add members intro row
- Delete ChatHeader row from embedded chat; move Add Member icon into unified toolbar - Toolbar: search input on left, VideoCall icon + PersonAdd icon + scroll-...
Lift search above tab strip, share query across Members and Chats tabs
Moves the search TextField from MemberList into NavTopPanel above the Tabs. Passes searchQuery as a prop to both MemberList and ChatsList so a single field filt...
Show upload error toast in Composer when attachments fail
Catches errors thrown by uploadAll() and renders an MUI Alert above the input row. Root cause of Defect 4 was the missing MinIO bucket (imaging-chat-attachments...
Empty Chats tab — frontend already expects {rows} paged shape (no change needed)
The ChatsList component already reads data.rows. Backend fix (shared-lib + MediaService) is the root cause: HAVING CAST(null AS TIMESTAMP) IS NULL did not work ...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
Split findChatSessionsForMemberPaged into First/After to fix empty Chats tab
HAVING CAST(null AS TIMESTAMP) IS NULL did not evaluate as expected in CockroachDB,
Drop redundant chat header buttons; integrate Members/Chats tabs with panel design
ChatHeader had its own minimize/close IconButtons but the chat tool window chrome already provides those affordances — they were duplicated when embedded. ChatH...
Rebuild against kamo-shared-library fc5ee35 (MediaObjTransit @MapsId)
Rebuild against kamo-shared-library fc5ee35 (MediaObjTransit @MapsId)
Rebuild against kamo-shared-library fc5ee35 (MediaObjTransit @MapsId)
Rebuild against kamo-shared-library fc5ee35 (MediaObjTransit @MapsId)
Switch MediaObjTransit to @MapsId derived-identity pattern
@IdClass combined with @Id @OneToOne is not reliably supported in Hibernate 6 — JpaRepository<MediaObjTransit, UUID> initialization fails with "does not define ...
Re-trigger rebuild against kamo-shared-library 094e80d
Re-trigger rebuild against kamo-shared-library 094e80d
Re-trigger rebuild against kamo-shared-library 094e80d
Re-trigger rebuild against kamo-shared-library 094e80d
Drop unused @ts-expect-error on streaming fetch body
The `as RequestInit` cast already silences the type error; the directive is redundant under TS strict mode and breaks the production build.
Trigger rebuild to pick up kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Trigger rebuild to pick up kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Trigger rebuild to pick up kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Trigger rebuild to pick up kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Add @IdClass for MediaObjTransit so Spring Data JPA can expose its derived ID
Spring Data's metamodel requires @IdClass for entities whose primary key is a @Id @OneToOne derived identifier. Without it, JpaRepository<MediaObjTransit, UUID>...