This commit is contained in:
Tim Baek
2026-03-24 14:54:29 -05:00
parent f949d17db1
commit c24a4da17d
3 changed files with 10 additions and 7 deletions
+1 -1
View File
@@ -1589,7 +1589,7 @@ ENABLE_MESSAGE_RATING = PersistentConfig(
ENABLE_USER_WEBHOOKS = PersistentConfig(
'ENABLE_USER_WEBHOOKS',
'ui.enable_user_webhooks',
os.environ.get('ENABLE_USER_WEBHOOKS', 'True').lower() == 'true',
os.environ.get('ENABLE_USER_WEBHOOKS', 'False').lower() == 'true',
)
# FastAPI / AnyIO settings
+7 -4
View File
@@ -815,12 +815,16 @@ async def get_pinned_channel_messages(
############################
async def send_notification(name, webui_url, channel, message, active_user_ids, db=None):
async def send_notification(request, channel, message, active_user_ids, db=None):
name = request.app.state.WEBUI_NAME
webui_url = request.app.state.config.WEBUI_URL
enable_user_webhooks = request.app.state.config.ENABLE_USER_WEBHOOKS
users = get_channel_users_with_access(channel, 'read', db=db)
for user in users:
if (user.id not in active_user_ids) and Channels.is_user_channel_member(channel.id, user.id, db=db):
if user.settings:
if enable_user_webhooks and user.settings:
webhook_url = user.settings.ui.get('notifications', {}).get('webhook_url', None)
if webhook_url:
await post_webhook(
@@ -1109,8 +1113,7 @@ async def post_new_message(
async def background_handler():
await model_response_handler(request, channel, message, user)
await send_notification(
request.app.state.WEBUI_NAME,
request.app.state.config.WEBUI_URL,
request,
channel,
message,
active_user_ids,
+2 -2
View File
@@ -3098,7 +3098,7 @@ async def non_streaming_chat_response_handler(response, ctx):
)
# Send a webhook notification if the user is not active
if not Users.is_user_active(user.id):
if request.app.state.config.ENABLE_USER_WEBHOOKS and not Users.is_user_active(user.id):
webhook_url = Users.get_user_webhook_url_by_id(user.id)
if webhook_url:
await post_webhook(
@@ -4587,7 +4587,7 @@ async def streaming_chat_response_handler(response, ctx):
)
# Send a webhook notification if the user is not active
if not Users.is_user_active(user.id):
if request.app.state.config.ENABLE_USER_WEBHOOKS and not Users.is_user_active(user.id):
webhook_url = Users.get_user_webhook_url_by_id(user.id)
if webhook_url:
await post_webhook(