https://bugs.kde.org/show_bug.cgi?id=472986

            Bug ID: 472986
           Summary: NeoChat Frequent Notification Calls to Matrix Server
                    (Dendrite)
    Classification: Applications
           Product: NeoChat
           Version: unspecified
          Platform: Flatpak
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: General
          Assignee: fe...@posteo.de
          Reporter: tima...@proton.me
                CC: c...@carlschwan.eu
  Target Milestone: ---

SUMMARY

NeoChat appears to be repeatedly calling a [QueryNotification
endpoint](https://spec.matrix.org/v1.7/client-server-api/#get_matrixclientv3notifications)
that seems excessive when compared to other clients. Based on the description
of the endpoint, it seems like this endpoint is mostly meant for paginated
lists of notifications instead of minute-to-minute notification querying. I'm
not 100% familiar with the matrix spec but I believed that other clients
primarily rely on push notifications.

This might result in undue stress on Matrix servers that are on lower power
devices

STEPS TO REPRODUCE
1. Login to Account via NeoChat (23.11.70) on A Matrix Server (Dendrite -
0.13.1)
2.  Monitor Dendrite logs
3.  Log out of the NeoChat or close the application
4. Note the immediate absence of QueryNotification calls
5. Compare Server behaviour between Element, NeoChat, and Nheko Clients for
reference

OBSERVED RESULT

A large number of calls to the Query Notification endpoint on the Matrix server
(~3/second)

EXPECTED RESULT

A push notification instead of calling the Query end point


SOFTWARE/OS VERSIONS

Operating System: Fedora Linux 38
KDE Plasma Version: 5.27.6
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.10
Kernel Version: 6.4.6-200.fc38.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 2700X Eight-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: AMD Radeon RX 590 Series
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: X470 AORUS GAMING 7 WIFI

ADDITIONAL INFORMATION

Below is a snippet of matrix logs from my Dendrite Server

```
Aug 03 23:10:09 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:09.475954094Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=WYlVT8PdQ1q1 req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:11 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:11.904456064Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=oZq1JaNyYlJ1 req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:12 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:12.035785674Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=Tjo8yAEaGoXC req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:17 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:17.494735833Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=TAGn9zQxwt2c req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:18 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:18.732933884Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=gxIhttgLZ44c req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:19 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:19.102445739Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=sQMZogx1YAxB req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:19 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:19.652499093Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=lE78OBdlHxEZ req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:20 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:20.133270022Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=xPDoHz4IZ4rU req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:20 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:20.310603076Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=FJ6TAl1oOQND req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:20 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:20.457044935Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=kBdt1gXMKPFD req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:20 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:20.924745627Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=Ram8snqbiHgZ req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:21 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:21.648464100Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=q1JYAh27nJYk req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:21 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:21.937484140Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=qoMUqIxEx9B7 req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:22 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:22.098886906Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=7sdBuIKUKGBy req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:22 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:22.421637482Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=c15VHeWyls0V req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:23 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:23.019193719Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=Fpttg0zfrxMj req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:23 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:23.403763628Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=aXvVWUI0Q8F1 req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
Aug 03 23:10:23 hermes dendrite-start.sh[554851]:
time="2023-08-04T04:10:23.727667997Z" level=info msg="QueryNotifications: len
0" from="" limit=0 next="" only="" req.id=bTYn6s5f9q3y req.method=GET
req.path=/_matrix/client/v3/notifications user_id="@timaeos:matrix.nexaeos.io"
```

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to