c445ac475a
Add a binary that uses a Postgres backend
...
Building of this binary is controlled with features, allowing downstream
users to build just the SQLite version and not be concerned with the
tokio-postgres dependency tree (which includes links to OpenSSL and
other details). The Postgres version is disabled by default.
This does not change the binary name for the SQLite build, just to avoid
confusion for people upgrading to the new version.
2025-07-25 22:01:14 -04:00
6e8c72b543
Merge pull request #129 from djmitche/postgres
...
Add `taskchampion-sync-server-storage-postgres`
2025-07-17 12:35:19 -04:00
609660b01f
remove irrelevant assertions from test
2025-07-17 12:01:52 -04:00
8b1f7e2b30
Apply suggestions from code review
...
Co-authored-by: ryneeverett <ryneeverett@gmail.com >
2025-07-17 12:00:22 -04:00
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
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
b858febbca
Apply fixes from @ryneeverett
...
Co-authored-by: ryneeverett <ryneeverett@gmail.com >
2025-07-14 12:30:01 -04:00
48b3aebee2
Merge pull request #131 from djmitche/issue124
...
Add mdbook documentation for the sync server
2025-07-13 17:40:30 -04:00
60436a5524
Add mdbook documentation for the sync server
2025-07-13 17:39:19 -04:00
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
c539e604d9
Merge pull request #126 from djmitche/async
...
Make Storage methods async
2025-07-13 09:25:43 -04:00
57bbac8fea
assert as suggested, remove outcommented code
2025-07-12 22:58:59 -04:00
093446e5fb
bump major version
2025-07-12 15:24:13 -04:00
87d1d026b3
Merge pull request #125 from djmitche/issue121
...
Allow disabling automatic creation of clients
2025-07-12 09:48:44 -04:00
67576fe382
suggestion from @ryneeverett
2025-07-12 09:48:15 -04:00
7559364017
Make Storage methods async
...
This will better support concurrent requests.
2025-07-11 17:37:14 -04:00
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
0a71cce2d1
use a struct for arguments to WebServer::new
2025-07-10 22:10:50 -04:00
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
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
d049618a59
Clippy fixes
2025-07-10 17:33:52 -04:00
cd874bc56a
Update crates and bump MSRV to 1.82.0
2025-07-10 17:29:28 -04:00
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
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
91763641c6
run the security scan weekly, not daily
2025-06-01 20:41:21 -04:00
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
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
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
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
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
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
67b441081d
Merge pull request #112 from awilkins/fix/data-path
...
Make path to data folder consistent
2025-04-15 14:16:32 -04:00
5abb89c421
Make path to data folder consistent
2025-04-14 23:07:41 +01:00
cd15b2377b
Merge pull request #111 from djmitche/issue110
...
Cargo update, including tokio for RUSTSEC-2025-0023
2025-04-07 22:37:16 -04:00
ceed460707
Cargo update, including tokio for RUSTSEC-2025-0023
2025-04-07 22:31:43 -04:00
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
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
db8fbb3919
Merge pull request #107 from djmitche/env-logger
...
update env_logger to stop using humantime
2025-03-10 23:07:26 -04:00
ba69f98195
update env_logger to stop using humantime
2025-03-10 23:07:02 -04:00
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
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
4b55423595
Bump to -pre version
2025-03-03 22:43:37 +00:00
a9b9921833
v0.6.1
v0.6.1
2025-03-03 22:41:40 +00:00
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
7430d6feec
add homepage / repository to published crates ( #100 )
2025-03-03 16:59:09 -05:00
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
55892d3b2d
Bump to -pre version
2025-03-01 18:21:09 +00:00
5c3455a38a
v0.6.0
v0.6.0
2025-03-01 18:16:48 +00:00
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
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