It could be argued we should not support this syntax (i.e. the ')'
character needs to be surrounded by a space. Note that the ability to
contain ')' as part of the attribute value was explicitly requested (as
a bug report) in TW-1455 (#1481).
Attribute names are often words from natural language (such as start,
end or entry). The ColumnTypeString supports resolving DOM references,
such that task commands like 'task add proj:3.proj' work.
However, the current implementation of the ColumnTypeString::modify
only looks at the first token to determine whether the input is a DOM
reference or not. This mischaracterizes inputs like 'task add
"description:start something"', where the first token of the attribute
value looks like a DOM reference (the 'start' attribute), but is in
fact, a part of larger string.
Since all DOM references are single tokens, only interpret the input as
a possible DOM reference if and only if one token was found.
Closes#1908.
these libararies are not installed so don't leave the decision up to
enviroment which might build shared libraries resulting in binary
with missing deps after installation
Fixes#2403
Previously, if no due date was set on any pending/waiting task, the
calendar output would start at the end of the currently supported date
period.
Default to current month instead.
The purpose of displaying due dates on the calendar is to convey the
relative business of any given day. Waiting status signifies a task
should not be displayed in reports yet, but for the purposes of
planning, it should be displayed in the calendar overview.
Closes#2393.
The _period attribute holds the number of seconds that the Duration
holds, while _date attribute holds the number of seconds since the
beginning of unix epoch (also known as epoch time). As such, it does not
make sense to convert _period directly into _date.
Interpret _period as offset relative to current unix epoch time.
Closes#2390.
Since e4b9c1f annotations where JSON encoded in task edit to escape
new lines (\n). But other strings where mangled as well, like https://
becoming https:\/\/, making it hard to edit.
This patch removes the JSON encoding and indents new lines instead.
Remove excessive escaping of backslashes with usage of raw strings. This
makes it more obvious what is the test input and expected output.
One test is currently failing after editing and was marked as expected
failure.
In bd4a7081, json-decoding of attribute values was introduced as a
workaround to properly handle blackslashes in description and
annotations (see TW-880).
However, this behaviour is no longer present with the new parser and
introduces its own suite of issues (i.e. see #2140).
Closes#2140.