Skip to content

SOGo: calendaring's part of the conformance fixes - #28

Merged
tobixen merged 3 commits into
roadmap-3.2-caldav-serversfrom
sogo-fixes
Oct 23, 2026
Merged

tobixen merged 3 commits into
roadmap-3.2-caldav-serversfrom
sogo-fixes

Conversation

@tobixen

@tobixen tobixen commented Oct 23, 2026

Copy link
Copy Markdown
Member

Disclaimer: The code and the text below the line are AI-generated, by Claude Opus 5.5, from the prompt:

(Claude ran tests and made a list of SOGo failures): This should be fixed, not filed.


The conformance suite failed 6 tests on SOGo. This PR fixes calendaring's part, and 4 failures remain. Each of those waits on caldav: a new hint, or a check for an existing object at the URL in save(no_overwrite=True).

  • The time-tracking test compared the wrong things. It compared the meeting as sent with the meeting as stored, and SOGo adds CLASS:PUBLIC. It now compares the stored meeting before and after log_time().
  • verify ignores parameters at their RFC 5545 default, and parameter order. SOGo spells out PARTSTAT=NEEDS-ACTION. The RSVP=TRUE it also adds is still reported, as a real change.
  • create_collection() refuses a collection that would hold none of the requested components. Where it was made anyway, it is deleted again (Bedework makes events-only calendars whatever is asked). Where caldav says the server ignores the component set (SOGo, Bedework 5, GMX), create-collection is declared LOSSY. This also covers the memory TRACKER profile, which used to make an empty collection.

test_time_spent_in_a_meeting compared the meeting as sent with the
meeting as stored, so it failed on SOGo, which adds CLASS:PUBLIC to
everything it stores.  It now compares the stored meeting before and
after log_time(), which is what the test is about.

Prompt: (Claude ran tests and made a list of SOGo failures): This should be fixed, not filed.

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
A server that spells out an RFC 5545 parameter default, as SOGo does
with PARTSTAT=NEEDS-ACTION on each ATTENDEE, has changed nothing, but
verify=True reported it.  Parameters are now compared in any order and
without those at their default; RSVP=TRUE, which SOGo also adds, is a
real change and is still reported.

Prompt: (Claude ran tests and made a list of SOGo failures): This should be fixed, not filed.

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
create_collection() raised nothing when the collection it made could
hold none of the requested components: a tracker made an empty one, and
Bedework makes events-only calendars whatever is asked.  Such a
collection is now refused, and deleted again where it can be; one that
cannot be is named in the error.  Where caldav knows the server ignores
the requested component set (SOGo, Bedework 5, GMX), create-collection
is declared LOSSY, and the conformance suite accepts a calendar holding
more than asked, or the refusal.

Prompt: (Claude ran tests and made a list of SOGo failures): This should be fixed, not filed.

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
@tobixen
tobixen merged commit 4218f8a into roadmap-3.2-caldav-servers Oct 23, 2026
8 checks passed
@tobixen

tobixen commented Oct 23, 2026

Copy link
Copy Markdown
Member Author

Disclaimer: AI-generated text, by Claude Opus 5.5.

Folded into #27: the same three commits, fast-forwarded onto its branch, since both are roadmap 3.2.

@tobixen
tobixen deleted the sogo-fixes branch October 23, 2026 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant