From 37df18dbf70203916235df290f2c9e6ec3701bf7 Mon Sep 17 00:00:00 2001
From: Paul <paulmakles@gmail.com>
Date: Tue, 30 Mar 2021 22:09:36 +0100
Subject: [PATCH] Fixes mutual connections not being seen and hence requests
 failing.

---
 Cargo.lock                       |  4 +++-
 Cargo.toml                       |  2 +-
 src/database/permissions/user.rs | 14 ++++++--------
 src/routes/root.rs               |  2 +-
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 7682ea6..309aa6d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,5 +1,7 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "addr2line"
 version = "0.14.1"
@@ -2473,7 +2475,7 @@ dependencies = [
 
 [[package]]
 name = "revolt"
-version = "0.3.3-alpha.7"
+version = "0.3.3-alpha.8"
 dependencies = [
  "async-std",
  "async-tungstenite",
diff --git a/Cargo.toml b/Cargo.toml
index c849473..18b51b5 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "revolt"
-version = "0.3.3-alpha.7-patch.0"
+version = "0.3.3-alpha.8"
 authors = ["Paul Makles <paulmakles@gmail.com>"]
 edition = "2018"
 
diff --git a/src/database/permissions/user.rs b/src/database/permissions/user.rs
index 4515e5c..4ff42bf 100644
--- a/src/database/permissions/user.rs
+++ b/src/database/permissions/user.rs
@@ -68,14 +68,12 @@ impl<'a> PermissionCalculator<'a> {
             || get_collection("channels")
                 .find_one(
                     doc! {
-                        "$or": [
-                            { "type": "Group" },
-                            { "type": "DirectMessage" },
-                        ],
-                        "$and": [
-                            { "recipients": &self.perspective.id },
-                            { "recipients": target }
-                        ]
+                        "channel_type": {
+                            "$in": ["Group", "DirectMessage"]
+                        },
+                        "recipients": {
+                            "$all": [ &self.perspective.id, target ]
+                        }
                     },
                     None,
                 )
diff --git a/src/routes/root.rs b/src/routes/root.rs
index 9943908..0bb35a2 100644
--- a/src/routes/root.rs
+++ b/src/routes/root.rs
@@ -9,7 +9,7 @@ use rocket_contrib::json::JsonValue;
 #[get("/")]
 pub async fn root() -> JsonValue {
     json!({
-        "revolt": "0.3.3-alpha.7-patch.0",
+        "revolt": "0.3.3-alpha.8",
         "features": {
             "registration": !*DISABLE_REGISTRATION,
             "captcha": {
-- 
GitLab