Fixed Find command to work with iPhone running ios 18.4.1#147
Fixed Find command to work with iPhone running ios 18.4.1#147mschering wants to merge 1 commit intoZ-Hub:developfrom
Conversation
|
The backend should handle the long ids, as it generates these ids as it sees fit. ItemOperations doesn't have a folder id iirc so the handling of longids should be done exclusively in the backend IMHO. |
|
OK thanks, I can add this in my backend. But is it ok to pass false to $folderId too? |
I would say so, yes. That's by design. The longid is self contained. The backend should be able to uniquely identify a message of the user just with this id. |
|
@mschering thanks for looking into this search issue - I've run into the same problem. I tried your patch (9575599) and I can now see search results coming from outside of the sync period but I only get Subjects, not the body of the emails returned in the search. Dovecot backend. I see things like BackendIMAP->StatMessage failed to retrieve overview. And StatusException: BackendDiff->Fetch('%s', '%s') Error, unable retrieve message from backend. I don't suppose you have had time to look into this further? |
|
Do you know what folder id and uid it passes to the fetch method? |
|
@mschering so on the most recent Z-Push git version (659ecf8) I get things like this in the log: and in your patched version (9575599) I see things like: Also in 9575599 I get some odd search results where it looks like the same result is getting returned over and over (as in multiple copies of the same result). Please let me know if I can provide more useful diagnostic information. It's easy for me to switch between versions as I have this all in a Docker container. Test device is an iPhone 16 Pro on 18.6.2. |
|
Is 'ef6c13b0' the correct folder name? |
|
so 'ef6c13b0' is the Inbox and that isn't where the search results are coming from |
What does this implement/fix? Explain your changes.
This pull request replaces my old pull request implementing the Find command. I took the base code and tested it but ran into an issue:
The Find command implementation:
Z-Push/src/lib/request/find.php
Line 178 in af25a21
Didn't pass the folderId to the backend Fetch() method:
Z-Push/src/lib/default/diffbackend/diffbackend.php
Line 129 in af25a21
The message can't be found that way. I also pass the server ID and not the long ID as kopano is the only backend that splits the long ID:
Z-Push/src/backend/kopano/kopano.php
Line 750 in 07f60c7
The BackendDiff class doesn't do this.
Does this close any currently open issues?
Not sure. But it might close #141
Any relevant logs, error output, etc?
...
Where has this been tested?
Server (please complete the following information):
Smartphone (please complete the following information):