radicle-heartwood-lfs/radicle-cli/examples
Fintan Halpenny 5b4cbc2cd8 radicle: introduce announcer
Similar to the `Fetcher` sans-IO approach, an `Announcer` sans-IO approach is
introduced. The previous `Handler::announce` was already quite close to using a
sans-IO approach, but using internally held state. This change makes the
business logic more reusable – and testable.

Similarly to the `Fetcher`, the `Announcer` is configured and then driven by
telling it when nodes have been synchronized with. It will continuously check if
it has reached its target, yielding to the caller to decide whether to keep
going. In contrast, it also provides a way to mark the process as timed out,
since announcing relies on waiting for events to come back in a timely manner.
2025-05-26 12:31:03 +02:00
..
framework cli-test: Update framework with new features 2023-08-04 12:23:49 +02:00
git radicle: introduce announcer 2025-05-26 12:31:03 +02:00
workflow radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-auth-errors.md radicle: Fix config loading with bad alias 2024-03-21 14:44:04 +01:00
rad-auth.md radicle: Fix config loading with bad alias 2024-03-21 14:44:04 +01:00
rad-block.md cli: add `rad unblock` command 2024-08-06 14:12:44 +02:00
rad-checkout-repo-config-linux.md radicle: add tags fetch refspec 2024-10-21 14:30:37 +02:00
rad-checkout-repo-config-macos.md radicle: add tags fetch refspec 2024-10-21 14:30:37 +02:00
rad-checkout.md cli: Add canonical remote to `init` and `checkout` 2023-04-24 15:42:00 +02:00
rad-clean.md Include new `rad/root` in signed refs 2024-10-21 16:32:49 +02:00
rad-clone-all.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-clone-connect.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-clone-directory.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-clone-partial-fail.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-clone-unknown.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-clone.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-cob-log.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-cob-migrate.md cli: Fix `rad cob migrate` test 2024-11-27 10:19:51 +01:00
rad-cob-multiset cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-cob-multiset.md cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-cob-show.md cli/cob: Output JSON Lines 2024-12-03 12:36:02 +01:00
rad-cob-update-identity.md cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-cob-update.md cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-config.md node: rate limiter for channel reads 2025-04-25 20:27:51 +02:00
rad-diff.md cli: Improve pretty diff printing 2024-07-12 16:36:04 +02:00
rad-fetch.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-fork.md Include new `rad/root` in signed refs 2024-10-21 16:32:49 +02:00
rad-id-collaboration.md cli/sync: Also print node addresses 2025-04-17 14:20:21 +02:00
rad-id-conflict.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-id-multi-delegate.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-id-private.md cli: idempotent `rad id update` 2024-06-21 13:01:59 +02:00
rad-id-threshold-soft-fork.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-id-threshold.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-id-unknown-field.md cli: Add test for unknown field in identity doc 2024-05-07 10:21:07 +02:00
rad-id-update-delete-field.md cli: verification of project for json errors only 2024-11-11 11:58:09 +01:00
rad-id.md cli: idempotent `rad id update` 2024-06-21 13:01:59 +02:00
rad-inbox.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-init-existing.md cli: Add way to init from existing repositories 2024-07-29 11:49:19 +02:00
rad-init-no-git.md cli: Improve `rad init` wording 2024-03-11 13:08:03 +01:00
rad-init-no-seed.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-init-private-clone-seed.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-init-private-clone.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-init-private-no-seed.md cli: Clarify doc test example 2024-06-12 15:36:34 +02:00
rad-init-private-seed.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-init-private.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-init-sync-not-connected.md cli: Show full path in `rad init` 2024-02-26 12:40:17 +01:00
rad-init-sync-preferred.md cli: watch for upload-pack events in `rad init` 2024-05-15 10:07:56 +01:00
rad-init-sync-timeout.md cli: Show full path in `rad init` 2024-02-26 12:40:17 +01:00
rad-init-sync.md cli: Show full path in `rad init` 2024-02-26 12:40:17 +01:00
rad-init-with-existing-remote.md test: Fix backwards incompatibility with git 2.34 2024-06-12 12:13:10 +02:00
rad-init.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-inspect-noauth.md cli: Improve messaging when config doesn't load 2023-12-13 12:30:11 +01:00
rad-inspect.md Include new `rad/root` in signed refs 2024-10-21 16:32:49 +02:00
rad-issue.md cli: add comment edit for rad issue 2025-01-14 13:39:09 +01:00
rad-job.md cob: Add an experimental "job" COB 2024-11-06 17:26:00 +01:00
rad-merge-after-update.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-merge-no-ff.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-merge-via-push.md helper: Use the correct head when merging a patch 2024-11-18 16:10:13 +01:00
rad-node.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-patch-ahead-behind.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-change-base.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-checkout-force.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-patch-checkout-revision.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-checkout.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-patch-delete.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-patch-detached-head.md remote-helper: allow patch creation from detached HEAD 2024-07-23 17:13:30 +02:00
rad-patch-diff.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-patch-draft.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-edit.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-patch-fetch-1.md cli: use `git` for anonymous fetch 2024-01-02 15:04:49 +01:00
rad-patch-fetch-2.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-patch-merge-draft.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-patch-open-explore.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-patch-pull-update.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-patch-revert-merge.md helper: Revert patches correctly 2024-08-23 15:59:59 +02:00
rad-patch-update.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-via-push.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-patch.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-publish.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-push-and-pull-patches.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-remote.md cli: Improve `rad remote add` 2024-01-08 17:28:01 +01:00
rad-review-by-hunk.md cli: Write comments into draft patch review 2024-07-24 16:46:24 +02:00
rad-seed-and-follow.md cli: Fix some tests 2024-03-09 14:01:30 +01:00
rad-seed-many.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-self.md cli: Move node addresses command 2024-02-26 14:23:13 +01:00
rad-sync-without-node.md cli: From "tracking" to "seeding" and "following" 2023-12-06 09:56:57 +01:00
rad-sync.md radicle: introduce announcer 2025-05-26 12:31:03 +02:00
rad-unseed-many.md cli: Allow multiple RIDs for `rad unseed` 2025-04-26 10:01:11 +02:00
rad-unseed.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-watch.md cli: Add `watch` command 2023-12-11 12:04:26 +01:00