CalDAV calendars are read-only on startup
Categories
(Calendar :: Provider: CalDAV, defect)
Tracking
(thunderbird_esr91 fixed, thunderbird94 affected, thunderbird95 affected, thunderbird96 affected)
People
(Reporter: epaine, Assigned: lasana)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files, 1 obsolete file)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
13.37 KB,
patch
|
wsmwk
:
approval-comm-esr91+
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0
Steps to reproduce:
Update to 91.2.1 (from 78)
Actual results:
All CalDAV calendars became read-only. If read-only is unset, it resets itself to read-only when Thunderbird is restarted.
Expected results:
Calendar read-only settings should be preserved.
Updated•3 years ago
|
Comment 1•3 years ago
|
||
I can reproduce this issue at all of my installations, too.
When the read-only option is disabled in the UI and TB is closed,
the prefs.js
option calendar.registry.<guid>.readOnly
is set to false
.
As soon TB is started, the option is changed to true
again.
Comment 2•3 years ago
|
||
The problem seems to be caused by this change in calendar/providers/caldav/CalDavCalendar.jsm
: D126061 / Bug 1729235
When the server does not support the current-user-privilege-set
(as out does), the privs set is empty all the time.
The calender gets read only because none of the expected values are contained in the empty set.
// line 1095 ff
let privs = response.firstProps["D:current-user-privilege-set"];
// Don't clear this.readOnly, only set it. The user may have write
// privileges but not want to use them.
if (!this.readOnly && privs && privs instanceof Set) {
this.readOnly = ![
"D:write",
"D:write-content",
"D:write-properties",
"D:all",
].some(priv => privs.has(priv));
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 3•3 years ago
|
||
I can't say I understand the problem here. If we detect we do not have permissions to write to the calendar then it is set to read-only.
Alexander Becker is it that the server you are using sends the current-user-privilege-set
property but does not actually use it? What server is this? Are you able to provide a calendar url?
Reporter | ||
Comment 4•3 years ago
|
||
I asked our calDAV provider (VPOP3) for guidance. They don't provide a fully featured webDAV server like Apache, and specifically don't have a current-user-privilege-set property available. Ideally a non-existent property should not not do anything (rather than changing a setting to read-only as in this case).
Updated•3 years ago
|
Comment 5•3 years ago
|
||
The server does not support the current-user-privilege-set property, and tells this in the response.
Thunderbird should simply assume write access if the server does not provide a privilege set.
Here is a fragment of a response to the PROPFIND request:
<D:propstat>
<D:status>HTTP/1.1 404 Not Found</D:status>
<D:prop>
<D:current-user-privilege-set/>
<CS:getctag/>
</D:prop>
</D:propstat>
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 7•3 years ago
|
||
Also this one needs rebasing as it doesn't apply cleanly.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
Comment 10•3 years ago
|
||
Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/11ed8bba1371
Do not treat 404 current-user-privilege-set responses as an empty list. r=darktrojan
Assignee | ||
Comment 11•3 years ago
|
||
Updated•3 years ago
|
Assignee | ||
Comment 12•3 years ago
|
||
[Approval Request Comment]
Regression caused by (bug #):
User impact if declined: Users of some caldav servers may find them set to read-only unintentionally.
Testing completed (on c-c, etc.): trunk
Risk to taking this patch (and alternatives if risky):
Should be low risk for the user. Separate patch for failed hunks. Did not verify the tests pass on 91.
Comment 13•3 years ago
|
||
Comment on attachment 9272174 [details] [diff] [review]
esr91.patch
[Triage Comment]
Approved for esr91
Comment 14•3 years ago
|
||
bugherder uplift |
Thunderbird 91.9.0:
https://hg.mozilla.org/releases/comm-esr91/rev/1bd4a4ff5377
Description
•