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 butoane chat redundante antet; integra tab-uri Membri / Chats cu design panou
ChatHeader a avut propriile sale minimiza / închide IconButtons, dar fereastra de instrument de chat crom oferă deja aceste pretamente încorporat. ChatHeader e...
Reconstruiește împotriva fc5ee35 kamo-shared-library (MediaObjTransit @Maps Id)
Reconstruiește împotriva fc5ee35 kamo-shared-library (MediaObjTransit @Maps Id)
Reconstruiește împotriva fc5ee35 kamo-shared-library (MediaObjTransit @Maps Id)
Reconstruiește împotriva fc5ee35 kamo-shared-library (MediaObjTransit @Maps Id)
Comută MediaObjTransit la @MapsId derivat-identitate model
@IdClass combinat cu @Id @OneToOne nu este susținut în mod fiabil în Hibernate 6 JpaRepository<MediaObjTransit, UUID> inițializarea nu funcționează cu "nu defi...
Drop neutilizat @ts-expect-error on streaming bring body
În ceea ce privește cererea de propuneri, directiva prevede că: redundant sub modul strict TS și rupe clădirea de producție.
Declanşator reconstrucţie pentru a ridica kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Declanşator reconstrucţie pentru a ridica kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Declanşator reconstrucţie pentru a ridica kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Declanşator reconstrucţie pentru a ridica kamo-shared-library 094e80d (MediaObjTransit @IdClass)
Adăugați @IdClass pentru MediaObjTransit astfel încât datele de primăvară JPA pot expune ID-ul său derivat
Metamodelul datelor de primăvară necesită @IdClass pentru entitățile a căror cheie principală este a @Id @OneToOne identificator derivat. Fără ea, JpaRepository...
Augment necitit transmision cu activitate sarcină utilă pentru actualizări chat-list
Actualizări live ale listei de chat-uri prin intermediul canalului NATS necitit
Compozitor cu drag-drop, în așteptare chips-uri de atașament, intrare multi-line
Proxy routes for find-or-create, members, attachments, imaging proxy, mute, revoke
Extract shared **************** helper to app/lib/mediaServiceUrl.ts. Add proxy routes: find-or-create, members, receipts, attachments (streaming), mutes, revok...
Paged chat list with previews, members, unread counts
that returns ChatListRowDto rows including last message preview, member summaries, per-session unread counts, and ownLastViewedAt.
Add countUnreadAfter(guid, memberId, since) to MediaObjRepository
Needed by paged chat-list endpoint to compute per-session unread counts when ownLastViewedAt is a LocalDateTime pointer rather than a message UUID.
Add @PrePersist to MediaObjImgDownload.dateCreated to satisfy NOT NULL on insert
Imaging proxy with HTTP Range support and per-member download tracking
Add MediaObjImgDownloadRepository with existsByObjImgIdAndMemberId
Required by ImagingProxyService (Task 10) to deduplicate per-member download tracking without a full table scan.
Add CHAT_ATTACHMENT assoc type with imaging-chat-attachments bucket
Skip creator in findOrCreateExactChatSession member loop (createChatSession already adds them)
Service methods for exact-match find/create, member add, mute, revoke, read
Interogatorie depozit pentru găsirea exact-meci, lista paged, chitanțe
Adaugă dataUltimaVizualizare la MediaMembrie pentru timbrul de primire
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.