Commit graph

128 commits

Author SHA1 Message Date
Dustin J. Mitchell
6e8c72b543
Merge pull request #129 from djmitche/postgres
Some checks failed
checks / Check & Clippy (push) Has been cancelled
checks / Rustdoc (push) Has been cancelled
checks / Formatting (push) Has been cancelled
checks / Cargo Semver Checks (push) Has been cancelled
checks / mdBook Documentation (push) Has been cancelled
docs / mdbook-deploy (push) Has been cancelled
tests - rust / rust 1.85.0 / postgres 17 (push) Has been cancelled
tests - rust / rust stable / postgres 17 (push) Has been cancelled
security / Audit Rust Dependencies (push) Has been cancelled
Add `taskchampion-sync-server-storage-postgres`
2025-07-17 12:35:19 -04:00
Dustin J. Mitchell
609660b01f
remove irrelevant assertions from test 2025-07-17 12:01:52 -04:00
Dustin J. Mitchell
8b1f7e2b30
Apply suggestions from code review
Co-authored-by: ryneeverett <ryneeverett@gmail.com>
2025-07-17 12:00:22 -04:00
Dustin J. Mitchell
309abce339
Add taskchampion-sync-server-storage-postgres
This is built to be more robust than the SQLite storage, and to
integrate with other applications. The idea is that for example a web
application might interact with the same DB to create and delete clients
as customers come and go.
2025-07-14 12:37:50 -04:00
Dustin J. Mitchell
816c9a3c80
Merge pull request #130 from djmitche/add_version_checks_latest
More explicit requirements regarding `add_version`
2025-07-14 12:34:16 -04:00
Dustin J. Mitchell
b858febbca
Apply fixes from @ryneeverett
Co-authored-by: ryneeverett <ryneeverett@gmail.com>
2025-07-14 12:30:01 -04:00
Dustin J. Mitchell
48b3aebee2
Merge pull request #131 from djmitche/issue124
Add mdbook documentation for the sync server
2025-07-13 17:40:30 -04:00
Dustin J. Mitchell
60436a5524
Add mdbook documentation for the sync server 2025-07-13 17:39:19 -04:00
Dustin J. Mitchell
25911b44a6
More explicit requirements regarding add_version
The core crate calls `get_client` and verifies the `latest_version_id`
before it invokes `add_version`. With the SQLite backend, transactions
lock the entire database, so these two queries cannot be interleaved
with any changes to the `latest_version_id` and there's no possibility
of incorrect updates. With Postgres (#129) the effect is similar: the
read performed by `get_client` locks that row and prevents other
transactions from writing to it.

However, the storage trait should not rely on this behavior --
`add_version` should verify that it is adding a new version on top of
the correct parent version.
2025-07-13 13:04:38 -04:00
Dustin J. Mitchell
c539e604d9
Merge pull request #126 from djmitche/async
Make Storage methods async
2025-07-13 09:25:43 -04:00
Dustin J. Mitchell
57bbac8fea
assert as suggested, remove outcommented code 2025-07-12 22:58:59 -04:00
Dustin J. Mitchell
093446e5fb
bump major version 2025-07-12 15:24:13 -04:00
Dustin J. Mitchell
87d1d026b3
Merge pull request #125 from djmitche/issue121
Allow disabling automatic creation of clients
2025-07-12 09:48:44 -04:00
Dustin J. Mitchell
67576fe382
suggestion from @ryneeverett 2025-07-12 09:48:15 -04:00
Dustin J. Mitchell
7559364017
Make Storage methods async
This will better support concurrent requests.
2025-07-11 17:37:14 -04:00
Dustin J. Mitchell
61b9293287
Merge pull request #119 from djmitche/issue118
Default DATA_DIR in entrypoint to match VOLUME in the Dockerfile
2025-07-11 12:49:09 -04:00
Dustin J. Mitchell
0a71cce2d1
use a struct for arguments to WebServer::new 2025-07-10 22:10:50 -04:00
Dustin J. Mitchell
3a794341ce
Allow disabling automatic creation of clients
This may be useful in multi-user deployment scenarios where some
external administrative tools are used to create new clients.
2025-07-10 21:49:57 -04:00
Dustin J. Mitchell
4de5c9a345
Merge pull request #122 from djmitche/update
Update crates and bump MSRV to 1.82.0
2025-07-10 17:40:32 -04:00
Dustin J. Mitchell
d049618a59
Clippy fixes 2025-07-10 17:33:52 -04:00
Dustin J. Mitchell
cd874bc56a
Update crates and bump MSRV to 1.82.0 2025-07-10 17:29:28 -04:00
Dustin J. Mitchell
240d1b4df5
Default DATA_DIR in entrypoint to match VOLUME in the Dockerfile
Details are included in RELEASING.md for inclusion in the next set of
release notes.
2025-07-09 14:58:11 +00:00
Dustin J. Mitchell
953411bff8
Merge pull request #117 from djmitche/security-scan-weekly
run the security scan weekly, not daily
2025-06-01 20:44:27 -04:00
Dustin J. Mitchell
91763641c6
run the security scan weekly, not daily 2025-06-01 20:41:21 -04:00
Dustin J. Mitchell
721957d7c7
Merge pull request #116 from GothenburgBitFactory/dependabot/cargo/uuid-1.17.0
Bump uuid from 1.16.0 to 1.17.0
2025-05-23 20:42:56 -04:00
dependabot[bot]
35a4eefda3
Bump uuid from 1.16.0 to 1.17.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.16.0...v1.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-24 00:01:02 +00:00
Dustin J. Mitchell
ad01f28a40
Merge pull request #115 from GothenburgBitFactory/dependabot/cargo/actix-web-4.11.0
Bump actix-web from 4.10.2 to 4.11.0
2025-05-12 21:46:44 -04:00
Dustin J. Mitchell
29a4214117
Merge pull request #114 from GothenburgBitFactory/dependabot/cargo/tempfile-3.20.0
Bump tempfile from 3.19.1 to 3.20.0
2025-05-12 21:46:02 -04:00
dependabot[bot]
b9cdae975b
Bump actix-web from 4.10.2 to 4.11.0
Bumps [actix-web](https://github.com/actix/actix-web) from 4.10.2 to 4.11.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.10.2...web-v4.11.0)

---
updated-dependencies:
- dependency-name: actix-web
  dependency-version: 4.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 23:59:38 +00:00
dependabot[bot]
271e5eaf3d
Bump tempfile from 3.19.1 to 3.20.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.19.1 to 3.20.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.19.1...v3.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 23:54:47 +00:00
Dustin J. Mitchell
67b441081d
Merge pull request #112 from awilkins/fix/data-path
Make path to data folder consistent
2025-04-15 14:16:32 -04:00
Adrian Wilkins
5abb89c421 Make path to data folder consistent 2025-04-14 23:07:41 +01:00
Dustin J. Mitchell
cd15b2377b
Merge pull request #111 from djmitche/issue110
Cargo update, including tokio for RUSTSEC-2025-0023
2025-04-07 22:37:16 -04:00
Dustin J. Mitchell
ceed460707
Cargo update, including tokio for RUSTSEC-2025-0023 2025-04-07 22:31:43 -04:00
Dustin J. Mitchell
8a7df6d9d5
Merge pull request #108 from GothenburgBitFactory/dependabot/cargo/uuid-1.16.0
Bump uuid from 1.15.1 to 1.16.0
2025-03-14 20:13:19 -04:00
dependabot[bot]
92206f2488
Bump uuid from 1.15.1 to 1.16.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.15.1 to 1.16.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.15.1...v1.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 23:50:45 +00:00
Dustin J. Mitchell
db8fbb3919
Merge pull request #107 from djmitche/env-logger
update env_logger to stop using humantime
2025-03-10 23:07:26 -04:00
Dustin J. Mitchell
ba69f98195
update env_logger to stop using humantime 2025-03-10 23:07:02 -04:00
Dustin J. Mitchell
cae0bb3fd8
Merge pull request #105 from GothenburgBitFactory/dependabot/cargo/actix-web-4.10.2
Bump actix-web from 4.9.0 to 4.10.2
2025-03-10 22:53:21 -04:00
dependabot[bot]
7bec7ce25d
Bump actix-web from 4.9.0 to 4.10.2
Bumps [actix-web](https://github.com/actix/actix-web) from 4.9.0 to 4.10.2.
- [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.9.0...web-v4.10.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 23:42:25 +00:00
Dustin J. Mitchell
4b55423595
Bump to -pre version 2025-03-03 22:43:37 +00:00
Dustin J. Mitchell
a9b9921833
v0.6.1 2025-03-03 22:41:40 +00:00
Dustin J. Mitchell
a7dc9e84b4
Allow specifying client ID when running docker-compose (#101)
This also fixes up some handling of default values in the entrypoint.
2025-03-03 17:39:59 -05:00
Dustin J. Mitchell
7430d6feec
add homepage / repository to published crates (#100) 2025-03-03 16:59:09 -05:00
Dustin J. Mitchell
ecdfb6bdfd
Use DATA_DIR and taskchampion username in entrypoint (#99)
In fact, there is no taskchampion group (1092 is not a defined gid).
Instead taskchampion is in the `users` group.
2025-03-03 16:53:53 -05:00
Dustin J. Mitchell
55892d3b2d
Bump to -pre version 2025-03-01 18:21:09 +00:00
Dustin J. Mitchell
5c3455a38a
v0.6.0 2025-03-01 18:16:48 +00:00
adamanteye
65ad035d8d
feat(docker): simplify docker compose for end users (#96)
* feat(docker): simplify docker compose for end users

The previous docker-compose requires end user to manually handle
permissions of taskchampion data dir. And this commit has directories
automatically set up in docker-entrypoint.sh, just like what
postgresql did in https://github.com/docker-library/postgres/blob/master/docker-entrypoint.sh

* fix(docker): revert to anonymous data volume for compatibility

* feat: use uid 1092 for taskchampion

* fix(docker): revert mkdir

This is embarrassing that subpaths are not automatically created.

So we still need mkdir service in case of anonymous data volume.

* fix(docker): typo
2025-03-01 13:08:27 -05:00
dependabot[bot]
c47612b3a0
Bump uuid from 1.14.0 to 1.15.1 (#95)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.14.0 to 1.15.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.14.0...v1.15.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-26 19:26:42 -05:00
dependabot[bot]
8508d517a6
Bump uuid from 1.13.1 to 1.14.0 (#94)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.13.1 to 1.14.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.13.1...v1.14.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-02-22 13:19:02 -05:00