kotatogram / kotatogram-desktop

Experimental Telegram Desktop fork.
https://kotatogram.github.io
Other
1.12k stars 118 forks source link

[Feature Request] Option to let a removed user keep their copy of chat history when removing them from a normal group #150

Open RememberTheAir opened 3 years ago

RememberTheAir commented 3 years ago

Is your feature request related to a problem?

Since a few Telegram Desktop versions ago (stable 2.6.0), when removing an user from a normal group, the user's copy of the chat history is always deleted. This is caused by how the app calls the messages.deleteChatUser method to kick an user from a normal group: the method has recently been exposing an additional revoke_history argument (introduced in the mobile apps with Telegram 7.4, link to the current schema), which tells the server whether to preserve the removed user's copy of the group messages history. The official desktop app always revokes it.

This behavior can be tested in the following way:

  1. create a normal group
  2. add an user
  3. send some messages in the group
  4. remove the user using:
    • an updated version of Telegram Desktop
    • Kotatogram 1.3.9

When the user is removed by an admin using Telegram Desktop, he won't see the messages in the chat anymore, while if the admin is using kotatogram, he will still be able to access them. This is because Kotatogram is not updated to pass the revoke_history flag

Describe the solution you'd like

When removing an user from a normal group, it would be cool to have a toggable option to select whether to delete their history or not (very similar to the checkbox you see when you delete a message in a private chat, saying something like "[ ] delete the user's copy of the chat history"). I find it useful especially in groups with friends or family members, when you want to remove someone but maybe you are okay with them still being able to access the chat history (for example, so they don't loose shared memories)

Describe alternatives you've considered

None

ilya-fedin commented 3 years ago

But they will be lost on client restart anyway...

RememberTheAir commented 3 years ago

Wait what do you mean? If that flag is not passed by the app as true, the group's chat history will be returned by the server when you open the chat. It's like being removed from a pre-2.6.0 version of Telegram Desktop: you are removed from the group chat, but you can still see it in your chats list and access your copy of the chat history (with "copy" I mean the chat history messages stored in your account on the server)

ilya-fedin commented 3 years ago

If that flag is not passed by the app as true, the group's chat history will be returned by the server when you open the chat.

Ah, ok.

ilya-fedin commented 3 years ago

Chances for this feature will be a way higher if you make a PR yourself (looks like you know how to implement it)

RememberTheAir commented 3 years ago

looks like you know how to implement it

I'm dumb af but I'm happy I give the impression of being someone who can code lol

github-actions[bot] commented 2 weeks ago

Hey there!

This issue was inactive for a long time and will be automatically closed in 30 days if there isn't any further activity. We therefore assume that the user has lost interest or resolved the problem on their own.

Don't worry though; if this is an error, let us know with a comment and we'll be happy to reopen the issue.

Thanks!

RememberTheAir commented 2 weeks ago

It still would be cool to have this option :)