Skip to content

Conversation

@tototomate123
Copy link
Contributor

@tototomate123 tototomate123 commented Oct 16, 2025

This PR implements a media retention and cleanup system with full encrypted room support, featuring CBOR-based storage, a reaction-based UI, and automatic media lifecycle management.

PR is ready for review! Over the last 5 days, Ive replaced the background retention worker with an event-driven architecture that hooks directly into timeline events. When users delete messages containing media, the notifications they receive in their user rooms now include a ♻️ "save preference" option, that will always delete media for redacted messages in un- or encrypted chats, giving them immediate control over media cleanup.

All of this is configurable via the tuwunel configuration file.

Key Files

  • src/service/media/retention.rs - CBOR storage & retention logic
  • src/service/media/mod.rs - Notifications & reactions
  • src/service/userroom/mod.rs - User admin messaging
  • src/service/rooms/timeline/append.rs - Event processing fixes

@jevolk
Copy link
Member

jevolk commented Oct 16, 2025

This is going to be amazing. I'm here at your service 🫡

@tototomate123
Copy link
Contributor Author

tototomate123 commented Oct 16, 2025

Aww, thank you! You're the best 💜 if I need something I'll message you :)

@tototomate123 tototomate123 changed the title WIP: Media deletion Feature Media deletion Feature Oct 21, 2025
@tototomate123 tototomate123 marked this pull request as ready for review October 21, 2025 17:32
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should be able to remove that clippy rule again since we increased that in the clippy.toml

@jevolk jevolk self-requested a review October 25, 2025 17:36
@jevolk
Copy link
Member

jevolk commented Nov 5, 2025

I've had ongoing discussions with @tototomate123 and we have decided this feature and the underlying infrastructure is not quite ready for the impending release. As a consequence we will not even be calling the next release 1.5.0. Development will resume at the beginning of the next cycle instead.

@lukas-runge
Copy link

As for now: is there any way to cleanup stale media of already deleted messages? 🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants