Storage warning is spamming me on all devices

I manage my own Chatmail relay so I’m currently playing around with all the values to find what fits me and the potential users best. Currently I set the storage limit to 500MB on this relay and now I’m using around 81% of it:

As I’m simulating what a “normal” user would act like, I want to see what happens during all those phases (storage warning / storage exhausted and so on).

But at least the first stage (80% warning) is bad UX as I get spammed on all my devices – currently almost every minute or with a delay of a few minutes.

I found this topic which describes perfectly what I was thinking of:

Too much fuzz (likely to confuse non-technical users) for a problem that doesn’t exist if your settings are taking care of this problem already.

Unfortunately there was no response and no reaction at all on this topic since a year. Maybe people don’t use Delta Chat to get to this point? I reached it within almost three weeks :sweat_smile::winking_face_with_tongue:

Delta Chat version

2.43.0

Expected behavior

I maybe want to get this warning only once a day / week or only if the next “stage” (for example 90%) is being reached.

But I’m thinking that users should not be bothered with such irritating messages at all IF the server takes care of that automatically – which I don’t really know. It is currently configured like that:

Does that mean it keeps all the messages for 30 days – at least if the storage is exhausted?

Actual behavior

I get spammed on all my devices – currently almost every minute or with a delay of a few minutes in between.

I’m not sure if it’s on purpose to spam users like this.

I also don’t get why I should delete messages on my devices. This is about the storage on the server and the only “bad” thing that could happen is that synced devices, which have not received all temporarily stored messages yet get out of sync. But all messages which are already delivered to all my devices are not relevant anymore on the server.

Am I right with these assumptions?

Screen snapshots

2 Likes

That message is confusing, it means you can set your devices to delete mail older than a cutoff age from the server. If you have only one device, delete on download makes sense and is available.

Your server will delete ordinary messages after 90 days and large ones after 30, with those settings. Presumably you sent some large files.

OK that’s clear so far. And yes – I started to use the messenger as a daily driver so I indeed share videos, images and other stuff over it. :wink:

So let’s quickly look at this from a server admin perspective:

What settings should I set to be able to

  • provide sync functionality for a reasonable timespan
  • let the server automagically delete messages on the server which are bigger than X if the space tends to become full (not only if time has passed)

?

I could also increase the storage space of each user which would “move” the problem to the near future. But it comes with other drawbacks like less users per server possible and most of the time I would store unnecessary stuff on my servers just for the case someone hasn’t synced it to all devices already.

Idea:
Would it be possible to “track” server-side if all currently registered client devices have already received a particular message and let a garbage collection automatically delete it on the server afterwards?

And what about a “client-to-client” sync like Syncthing does? I know this would require that both devices are on the same network but it probably could prevent that multiple clients can get out of sync or they could “resync” later if they got out of sync because of messages being deleted on the server.

Would be glad if you or others could help me with fine-tuning this to be ready for everyday use (and for “ordinary” users as well) :folded_hands:

1 Like

yip, the message is confusing and not really actionable to the user - it comes from a time, where mainly non-chatmail was used.

there is an issue for that, it is just not done yet:

4 Likes

Thanks @r10s for clarifying that and great to hear that the message is being overhauled :folded_hands:

I also see that the idea of a server-side cleaning of messages is also part of the GH issue so I mark you message as solution so far. I think there’s not much to discuss here :wink:

3 Likes

If anyone needs a temporary and simple solution – server-side storage can be cleared from DeltaChat Desktop:

Settings → Chats → Delete Messages from Server → At once after Download → I understand → OK

Wait until the storage usage is at 1% again.

Then change “Delete Messages from Server” back to “Never”, because this breaks multi-device mode otherwise (as far as i understand).

2 Likes

Thanks for sharing :folded_hands:

Unfortunately there’s no “Delete Messages from Server” option in Delta Chat Desktop v2.43.0, just an option to “Delete Messages from Device”

2 Likes

No “delete messages from server” on my Mac desktop app either. Is there no way to do it then at the moment? Getting the spam messages every ten minutes is a bit too much.

The setting gets hidden after Multi-Device Mode is enabled.

2 Likes

Interesting, i have multi-device mode enabled but the “Delete Messages from Server” is still visible (and i had to use it for the second time).

Delta Chat Desktop v2.43.0 from Flatpak.

I have a classic e-mail as one of my relays, currently it’s not active, but is in the relay list. Maybe that’s the reason why i have legacy settings like this?

Upd: seems to be a bug, cannot reproduce it on a new fresh profile

1 Like

I turned off Multi device mode and restaerted the desktop app. Still no setting for deleting from server. Do I need to turn of Multi device mode on both device? Or there is no way to delete from server if Multi device mode has ever been used?

EDIT: However, after disabling and enabling Multi device mode, the files seem to have been deleted from Nine.testrun.org.

:thinking:

1 Like

It seems to be hiding the relevant option once it detects chatmail:

const isChatMail = settingsStore.settings.is_chatmail === '1'
...
{!isChatMail && (
  <SettingsSelector
    onClick={onOpenDialog.bind(null, true)}
    currentValue={durationToString(
      settingsStore.settings['delete_server_after'],
      isChatMail
    )}
  >
    {tx('autodel_server_title')}
  </SettingsSelector>
)}

You could possibly still override it in the database file manually, though.

the option is called “multi-device mode” now disabling it and then enabling it back after some seconds should delete the inbox IIRC

4 Likes

It would be better to call the function for what it does…

it does several things at the same time, that is what it is called multi-device mode, it makes the app work in a way that is favorable for multi-device, hence you need to keep messages in the server, if you disable it you are in single-device mode, then among other things it will delete all messages immediately from the server because if there is no other devices there is no point on keeping the messages on the server once they are downloaded in the single device you have

anyways, that option will likely be removed and a manual “clean/empty inbox” will be added as mentioned above already

2 Likes

So, switching multi-device off and then on is safe and won’t break things?

Upd 2: “Delete Messages from Server” option disappeared today, lol. There weren’t any client updates.

It does seem to work. I have done it twice now to clear the messages from the server and then turned it on again. I still get the messages on both devices.

2 Likes