Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
TL;DR
Old mappings:
annotations
,uuid
<->DESCRIPTION
New mappings:
uuid
<->X-SYNCALL-TW-UUID
annotations
<->DESCRIPTION
(each annotation <-> a line in description)Old mappings
If I understand the code correctly, the previous implementation uses the field
DESCRIPTION
of caldav to store meta-data of TW items.When a TW item is converted to caldav item, the
annotations
anduuid
of TW item are encoded into the following format, and stored inDESCRIPTION
of caldav.When a caldav item is converted to TW item, syncall will try to parse the
DESCRIPTION
field of caldav item from the above format to get back theannotation
anduuid
. If lines not starting with* Annotation
or* uuid
will be ignored.Problems of the old mappings
It makes the
DESCRIPTION
field of caldav unusable.When user creates a task with description on caldav side, the description will be ignored by syncall and never reached taskwarrior. (Related issue: #72)
Some caldav application like Apple Reminder shows the description right below the task summary. The meta-data in
DESCRIPTION
takes up a lot of screen space, and make the task list bloat.New mappings
In this new mappings, the
uuid
of TW item will be mapped to a non-standard iCalendar fieldX-SYNCALL-TW-UUID
, allowed by RFC 5545. Theannotation
of TW item will be mapped toDESCRIPTION
of caldav item. Each line inDESCRIPTION
is corresponding to an annotation.Remark
DESCRIPTION
in caldav may be re-ordered after modifying the text and synchonizing. It is because the annotations in TW are sorted by the modified timestamp.Type of change
Please delete options that are not relevant.
How Has This Been Tested?
test/test_data/sample_items.yaml
, and ran the tests.Checklist:
Edit: forgot to embed the screenshot