johannesjo / super-productivity

Super Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, Gitlab, GitHub and Open Project.
http://super-productivity.com
MIT License
11.54k stars 890 forks source link

CalDAV integration with Baikal #2446

Closed mocsa closed 2 months ago

mocsa commented 1 year ago

Your Environment

Super-Productivity 7.12.0 installed as Electron app on Win 10. Baikal 0.9.2 installed in a local XAMPP installation.

Expected Behavior

CalDav integration should be able to read tasks from Baikal calendar.

Current Behavior

Error message. "CalDav: Request failed because of a client side network error"

Steps to Reproduce (for bugs)

  1. My calendar's URL is http://192.168.0.20/baikal/html/dav.php/calendars/myusername/default/
  2. This URL works flawlessly everywhere. For example, in Thunderbird, in eM Client, in every Android calendar and tasks app via DavX5.
  3. In Super-Productivity project settings I put http://192.168.0.50/baikal/html/dav.php in CalDav URL. I put default in CalDav resource.
  4. Then I enter myusername in CalDav username and password in CalDav password.

Can you reproduce this reliably?

Reproducible. Integration never worked.

Console Output

If I open Electron debug console with CTRL+SHIFT+I, I see the following error in Console:

PROPFIND http://192.168.0.50/baikal/html/dav.php/ 401 (Unauthorized)

On the network tab I see a failed request for dav.php. The server's response is this:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:sabredav-version>4.3.1</s:sabredav-version>
  <s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
  <s:message>No 'Authorization: Digest' header found. Either the client didn't send one, or the server is misconfigured. Login was needed for privilege: {DAV:}read on </s:message>
</d:error>

Error Log (Desktop only)

Nothing relevant in the Log.

Analysis

My Baikal installation is specifically configured for "Digest" authentication. This is what worked with the biggest number of CalDav clients. Is it possible that Super-Productivity cannot do this type of authentication?

github-actions[bot] commented 1 year ago

Thank you very much for opening up this issue! I am currently a bit overwhelmed by the many requests that arrive each week, so please forgive me, if I fail to respond personally. I am still very likely to at least skim read your request and I'll probably try to fix all (real) bugs if possible and I will likely review every single PR being made (please, give me a heads up if you intent to do so) and I will try to work on popular requests (please upvote via thumbs up on the original issue) whenever possible, but trying to respond to every single issue over the last years has been kind of draining and I need to adjust my approach for this project to remain fun for me and to make any progress with actually coding new stuff. Thanks for your understanding!

github-actions[bot] commented 1 year ago

Hello there mocsa! 👋

Thank you and congratulations 🎉 for opening your very first issue in this project! 💖

In case you want to claim this issue, please comment down below! We will try to get back to you as soon as we can. 👀

For more open ended discussions and/or specific questions, please visit the discussions page. 💖

jonathanp0 commented 1 year ago

The code shows it is hardcoded to Basic authentication: https://github.com/johannesjo/super-productivity/blob/e0006ef7b0a0627264846c10c96f345435445dc8/src/app/features/issue/providers/caldav/caldav-client.service.ts

Can Baikal not be configured to allow both?

mocsa commented 1 year ago

As far as I can see, you have to decide on one type of authentication in the Baikal admin settings:

image

github-actions[bot] commented 1 year ago

This issue has not received any updates in 90 days. Please comment, if this still relevant!

mocsa commented 1 year ago

Still relevant

mocsa commented 1 year ago

Still relevant

github-actions[bot] commented 8 months ago

This issue has not received any updates in 90 days. Please comment, if this still relevant!

sunjam commented 8 months ago

open please

lifetraveler commented 6 months ago

turn the auth type to 'Basic' can resolve it

mocsa commented 6 months ago

turn the auth type to 'Basic' can resolve it

Yes, I know but I need Digest authentication for CalDav clients (for example Android). See my original post.

anantone commented 6 months ago

I also get the problem with Basic auth

github-actions[bot] commented 2 months ago

This issue has not received any updates in 90 days. Please comment, if this still relevant!

culinia commented 1 month ago

I just found a solution which makes finally super-productivity work together with baikal via caldav as it should:

in baikal i choose as authentication method "apache" and in super productivity you need to enter the caldav details as follows:

choose the appropriate project -> settings -> caldav -> switch to enabled and then enter the caldav properties as follows:

then move all caldav related switches below these fields to the right, too. thats it.

then click on the task overview page of that project and a few seconds later the tasks list shall be automatically loaded from your baikal server. thats how it did on my computer (linux mint 6).

for manual sync with the server you can always press the key F5.

now finally i can put this amazing program in real use and discover how much it can help me to boost my productivity! <3