Add channel mute

This commit is contained in:
jkingsman
2026-04-19 19:31:26 -07:00
parent 491f159463
commit c8c8e6b549
30 changed files with 322 additions and 109 deletions
+10
View File
@@ -14,6 +14,7 @@ from pywebpush import WebPushException
from app.push.send import send_push
from app.push.vapid import get_vapid_private_key
from app.repository.channels import ChannelRepository
from app.repository.push_subscriptions import PushSubscriptionRepository
from app.repository.settings import AppSettingsRepository
@@ -102,6 +103,15 @@ class PushManager:
if state_key not in push_conversations:
return
# Skip muted channels
if data.get("type") == "CHAN" and data.get("conversation_key"):
try:
ch = await ChannelRepository.get_by_key(data["conversation_key"])
if ch and ch.muted:
return
except Exception:
logger.debug("Push dispatch: failed to check channel mute state", exc_info=True)
try:
subs = await PushSubscriptionRepository.get_all()
except Exception: