Dustin J. Mitchell
bb7130f960
Support multiple exit codes
...
..with more specific error enums.
2021-05-18 18:57:55 +00:00
Dustin J. Mitchell
73b6648d06
assert that working-set element 0 is None
2021-05-16 09:42:18 -04:00
Dustin J. Mitchell
5f6918fbc7
Skip element 0 when rebuilding the working set
...
The existing code was correct, assuming that element 0 is always None,
but this is clearer.
2021-05-16 09:42:17 -04:00
Dustin J. Mitchell
fa7623ebe7
Handle setting a working set item to None twice
...
Without this, setting an item to None that did not already exist failed,
because the kv delete operation did not find the referenced key.
This also checks that the index is not 0, which is not allowed as the
working set is 1-indexed.
2021-05-16 09:40:35 -04:00
Dustin J. Mitchell
3a2450cb23
provide context for errors to help debugging
2021-05-16 09:40:35 -04:00
Dustin J. Mitchell
cbe11a1d3d
fix new clippy warnings
2021-05-16 09:38:40 -04:00
Dustin J. Mitchell
373cef9d33
[breaking] Include /v1/ in the sync-server paths
...
This is an incompatible change to the sync-server protocol.
2021-05-14 12:51:24 -04:00
Dustin J. Mitchell
c8d6619d71
Replace tempfile with tempdir
2021-04-16 19:29:27 -04:00
Dustin J. Mitchell
c2349cf708
Update links to point to new org
2021-04-03 19:44:31 -04:00
Dustin J. Mitchell
3fc07c9e83
Merge pull request #170 from djmitche/dependabot/cargo/ureq-2.1.0
...
Bump ureq from 1.5.2 to 2.1.0
2021-03-29 19:51:16 -04:00
Dustin J. Mitchell
fdeadfd981
Fix upper_case_acronyms lint
2021-03-29 13:26:02 +00:00
Dustin J. Mitchell
0f02b38fd8
Modify ureq usage for new version
2021-03-28 17:48:31 -04:00
dbr
5ee67d65e2
Remove whitespace in comment to avoid cargo fmt doing weird things
2021-03-25 18:29:53 +11:00
dbr
6d77b9a319
cargo fmt
2021-03-25 17:10:11 +11:00
dbr
4d9755c43b
Replace 'failure' crate with anyhow+thiserror
...
Closes #148
2021-03-25 16:33:35 +11:00
Dustin J. Mitchell
ae4cee1ac3
add docs for the 'server' and 'storage' modules
2021-01-10 22:22:18 -05:00
Dustin J. Mitchell
02d9c577ab
use StorageConfig instead of ReplicaConfig
2021-01-10 22:22:18 -05:00
Dustin J. Mitchell
b004b6cb93
use ServerConfig::into_server instead of server::from_config
2021-01-10 22:22:18 -05:00
Dustin J. Mitchell
15ffc62279
rename taskstorage to storage
2021-01-10 22:22:17 -05:00
Dustin J. Mitchell
b95c146a7e
Adjust Tag syntax to match TaskWarrior
2021-01-10 03:47:38 +00:00
Dustin J. Mitchell
087769146e
Centralize API for working set to a single struct
...
Rather than allow addressing tasks either by working set ID or uuid,
with attendant performance issues, this moves the API for the working
set to a single struct that just serves as a 1-1 mapping of indexes to
UUIDs. It's up to the caller to use this information.
2021-01-09 23:42:27 +00:00
Dustin J. Mitchell
45d3e38c63
Always pass Uuids by value
...
Rust handles this well. Fixes #125 .
2021-01-09 22:09:06 +00:00
Dustin J. Mitchell
5e92770eb8
Automatically rebuild working set after sync
2021-01-02 14:47:36 -05:00
Dustin J. Mitchell
dc2df10158
Control whether to renumber the working set when rebuilding it
2021-01-02 14:47:36 -05:00
Dustin J. Mitchell
b62370c150
Rename replica.gc to replica.rebuild_working_set
...
The command-line operation is still `gc`, but we'll break that down into
finer pieces in the replica.
2021-01-02 13:23:48 -05:00
Dustin J. Mitchell
31378cb8d4
Include client key in a header, not the URL
...
Since this value is used both for identification and authentication, it
shouldn't be in the URL where it might be logged or otherwise
discovered.
2020-12-28 23:08:42 +00:00
Dustin J. Mitchell
92d629522b
rename client id -> client key
2020-12-28 21:32:59 +00:00
Dustin J. Mitchell
a8d45c67c6
Encrypt content sent to the server
...
This implements client-side encryption, so that users' task information
is not availble to the server (or to anyone who does not have the
`encryption_secret`).
2020-12-27 18:51:41 +00:00
Dustin J. Mitchell
00f548c713
implement generic report generation
2020-12-26 04:11:20 +00:00
Dustin J. Mitchell
e7b7e88bc9
convert unrwap to expect and add testing
2020-12-25 02:52:49 +00:00
Dustin J. Mitchell
8a10fa8335
fix some more pedantic lints
2020-12-25 02:43:51 +00:00
Dustin J. Mitchell
8989b0d2e3
Fix clippy warnings and make them all errors
2020-12-24 17:39:49 +00:00
Dustin J. Mitchell
28c5fb2268
Add support for task tags
...
Based on properties named `tag.<tag>` as already documented
2020-12-21 20:43:09 +00:00
Dustin J. Mitchell
2c579b9f01
Switch to a command-line API closer to TaskWarrior
...
* Use a parser (rather than clap) to process the command line
* Outline some generic support for filtering, reporting, modifying, etc.
* Break argument parsing strictly from invocation, to allow independent testing
2020-12-19 16:40:09 -05:00
Dustin J. Mitchell
de03209285
bits of docs
2020-11-29 21:26:39 -05:00
Dustin J. Mitchell
0a1ee470f7
use log and env_logger, and add some logging around sync
2020-11-29 18:18:28 -05:00
Dustin J. Mitchell
1b7dbd0715
remove delete_task from the Replica API so it's not misused
2020-11-29 14:26:47 -05:00
Dustin J. Mitchell
42d988d601
fix clippy warnings
2020-11-29 14:05:51 -05:00
Dustin J. Mitchell
47cd051bd7
Merge pull request #71 from djmitche/issue7
...
Add start and stop commands
2020-11-28 23:19:21 -05:00
Dustin J. Mitchell
0e4ab4b88f
Add start and stop commands
2020-11-28 23:12:37 -05:00
Dustin J. Mitchell
8af7ba286d
Factor replica and sync configuration into simple owned structs
2020-11-28 16:57:32 -05:00
Dustin J. Mitchell
1a92613ddc
take configuration in env vars temporarily
2020-11-28 10:02:17 -05:00
Dustin J. Mitchell
2a37f090a5
Add RemoteServer to the taskchampion crate
2020-11-27 20:15:17 -05:00
Dustin J. Mitchell
d46f20e75a
adjust visibility, comment
2020-11-27 18:16:42 -05:00
Dustin J. Mitchell
0f98727d9b
replica.new_task now invents its own uuid
2020-11-26 22:44:13 -05:00
Dustin J. Mitchell
2064057688
fix clippy warnings
...
I don't know why these are "intermittent"
2020-11-26 22:36:31 -05:00
Dustin J. Mitchell
26b17c6dbc
Revert "add signing support"
...
It turns out we don't need this.
This reverts commit e92fc0628b .
2020-11-26 22:34:20 -05:00
Dustin J. Mitchell
3537db9bbe
implement a local sync server
2020-11-25 19:13:32 -05:00
Dustin J. Mitchell
8f7e2e2790
add a 'task sync' command using a copy of the test server
2020-11-25 18:07:04 -05:00
Dustin J. Mitchell
a81c84d7c7
refactor sync to new model
2020-11-25 17:58:03 -05:00