pimutils / pimutils/vdirsyncer

Error when syncing: exceptions.NotFoundError(href)

Open
#1,208 1 comment 0 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've configured a google_calendar storage and have completed the oauth flow. Discovery works. But when syncing, I get the below error:

error: Unknown error occurred for google_to_local/mike@example.com: /caldav/v2/mike@example.com/events/_ccrj0gs62cpo75ijgdj3ckrmcpb560p40e9occs3ccj164s38o9j6ujfd1nisorfdk_R20250124T170000@google.com.ics
error: Use `-vdebug` to see the full traceback.
debug:   File "/usr/lib/python3.14/site-packages/vdirsyncer/cli/tasks.py", line 74, in sync_collection
debug:     await sync.sync(
debug:     ...<7 lines>...
debug:     )
debug:   File "/usr/lib/python3.14/site-packages/vdirsyncer/sync/__init__.py", line 149, in sync
debug:     a_nonempty = await a_info.prepare_new_status()
debug:                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug:   File "/usr/lib/python3.14/site-packages/vdirsyncer/sync/__init__.py", line 69, in prepare_new_status
debug:     async for href, item, etag in self.storage.get_multi(prefetch):
debug:     ...<4 lines>...
debug:         self.set_item_cache(item.ident, item)
debug:   File "/usr/lib/python3.14/site-packages/vdirsyncer/storage/dav.py", line 551, in get_multi
debug:     raise exceptions.NotFoundError(href)

My config:

[general]
status_path = "~/.local/share/vdirsyncer/status/"

[storage example_google_calendar]
type = "google_calendar"
token_file = "~/.local/share/vdirsyncer/token_file"
client_id = "***"
client_secret = "***"
start_date = "datetime(2026, 1, 1)"
end_date = "datetime(2100, 1, 1)"

[storage local_calendar]
type = "filesystem"
path = "~/.local/share/khal/calendars/"
fileext = ".ics"

[pair google_to_local]
a = "example_google_calendar"
b = "local_calendar"
collections = ["mike@example.com"]
conflict_resolution = "a wins"

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

Reproduce the sync with the provided google_calendar and filesystem configuration, then inspect vdirsyncer/storage/dav.py around get_multi at line 551 and the traceback in sync/init.py. Determine why the reported Google Calendar href raises NotFoundError and verify that syncing the affected collection completes without the reported exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.