mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-28 20:29:53 +00:00
core: only include mentions in unread count for groups with mentions-only notifications (#5601)
* core: only include mentions in unread count for groups with mentions-only notifications * remove whitespace * update nft servers * update query plans
This commit is contained in:
parent
442282be93
commit
43e374cf20
4 changed files with 10 additions and 8 deletions
|
@ -131,9 +131,9 @@ import Simplex.Messaging.Agent.Store.SQLite.DB (SlowQueryStats (..))
|
||||||
|
|
||||||
_defaultNtfServers :: [NtfServer]
|
_defaultNtfServers :: [NtfServer]
|
||||||
_defaultNtfServers =
|
_defaultNtfServers =
|
||||||
[ "ntf://FB-Uop7RTaZZEG0ZLD2CIaTjsPh-Fw0zFAnb7QyA8Ks=@ntf2.simplex.im,5ex3mupcazy3zlky64ab27phjhijpemsiby33qzq3pliejipbtx5xgad.onion"
|
[ -- "ntf://FB-Uop7RTaZZEG0ZLD2CIaTjsPh-Fw0zFAnb7QyA8Ks=@ntf2.simplex.im,5ex3mupcazy3zlky64ab27phjhijpemsiby33qzq3pliejipbtx5xgad.onion"
|
||||||
-- "ntf://KmpZNNXiVZJx_G2T7jRUmDFxWXM3OAnunz3uLT0tqAA=@ntf3.simplex.im,pxculznuryunjdvtvh6s6szmanyadumpbmvevgdpe4wk5c65unyt4yid.onion",
|
"ntf://KmpZNNXiVZJx_G2T7jRUmDFxWXM3OAnunz3uLT0tqAA=@ntf3.simplex.im,pxculznuryunjdvtvh6s6szmanyadumpbmvevgdpe4wk5c65unyt4yid.onion",
|
||||||
-- "ntf://CJ5o7X6fCxj2FFYRU2KuCo70y4jSqz7td2HYhLnXWbU=@ntf4.simplex.im,wtvuhdj26jwprmomnyfu5wfuq2hjkzfcc72u44vi6gdhrwxldt6xauad.onion"
|
"ntf://CJ5o7X6fCxj2FFYRU2KuCo70y4jSqz7td2HYhLnXWbU=@ntf4.simplex.im,wtvuhdj26jwprmomnyfu5wfuq2hjkzfcc72u44vi6gdhrwxldt6xauad.onion"
|
||||||
]
|
]
|
||||||
|
|
||||||
maxImageSize :: Integer
|
maxImageSize :: Integer
|
||||||
|
|
|
@ -643,11 +643,11 @@ deleteGroupChatItems db User {userId} GroupInfo {groupId} =
|
||||||
deleteGroupMembers :: DB.Connection -> User -> GroupInfo -> IO ()
|
deleteGroupMembers :: DB.Connection -> User -> GroupInfo -> IO ()
|
||||||
deleteGroupMembers db User {userId} GroupInfo {groupId} = do
|
deleteGroupMembers db User {userId} GroupInfo {groupId} = do
|
||||||
DB.execute_ db "DROP TABLE IF EXISTS temp_delete_members"
|
DB.execute_ db "DROP TABLE IF EXISTS temp_delete_members"
|
||||||
#if defined(dbPostgres)
|
#if defined(dbPostgres)
|
||||||
DB.execute_ db "CREATE TABLE temp_delete_members (contact_profile_id BIGINT, member_profile_id BIGINT, local_display_name TEXT)"
|
DB.execute_ db "CREATE TABLE temp_delete_members (contact_profile_id BIGINT, member_profile_id BIGINT, local_display_name TEXT)"
|
||||||
#else
|
#else
|
||||||
DB.execute_ db "CREATE TABLE temp_delete_members (contact_profile_id INTEGER, member_profile_id INTEGER, local_display_name TEXT)"
|
DB.execute_ db "CREATE TABLE temp_delete_members (contact_profile_id INTEGER, member_profile_id INTEGER, local_display_name TEXT)"
|
||||||
#endif
|
#endif
|
||||||
DB.execute
|
DB.execute
|
||||||
db
|
db
|
||||||
[sql|
|
[sql|
|
||||||
|
|
|
@ -174,7 +174,8 @@ getUsersInfo db = getUsers db >>= mapM getUserInfo
|
||||||
SELECT COUNT(1)
|
SELECT COUNT(1)
|
||||||
FROM chat_items i
|
FROM chat_items i
|
||||||
JOIN groups g USING (group_id)
|
JOIN groups g USING (group_id)
|
||||||
WHERE i.user_id = ? AND i.item_status = ? AND (g.enable_ntfs = 1 OR g.enable_ntfs IS NULL)
|
WHERE i.user_id = ? AND i.item_status = ?
|
||||||
|
AND (g.enable_ntfs = 1 OR g.enable_ntfs IS NULL OR (g.enable_ntfs = 2 AND i.user_mention = 1))
|
||||||
|]
|
|]
|
||||||
(userId, CISRcvNew)
|
(userId, CISRcvNew)
|
||||||
pure UserInfo {user, unreadCount = fromMaybe 0 ctCount + fromMaybe 0 gCount}
|
pure UserInfo {user, unreadCount = fromMaybe 0 ctCount + fromMaybe 0 gCount}
|
||||||
|
|
|
@ -154,7 +154,8 @@ Query:
|
||||||
SELECT COUNT(1)
|
SELECT COUNT(1)
|
||||||
FROM chat_items i
|
FROM chat_items i
|
||||||
JOIN groups g USING (group_id)
|
JOIN groups g USING (group_id)
|
||||||
WHERE i.user_id = ? AND i.item_status = ? AND (g.enable_ntfs = 1 OR g.enable_ntfs IS NULL)
|
WHERE i.user_id = ? AND i.item_status = ?
|
||||||
|
AND (g.enable_ntfs = 1 OR g.enable_ntfs IS NULL OR (g.enable_ntfs = 2 AND i.user_mention = 1))
|
||||||
|
|
||||||
Plan:
|
Plan:
|
||||||
SEARCH i USING COVERING INDEX idx_chat_items_groups_user_mention (user_id=?)
|
SEARCH i USING COVERING INDEX idx_chat_items_groups_user_mention (user_id=?)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue