pimutils / pimutils/vdirsyncer
RFC: Match by displayname, v2
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 185
- Avg merge
- 11h 49m
- Merged PRs (30d)
- 1
Description
Problem
Discovery has been a huge UX pain since forever.
- We require users to know identifiers that are neither well-defined nor exposed in the UI of any other tool for CardDAV/CalDAV.
- Local folders have two "names": The displayname file and the folder name. It doesn't make sense to have them as separate concepts.
Solution
In that order, ideally all at once:
- Match by displayname, see #420. Only use displayname in UI (collections arguments and "Syncing..."-output).
- Make sure to unicode-normalize displaynames to avoid "visual duplication".
- Allow arbitrary characters in collection names (internal property)
- DAV: Fix #405 by setting
collectionto an arbitrary unique identifier. Might as well be the entire URL.- Similarly for Google storage.
- filesystem:
displayname == foldernamefor filesystem storage
Later
- Add option to DAV storage to ignore displaynames (for broken servers)
This is massive breakage. I'm unsure how a migration strategy for users could look like. Just tell the user to set up vdirsyncer from scratch?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing related issues #420 and #405, then trace how collection names and displaynames are represented across DAV, Google, and filesystem storage. Define the migration strategy and acceptance criteria for normalization, arbitrary identifiers, and UI output; the issue is done only when the breaking changes and upgrade path are resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100