-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Separate folder name from remote folder ID #2729
Comments
Just to record what I wrote on IRC: We currently have 3 versions of identifying the folder:
We store the Database ID and the FolderName For example, in IMAP for a given folder we have the following:
The change I propose changes this to:
When we implement multiple namespaces it will change to:
and we can support other folders in different namespaces for example:
When then we implement sub folders properly it allow:
For EWS (which uses unique IDs instead of obvious names) it will allow:
|
Progress on this is going fairly well. I have a build on my phone that mostly works but I need to tidy it up a lot and make sure everything works as expected: I've run into a few walls which I'm knocking down as I go:
My remoteFolderId branch is pushed but I'm still tidying it up, so it'll probably see a decent amount of rebasing before I get to PR territory. |
This work has been completed. For folder hierarchy support see #630. |
I've been looking into various folder related issues recently and I've come to the conclusion we need to introduce the concept of remote folder ID.
This will help in the following circumstances:
This will impact the following areas of code:
Database Structure
The folders table will have a new column,
remoteID
Existing folders will have their current folderName copied to the remoteID column during migration.
Stores
All access to folders will be via the ID, not the name. Hence the folder cache will map from ID to
Folder<?>
When the folder list is refreshed (
getPersonalNamespaces()
[which is by the way a terribly IMAP specific name]) we can update the name of existing folders.The text was updated successfully, but these errors were encountered: