deltachat-core icon indicating copy to clipboard operation
deltachat-core copied to clipboard

email address should not be changeable?

Open r10s opened this issue 6 years ago • 27 comments

currently, the email address the user has configured for his account can be changed by the user. even if this is possible from the server side, this has several issues:

  • it might be unexpected that the messages belonging to the old address are still shown (reported by @kermoshina on DeltaX)
  • on the other hand, it might be also unexpected if they are no longer shown
  • it may be needed and expected to generate a new key by some users, other users may prefer continue using their key

of course all this could be managed in a graceful way, however, it has many ui-wise and other compications.

therefore, at least for now, we should just not allow the user to change the address. if the user wants to use a different account, he has to uninstall and re-setup deltachat. i know that this may be annoying under some circumstances, however, it does not lead to one of the unexpected behaviours and is simple to implement.

r10s avatar Jul 23 '18 19:07 r10s

First of all, for the moment I don't understand where the pressure for that issue is coming from.

I would strongly recommend to let user decide if he wants to change the address. I don't know all background but if there are no strong technical problems when doing an address change You should not change the current behaviour of DC. Especially in the proposed way!

I propose to work more on a good solution for that case than changing that now quickly.

As an example, one possible use case I can imagine:

  • User changes address, then
  • he needs to reinstall DC at the phone, and
  • old msgs are not existant any more? !!

==> Now, how to access the old msgs at all?

  • Doing a backup with old address before reinstall?
  • But backup is useless because new installation cannot use it ?!
  • Other possibilities?

@r10s please be careful with this change. Sometimes making things to strict leads to complicated and annoying problems ;-)

All this looks for me related to the issue to handle multiple accounts which is still an open issue here. I think we should think into that direction for a more or less graceful solution. There has been a proposal to simply manage more than one database (switchable, but only one at a time!).

Ok, a long comment now. But I think that there will come further comments soon. Maybe there is a technical issue behind all that?

csb0730 avatar Jul 24 '18 23:07 csb0730

First of all, for the moment I don't understand where the pressure for that issue is coming from.

People try to change the address, for whatever reason, and the app works unexpectedly.

Maybe there is a technical issue behind all that?

changing the e-mail address currently just doesn't work properly (and never has).

therefore, disallowing the changing would not restrict the current functionality and is the simplest fix.

as mentioned, all this is for now, in the future, we can think this over, but for now i would like to go forward to sth. else :)

r10s avatar Jul 24 '18 23:07 r10s

Problems are related to encryption, isn't it?

For now ok, but I really see a problem in accessing old messages at all :-(

csb0730 avatar Jul 25 '18 10:07 csb0730

accessing old messages and encryption is no problem, eg. you could import legacy keys and download old messages.

but also here: this is nothing that is already implemented in delta chat, so we do not take things away, we just disallow things that lead to undefined behavior.

r10s avatar Jul 25 '18 15:07 r10s

Download old messages only from Mailserver?

Am 25.07.2018 um 17:42 schrieb Björn Petersen:

accessing old messages and encryption is no problem, eg. you could import legacy keys and download old messages.

but also here: this is nothing that is already implemented in delta chat, so we do not take things away, we just disallow things that lead to undefined behavior.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/deltachat/deltachat-core/issues/221#issuecomment-407799899, or mute the thread https://github.com/notifications/unsubscribe-auth/AdJRzPiZ4qU8SrfMCI5OOzgyhFssyAs4ks5uKJHNgaJpZM4Vbh4G.

csb0730 avatar Jul 29 '18 01:07 csb0730

Is that implemented already? I changed my own address today for testing and it seemed still working. (v.0.20.0)

csb0730 avatar Aug 16 '18 22:08 csb0730

related: #246

r10s avatar Aug 21 '18 08:08 r10s

Having to completely re-install Delta Chat is a very bad solution when for a non-coder like myself it looks easy to provide a function that resets all appdata tied to a certain E-Mail address. So IMO there should be a function that reads like "change E-Mail address used by Delta Chat" and when the user presses on the corresponding button Delta Chat would show a warning message mentioning which data would be erased if the user proceeds.

STPKITT avatar Aug 29 '18 12:08 STPKITT

Thought support for multiple accounts and re-assigning (moving) messages to other chats will eventually solve this, cleanly. Without needing logic and UI to reconfigure everything that depends on the address.

testbird avatar Aug 29 '18 13:08 testbird

Ok, if that support really gets implemented. If it does I suspect it will take a long time though, so since my proposal seems easy to implement at least to me I think it would be good to implement as an interim solution.

STPKITT avatar Aug 29 '18 13:08 STPKITT

If changing the account, the messages on the device won't be in sync with the new server anymore, the chat-with-self is wrong, new keys are needed etc. Doesn't seem easy.

Wiping the whole configuration and database (reseting) could work (android's App -> delete cache / app data), but it's about the same as to click on uninstall and install again.

testbird avatar Aug 29 '18 14:08 testbird

As mentioned before my interim solution would be wiping any appdata connected to the previously used E-Mail address, but all from within Delta Chat. "Noob users" who Delta Chat ultimately wants to cater for shouldn't be bothered with re-installing, delete stuff via Android's own GUI etc..

STPKITT avatar Aug 29 '18 14:08 STPKITT

Just for perspective, the user who installed should be able to install again, but will likely have problems with some other technical issues that seem more important to solve than this one.

Even some user facing ones: config options to adapt to the actual use-case, https://github.com/deltachat/deltachat-core/wiki/Use-Cases and managing the growing chat message history in day-to-day use.

testbird avatar Aug 29 '18 15:08 testbird

@hpk42 this is the issue we were talking about yesterday.

in general, changing the address seems to work, however, ux-wise ppl expect different things, see above. maybe @kermoshina has more recent information about that.

however, i added a question mark to the title :)

r10s avatar Jan 07 '19 12:01 r10s

On Mon, Jan 07, 2019 at 04:34 -0800, björn petersen wrote:

@hpk42 this is the issue we were talking about yesterday.

in general, changing the address seems to work, however, ux-wise ppl expect different things, see above. maybe @kermoshina has more recent information about that.

however, i added a question mark to the title :)

maybe "change e-mail-address" could cause a dialogue which asks if you want to remove all current account data or if you want to retain it?

hpk42 avatar Jan 08 '19 20:01 hpk42

sure, however, this is the point where things get more complicated and require more core<->ui interaction, testing and so on ;)

r10s avatar Jan 08 '19 21:01 r10s

Hi @r10s may You describe the difficulties?

If I would change the email address I would expect that current mail db will kept and only credentials for mail server (or even mail servers itself) will be changed.

It is clear that existing chats with ME and groups where I am member will not be continued because of my new name. But existing chats are further extisting! That is important (!)

As I changed my own address some times in the past I saw all this expectings fullfilled ! So far all ok?

csb0730 avatar Jan 09 '19 01:01 csb0730

i'ts basically different user expectations, see first post.

@hpk42 maybe we can just add a line of text below the e-mail-address-edit-field saying that this won't change keys or remove data - which is the current state and can be done without reworking things.

r10s avatar Jan 09 '19 10:01 r10s

This is a good solution so far.

csb0730 avatar Jan 09 '19 15:01 csb0730

@testbird I also think that a multi-account workflow (like Conversations does), would solve this, it may be more difficult than a quick and dirty fix, but hey! it needs to be implemented anyway soon or later. Also can we take the multi-account UI code from Conversations as an starting point???

adbenitez avatar Mar 04 '19 14:03 adbenitez

I think proposal from r10s from 9th Jan is a good solution so far.

Multiple account handling should solve this problem in general, but one corner case is that you can have more than one address with one account and you can change from 1st to 2nd address and back for example. In this case you want to keep all and change nothing.

csb0730 avatar Mar 06 '19 00:03 csb0730

Wouldnt it make sense to "bind" the address the user use to the conversation itself? Then an email address change would always mean a conversation change. That maybe still annoyance since you are starting off fresh, but at least you have both conversations in delta chat. Also it would give delta chat the freedom to support aliases at some point with ease.

leginee avatar May 24 '19 05:05 leginee

I fully agree with leginee. Good proposal!

STPKITT avatar May 25 '19 10:05 STPKITT

Binding the address to the currently configured address would require quite a bit of changes. And i am not sure it fits with all use cases -- just helped a friend the other day to change his e-mail address -- he was happy with the current behaviour as he didn't want to loose his chat data or have split chats etc.

so for now i suggest to just add a textual note aka what @r10s suggested in https://github.com/deltachat/deltachat-core/issues/221#issuecomment-452644403

hpk42 avatar May 25 '19 12:05 hpk42

Binding the address to the currently configured address would require quite a bit of changes. And i am not sure it fits with all use cases -- just helped a friend the other day to change his e-mail address -- he was happy with the current behaviour as he didn't want to loose his chat data or have split chats etc.

Do you have any concerns or is it a vague "not sure" it works concern?

leginee avatar May 25 '19 22:05 leginee

On Sat, May 25, 2019 at 15:54 -0700, Peter wrote:

Binding the address to the currently configured address would require quite a bit of changes. And i am not sure it fits with all use cases -- just helped a friend the other day to change his e-mail address -- he was happy with the current behaviour as he didn't want to loose his chat data or have split chats etc.

Do you have any concerns or is it a vague "not sure" it works concern?

it's indeed "not sure it's easy to implement" and "may break other use cases".

eg, if i change my e-mail address and then go to any existing group chat and write a message there, what should happen UI wise?

if i change my e-mail address and forward/bounce all mail from the old address to the new one, what should UI wise happen?

hpk42 avatar May 27 '19 12:05 hpk42

IMHO, if changing email address:

  1. should affect connection to email server smtp and imap.
  2. messages to self should be mapped to new chat for me with new address.
  3. no automatism: all group chats keep unchanged. New member for me needs to be added manually. Old member for me needs to be purged manually.

The current behaviour is quite good I think.

csb0730 avatar Jun 03 '19 22:06 csb0730