Commit graph

81 commits

Author SHA1 Message Date
Dustin J. Mitchell
e977fb294c Implement modifying tasks' "wait" value 2021-05-31 08:49:35 -04:00
Dustin J. Mitchell
d4f669ed6e Define and test an MSRV 2021-05-30 16:07:41 -04:00
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
dependabot[bot]
af39be175c
Bump lmdb-rkv from 0.12.3 to 0.14.0
Bumps [lmdb-rkv](https://github.com/mozilla/lmdb-rs) from 0.12.3 to 0.14.0.
- [Release notes](https://github.com/mozilla/lmdb-rs/releases)
- [Commits](https://github.com/mozilla/lmdb-rs/compare/0.12.3...0.14.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-30 07:43:23 +00: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
dependabot[bot]
357bbcad01
Bump uuid from 0.8.1 to 0.8.2
Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/0.8.1...0.8.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 23:34:12 +00:00
Dustin J. Mitchell
98fdb15b75
Merge pull request #176 from djmitche/ignore-clippy-identifier-caps
fix some clippy stuff
2021-03-29 19:33:02 -04:00
Dustin J. Mitchell
fdeadfd981 Fix upper_case_acronyms lint 2021-03-29 13:26:02 +00:00
dependabot[bot]
959c4f47f7
Bump proptest from 0.9.6 to 1.0.0
Bumps [proptest](https://github.com/altsysrq/proptest) from 0.9.6 to 1.0.0.
- [Release notes](https://github.com/altsysrq/proptest/releases)
- [Changelog](https://github.com/AltSysrq/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/altsysrq/proptest/compare/0.9.6...1.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-29 09:49:46 +00:00
Dustin J. Mitchell
0f02b38fd8 Modify ureq usage for new version 2021-03-28 17:48:31 -04:00
dependabot[bot]
1de0816661 Bump ureq from 1.5.2 to 2.1.0
Bumps [ureq](https://github.com/algesten/ureq) from 1.5.2 to 2.1.0.
- [Release notes](https://github.com/algesten/ureq/releases)
- [Changelog](https://github.com/algesten/ureq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/algesten/ureq/commits/2.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-28 17:48:31 -04:00
dependabot[bot]
e0dbeb2763
Bump log from 0.4.11 to 0.4.14
Bumps [log](https://github.com/rust-lang/log) from 0.4.11 to 0.4.14.
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.14)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-27 22:50:56 +00:00
Dustin J. Mitchell
ded325c1be
Merge pull request #168 from djmitche/dependabot/cargo/serde-1.0.125
Bump serde from 1.0.117 to 1.0.125
2021-03-27 18:48:54 -04:00
dependabot[bot]
ae46f82d94
Bump serde from 1.0.117 to 1.0.125
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.117 to 1.0.125.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.125)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-27 22:04:30 +00: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
3cccdc7e32 v0.3.0 2021-01-10 22:45:12 -05: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
451690afb7 v0.2.0 2020-11-29 20:59:09 -05:00
Dustin J. Mitchell
95ada3d2bb Add metadata for the taskchampion crate 2020-11-29 20:35:25 -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