You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Internal
Releases are published to npm from CI with provenance (#112), via trusted publishing from a v<version> tag on main.
Fixed
npx -y dav-mcp starts on npm 12 (#100). npm 12 refuses git and
remote-tarball dependencies by default, and dav-mcp installed tsdav
from a GitHub Release tarball and tsdav-utils from git, so npx failed with EALLOWREMOTE before the server started. Both now come from the npm registry
as @philflow/tsdav 2.4.0 and @philflow/tsdav-utils 0.4.1, installed under
their old names. CI installs and starts the packed package with npm 12
defaults.
Quoted-printable contacts are decoded (#103). vCard 2.1 cards from
Outlook and Android exports encode non-ASCII text as ENCODING=QUOTED-PRINTABLE; they were shown as "Hans M=C3=BCller" and a
search for "müller" missed them. Such values are now decoded in their CHARSET (UTF-8, ISO-8859-1, windows-1252, …; a missing or unknown one
is read as UTF-8, and bytes that are not valid UTF-8 as windows-1252), soft
line breaks included, for the contact list and the filters alike.
vCard 2.1 commas and backslashes are read as text (#103). Only \; is
an escape in vCard 2.1, but cards were read with 3.0 escaping, so N:Mueller, Jr.;Hans showed two family names. Quoted-printable text in a
3.0 or 4.0 card (where some exporters still write it) is read by the same
2.1 rules once decoded, so C:=5Cnew stays C:\new there too.
update_contact writes a vCard 2.1 card back as vCard 3.0 (#103). It
used to edit the stored 2.1 text: a new value kept the line's ENCODING=QUOTED-PRINTABLE (and read back altered, or swallowed the next
line), the other lines stayed encoded, and a card with a bare parameter
(TEL;CELL:) or a soft line break could not be edited at all. The card is
now edited as it is read and written as the 3.0 card that says the same,
decoded, which is the version every CardDAV server accepts (sabre/dav,
i.e. Baïkal and Nextcloud, refuses 2.1). Whitespace inside a BASE64 or b value (2.1 lets exporters indent it) is removed when it is written.