RocketChat / RocketChat/Rocket.Chat
Retention Policy & GDPR/RGPD compliance : prune threads or discussion messages behaviour
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Hello
Description:
In administration, retention policy, global policy, when "Do not prune discussion messages" or "Do not prune Threads" options are not selected, the entire discussion or thread is deleted if its older message is target by the global pruning. This is the case even if this discussion or thread contains younger messages that should not be targeted.
In reverse situation (with "Do not prune discussion messages" or "Do not prune Threads" options are selected), discussion or thread remains but contains old messages that should have disappeared.
Steps to reproduce:
Expected behavior:
I dunno if it a bug or a choice but this behaviour doesn't seems intuitive to me.
I think messages of discussions and threads would better be considered as usual room messages (so that there are individually pruned based on their age) && if :
- "Do not prude X" is not selected : X remains even if empty,
- "Do not prude X" is selected : X is destroyed if empty but conserved as long as it contains messages
Edit 2022-03-08 : see https://github.com/RocketChat/Rocket.Chat/issues/19853#issuecomment-1061871665 for expected behaviour.
Actual behavior:
see "description".
Server Setup Information:
- Version of Rocket.Chat Server: 3.9.1
- Operating System: Linux
Note : #19852 was rejected because of template
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the administration global retention-policy behavior described here and reproduce pruning with both discussion-message and thread options enabled and disabled. The issue names no source files or tests; use the linked expected-behavior comment and the reported version as context. Done means the implemented behavior matches the agreed per-message and empty-container retention rules.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100