Drop the self-entry from the etag listing
Minimization round 6: the Depth 1 getetag ask gets member entries
only; the collection echo of its own ctag-as-etag goes untested-then-
dropped.

Assisted-by: GLM 5.2 via pi
change owvktulwzpswsornuryywnyunrztystm
commit 9b1bedf2bfe0d75577b14e4fa64baceacee4e58a
author Alpha Chen <alpha@kejadlen.dev>
date
parent vqtlpspv
diff --git a/lib/pro_tacts/web.rb b/lib/pro_tacts/web.rb
index 02da5fa..bfcdb11 100644
--- a/lib/pro_tacts/web.rb
+++ b/lib/pro_tacts/web.rb
@@ -147,18 +147,9 @@ module ProTacts
             etag_only = body.include?("getetag") && !body.include?("displayname") && !body.include?("resourcetype")
 
             if etag_only
-              # Simple etag listing for sync
-              collection_response = <<~XML
-                <d:response>
-                  <d:href>/dav/addressbook/</d:href>
-                  <d:propstat>
-                    <d:prop>
-                      <d:getetag>"#{collection_ctag}"</d:getetag>
-                    </d:prop>
-                    <d:status>HTTP/1.1 200 OK</d:status>
-                  </d:propstat>
-                </d:response>
-              XML
+              # Etag-only ask wants the members; the collection self-entry
+              # is omitted until a client is found to need it.
+              collection_response = ""
 
               contact_response = <<~XML
                 <d:response>
diff --git a/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response b/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response
index e8fee83..91d0b4f 100644
--- a/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response
+++ b/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response
@@ -3,16 +3,7 @@ Content-Type: text/xml
 
 <?xml version="1.0" encoding="UTF-8"?>
 <d:multistatus xmlns:d="DAV:" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:cs="http://calendarserver.org/ns/">
-  <d:response>
-  <d:href>/dav/addressbook/</d:href>
-  <d:propstat>
-    <d:prop>
-      <d:getetag>"ctag-2"</d:getetag>
-    </d:prop>
-    <d:status>HTTP/1.1 200 OK</d:status>
-  </d:propstat>
-</d:response>
-
+  
   <d:response>
   <d:href>/dav/addressbook/AB12C345-6789-0DEF-1234-567890ABCDEF.vcf</d:href>
   <d:propstat>