Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Users aren't notified that their account is running out #21

Open
1 task
missytake opened this issue Jan 26, 2021 · 6 comments
Open
1 task

Users aren't notified that their account is running out #21

missytake opened this issue Jan 26, 2021 · 6 comments
Labels
enhancement New feature or request

Comments

@missytake
Copy link
Contributor

missytake commented Jan 26, 2021

tl;dr: we now don't expire active accounts, if they are created with tokens with at least 28 days expiry.

Yet to do:

  • Document how the expiry and the other token options work

Uhm, this is probably a feature request. But I take the liberty. har har.

  • Operating System (Linux/Mac/Windows/iOS/Android): Android, but probably all of them
  • Delta Chat Version: 1.14.5
  • mailadm Version: version 0.10.5.dev6+gb3dcaa2
  • Expected behavior: Shortly before my temporary account is running out of time, I get notified of it, so I can plan how to deal with it (e.g. transition to another account). As soon as the account is definitely dead, I get a notified as well.
  • Actual behavior: There is no notification at all. As far as I can tell, the account still exists, I just don't get messages. When I try to send a message though, after a few seconds there is a short warning displayed which says "authentication error" with a lot of bloat.
  • Steps to reproduce the problem: register a temporary account through a mailadm QR code, write a message to confirm it works, wait until it runs out, try to send a message
  • Screenshots:

image_2021-01-26_13-29-23

@missytake missytake added the enhancement New feature or request label Jan 4, 2023
@missytake
Copy link
Contributor Author

The bot account should be created during mailadm init, just the same way mailadm setup-bot does it currently. This way admins can set up expiration warnings without having to setup an admin group, if they prefer this. It improves the modularization suggested in #78, as all installation steps are done in mailadm init that way.

mailadm init needs to be able to delete an older adminbot database file in case the accounts changes (or do we want to use AEAP to change the account? Should work for the admin group. Then we need to write a message to the admin group though so the admin's delta apps notice the change.

@missytake
Copy link
Contributor Author

missytake commented Mar 3, 2023

There is another solution for this which doesn't necessarily involve user warnings - soft-expiry:

If the current prune function would only delete users which have not logged in in the past... while, active user accounts wouldn't be deleted. It's a relatively simple fix which makes sense in the short term. Admins would still be happy because they don't have a load of inactive user accounts to maintain.

Sensible limits could be: only expire accounts if last_login is 2 months ago, or 20% of the account's TTL (time to live when account was created) or so.

There might be a limit to soft-expiry, e.g. double the original TTL - accounts would be hard-expired if they reach this limit. IMHO we should only do this in combination with expiry warnings, as it would mean deleting the accounts of provably active users.

It might make sense to hard-expire accounts with a TTL of less than a week. There are use cases where you would want accounts to be really really deleted.

If we go for soft-expiry it needs to be documented for admins.

@missytake
Copy link
Contributor Author

missytake commented Mar 3, 2023

Showing the expiration time in the DC app would also be interesting. Either the app could remember the expiration time upon account creation, when mailadm tells it to the DC app, or the mailcow server could inject a header which tells the app about the expiration time. This of course requires changes to the DC app and/or the server.

@missytake
Copy link
Contributor Author

For expiry warnings, there should be a template with the text of the warning, which admins can edit; it would be nice to offer more languages than just english / give admins the chance to modify the warning template with their own text.

Or might it be possible to localize the warning with the language of the user? If it was localized/shown in the app this would be easy. Another option would be getting some language settings information from mailcow and localizing it inside mailadm.

@missytake
Copy link
Contributor Author

missytake commented May 13, 2023

@adbenitez suggested: "No UI needed, core should store [the account TTL] and warn with a device message on login and maybe a remainder the day before expiration or when it expired"

(I like it because that makes it much easier to localize)

@dumblob
Copy link

dumblob commented Jun 9, 2023

The remainder message should be imho earlier than 1 day before expiration. IMHO at least 7 days but ideally 35-60 days.

From my experience of using DC with multiple accounts I can tell I leave some accounts unintentionally unchecked for a month or so 😢 - but perhaps if DC offered simultaneous "merged" account UX, these 35-60 days could be shortened to those 7 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants