“Contact request” UI seems to have been designed this way in the late 2019/early 2020 and has not changed much since then.
Typical problem on Android is when you receive a notification for contact request and click “Mark read” to dismiss the notification. You may later vaguely remember that you have seen this message somewhere, but can’t recall which chat it was. On the chatlist screen it is nowhere to find, because it went into “contact requests”. There is no such problem on Desktop because it doesn’t have “Mark read” option in the notification, at least for me.
If you remember to check “Contact requests” menu item later, it is not easy to click through all the messages there. You open the “contact requests” chat, click on one message, make a decision and get back to the chatlist screen automatically. To process another request, you need to click “contact requests” item in the menu again.
There were some discussions about redoing “Contact requests” on IRC with @Hocuri and @r10s when
dc_msg_get_real_chat_id() was introduced. @Simon also wanted to introduce a badge with a number of unread contact requests so you can check how many contact requests are there without having to enter the “Contact requests” chat, this will require to add support for
DC_CHAT_ID_DEADDROP (internal name for “Contact requests”) to
Long term, there is an idea to get rid of “contact requests” chat and replace it with a “contact requests” chatlist similar to “archived chats”. The “Contact requests” item should then stay at the top of your chatlist as long as there is at least one unread message in any of the “contact requests” chats.
Edit: there was also a related discussion on GitHub: tweak contact requests · Issue #1896 · deltachat/deltachat-android · GitHub