Commit graph

190 commits

Author SHA1 Message Date
Dustin J. Mitchell
fd504b7d66
add num_local_operations to Replica 2022-04-23 18:51:40 +00:00
Dustin J. Mitchell
1b586a425f
Treat priority as an arbitrary string
This matches what TaskWarrior does: priority is a UDA, and can be
redefined by the user's local config.
2022-03-27 17:54:12 -04:00
Dustin J. Mitchell
6f48f715ac
+BLOCKED, +UNBLOCKED, and +BLOCKING tags
These are somewhat expensive tags, as they require reference to values
outside of the task itself.

To accomplish this, the replica supplies a pre-computed DependencyMap
that is only calculated once per replica, and only from the working set.
2022-03-15 19:02:24 -04:00
Dustin J. Mitchell
bf73cc4cc7
add dependency support to taskchampion 2022-03-15 18:01:48 -04:00
Dustin J. Mitchell
f8c4ece238
Re-export the chrono crate from taskchampion.
The chrono types are central to use of TC, so this will help consumers
of the TC crate to avoid dependency conflicts.
2022-03-15 17:58:54 -04:00
Dustin J. Mitchell
919e91fd13
don't automatically update modified when updating it explicitly 2022-03-07 23:37:15 +00:00
Dustin J. Mitchell
2a6c91b3f9
Support expiring old, deleted tasks 2022-03-07 23:37:13 +00:00
Dustin J. Mitchell
c0403f3f38 fix bad test 2022-02-13 16:18:17 +00:00
Dustin J. Mitchell
1488355b89 add working-set support 2022-02-12 22:19:09 +00:00
Dustin J. Mitchell
b01285d780 add some simple replica functions 2022-02-10 01:18:50 +00:00
Dustin J. Mitchell
ae5afff4f7 fix another lint 2022-02-09 03:20:17 +00:00
Dustin J. Mitchell
e5625e1597 entry and wait time support 2022-02-01 02:45:28 +00:00
Dustin J. Mitchell
bb722325fe more task functionality 2022-01-25 02:26:04 +00:00
Dustin J. Mitchell
8576e7ffa7
Merge pull request #330 from djmitche/issue327
Support an 'end' key in task maps
2022-01-24 10:24:18 -05:00
Dustin J. Mitchell
50300c4ad7 remove empty conditional 2022-01-23 15:31:58 +00:00
Dustin J. Mitchell
a49e51defd Merge branch 'main' into issue327 2022-01-23 15:31:02 +00:00
Dustin J. Mitchell
656f7e9ea0 replica.create_task -> import_task_with_uuid 2022-01-23 15:22:41 +00:00
Dustin J. Mitchell
0308b7a4c7 Merge branch 'main' into issue94 2022-01-23 15:18:17 +00:00
Dustin J. Mitchell
9824ac1fd3 add 'entry' key to tasks when created 2022-01-06 02:18:32 +00:00
Dustin J. Mitchell
b663745892 Support an 'end' key in task maps
This definition matches how TaskWarrior uses the same key.
2022-01-06 02:02:13 +00:00
Dustin J. Mitchell
63804b5652 Implement 'ta import'
Tests include "TODO" notes for data not handled by TaskChampion,
including links to the associated GitHub issues.
2022-01-06 00:06:19 +00:00
Dustin J. Mitchell
e2e0951c81 Make a public method 2022-01-05 03:12:44 +00:00
Dustin J. Mitchell
e3f438d9fa make taskdb.apply for create/delete not fail if already exists/doesn't exist 2022-01-05 02:49:04 +00:00
Dustin J. Mitchell
9965d10736 Maintain unrecognized statuses 2022-01-03 02:35:19 +00:00
Dustin J. Mitchell
6a1d1a8c3c use strum_macros::Display to display Status 2022-01-03 02:35:19 +00:00
Dustin J. Mitchell
bc8bb52551 do not use str.split_once, as it is not in MSRV 2021-12-27 00:14:40 +00:00
Dustin J. Mitchell
e94c29ae2f use better trait bounds 2021-12-27 00:09:02 +00:00
Dustin J. Mitchell
829f67ee02
Merge branch 'main' into issue90 2021-12-26 19:04:10 -05:00
Dustin J. Mitchell
b255ad2a7d use namespace.key for UDAs in the API, with legacy support 2021-12-27 00:01:14 +00:00
Dustin J. Mitchell
36c51d2d93 fix clippy 2021-12-22 00:31:46 +00:00
Dustin J. Mitchell
5fb3f700c0 add some logging for undo 2021-12-21 01:12:30 +00:00
Dustin J. Mitchell
9d93928996 support undo operations 2021-12-21 00:43:26 +00:00
Dustin J. Mitchell
1647ba9144 insert UndoPoint appropriately into the replica operations 2021-12-20 00:33:32 +00:00
Dustin J. Mitchell
103bbcdf8f Store data necessary to undo ReplicaOps 2021-12-19 23:58:57 +00:00
Dustin J. Mitchell
1789344cd0 refactor sync to use SyncOps 2021-12-19 23:44:45 +00:00
Dustin J. Mitchell
cefdd83d94 Use the latest taskmap when modifying a task
The previous logic duplicated the action of applying an operation to the
TaskDb with a "manual" application to the Task's local TaskMap.  This
now uses the updated TaskMap fetched from the DB, which will help to
incorporate any other concurrent DB updates.
2021-12-19 23:29:16 +00:00
Dustin J. Mitchell
fee25fa742 Apply SyncOps, but keep a list of ReplicaOps
This changes a lot of function signatures, but basically:
 * TaskDB::apply now takes a SyncOp, not a ReplicaOp
 * Replica::update_task returns a TaskMap
2021-12-19 23:29:15 +00:00
Dustin J. Mitchell
0b29efab31 rename Operation to ReplicaOp for clarity 2021-12-19 22:55:24 +00:00
Dustin J. Mitchell
6f7794c7de introduce a new taskchampion::server::SyncOp type 2021-12-19 22:55:24 +00:00
Dustin J. Mitchell
ef12e1a2f8 Define UDAs 2021-12-18 23:39:56 +00:00
Dustin J. Mitchell
acd4aefc17
Merge pull request #313 from djmitche/issue89
Add support for annotations
2021-10-31 09:49:25 -04:00
Dustin J. Mitchell
e9b3611fd9 Use tag_<tag> instead of tag.<tag>
This aligns with the Taskwarrior data model.
2021-10-29 20:41:37 -04:00
Dustin J. Mitchell
4314b8bc2d Add support for annotations
This matches the taskwarrior task model for annotations.
2021-10-29 20:28:23 -04:00
Dustin J. Mitchell
7fe5553093 fix errors from merges 2021-10-26 22:37:51 -04:00
Dustin J. Mitchell
7c8c85f27f
Merge pull request #301 from djmitche/issue299
Drop tindercrypt, document encryption
2021-10-26 22:05:59 -04:00
Dustin J. Mitchell
8df3e4f2f8 use TW's semantics for start 2021-10-24 20:57:58 -04:00
Dustin J. Mitchell
2f7c11bcc3
Merge pull request #305 from djmitche/issue23-client-apply
Client initialization from snapshots
2021-10-20 22:22:51 -04:00
Dustin J. Mitchell
c63a21797a remove dbg!(..) 2021-10-20 21:25:28 -04:00
Dustin J. Mitchell
ec35d4fa20 use a distinct error for out-of-sync replica 2021-10-20 21:23:29 -04:00
Dustin J. Mitchell
c72cae648d Apply snapshots automatically on empty taskdbs 2021-10-20 21:23:29 -04:00