Git Product home page Git Product logo

md2carddav's Issues

Adding entries crashes the script

From today's changes, I introduced a bug. The new comparison code chokes if a new type of entry (like an email) is added.

const firstProps = firstVcfer.get(propName);
const secondProps = secondVcfer.get(propName);
for (const [index, firstProp] of firstProps.entries()) {
const secondProp = secondProps[index];
if (firstProp.getValue() !== secondProp.getValue()) {

That's the relevant code.

There's also a logic bug in that only 1 of the 2 vcards are considered, so if the other vcard had extra keys, they would be ignored.

Some initial reasearch :)

Contact Mgr. Research

Goals

  • To determine existing efforts around contact management, JavaScript, YAML, markdown, CardDAV

Initial Research

  • Start: Friday January 28 2022 09:18:23
  • End: Friday January 28 2022 11:10:01

Links

Specs:

Projects:

  • Org-Mode examples of using CardDAV
  • Similar note-taking apps
    • Joplin
      • Says it supports "WebDAV"
      • Maybe this code can be adapted?
  • Javascript-based
    • tsdav
      • Supports WEBDAV, CALDAV, CARDDAV
    • node-vcf
      • vCard parser, create new vCard
    • cdav-library
      • Used by NextCloud
      • CalDAV AND CardDAV client library for JS
  • Python-based
    • khard
      • Python-based
      • Meant for use in terminal application
      • Does not support synching with Android or iOS(!?)
  • Java-based
  • CardDAV Servers
    • sabre/dav
      • WebDAV framework for PHP
      • Used to create WebDAV, CalDAV and CardDAV servers
    • radicale
      -Small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server
  • Unknown

Issues with vCard spec:

Questions

  • I'm unclear on the infrastructure:
    • Will this project include a local CardDAV server?
    • What will authentication to remote CardDAV servers (iCloud. Android, etc.) look like?

Ideas

  • This project reminds me of the Insidious Big Brother Database (contact manager!) in Emacs

Fails to match UID like UID;VALUE=uri:

FastMail has started returning UIDs like:

UID;VALUE=uri:xxxx

I believe it used to be like:

UID:xxxx

This means that the getUidFromVcard() function returns undefined instead of the UID.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.