# Notification badge
###### tags: `Lale` `Matrix` `Synapse`
## Problem:
- We want to get the correct notification badge.
## Facts:
- `Matrix` sends notification information (including the `badge` ("unread")) to the `Push Server` (Sygnal).
- `Sygnal` send notifications to `iOS` (APNS) and `Androi`d device (GCM).
- `Matrix` knows the number of unread messages from the Matrix-DB (`event_push_summary.notif_count`)
- `event_push_summary` table contains the summary of the unread message for each user & room!
- Matrix builds the `event_push_summary` table by calculating the number of unread messages for each room.
- The last read message for each room & user in the table `receipts_linearized`
## Possible Solutions:
1. **Push server sends the number of badges** by hijacked the data sent by Matrix. The push server is also **able to connect to the DB**.
But, the number of badges/unread that the push server received is not always correct. The data from the DB is also not always correct.
2. Client-apps tell the matrix server, **the correct** badge/unread message, so the matrix server could send **the correct** number of badges to the push server.
### Problem:
- We **don't know** how to tell the matrix server the number of badges.
- The matrix server sends the number of badges based on **the database**.