Appearance
Messaging
Сервис комментариев и (v2) чатов на сущностях платформы. v1 — embed-виджет комментариев к задачам, заметкам и открытым медиа Spark Grid.
Порты
| Порт | Назначение |
|---|---|
| 8107 | HTTP REST (PM2) |
| 18107 | Docker host |
- БД:
messaging_db - Gateway:
/proxy/messaging/
Назначение
Единый сервис обсуждений вместо самописных комментариев в каждом модуле: page-треды, selection-треды (якорь в TipTap), ответы, реакции, @mentions, вложения Storage, unread, pg_trgm-поиск, realtime через NATS Bridge.
ACL не хранится в messaging — S2S-запрос к владельцу ресурса (documents, task-tracker, spark-grid, collatio).
API (v1)
GET/POST /api/v1/c/:service/:type/:rid/threads
GET /api/v1/c/:service/:type/:rid/search?q=&space_id=
GET/PATCH /api/v1/threads/:id
GET/POST /api/v1/threads/:id/messages
POST /api/v1/threads/:id/read
GET/PATCH/DELETE /api/v1/messages/:id
PUT/DELETE /api/v1/messages/:id/reactions/:emoji
DELETE /api/v1/resources/:service/:type/:rid # RequireServiceAuth: JWT пользователя; S2S — Authorization: Service <token>.
Swagger: /swagger/index.html
События (NATS)
| Subject | Назначение |
|---|---|
messaging.comment.created | Новое сообщение |
messaging.comment.edited | Правка |
messaging.comment.deleted | Soft delete |
messaging.comment.resolved | Resolve selection-треда |
messaging.comment.reaction | Реакция |
Bridge → Centrifugo namespace comments, канал comments:broadcast.
Consumer каскада: documents.deleted, tasks.deleted, media_file.deleted.
Env
| Переменная | Назначение |
|---|---|
DOCUMENTS_SERVICE_URL | S2S access check |
TASK_TRACKER_SERVICE_URL | S2S access check |
SPARK_GRID_SERVICE_URL | S2S access check |
SERVICE_TOKEN | Межсервисные вызовы |
Интеграции
- Notifications —
comment.mention,comment.replyнаmessaging.comment.created - Web —
lib-commentsвapps/web/libs/common - Storage — вложения, категория
comments
Лимиты
- Текст сообщения: 16 KB
- Вложений на сообщение: 20
- Rate limit: 30 msg/min на пользователя в треде
- Retention: soft-deleted purge через 90 дней