diff --git a/doc/man/task-sync.5.in b/doc/man/task-sync.5.in index 0b54ea531..c8461ff76 100644 --- a/doc/man/task-sync.5.in +++ b/doc/man/task-sync.5.in @@ -45,7 +45,7 @@ periodically, such as via Taskwarrior provides several options for synchronizing your tasks: - To a server specifically designed to handle Taskwarrior data. - - To a cloud service such as GCP or AWS. + + To a cloud storage provider. Currently only GCP is supported. - To a local, on-disk file. .SS Sync Server @@ -74,12 +74,12 @@ Configure Taskwarrior with these details: To synchronize your tasks to GCP, use the GCP Console to create a new project, and within that project a new Cloud Storage bucket. The default settings for -the bucket are adequete. +the bucket are adequate. -Authenticate to the project with +Authenticate to the project with: - gcloud config set project $PROJECT_NAME - gcloud auth application-default login + $ gcloud config set project $PROJECT_NAME + $ gcloud auth application-default login Then configure Taskwarrior with: diff --git a/taskchampion/docs/src/encryption.md b/taskchampion/docs/src/encryption.md index d05900dae..5d18bddef 100644 --- a/taskchampion/docs/src/encryption.md +++ b/taskchampion/docs/src/encryption.md @@ -8,7 +8,7 @@ Encryption is not used for local (on-disk) sync, but is used for all cases where ## Key Derivation The client derives the 32-byte encryption key from the configured encryption secret using PBKDF2 with HMAC-SHA256 and 100,000 iterations. -The salt value depends on the implemenation of the protocol, as described in subsequent chapters. +The salt value depends on the implementation of the protocol, as described in subsequent chapters. ## Encryption diff --git a/taskchampion/docs/src/object-store.md b/taskchampion/docs/src/object-store.md index 03ff723a0..6620d6c8f 100644 --- a/taskchampion/docs/src/object-store.md +++ b/taskchampion/docs/src/object-store.md @@ -4,5 +4,5 @@ TaskChampion also supports use of a generic key-value store to synchronize repli In this case, the salt used in key derivation is the SHA256 hash of the string "TaskChampion". -The details of the mapping from this protocol to keys an values are private to the implementation. +The details of the mapping from this protocol to keys and values are private to the implementation. Other applications should not access the key-value store directly. diff --git a/taskchampion/taskchampion/src/server/cloud/gcp.rs b/taskchampion/taskchampion/src/server/cloud/gcp.rs index 94ebf3fd6..37e674a8d 100644 --- a/taskchampion/taskchampion/src/server/cloud/gcp.rs +++ b/taskchampion/taskchampion/src/server/cloud/gcp.rs @@ -113,8 +113,7 @@ impl Service for GcpService { if existing_value.is_some() { return Ok(false); } - // Generation 0 indicates that the upload should succeed only if the object does not - // exist. + // Generation 0 indicates that the object does not yet exist. 0 } else { get_res?.generation @@ -290,7 +289,6 @@ mod tests { return; }; - // Clean up. svc.del(&pfx("testy")).unwrap(); } @@ -308,8 +306,8 @@ mod tests { // And another object that should not be included in the list. svc.put(&pfx("xxx"), b"data").unwrap(); - let got_names: Vec<_> = svc.list(&pfx("pp-")).collect::>().unwrap(); - let mut got_names: Vec<_> = got_names.into_iter().map(|oi| oi.name).collect(); + let got_objects: Vec<_> = svc.list(&pfx("pp-")).collect::>().unwrap(); + let mut got_names: Vec<_> = got_objects.into_iter().map(|oi| oi.name).collect(); got_names.sort(); assert_eq!(got_names, names); @@ -361,7 +359,6 @@ mod tests { return; }; - // Create the existing file, with two generations. svc.put(&pfx("testy"), b"foo1").unwrap(); assert!(!svc .compare_and_swap(&pfx("testy"), None, b"bar".to_vec()) diff --git a/taskchampion/taskchampion/src/server/cloud/server.rs b/taskchampion/taskchampion/src/server/cloud/server.rs index 7314e47f0..3a33aefa3 100644 --- a/taskchampion/taskchampion/src/server/cloud/server.rs +++ b/taskchampion/taskchampion/src/server/cloud/server.rs @@ -174,7 +174,7 @@ impl CloudServer { .collect::>>() } - /// Determine the snapshot urgency. This is done probabalistically: + /// Determine the snapshot urgency. This is done probabilistically: /// - High urgency approximately 1% of the time. /// - Low urgecny approximately 10% of the time. fn snapshot_urgency(&self) -> Result {