Commit Graph

170 Commits

Author SHA1 Message Date
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
Dustin J. Mitchell
0af66fd6c8 Validate encryption using externally-generated data 2021-10-19 18:31:30 -04:00
Dustin J. Mitchell
17f5521ea4 add an app_id to the encryption AAD 2021-10-17 18:06:16 -04:00
Dustin J. Mitchell
4300f7bdda use CHACHA20_POLY1305 instead of AES_256_GCM 2021-10-17 17:37:32 -04:00
Dustin J. Mitchell
97d1366b66 move taskchampion::server::remote::crypto to taskchampion::server::crypto 2021-10-16 22:37:28 +00:00
Dustin J. Mitchell
0f39a3f3b2 [BREAKING CHANGE] drop use of tindercrypt, and use ring directly 2021-10-16 22:34:33 +00:00
Dustin J. Mitchell
ddfb327292 WIP 2021-10-15 02:56:46 +00:00
Dustin J. Mitchell
bd2189e589 Merge pull request #300 from djmitche/issue23-client
Client support for adding snapshots
2021-10-13 16:44:50 -04:00
Dustin J. Mitchell
1c6a5315c9 remove unused file 2021-10-11 21:29:49 -04:00
Dustin J. Mitchell
ed3475d9ea support avoiding snapshots 2021-10-11 21:00:08 -04:00
Dustin J. Mitchell
b97f6dc4d5 Send snapshots to server 2021-10-11 21:00:07 -04:00
Dustin J. Mitchell
13a96efacb Add snapshot encoding / decoding 2021-10-11 20:58:36 -04:00
Dustin J. Mitchell
bde19d7f07 Return SnapshotUrgency from AddVersion 2021-10-11 20:58:34 -04:00
Dustin J. Mitchell
b8d892878c document sync data formats 2021-10-11 20:56:45 -04:00
Dustin J. Mitchell
79f07b57ad more taskdb refactoring 2021-10-11 20:56:45 -04:00
Dustin J. Mitchell
4d19ca7bdb add server-side config --snapshot-{days,versions} 2021-10-10 01:28:05 +00:00
Dustin J. Mitchell
a0a3f36a16 factor taskdb into multiple modules 2021-10-09 09:47:10 -04:00
Dustin J. Mitchell
d01386f3ea Merge pull request #292 from taskchampion/issue291
Switch to pretty_assertions
2021-10-02 10:54:25 -04:00
Dustin J. Mitchell
bcef6bf392 remove redundant {..} 2021-10-01 22:18:24 -04:00
Dustin J. Mitchell
a143660124 Switch to pretty_assertions 2021-10-02 01:08:26 +00:00
Dustin J. Mitchell
a76d7580ce cargo fmt 2021-09-26 13:59:58 -04:00