Commit graph

101 commits

Author SHA1 Message Date
dependabot[bot]
19f2c0d7b4
Bump uuid from 1.7.0 to 1.8.0 (#3290)
* Bump uuid from 1.7.0 to 1.8.0

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* use as_bytes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dustin J. Mitchell <djmitche@google.com>
2024-03-24 22:19:27 +00:00
Dustin J. Mitchell
18a8bd2997
Use corrosion instead of CMakeRust (#3273)
* Use corrosion instead of CMakeRust
* use OpenSUSE tumbleweed (latest) to get newer CMake
2024-03-02 16:21:34 -05:00
ryneeverett
34c0e67469
show undo diff (#3213)
Exposes undo operations via the C API, and uses those to show a (new, differently formatted) diff before committing the undo.
2024-02-09 22:11:14 -05:00
Akash Shanmugaraj
aeb6acf640
added BYOS (Bring Your Own SERVICE_ACCOUNT) for GCS authentication (#3262) 2024-01-27 07:57:12 -05:00
Dustin J. Mitchell
bacb79302a
Change 'should' to 'may' in server snapshot requirements (#3256)
For an object store backend, none of the suggestions in this paragraph
make much sense. "May" is much softer, in terms of
https://datatracker.ietf.org/doc/html/rfc2119. And in particular, the
cloud server implementation does not do any of these things.
2024-01-21 22:13:10 -05:00
ryneeverett
082b6084fa
sync server: Don't hash client_id for salt (#3250)
We don't know why we're doing this step so we probably shouldn't.
Cryptography isn't magic and extra steps are harmful in that they
obscure the important parts.
2024-01-21 18:16:25 -05:00
Dustin J. Mitchell
fa21835001
Better links from TW devel docs to TaskChampion (#3253) 2024-01-21 18:03:11 -05:00
ryneeverett
4008069a70
sync: Use 600,000 iterations for pbkdf2. (#3251)
Per [wikipedia](https://en.wikipedia.org/wiki/PBKDF2), "In 2023, OWASP
recommended to use 600,000 iterations for PBKDF2-HMAC-SHA256..."
2024-01-21 14:06:53 -05:00
Dustin J. Mitchell
323bd23251
Removed unused import (#3245)
Co-authored-by: Akash Shanmugaraj <65720968+akashShanmugraj@users.noreply.github.com>
2024-01-21 13:14:02 -05:00
Dustin J. Mitchell
9566c929e2
Add support for cloud sync, specifically GCP (#3223)
* Add support for cloud sync, specifically GCP

This adds generic support for sync to cloud services, with specific
spuport for GCP. Adding others -- so long as they support a
compare-and-set operation -- should be comparatively straightforward.

The cloud support includes cleanup of unnecessary data, and should keep
total space usage roughly proportional to the number of tasks.

Co-authored-by: ryneeverett <ryneeverett@gmail.com>
2024-01-21 12:36:37 -05:00
Dustin J. Mitchell
6d23497d6f
Update task model docs (#3234)
Dependencies are now implemented, and the docs should be clear about the
format of the keys and values.

Noticed while working on GothenburgBitFactory/tw.org#212.
2023-12-27 21:22:23 -05:00
Dustin J. Mitchell
e29925155d
Fix formatting of comments in taskchampion.h (#3228) 2023-12-27 20:02:23 -05:00
Dustin J. Mitchell
bd46b254af
Fix unnecessary mut (#3224) 2023-12-24 20:14:17 -05:00
Dustin J. Mitchell
1380d79148
Update to 2021 edition (#3217)
..and also include the rust-version property in the taskchampion crate.
2023-12-24 08:58:04 -05:00
Dustin J. Mitchell
b52248f146
Make the sync server client an optional feature (#3216)
* Make the sync server client an optional feature

* fix comment, remove unnecessary allow(dead_code)
2023-12-24 08:57:37 -05:00
ryneeverett
e95f95eb08
xtask msrv: this subcommand is not capitalized (#3218)
$ cargo xtask MSRV 1.99
        Finished dev [unoptimized + debuginfo] target(s) in 0.21s
         Running `target/debug/xtask MSRV 1.99`
    Error: xtask: unknown xtask
    $ cargo xtask msrv 1.99
        Finished dev [unoptimized + debuginfo] target(s) in 0.21s
         Running `target/debug/xtask msrv 1.99`
    xtask: Updated MSRV in ../.github/workflows/checks.yml
    xtask: Updated MSRV in ../.github/workflows/rust-tests.yml
    xtask: Updated MSRV in taskchampion/src/lib.rs
    xtask: Updated MSRV in taskchampion/Cargo.toml
2023-12-24 08:57:01 -05:00
dependabot[bot]
1b6fd7c803
Bump regex from 1.9.4 to 1.10.2 (#3201)
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.4 to 1.10.2.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.4...1.10.2)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-14 12:03:15 -05:00
dependabot[bot]
1392f55944
Bump proptest from 1.3.1 to 1.4.0 (#3198)
* Bump proptest from 1.3.1 to 1.4.0

Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/v1.3.1...v1.4.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update MSRV to 1.65 to match proptest

Rust 1.65 is just over one year old right now.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dustin J. Mitchell <djmitche@google.com>
2023-11-13 23:21:54 -05:00
dependabot[bot]
41992d4849
Bump regex from 1.5.6 to 1.9.4 (#3197)
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.6 to 1.9.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.6...1.9.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 19:19:55 -05:00
Isaac Wyatt
8f327db5b9
Add cargo xtask msrv (#3189)
* added cargo xtask msrv X.Y placeholder function

* add placeholder function cargo xtask msrv (X.Y)

* implement CLI arg vec, graceful errors, formatting

* impl. xtask msrv insert,upsert,graceful failures

* misc fixes - still need to update write method

* interim commit before removing comments

* updated per @djmitche suggestions. 2 fixes todo

* impl unwrap error checks, file truncating, etc

* removed test paths

* updated toml with specific regex version

* updated cargo toml and lock for regex version

* updated cargo toml and lock for regex version

* fixed clippy complaints

* impl replace file content, not comments

* accept djmitche suggestion to change comment documentation

Co-authored-by: Dustin J. Mitchell <dustin@v.igoro.us>

* refactored, need to fix Cow return

* removed debug prints, unncessary if, etc.

* fix non-idiomatic rust, arg.len error handling

* add #MSRV to config files and test

---------

Co-authored-by: iwyatt <sayhello+git@isaacwyatt.com>
Co-authored-by: Dustin J. Mitchell <dustin@v.igoro.us>
2023-11-11 17:54:38 -05:00
Nathan Luong
76b21f49e8
Implement due dates related methods for Task and TaskMut (#3145)
* Implement due dates related methods for Task and TaskMut

* Merge add_due and remove_due into the single method called set_due

* reformat the file
2023-07-25 09:09:25 -04:00
Dustin J. Mitchell
7f68441916
Change "client key" to "client id" (#3130)
In #3118 @ryneeverett mentioned that "key" suggests that this is a
secret, when in truth it's just a user identifier. So "ID" is a better
word for it than "key".
2023-07-11 22:13:53 -04:00
Dustin J. Mitchell
48543b7fcb Put Rust deps at the root of the workspace
This allows us to be consistent about the required versions for each of
the member packages.

Fixes #3088.
2023-06-21 12:01:06 -04:00
Dustin J. Mitchell
7a310fbfc1 Remove redundant comments
There's no need to repeat comments on the fields of a struct within
taskchampion-lib.
2023-06-21 12:00:23 -04:00
dependabot[bot]
1930ea0ad0 Bump strum_macros from 0.24.3 to 0.25.0
Bumps [strum_macros](https://github.com/Peternator7/strum) from 0.24.3 to 0.25.0.
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 16:29:57 -04:00
dependabot[bot]
790a50f7e0 Bump strum from 0.24.1 to 0.25.0
Bumps [strum](https://github.com/Peternator7/strum) from 0.24.1 to 0.25.0.
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 13:36:25 -04:00
Dustin J. Mitchell
efc2531a7f fix a spot where C code looked like a doctest 2023-06-19 13:36:17 -04:00
Dustin J. Mitchell
75e10676ce Use ffizz_header to generate taskchampion.h 2023-06-19 13:36:17 -04:00
dependabot[bot]
989a330e46 Bump ureq from 2.6.1 to 2.7.0
Bumps [ureq](https://github.com/algesten/ureq) from 2.6.1 to 2.7.0.
- [Changelog](https://github.com/algesten/ureq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/algesten/ureq/compare/2.6.1...2.7.0)

---
updated-dependencies:
- dependency-name: ureq
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-15 19:54:42 -04:00
dependabot[bot]
d28cdc39fa Bump proptest from 1.1.0 to 1.2.0
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 10:55:10 -04:00
dependabot[bot]
66b2db52f4 Bump clap from 4.2.1 to 4.3.0
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.2.1...clap_complete-v4.3.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 19:09:04 -04:00
Dustin J. Mitchell
f0ced5287b bump MSRV 2023-04-09 16:17:16 -04:00
Dustin J. Mitchell
645c6bf13f update clap used in sync-server 2023-04-09 16:17:16 -04:00
Dustin J. Mitchell
5f2d82dc72 update MSRV 2023-04-09 15:44:26 -04:00
Dustin J. Mitchell
ae028983b6 clippy fixes 2023-04-09 15:44:26 -04:00
Dustin J. Mitchell
52fdc6a877 Update Actix crates to latest versions
This avoids a vulnerability in tokio (#3085). The major version updates
of both actix-web and actix-rt required some signficant changes. Chief
among those, it turns out we were relying on actix-rt to run the
HttpServer in a different thread from the rest of the test, so that we
could talk to it from sync code in the test thread. This no longer
works, so the sync code is now run in a dedicated thread with
`actix_rt::task::spawn_blocking`.
2023-04-09 15:44:26 -04:00
dependabot[bot]
77e1773b04 Bump rusqlite from 0.28.0 to 0.29.0
Bumps [rusqlite](https://github.com/rusqlite/rusqlite) from 0.28.0 to 0.29.0.
- [Release notes](https://github.com/rusqlite/rusqlite/releases)
- [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md)
- [Commits](https://github.com/rusqlite/rusqlite/compare/v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: rusqlite
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 17:37:40 -04:00
dependabot[bot]
d2f2e2b4a4 Bump rstest from 0.16.0 to 0.17.0
Bumps [rstest](https://github.com/la10736/rstest) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/la10736/rstest/releases)
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/la10736/rstest/compare/0.16.0...0.17.0)

---
updated-dependencies:
- dependency-name: rstest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-21 15:23:16 -04:00
ryneeverett
1c4e103904 taskchampion: Add time.utc_timestamp function.
Add a function that returns a Timestamp from an i64. One advantage is
improved readability since this function is guaranteed to return a
`LocalResult::Single`. Anther advantage is that it will panic if
something other than a LocalResult::Single is returned by chrono, which
shouldn't be possible for UTC timestamps which can't have DST ambiguity.
2023-02-06 08:23:27 -05:00
dependabot[bot]
5a4b981b6c Bump proptest from 1.0.0 to 1.1.0
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/1.0.0...v1.1.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 08:04:06 -05:00
Dustin J. Mitchell
d6475cc096 explicit type for cache value 2023-02-03 20:25:51 -05:00
Dustin J. Mitchell
c701a81699 make calculation of DependencyMap easier to read 2023-02-03 20:25:51 -05:00
Dustin J. Mitchell
7b0104e177 Only consider tasks dependent if both are pending
More specifically, consider them dependent if a task in the working set
(regardless of status) depends on a task with status "pending"
(regardless of presence in the working set).  This has the desired
user-visible effect of making a task no longer +BLOCKED when the task it
depends on is marked as done, without requiring a working-set rebuild in
the intervening time.
2023-02-03 20:25:51 -05:00
Dustin J. Mitchell
05c7f36b17 fix typo 2023-02-03 20:02:48 -05:00
Dustin J. Mitchell
f94df28226 Do not further update 'modified' if it's explicitly set 2023-02-03 20:02:48 -05:00
Dustin J. Mitchell
b963af9b4b use non-deprecated chrono functions 2023-02-02 20:00:15 -05:00
dependabot[bot]
6fc78209da Bump uuid from 1.2.1 to 1.3.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.2.1...1.3.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-02 19:42:39 -05:00
ryneeverett
725dab681f fixup 2023-01-16 16:56:09 -05:00
ryneeverett
2f7196dbfc Don't expose third-party errors in public API. 2023-01-16 16:56:09 -05:00
ryneeverett
f56296ea93 Address inline review comments. 2023-01-16 16:56:09 -05:00