- Добавлены active_chat_* поля в user_presence и endpoint /api/devices/active-chat - Сервер не шлёт Web Push/Pushy, если получатель смотрит в тот же чат на видимой вкладке - Клиент сообщает серверу и Service Worker об активном чате из Chat.tsx и TaskChat.tsx - TaskChat: входящие сообщения автоматически отмечаются прочитанными при видимой вкладке - SW: подавляет foreground/system push, если активный чат совпадает
9 lines
545 B
SQL
9 lines
545 B
SQL
-- Добавляем информацию об активном чате пользователя для подавления push-уведомлений,
|
||
-- когда получатель уже смотрит в нужный чат на видимой вкладке.
|
||
|
||
ALTER TABLE user_presence
|
||
ADD COLUMN IF NOT EXISTS active_chat_type text,
|
||
ADD COLUMN IF NOT EXISTS active_chat_id integer,
|
||
ADD COLUMN IF NOT EXISTS active_chat_visible boolean DEFAULT false,
|
||
ADD COLUMN IF NOT EXISTS active_chat_updated_at timestamp DEFAULT now();
|