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

Refactor folder sync #326

Merged
merged 54 commits into from
Aug 22, 2017
Merged

Refactor folder sync #326

merged 54 commits into from
Aug 22, 2017

Conversation

ChristophWurst
Copy link
Member

@ChristophWurst ChristophWurst commented Feb 28, 2017

Partially mostly implements #318
Fixes #244, #318, #335, #290

  • Sync

    • Use horde sync to get new/changed/vanished messages
    • Implement message mapper (reuse old code if possible)
    • Implement sync mechanism in the client
    • Implement sync for the unified inbox
    • Update unified inbox if individual ones change
    • Implement sync for search mailboxes – should work now fingers crossed
    • Implement pagination for search mailboxes
    • test search
  • Pagination

    • Implement date-based cursor-based pagination on the server
    • Implement new pagination on the client
    • Implement pagination for the unified inbox
  • Necessary follow-ups

    • Kill background sync. It's extremely buggy in its current form. If the new horde sync approach is fast enough, I'm planning to just let the current folder view refresh its content once a minute. If the folder is a specific inbox, we refresh the unified one. This should cover everything.

@ChristophWurst
Copy link
Member Author

This is gonna be a big one. I'm already sorry for that, reviewers. I've tried to split it up but this I'm afraid that would be 5x more work.

@ChristophWurst
Copy link
Member Author

Wow, my IMAP server doesn't even provide the capabilities that make horde sync fast (MODSEQ for example) and still it is noticeably faster 😮 🚀

@ChristophWurst
Copy link
Member Author

Unified inbox synchronization and pagination seems to work. Still, I have to tweak it a bit to be as efficient as I desired it (remove some redundant requests). Looks promising so far 🚀

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This class shall help connect the IMAP world with the OOP
world.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
…ages

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
@ChristophWurst ChristophWurst changed the title [WIP] Refactor folder sync Refactor folder sync May 22, 2017
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
@ChristophWurst ChristophWurst mentioned this pull request Aug 7, 2017
ChristophWurst added a commit that referenced this pull request Aug 21, 2017
Since CI builds of #326 failed and I could reproduce this locally,
it turned out that running single tests or tests of a single directory
was no problem. However, executing all tests at once led to failing
IMAP connections. Apparently an increased number of allowed IMAP
connections fixes the problem (locally).

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
@ChristophWurst
Copy link
Member Author

I think I was able to debug why tests fail here: #445

@ChristophWurst
Copy link
Member Author

I think I was able to debug why tests fail here: #445

Voilà: All checks have passed

@lcalaresu
Copy link
Member

Voilà: All checks have passed

Yay! that's great!!
Coverage also starts to looks interesting :))

It starts to look great. No big issues for the last few days except for known issues above...
Maybe once on my phone but wasn't able to reproduce it so... 🤔

Anyway~~ Should update to a more recent version.
Is there any packaged version of the latest version? Coz I can't generate the product right now :/

@ChristophWurst
Copy link
Member Author

Is there any packaged version of the latest version?

mail.tar.gz

@ChristophWurst
Copy link
Member Author

When using a gmail account, I cannot open the [Gmail] folder

Solved meanwhile (can't remember whether it happened in this PR or another one) and now those special folders cannot be opened anymore. However, it's still possible to expand it to open subfolders.

On a personal server, I have a JS error every time I change the folder (even base folders like sent, inbox, etc.):

Please check whether this is still the case, it could have been fixed meanwhile.

Are those the only two issues you have?

@ChristophWurst
Copy link
Member Author

No big issues for the last few days except for known issues above...

If it's just minor things that I'd say we can fix them later. IMO this PR is open for quite long time and it's about time to finish this ;-)

@ChristophWurst ChristophWurst self-assigned this Aug 22, 2017
@lcalaresu
Copy link
Member

If it's just minor things that I'd say we can fix them later. IMO this PR is open for quite long time and it's about time to finish this ;-)

I do agree with that one ^^
Since I installed the version of the mail app from yesterday, I haven't had any probleme yet ^
^

@ChristophWurst
Copy link
Member Author

I do agree with that one ^^
Since I installed the version of the mail app from yesterday, I haven't had any probleme yet ^^

Yay, thanks a lot for testing. I'll merge this PR now. @jancborchardt please file issues for the issues you had if you can still reproduce them. Thanks everyone :)

@lock
Copy link

lock bot commented Nov 20, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs and questions.

@lock lock bot locked and limited conversation to collaborators Nov 20, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants