pimutils / pimutils/vdirsyncer

vdirsyncer appears to append slash to URL

Open
#791 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.9k
Forks
185
Avg merge
11h 49m
Merged PRs (30d)
1

Description

I have specified a URL that links to a calendar that has a slightly unusual format of https://company.bamboohr.co.uk/feeds/feed.php?id=someauthenticationtoken. I believe that vdirsyncer is appending a / to this URL when making queries, such that the URL becomes https://company.bamboohr.co.uk/feeds/feed.php?id=someauthenticationtoken/ resulting in no valid ICS being found.

I've attached the start of the debug output of the discover command, where it apparently shows the first attempted URL is incorrect.

Environment:

  • Your vdirsyncer version 0.16.7
  • If applicable, which server software (and which version) you're using: Bamboo HR, which generates a URL that uses a querystring for authentication with a GET parameter token
  • Your Python version 3.7.2 (via homebrew)
  • Your operating system Mac OS Mojave
  • Your config file
$ cat .config/vdirsyncer/config
[general]
status_path = "~/.vdirsyncer/status/"

[pair work_annual_leave]
a = "work_annual_leave_local"
b = "work_annual_leave_remote"
collections = ["from a", "from b"]

[storage work_annual_leave_local]
type = "filesystem"
path = "~/.calendar/work_annual_leave"
fileext = ".ics"

[storage work_annual_leave_remote]
type = "caldav"
read_only = true
url = "https://company.bamboohr.co.uk/feeds/feed.php?id=redacted
  • Use vdirsyncer -vdebug for debug output. The output is sensitive, but
    please attach at least the last few lines before the error (if applicable),
    censored as necessary. This is almost always the most useful information.
$ vdirsyncer -vdebug discover
debug: Using 1 maximal workers.
Discovering collections for pair work_annual_leave
work_annual_leave_local:
debug: PROPFIND https://company.bamboohr.co.uk/feeds/feed.php?id=redacted/
...

Thanks for your time.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the discover command with the BambooHR-style URL from the issue and inspect the URL handling that produces the shown PROPFIND request. Done means the query-string token is preserved without an appended slash and discovery can find the remote ICS resource.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.