Commit graph

77 commits

Author SHA1 Message Date
Dustin J. Mitchell
5c42107006
Add an MSRV (#89)
This just copies TaskChampion's MSRV for the moment.
2025-02-16 16:48:12 -05:00
Dustin J. Mitchell
e2600dadc5
Fix and test for clap errors (#92)
* fix clap error

Signed-off-by: Cameron Wong <cam@camdar.io>

* Refactor to test more arg-parsing

---------

Signed-off-by: Cameron Wong <cam@camdar.io>
Co-authored-by: Cameron Wong <cam@camdar.io>
2025-02-15 10:34:10 -05:00
dependabot[bot]
e401b67c43
Bump uuid from 1.12.0 to 1.13.1 (#86)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.12.0 to 1.13.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.12.0...1.13.1)

---
updated-dependencies:
- dependency-name: uuid
  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>
2025-02-05 20:03:57 -05:00
Dustin J. Mitchell
7f51d2fa1f
Allow specifying configuration params in env vars (#83) 2025-02-02 22:39:45 -05:00
Dustin J. Mitchell
5ffd179dcc
Use version-specific references for docker-compose (#85) 2025-02-02 22:30:24 -05:00
dependabot[bot]
401c102e94
Bump tempfile from 3.15.0 to 3.16.0 (#82)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.15.0 to 3.16.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.15.0...v3.16.0)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2025-01-29 13:35:40 -05:00
Marcel Röthke
d5e7c88608
Customize Listen Address (#81)
Replace --port with --listen to allow specifying the interface as well

Also fix the docker-compose file and adjust tests to this change
2025-01-24 19:58:56 -05:00
dependabot[bot]
84d942213c
Bump uuid from 1.11.0 to 1.12.0 (#80)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.11.0...1.12.0)

---
updated-dependencies:
- dependency-name: uuid
  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>
2025-01-16 06:38:55 -05:00
Dustin J. Mitchell
5332d90c57
Improve error handling in the inmemory storage implementation. (#79)
Improve error handling in the inmemory storage

This addresses a TODO, in a type that is really only used for testing.

This also adds a test for a similar circumstance -- adding the same
version twice -- in the SQLite storage, but it is already handled
correctly.
2025-01-13 08:32:27 -05:00
dependabot[bot]
f3445d558e
Bump tempfile from 3.14.0 to 3.15.0 (#77)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.14.0 to 3.15.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.14.0...v3.15.0)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2025-01-02 22:21:04 -05:00
Dustin J. Mitchell
65a3d806d7
Followup to the 0.5.0 release (#76)
* Document RELEASING.md process
* Bump version numbers
* Do not automatically produce GH releases, and do not build binaries to attach to them
* Only build docker images on tags
* Use the `latest` Docker image tag in the Docker-compose config
2024-12-15 22:51:57 -05:00
Dustin J. Mitchell
a364791fcc
Provide a docker-compose.yml that will run a server, with TLS (#68)
This is intended to support the user journey of someone with a VPS who
wants to set up the sync server, but does not have the knowledge and
skills to set up a reverse proxy and TLS certificate themselves.
2024-12-15 18:46:54 -05:00
Dustin J. Mitchell
26e4e6c844
Update idna via url - RUSTSEC-2024-0421 (#75) 2024-12-12 23:12:29 -05:00
Dustin J. Mitchell
9b6c95764e
Cargo upgrade hashbrown (#72) 2024-12-12 23:12:12 -05:00
Dustin J. Mitchell
8e6d901bf2
Fix new clippy lints 2024-11-30 02:54:38 +00:00
Dustin J. Mitchell
1828a31a24
Make storage transactions specific to a client_id (#67)
Transactions for different client_ids cannot interfere with one another,
so this provides an opportunity for the sort of concurrency that a
mult-client hosting solution might need. For example, a postgres backend
could lock the client row in each transaction.
2024-11-27 00:09:03 -05:00
Dustin J. Mitchell
4029c03479
Support sequential consistency in SQLite implementation (#64)
This is a bit tricky because the `Storage` trait is `Send + Sync`, but
an SQLite connection is neither. Since this is not intended for
large-scale use, the simple solution is just to open a new SQLite
connection for each transaction. More complex alternatives include
thread-local connection pools or a "worker thread" that owns the
connection and communicates with other threads via channels.

This also updates the InMemoryStorage implementation to be a bit more
strict about transactional integrity, which led to a number of test
changes.
2024-11-26 16:22:35 -05:00
Dustin J. Mitchell
75f384d4ec
Log Errors causing ISE's at the error level (#65)
This will cause these to be displayed even without $RUST_LOG set. If
RUST_LOG=debug, the message is printed twice (once at the debug level by
the built-in `Logger` middleware), but this is better than not at all.
2024-11-24 22:29:01 -05:00
Dustin J. Mitchell
895bb433e0
add notes about logging levels to README (#66) 2024-11-24 21:09:04 -05:00
Dustin J. Mitchell
50d028f45e
Support a client-id allowlist (#62)
This will support setting up publicly-accessible personal servers,
without also allowing anyone to create a new client.
2024-11-21 21:27:52 -05:00
Dustin J. Mitchell
5ad3b8e8bf
Reorganize the core API (#60) 2024-11-19 18:22:42 -05:00
Dustin J. Mitchell
2b1ad12a79
Add cargo-semver-checks (#59) 2024-11-17 17:59:39 -05:00
Dustin J. Mitchell
c876af0a25
Remove references to release binaries (#58)
These don't exist, and the remainder of the README instructions are
sufficient.
2024-11-17 16:52:56 -05:00
Dustin J. Mitchell
47ce4c1e3b
Split the server into three crates (#56)
This will make it easier to build variations on the server, or embed it
into larger projects.
2024-11-17 15:12:42 -05:00
Dustin J. Mitchell
5769781553
Add a suite of Rust-related actions (#55)
* Add a suite of Rust-related actions

* cargo fmt

* nightly for rustdoc
2024-11-17 14:25:53 -05:00
Dustin J. Mitchell
7d0325e807
Use Signal instead of PGP to contact me securely (#52) 2024-11-16 13:40:35 -05:00
dependabot[bot]
4727c9b8b6
Bump tempfile from 3.13.0 to 3.14.0 (#51)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.13.0 to 3.14.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.13.0...v3.14.0)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2024-11-08 19:47:57 -05:00
dependabot[bot]
2ddd66dcf8
Bump thiserror from 1.0.64 to 2.0.0 (#50)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.64 to 2.0.0.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.64...2.0.0)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 21:26:28 -05:00
Óscar García Amor
2e5d031d1c
Fixes chrono warnings (#49) 2024-11-06 07:40:49 -05:00
Dustin J. Mitchell
c1862d30ad
pin rustsec/audit-check 2024-10-30 20:16:50 -04:00
dependabot[bot]
9b837ba9f9
Bump uuid from 1.10.0 to 1.11.0 (#46)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.10.0...1.11.0)

---
updated-dependencies:
- dependency-name: uuid
  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>
2024-10-30 20:15:07 -04:00
Dustin J. Mitchell
1d6abd00ec
Report not-found when AddChildVersion would succeed. (#48)
Previously, if there was no latest version (the latest version is nil),
this would return GONE when in fact AddChildVersion would succeed.
2024-10-30 20:14:44 -04:00
dependabot[bot]
526b37f6e5
Bump env_logger from 0.10.2 to 0.11.5 (#45)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.10.2 to 0.11.5.
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.10.2...v0.11.5)

---
updated-dependencies:
- dependency-name: env_logger
  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>
2024-10-02 22:21:45 -04:00
Dustin J. Mitchell
4ae844cea8
Run cargo update (#44) 2024-10-01 20:33:45 -04:00
Dustin J. Mitchell
a7b313c4b3
Empty pre-commit config (#33) 2024-09-30 21:16:26 -04:00
Dustin J. Mitchell
a132238f68
Update some dependencies (#43) 2024-09-30 21:05:02 -04:00
dependabot[bot]
b5e95b4af4
Bump tempfile from 3.12.0 to 3.13.0 (#41)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.12.0 to 3.13.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.12.0...v3.13.0)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2024-09-30 21:03:01 -04:00
Dustin J. Mitchell
da9a4c11e9
use rustsec/audit-check at main, not master (#42) 2024-09-30 20:54:29 -04:00
Martin Eek Gerhardsen
af918bdf0d
time 0.3.20 -> 0.3.36 (#40)
Co-authored-by: Martin Eek Gerhardsen <Martin.Eek.Gerhardsen@sintef.no>
2024-08-20 18:58:32 -04:00
dependabot[bot]
16faae1b64
Bump actix-web from 4.8.0 to 4.9.0 (#38)
Bumps [actix-web](https://github.com/actix/actix-web) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/actix/actix-web/releases)
- [Changelog](https://github.com/actix/actix-web/blob/master/CHANGES.md)
- [Commits](https://github.com/actix/actix-web/compare/web-v4.8.0...web-v4.9.0)

---
updated-dependencies:
- dependency-name: actix-web
  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>
2024-08-12 21:24:33 -04:00
dependabot[bot]
c2f19e558a
Bump tempfile from 3.11.0 to 3.12.0 (#37)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.11.0 to 3.12.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2024-08-06 20:15:20 -04:00
dependabot[bot]
00bff9cec1
Bump tempfile from 3.10.1 to 3.11.0 (#36)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.10.1 to 3.11.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.10.1...v3.11.0)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2024-08-02 19:12:34 -04:00
dependabot[bot]
2300a45f9c
Bump tempfile from 3.9.0 to 3.10.1 (#35)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.9.0 to 3.10.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.9.0...v3.10.1)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2024-07-30 20:55:57 -04:00
dependabot[bot]
2e6d648321
Bump tempfile from 3.6.0 to 3.9.0 (#34)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.6.0 to 3.9.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.6.0...v3.9.0)

---
updated-dependencies:
- dependency-name: tempfile
  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>
2024-07-29 22:33:02 -04:00
dependabot[bot]
0407fb3c3e
Bump rusqlite from 0.31.0 to 0.32.1 (#32)
Bumps [rusqlite](https://github.com/rusqlite/rusqlite) from 0.31.0 to 0.32.1.
- [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.31.0...v0.32.1)

---
updated-dependencies:
- dependency-name: rusqlite
  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>
2024-07-27 21:32:16 -04:00
Adrian Sadłocha
c3ccf1ee2b
Fix logging levels (#29) 2024-07-21 11:02:12 -04:00
Adrian Sadłocha
bfcb0e675e
Provide more context on mkdir failures (#28)
For example, instead of:

```
Error: Permission denied (os error 13)
```

one will get:

```
Error: Failed to create `/var/lib/taskchampion-sync-server`.

Caused by:
    Permission denied (os error 13)
```

after this patch is applied.
2024-07-20 21:29:49 -04:00
dependabot[bot]
f23eea1928
Bump uuid from 1.9.1 to 1.10.0 (#26)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.9.1...1.10.0)

---
updated-dependencies:
- dependency-name: uuid
  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>
2024-07-10 08:36:03 -04:00
Dustin J. Mitchell
bb8febdf91
Merge pull request #25 from GothenburgBitFactory/dependabot/cargo/uuid-1.9.1
Bump uuid from 1.8.0 to 1.9.1
2024-06-25 15:51:30 -04:00
dependabot[bot]
9d92797902
Bump uuid from 1.8.0 to 1.9.1
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.8.0 to 1.9.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.8.0...1.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-25 00:18:52 +00:00