Data saver: control media auto-download on mobile data, and easy cache management (like Telegram) #75

Open
opened 2026-10-06 22:22:23 +00:00 by robocub · 0 comments
Member

Goal: on a metered or slow connection, Vommet doesn't burn data loading every image, GIF and video, and it's easy to see and clear how much space the cache takes, like Telegram's "Data and storage" settings.

Auto-download settings

Settings › Data and storage, with separate choices for Wi-Fi, Mobile data and Roaming:

  • Photos: always / only from DMs / only up to N MB / never.
  • GIFs and stickers, videos (preview vs full), files: same options.
  • Voice messages: usually always (small).
  • When not auto-downloaded: show the blurhash/thumbnail (or a placeholder with size) and a tap-to-load button.
  • Avatars and emoji: always (tiny), but use thumbnails only on mobile data.
  • "Use less data for calls" on mobile data (lower video bitrate/resolution), tying into the existing stream bitrate settings.

Connection type: connectivity_plus (Wi-Fi vs cellular; roaming needs a platform call on Android). Desktop counts as Wi-Fi unless the OS reports a metered connection (Linux NetworkManager, Windows metered networks).

Cache management

The media cache (cache/drift_file_cache.dart) currently deletes anything not opened for 5 days, at every startup, with no size limit and no UI. That's why banners and avatars you haven't opened in a week download again.

  • Show cache size, split into images / videos / files / other, plus the Matrix database size.
  • Clear cache button (whole cache or per type), with a confirmation. Clearing must never touch encryption keys or the account database.
  • Keep media for: 3 days / 1 week / 1 month / forever, replacing the fixed 5 days.
  • Maximum cache size: e.g. 1 GB / 5 GB / unlimited, evicting least-recently-used files.
  • Run the clean-up after startup, in the background, not during it (see the startup work, #63).

No upstream Commet issue for data saving or cache management (searched 2026-10-06).

Goal: on a metered or slow connection, Vommet doesn't burn data loading every image, GIF and video, and it's easy to see and clear how much space the cache takes, like Telegram's "Data and storage" settings. ## Auto-download settings Settings › Data and storage, with separate choices for **Wi-Fi**, **Mobile data** and **Roaming**: - Photos: always / only from DMs / only up to N MB / never. - GIFs and stickers, videos (preview vs full), files: same options. - Voice messages: usually always (small). - **When not auto-downloaded:** show the blurhash/thumbnail (or a placeholder with size) and a tap-to-load button. - Avatars and emoji: always (tiny), but use thumbnails only on mobile data. - "Use less data for calls" on mobile data (lower video bitrate/resolution), tying into the existing stream bitrate settings. Connection type: `connectivity_plus` (Wi-Fi vs cellular; roaming needs a platform call on Android). Desktop counts as Wi-Fi unless the OS reports a metered connection (Linux NetworkManager, Windows metered networks). ## Cache management The media cache (`cache/drift_file_cache.dart`) currently deletes anything not opened for **5 days**, at every startup, with no size limit and no UI. That's why banners and avatars you haven't opened in a week download again. - **Show cache size**, split into images / videos / files / other, plus the Matrix database size. - **Clear cache** button (whole cache or per type), with a confirmation. Clearing must never touch encryption keys or the account database. - **Keep media for:** 3 days / 1 week / 1 month / forever, replacing the fixed 5 days. - **Maximum cache size:** e.g. 1 GB / 5 GB / unlimited, evicting least-recently-used files. - Run the clean-up **after startup, in the background**, not during it (see the startup work, #63). ## Related No upstream Commet issue for data saving or cache management (searched 2026-10-06).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nether/vommet#75
No description provided.