- The ability to prohibit, prefer, require SSL for federation. *(pztrn)*
- For example, for yggdrasil, SSL is redundant, since there each node tries to connect to each node that it communicates with, and SSL creates an unnecessary load. *(pztrn)*
- I suggest doing this optionally, as many users simply don’t need it *(ChronosX88)*
- I completely agree, and the first implementation should be done without all this. And this item is more suitable for item 4 of this list, it seems *(pztrn)*
- e2ee needs to be done "on plugins", especially if we will make gates to other networks. Matrix has OLM, the XMPP has OTR/OMEMO, and so on. A transparent work with all this things should be done for the user. (pztrn)
- However, it is necessary to choose some standard cryptographic protocol for specs. *(ChronosX88)*
- This will not work due to the presence of a diverse cryptographic shit zoo. Therefore, you will have to saw it "on plugins", since for the user it should be as transparent as possible. *(pztrn)*
- e2ee needs to be made as customizable as possible so that it is possible to force/not force e2ee, as well as enable e2ee for individual rooms/chats. *(pztrn)*
7. Implement the CEP (Cadmium Enchancement Proposals) mechanism, which will be discussed, and after adoption, enter the main protocol, or go to CER (Cadmium Enchancements Repository).
8. Ability to make transports (bridges, gates) to other IM networks.
- Here it would be cool to try to push XMPP as the first gate and try to reuse transports from there. *(pztrn)*
- In this case, we need to make the AppService API, as in the Matrix. *(ChronosX88)*
- Perhaps only with emphasis on our new protocol. And, again, it seems to me that for transports (or AppService) the use of the HTTP REST API is stupidly redundant, and here you can well use Websockets so as not to make your connection handlers (everything is ready and there), but to reuse the same gorilla (Golang library) and JSON-RPC on top. *(pztrn)*
- The question remains with the client for iOS, but if we make a suitable protocol that will work and will allow us to map the Telegram in the form of transport, I have a person who will make the client for iOS :) In general, given the having of a macOS, I can try to do it myself but "somehow later", because my target OS is Windows/Linux/macOS/Android *(pztrn)*
- I propose to implement this not as a "subsystem" of the chat, but as a separate entity with the ability to comment and everything you need, in the form of like dislike. In a Telegram, nevertheless, this "crutch" is more than a really suitable system. *(pztrn)*
11. Seamless chat history system (as in Telegram). A simple yet powerful API is **required**.
### Group chats
1. Chat information
1. Avatar
2. Description
3. Members
2. Admin system
1. Set avatar/group name/description
2. Kick the user from members
3. Ban the user for some time (or forever)
4. Mute the user (restrict sending messages or media)
5. Set group alias
6. Set group invite link
7. Manage the admins (flexible setting the permissions of admins (every aspect))
8. View the recent actions of admins
9. Pin the messages
10. Ability to give name (as position, role) for every admin