-
-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: allow public calendars #105
Conversation
Does this allow phonebooks to be shared? |
Thanks @1Luc1 for the tests!
That's weird, I didn't have the same behavior (with events only but having the other ones should not change much)
|
Hello @david-raine
Unfortunately no, because the underlying sabre-io/dav library does not support it. See #87 |
a1f7a61
to
9bc1352
Compare
public const INVITE_STATUS_NORESPONSE = 1; | ||
public const INVITE_STATUS_ACCEPTED = 2; | ||
public const INVITE_STATUS_DECLINED = 3; | ||
public const INVITE_STATUS_INVALID = 4; | ||
public const INVITE_NORESPONSE = 1; | ||
public const INVITE_ACCEPTED = 2; | ||
public const INVITE_DECLINED = 3; | ||
public const INVITE_INVALID = 4; | ||
|
||
public const ACCESS_OWNER = 1; | ||
public const ACCESS_NOTSHARED = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🌱 This is mainly to comply with SabreDAV's namings
Tested with branch feature/public-calendars
My I be more specific about the behavior. Calling the public calender with the link ( e.g.: davis.at/dav/calendars/public/test) within the browser (firefox) will trigger the authentication dialog only if there are events within the calender. If there are no events within the calender no authentication dialog will be called. On the other hand, subscribing to the public calender within an email client (thunderbird) doesn't open any authentication dialog, even if there is a events within the calender. So, this behavior is acceptable for my understanding. ✅
Tested ✅ |
Oh ok, understood, thanks a lot for the clarification! I will test that behavior, I have a feeling it's some edge case on the sabre/dav side, but it should be fixable I guess, will work on it.
That's "funny" ... auth is managed by sabre/dav entirely, but it might be Thunderbird that tries to login optimistically by providing the username as a password? I'll try to reproduce |
I think c1b0a00 should fix it |
62d39b6
to
c1b0a00
Compare
Thanks. Just tested your changes and within the browser no authentication dialog appears. ✅ Unfortunately, within Thunderbird an authentication dialog shows up if subscribing to a public calender. ❌ |
This protocol is making me go nuts. Will have a look! |
Can you tell, when you can get another look? |
Unfortunately I'm quite busy on various other subjects so I can't really commit (as it takes quite some time to investigate the code for this feature); I'll do my best to finish next week |
Just checked your changes and tried to replicated the usecase where subscribing to a public calendar within thunderbird once worked, but couldn't really redo your changes to make it work. Now I doubt it ever worked 😖 |
Did some further digin and found that within
within an own |
c1b0a00
to
5874935
Compare
Thanks for your ideas. I've tried Thunderbird and could find a potential fix that I implemented in 5874935. |
Happy to get your feedback on it. Sorry this is taking quite some time 🙇🏼 |
Thanks for your fix. Tested it as good as possible and subscribing without username/password works as intended. Unfortunately, it is now not possible as an owner of the calender to subscribe to the calender with username and password, within Thunderbird. This is of course necessary to write events into the "public" calendar. |
During testing I came across a use case, which should be covered within this PR. I mentioned it some comments above and thought it was a problem. Now I think the following use case should be covered: Having a calender which should be shared with other users. The other users have read/write access to the shared calender, meaning a group of users can edit one calender. This calender can also be a public calender. A good example is having an event calender. Some people add/edit events within this calender and want to make the event calender public available to publicity. Before you changed this behavior, you talked about side effects. I'm curious, are there any? |
So all in all, I think it's correctly working as of now (at last!). Will leave it open for a while and then merge to the master |
Thanks for re-testing. Your are right, it works as intended. Thanks again for your work!
Alright. Should a make a new Issue for this case? |
🎉 🎉 🎉 🎉 🎉 🎉 🎉
Yes please. Given the time it takes to fiddle with sabre/dav code, I'm not promising anything though sorry. It's really a pain to find circumvention ways for something that should be standard |
Override the default DAVACL plugin to allow public calendars, introducing a new
ACCESS_PUBLIC
constantPublic calendars
They are accessible without credentials, even in the browser
Adds a new "Public" field when editing a calendar, to mark the calendar public (the user remains the sole owner as a public calendar cannot be shared for now)
We add a badge in the list to indicate it's public
Related PR: sabre-io/dav#820