Bugs and Suggestions for the Primal Client Version 1.0.3 on Android ### Bugs 1. Event Leakage: When a user attempts to send an event in a specific relay, that event is also broadcasted to other relays. In other words, the client has hidden connections to relays other than the one specified by the user, compromising privacy. 2. Feed Scrolling Lag: In countries like Iran and China, where filtering (GFW) is present, limitations have been imposed on Primal servers. As a result, users experience significant lag. If Primal were not reliant on a single server, users could connect to other relays and disable relay caching to resolve this issue. 3. Comment Display Bug: Occasionally, unrelated posts appear in the comment feed instead of the actual comments for a post. 4. Direct Messaging Not working: NIP-04 is deprecated; NIP-17 and newer methods like MLS need to be implemented. Currently, users cannot view their previous chats in Primal, rendering the direct messaging feature effectively useless. ### Suggestions 1. Implement NIP-46, NIP-55, and NIP-49: To enhance private key security. 2. Implement NIP-65 and Outbox Model: To prevent the loss of events. 3. Enable Local Caching on User Devices: Allow users to disable Primal's relay caching, as the GFW in China, Iran, and Russia imposes limitations on Primal servers, causing lag and bugs for users in these countries. Additionally, Primal's relay caching may lead to user events leaking to other relays. 4. Profile Picture Change via Link: Primal servers have near-zero upload limits for countries with GFW, making it difficult for users to upload content. Allowing users to link media from other servers in their profiles would alleviate this issue. 5. Implement NIP-96: To allow users to set the appropriate server based on their internet connection. 6. Functionality Segregation in Relay List: To enhance privacy and organization, each function should have its dedicated relay, similar to the Amityst and Nostrudel clients. For example, the private message relay should be separate from the home feed relay. 7. Implement NIP-09: Allow users to edit and delete events. 8. Support for NIP-11: Enable users to gather information about relays and connect to them knowingly. 9. Support for RTL and Right-to-Left Languages: Languages like Persian are written from right to left. Lack of support for this feature can lead to improper display of Persian text. 10. Complete Deactivation of Default Wallet: Since Primal has sanctioned Iranian users, it would be better to design the client in a way that allows us to replace the wallet feed with NWC entirely. 11. Enable Event Broadcasting to Specific Relays: To give users more control over their data. 12. Implement NIP-36: Allow content creators to tag +18 content to create a safer and more secure environment. 13. Improve Video Display and Support for NIP-71: Videos should be displayed without taking up the entire screen. Support for long videos, similar to YouTube Shorts or Instagram Stories, should be included. 14. Support for Polls: To enhance user engagement. 15. Implement NIP-30 and NIP-25: Users should be able to provide reactions other than likes and view details about who reacted and how. 16. Settings to Disable Automatic Media Downloads The Primal client is well-suited for beginner users who prefer a simple interface similar to Twitter. As the name "Primal" suggests, it is designed for users who are new to the platform and should maintain a straightforward environment. I do not expect it to deviate significantly from a Twitter-like design, such as transforming into a Telegram-like interface. Therefore, I do not have high expectations for support of NIPs 72, 29, and 28. @nikola | @pedja | @rabble | @alex | @Alex Gleason | @tyiu @k.