This question refers to automatic E2E encryption (i.e., the app creates and shares encryption keys, never the user).
Apps such as Discord and Hangouts store messages in a server-side DB thereby allowing users to delete the app without losing messages. Apps such as WhatsApp and Signal store messages on the user's device thereby limiting usage to a single installation of an app at any given time.
In an app where the users create and share encryption keys, the key would be kept constant, and if the user loses the key, previously encrypted messages would be lost. However, in an app which automatically performs E2E encryption, the keys cannot be constant because they can never be stored once per account since that'd void the point of the server not having the key. Is it possible for an app storing messages on a server-side DB to implement automatic E2E encryption?