Восстановление триггера для получения библиотеки 094e80d (MediaObjTransit @IdClass)
Добавьте @IdClass для MediaObjTransit, чтобы Spring Data JPA могла раскрыть свой идентификатор
Метамодель Spring Data требует @IdClass для объектов, основным ключом которых является @Id @OneToOne производный идентификатор. Без него JpaRepository<MediaObjT...
Добавить нечитанную трансляцию с полезной нагрузкой ACTIVITY для обновлений списка чатов
Список чатов с бесконечной прокруткой, виртуализированный через IntersectionObserver
Заголовок чата со стеком аватара, пополнением заголовка и сборщиком членов
Композитор с перетаскиванием, ожидающие фишки крепления, многолинейный вход
Пузырь сообщений с аватарами, действиями наведения и видимым индикатором
Прокси-маршруты для поиска или создания, члены, вложения, визуализация прокси, немой, отзыв
Выдержка из раздела **************** Helper to app/lib/mediaServiceUrl.ts. Добавить прокси-маршруты: find-or-create, members, квитанции, вложения (streaming), m...
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
Репозиторные запросы для поиска точного соответствия, список страниц, квитанции
Добавить dateLastViewed в MediaSessionMember для получения временных меток
Добавить флаг isAccessRevoked для управления доступом в каждом приложении
Probe timeout 10s and 2 gunicorn workers
LibreTranslate's /languages probe blocks on the gunicorn worker event loop. With a single worker translating a long chat message, the probe times out at the def...
Distinguish actively-translating vs queued messages
The translation queue was already sequential, but every queued bubble rendered "Translating…". Now the single in-flight message shows "Translating…" with a puls...
Distinguish actively-translating vs queued messages
The streaming queue was already strictly sequential (one fetch at a time), but every queued message rendered "Translating…" because they all shared the same pen...
Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders an AlertTriangle icon in red with tooltip "F...
Show error icon when a message fails to translate
When the per-message translate call returns translated:false, errors out, or times out, the chat bubble now renders a small red ErrorOutline icon in place of th...
Raise client read timeout to 120s for long messages
LibreTranslate runs CPU-only argos models — a paragraph-length chat message takes 20-30s to translate, and longer ones can push past 60s. The 8-second read time...
Persist language change and show current language in tooltip
The members endpoint accepts PUT not PATCH, so the language picker's PATCH was silently ignored — Member.language never actually updated, which is why refreshin...
Строка запросов ****************
Прокси Next.js отбрасывал строку запроса при пересылке на MediaService, что означало историю чата ?lang=<locale> парам Безмолвно заблудился. Без этого парама бэ...
Владелец монетного двора OTK с предоставлением всех прав без DB round-trip
После ************* назначает Администратора Роль и пишет Member rights applied, блок OTK-minting был Перечитать эти строки через **************** Внутри того ж...
Stream translations newest-first for visitor history
When the visitor lands on a non-English locale and the support chat has existing English messages, every bubble flagged needsTranslation by the backend now show...
Stream message translations newest-first on language switch
When the user picks a new language (or opens an existing chat in a language different from the messages' source), every bubble that needs translation immediatel...
Cache-only bulk translate, FE handles fills
Bulk message-fetch endpoints now return only translations that are already cached and tag missing rows with needsTranslation:true. The chat UIs (kamo-internal C...
Revert "fix(settings): show Plans & Billing tab regardless of root-org status"
This reverts commit ****************
Auto-translate visitor and agent messages
Live agent replies arriving in a language other than the visitor's URL locale now show a "Translating…" bubble while the TranslateService call resolves, then sw...
Translate chat messages into the viewer's language
Adds a "My Language" flag picker in NavTop (left of the email tool, separated by a vertical rule). Selecting a language writes back to Member.language and syncs...
Proxy support-message translate endpoint
Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
Translation cache for chat messages
Adds the MediaObjMsgTranslation entity (one row per (message, language) pair) and an optional sourceLanguageId column on MediaObjMsg so chat messages can be tra...
Как вы видите судоходство?
Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.
