Z-Hub / Z-Push

Home of Z-Push
https://z-push.org
GNU Affero General Public License v3.0
97 stars 47 forks source link

Add iphone compatible NOTES support to IMAP backend #69

Open JorisHansMeijer opened 6 months ago

JorisHansMeijer commented 6 months ago

Released under the GNU Affero General Public License (AGPL), version 3

What does this implement/fix? Explain your changes.

This code adds support for NOTES on IMAP backup (compatible with Iphone)

Does this close any currently open issues?

...

Any relevant logs, error output, etc?

...

Where has this been tested?

Server (please complete the following information):

Smartphone (please complete the following information):

matidau commented 5 months ago

Thanks @JorisHansMeijer for the PR.

I'm guessing the stickynotes backend doesn't meet your purpose, and I could guess at the reasons, but do you mind explaining why?

I prefer to have this as an optional that can be turned on in the imap config.php. Are you able to comment out this define('IMAP_FOLDER_NOTE', 'NOTES'); and ensure that this doesn't break on the iPhone?

And last there are some changes to the $folderid that while probably are correct make it a bit hard to review as these don't strictly look like they are needed for the Notes functionality. Would prefer these to get split out in to separate commits, if you are able to.

matidau commented 3 months ago

Just to follow up on this, I've now tested your branch and the following is produced.

01/08/2024 16:35:18 [1245470] [FATAL] [mail@xxx.id.au] Fatal error: /usr/local/lib/z-push/backend/imap/imap.php:1208 - Uncaught Error: Undefined constant "IMAP_FOLDER_NOTE" in /usr/local/lib/z-push/backend/imap/imap.php:1208
Stack trace:
#0 /usr/local/lib/z-push/lib/default/diffbackend/exportchangesdiff.php(160): BackendIMAP->GetMessage()
#1 /usr/local/lib/z-push/lib/request/sync.php(1205): ExportChangesDiff->Synchronize()
#2 /usr/local/lib/z-push/lib/request/sync.php(962): Sync->syncFolder()
#3 /usr/local/lib/z-push/lib/request/requestprocessor.php(116): Sync->Handle()
#4 /usr/local/lib/z-push/index.php(107): RequestProcessor::HandleRequest()
#5 {main}
  thrown (1)

Do you mind reviewing?