Skip to content

fix: probe If-None-Match with another UID too - #56

Merged
tobixen merged 2 commits into
mainfrom
fix/if-none-match-other-uid
Nov 12, 2026
Merged

tobixen merged 2 commits into
mainfrom
fix/if-none-match-other-uid

Conversation

@tobixen

@tobixen tobixen commented Nov 11, 2026

Copy link
Copy Markdown
Member

Commit message:

fix: probe If-None-Match with another UID too

A new object saved under a taken name has a UID of its own, and that is
what save(no_overwrite=True) guards.  Bedework (3 and 5) refuses the
same UID with 412 but another one with 500, so the probe graded it
full while the conformance suite saw a 500 on creating under a taken
name.  Where the same UID got 412, the probe now tries another UID.
All 21 servers were reprobed; only Bedework's grade changes.

Prompt: [pick from the task list: "calendaring: remaining conformance failures on Ox, Zimbra and others"]
Followup-Prompt: ... First priority is to get the conformance tests passing for all the caldav servers available ...
Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>

A time-range search should find an object overlapping the range, not
only one starting inside it (RFC 4791 section 9.9); Robur finds only
events starting inside, Cyrus and GMX only tasks.  It should also place
an event with a TZID and its VTIMEZONE at its UTC time; Infomaniak only
finds one when the range also reaches its local time read as UTC.

The olson-tzid probe now compares the bare-TZID event with a VTIMEZONE
control and a 12:00 UTC reference instead of expecting fixed answers,
so those two bugs no longer hide its verdict.  Its windows contain the
start, and a misplaced reference (Bedework 3) means "cannot test".

Prompts:
> [Found in] another session: date searches over a 30-minute window on robur 
> and infomaniak apparently does not find the events it should find.  Please 
> do research into this.  Those servers can be probed from the [local caldav 
> clone holding the test-server passwords] directory.

> (post-research) We need probes catching all this behaviour.  Do some (more) 
> research ...

> Go for search.time-range.*.overlap.  We need equivalent test for tasks.
> Journals don't count as they don't have a dtend.

> (on the claim that those probes are pointless as the caldav library does not 
> need it) one purpose of this tool is to expose any kind of deviations from 
> the RFC, from that perspective it should be probed, even if the caldav library
> does not need it.

> The olson-tzid probe possibly depends on this.  At least it needs to be 
> rewritten to work on infomaniak and robur.

Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
A new object saved under a taken name has a UID of its own, and that is
what save(no_overwrite=True) guards.  Bedework (3 and 5) refuses the
same UID with 412 but another one with 500, so the probe graded it
full while the conformance suite saw a 500 on creating under a taken
name.  Where the same UID got 412, the probe now tries another UID.
All 21 servers were reprobed; only Bedework's grade changes.

Prompt: [pick from the task list: "calendaring: remaining conformance failures on Ox, Zimbra and others"]
Followup-Prompt: ... First priority is to get the conformance tests passing for all the caldav servers available ...
Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
@tobixen
tobixen force-pushed the fix/if-none-match-other-uid branch from d299dc4 to 873b839 Compare November 12, 2026 21:02
@tobixen
tobixen merged commit 873b839 into main Nov 12, 2026
12 checks passed
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