Every sync with a contact fails on Postulo 0.3.0: Contact.phone became phone_numbers #1
Labels
No labels
bug
documentation
enhancement
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Postulo/postulo-dav#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observation
Against the core's
0.3.0branch (postulo@a22e7a09), 12 tests pass, 1 fails and 8 error:The plugin loads, so this happens during a sync.
card_for()readscontact.phonefor every linked contact (sync.py:71), andapply_card()writes it (sync.py:81).sync()does contacts before interviews with nothing between them, so any sync with a contact in it fails before it reaches the calendar. Neither half syncs.It cannot pass against the core
uv.lockpins either.postulo@86664ae6predates the sync links this plugin is built on (bcf82e46, 6 September), so the lock names a core older than the plugin, and CI has never tested dav against a core it can run on.Cause
postulo#90 (
1a0f6906, 8 September) replacedContact.phonewith several numbers per holder:phone_numbers, a relation tocore.PhoneNumberrows, one of whichis_primary. The core reads and writes them throughpostulo.core.phone_numbersrather than the rows, because of two rules the table does not show:What fixing it is
TELfrom the numbers the person can see, meaning the primary alone when the feature is off. vCard allows severalTELlines, so several numbers can now travel as themselves instead of being squeezed into one.uv lock --upgrade-package postulo, so the lock names a core dav runs on.Worth being careful about
Contact,Interview,SyncLink,icaland the application services directly, andpostulo.plugins.apisays anything reached that way "may move without warning". This is the first time it has. What a sync plugin may touch deserves a promise in the core. Meanwhile,SyncPlugin,SyncReport,FieldSpec,TestResultandclientare on the surface and should come from there, not frompostulo.plugins.baseorpostulo.plugins.http.Classification
Bug. Every sync with a contact fails on Postulo 0.3.0.