Skip to content

Commit 08d0723

Browse files
authored
Merge branch 'The-Commit-Company:main' into main
2 parents 8fa0695 + dfde9b1 commit 08d0723

4 files changed

Lines changed: 12 additions & 6 deletions

File tree

raven/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "2.7.0"
1+
__version__ = "2.7.1"
22

33
from raven.raven_integrations.doctype.raven_incoming_webhook.raven_incoming_webhook import ( # noqa
44
handle_incoming_webhook as webhook,

raven/api/chat_stream.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def get_messages(channel_id: str, limit: int = 20, base_message: str | None = No
1919
frappe.throw(_("You do not have permission to access this channel"), frappe.PermissionError)
2020

2121
# Fetch messages for the channel
22-
if base_message:
22+
if base_message and frappe.db.exists("Raven Message", base_message):
2323
return get_messages_around_base(channel_id, base_message)
2424

2525
# Cannot use `get_all` as it does not apply the `order_by` clause to multiple fields

raven/api/mentions.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ def get_mentions(limit: int = 10, start: int = 0):
1818
message = frappe.qb.DocType("Raven Message")
1919
channel = frappe.qb.DocType("Raven Channel")
2020
channel_member = frappe.qb.DocType("Raven Channel Member")
21+
workspace_member = frappe.qb.DocType("Raven Workspace Member")
2122

2223
query = (
2324
frappe.qb.from_(mention)
@@ -42,9 +43,11 @@ def get_mentions(limit: int = 10, start: int = 0):
4243
.on(
4344
(channel.name == channel_member.channel_id) & (channel_member.user_id == frappe.session.user)
4445
)
46+
.left_join(workspace_member)
47+
.on((channel.workspace == workspace_member.workspace) & (workspace_member.user == frappe.session.user))
4548
.where(mention.user == frappe.session.user)
4649
.where(message.owner != frappe.session.user)
47-
.where(channel_member.user_id == frappe.session.user)
50+
.where((channel_member.user_id == frappe.session.user) | ((workspace_member.user == frappe.session.user) & (channel.type != "Private")))
4851
.orderby(message.creation, order=Order.desc)
4952
.limit(limit)
5053
.offset(start)
@@ -81,6 +84,7 @@ def get_unread_mention_count():
8184
message = frappe.qb.DocType("Raven Message")
8285
channel = frappe.qb.DocType("Raven Channel")
8386
channel_member = frappe.qb.DocType("Raven Channel Member")
87+
workspace_member = frappe.qb.DocType("Raven Workspace Member")
8488

8589
# Join mention with message and message with channel.
8690
# Only fetch count for where the user is a member of the channel
@@ -96,8 +100,10 @@ def get_unread_mention_count():
96100
.on(
97101
(channel.name == channel_member.channel_id) & (channel_member.user_id == frappe.session.user)
98102
)
103+
.left_join(workspace_member)
104+
.on((channel.workspace == workspace_member.workspace) & (workspace_member.user == frappe.session.user))
99105
.where(mention.user == frappe.session.user)
100-
.where(channel_member.user_id == frappe.session.user)
106+
.where((channel_member.user_id == frappe.session.user) | ((workspace_member.user == frappe.session.user) & (channel.type != "Private")))
101107
.where(message.creation > last_mention_viewed_date)
102108
.where(message.owner != frappe.session.user)
103109
)

raven/api/threads.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def get_all_threads(
7272
(channel.name == channel_member.channel_id) & (channel_member.user_id == frappe.session.user)
7373
)
7474
.left_join(thread_messages)
75-
.on(channel.name == thread_messages.channel_id)
75+
.on((channel.name == thread_messages.channel_id) & (thread_messages.message_type != "System"))
7676
.where(channel_member.user_id == frappe.session.user)
7777
.where(channel.is_thread == 1)
7878
.where(channel.is_ai_thread == is_ai_thread)
@@ -154,7 +154,7 @@ def get_other_threads(
154154
.left_join(main_thread_message)
155155
.on((main_thread_message.is_thread == 1) & (main_thread_message.name == thread_channel.name))
156156
.left_join(thread_message)
157-
.on(thread_channel.name == thread_message.channel_id)
157+
.on((thread_channel.name == thread_message.channel_id) & (thread_message.message_type != "System"))
158158
.left_join(channel_member)
159159
.on(
160160
(main_thread_message.channel_id == channel_member.channel_id)

0 commit comments

Comments
 (0)