Commit Graph
100 Commits
Author SHA1 Message Date
Awiteb ed1bfaf161 fix(issue)!: make subject mandatory and optional content
BREAKING CHANGE: When the editor contains only one line, it is now
treated as the subject instead of being used as the issue content.

Signed-off-by: Awiteb <a@4rs.nl>
2025-08-18 13:35:18 +00:00
Awiteb ec68e972f7 fix: check the nip07 signer in CliOptions::ensure_signer
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-18 12:24:59 +00:00
Awiteb 629de42215 chore: Add [script] to deploy recipe
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-13 17:02:22 +00:00
Awiteb dd05e050cd feat: New command repo state
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-13 16:33:15 +00:00
Awiteb 9aa3b62de0 chore: Bump the version to v0.4.0
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-08 15:21:35 +00:00
Awiteb a8015d618b chore: Use nushell as a script interpreter
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-08 15:20:20 +00:00
Awiteb 2bcdb29a88 chore: Add nushell to dev shell
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-08 14:29:22 +00:00
Awiteb 4a4c0dcd34 chore: Show the lifetime
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-08 14:29:22 +00:00
Awiteb 43ca689190 chore: installation using Nix
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-07 23:26:11 +00:00
Awiteb 14ab9b38e2 chore(cargo): Add package.documentation and package.homepage
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-07 23:22:40 +00:00
Awiteb 802da70056 chore(flake): Add packages.default output
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-07 23:22:40 +00:00
Awiteb cff0b2f3b2 chore(flake): Update lock file
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-07 23:22:40 +00:00
Awiteb 9c55bf8af1 chore: use the existing signer to get the pubkey instead of a new one
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-07 23:22:40 +00:00
Awiteb 904d14064f feat: Sign using NIP-07
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-07 23:22:40 +00:00
Awiteb ad215002e2 chore: backward compatibility with ngit revision patch hashtag
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-04 09:22:45 +00:00
Awiteb 67339a8a47 chore: verify subscriptions
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-04 06:28:32 +00:00
Awiteb 1d83e445a4 deps: Upgrade to nostr@0.43.0
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-03 15:24:05 +00:00
Awiteb 8bb4cf0da4 refactor: Move root and root-revision to constants
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-03 15:24:05 +00:00
Awiteb e17e75e53b refactor: Move the trait extensions to traits.rs
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-03 15:24:04 +00:00
Awiteb 67e25da8c0 feat: New flag to patch apply and merge to mention patches
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-03 15:24:04 +00:00
Awiteb bc8c6f3154 deps: Remove url from n34 dependencies
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-03 00:17:30 +00:00
Awiteb 0ba58dcbd0 tests: Move the patch tests to tests.rs
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-02 09:50:21 +00:00
Awiteb 78113c7402 docs: Fix status command docs
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-02 09:14:21 +00:00
Awiteb bd3ba1bdbf docs: n34 book
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-01 20:32:48 +00:00
Awiteb 2630104e99 chore: Fix a typo in the description
Signed-off-by: Awiteb <a@4rs.nl>
2025-08-01 20:17:42 +00:00
Awiteb 03d5c8020e feat: Keyring the secret key n34 config keyring --enable
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-27 00:55:53 +00:00
Awiteb c3aef2e0ad chore: Add installation section to README.md
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-18 22:24:03 +00:00
Awiteb 4e0ecdceaf feat: Support signing using NIP-46 bunker
Suggested-by: DanConwayDev <DanConwayDev@protonmail.com>
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-18 21:43:50 +00:00
Awiteb f0c20c3677 deps: Add keyring, nostr-connect, nostr-keyring and url to the dependencies
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-18 21:17:02 +00:00
Awiteb e6943aefab chore(flake): Add dbus to the packages
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-10 12:05:14 +00:00
Awiteb 353358f0ed chore: Move the naddr parsers to parsers.rs
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-07 12:35:01 +00:00
Awiteb c029ddf86c chore: Bump the version to v0.3.0
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 12:20:19 +00:00
Awiteb fc7d7baeb6 chore: Bump the MSRV to 1.88.0
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 12:16:37 +00:00
Awiteb 8715cd5547 chore: Use cargo-msrv to check the msrv instead of rustup
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 12:15:53 +00:00
Awiteb 70e76f1699 chore: Update patch filename test case
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 12:03:31 +00:00
Awiteb 9e840be820 chore: Use new stabilized let-chains feature
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 09:34:32 +00:00
Awiteb 3fb7abe62a chore: Fix docs issues
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 08:48:34 +00:00
Awiteb 3814d1b4ec chore: Inlined format args
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 08:45:13 +00:00
Awiteb 1c11b8f6bb chore: Add rust-analyzer to flake.nix
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 08:41:28 +00:00
Awiteb 74d05033f8 chore: Update flake.lock
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 08:33:13 +00:00
Awiteb 9bbeda8de8 chore: Update rustfmt nightly version
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-05 08:32:59 +00:00
Awiteb 3510b59fbb feat: Improve exit codes and make them more specific
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-04 10:50:24 +00:00
Awiteb 05b4ae30f7 feat: New issue list commands to list the repo issues
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-02 22:07:03 +00:00
Awiteb 387dd32a37 feat: New patch list commands to list the repo patches
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-02 22:07:03 +00:00
Awiteb 5c5987e07b chore: Enable optimization
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-01 15:20:44 +00:00
Awiteb 9e1e5d7c42 chore: Inline small functions
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-01 15:20:30 +00:00
Awiteb 7e479f3c7a chore: issues utils
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-01 15:07:04 +00:00
Awiteb 4cc01668fd fix: Require a repo in repo view command
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-01 12:47:03 +00:00
Awiteb 7d700602ef fix: Fix a typo in EmptySetRelays error message
Signed-off-by: Awiteb <a@4rs.nl>
2025-07-01 12:45:53 +00:00
Awiteb f3a09d30ea chore: Update SignerRequired error message
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-30 11:33:23 +00:00
Awiteb 2874ba8457 remove: Remove --euc flag from patch send command and use the repo euc
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-30 11:17:05 +00:00
Awiteb 55e5d86c03 deps: Remove bitcoin_hashes and use nostr::hashes re-export
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-30 11:16:52 +00:00
Awiteb 6467bc3bb5 remove: Remove the --to flag from reply command and make it an argument
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-29 20:24:57 +00:00
Awiteb da284a084c feat: View the repo maintainers as npub
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-29 20:20:58 +00:00
Awiteb 45ea7d25f2 remove: Remove the --repo option and make the repo an argument
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-29 20:17:14 +00:00
Awiteb 8b09cff5e3 feat: New patch subcommands apply,close,draft,merge and reopen to manage the patch status
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-28 13:47:31 +00:00
Awiteb d6dd63f576 chore: Use bitcoin_hashes::Sha1 instead of bitcoin_hashes::sha1::Hash
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-28 12:51:43 +00:00
Awiteb ae6cff1a1d chore(patch-fetch): Remove the repo coordinate from the filter
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-28 12:49:08 +00:00
Awiteb a38a811cbf deps: Update nostr to 0.42.2
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-28 12:47:40 +00:00
Awiteb 93136fb767 deps: Add either@1.15.0 to the dependencies
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-28 12:46:49 +00:00
Awiteb 035e22a6ba chore: Fix typos
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-28 10:29:38 +00:00
Awiteb 043ef6fc96 chore: Add the repository to authorized issue status users
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-24 11:40:48 +00:00
Awiteb 54cae48123 chroe: Check if the naddrs exists for issue new and patch send
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-14 10:46:55 +00:00
Awiteb 1651fd5a47 fix: Not to return an error if nostr-address file does not exist
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-14 10:45:00 +00:00
Awiteb ec08a1febc chore: Improve maintainers handling
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-14 10:36:01 +00:00
Awiteb a9a2cb2b16 feat: New issue {reopen,close,resolve} commands to manage issue status
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-14 09:38:00 +00:00
Awiteb 63f6c1fb11 chore(cli): Improve run_command macro
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-11 16:54:33 +00:00
Awiteb 3e6fed8bc6 chore: Remove unnecessary ToString::to_string call
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-11 10:28:11 +00:00
Awiteb 431bfd2512 chore: Update CONTRIBUTING.md
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-11 10:18:03 +00:00
Awiteb 364356a573 feat: New patch fetch command to fetch patches
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-10 16:23:08 +00:00
Awiteb 2a3e2e09c0 chore: Improve single letter tags
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-10 08:53:22 +00:00
Awiteb 8870f8ced3 chore: Fix a typo
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-10 08:41:36 +00:00
Awiteb da96985a40 feat: New issue view command to view an issue
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-09 22:09:55 +00:00
Awiteb 76b76bc8d6 chore(nostr_utils): Move the username logic to the utils
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-09 21:12:17 +00:00
Awiteb 983d2f209d chore(NostrClient): Limit the events to 1 in fetch_event function
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-09 10:29:17 +00:00
Awiteb 7ba98bbbe8 chore: Update README.md
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-09 10:01:35 +00:00
Awiteb 8f70778c26 chore: Improve unreachable panic message
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-08 20:35:49 +00:00
Awiteb 9069adbe22 chore: Add the signer to the client if found
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-08 20:35:49 +00:00
Awiteb b1027b3b04 refactor: Improve commands running and make the signer optional for some commands
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-08 20:35:49 +00:00
Awiteb 5dc8e31eb3 feat: New config relays command to set the default fallbacks relays
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-07 21:12:34 +00:00
Awiteb 51bd239024 feat: New config pow command to set the default PoW difficulty
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-07 19:54:40 +00:00
Awiteb 53a2eb5bda chore: Remove toml prefix from CliConfig::{load,dump}_toml
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-07 19:01:53 +00:00
Awiteb a6a61aedf1 refactor: Store the config in CliOptions instead of its path
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-07 19:00:29 +00:00
Awiteb 30b3056d39 test: Add a new patch parsing unit test
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-06 21:23:27 +00:00
Awiteb 8fe6755d3b chore: Run the tests in the CI
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-06 21:15:33 +00:00
Awiteb 812a06a276 feat: Add description tag to the patch
The tag value is the patch subject

Signed-off-by: Awiteb <a@4rs.nl>
2025-06-04 22:10:10 +00:00
Awiteb 494cced9cb feat: Add alt tag to the git issue
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-04 22:05:21 +00:00
Awiteb 16e6300c81 chore(cli): Return Future and make the function sync CommandRunner:run
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-04 22:04:48 +00:00
Awiteb ef8d6c1c4f feat: New patch send command to send patches
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-04 12:45:36 +00:00
Awiteb 01f5fa60e6 chore(issue-new): Add naddrs relays to write relays
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-04 06:56:18 +00:00
Awiteb 7d9b968f16 chore(cli): Add author read relays to discovery relays
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-03 14:28:04 +00:00
Awiteb 57fc868b63 chore: Move NostrEvent to crate::cli::types
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-03 09:27:20 +00:00
Awiteb 08505151bd chore: More steps in Patch Guidelines
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-02 17:54:41 +00:00
Awiteb 864f3018f6 chore: Update README.md
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-01 12:46:10 +00:00
Awiteb 37128a8c1a chore(justfile): Improve the changelog body
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-01 12:45:25 +00:00
Awiteb ce0068be53 chore: Bump the version to v0.2.0
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-01 12:32:24 +00:00
Awiteb 4c6578ccb1 feat: Support relays and naddrs sets
This commit introduces support for 'sets', a feature that simplifies
referencing multiple relays or naddrs with a single word.

Sets are stored in the config directory under `n34` as `config.toml` in
`TOML` format. The config path follows the `$XDG_CONFIG_HOME` standard,
defaulting to `$HOME/.config` if unset.

The `n34 sets` command allows managing sets, adding, removing, updating,
or displaying them. When using the main `--relays` flag, a set name can
be provided to automatically expand its relays (an error occurs if the
set contains no relays). Similarly, any command accepting naddrs can
reference a set to extract its naddrs.

Sets can also be merged by updating a set while specifying another
set in `--repo` merges their naddrs, while `--set-relays` merges their
relays. Removal follows the same pattern.

Signed-off-by: Awiteb <a@4rs.nl>
2025-06-01 12:12:09 +00:00
Awiteb d6d3f8a52f chore: Add more relays to the repo address
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-01 11:59:49 +00:00
Awiteb 84bfafa2e9 deps: Add serde@1.0.219, dirs@6.0.0 and toml@0.8.22
Signed-off-by: Awiteb <a@4rs.nl>
2025-06-01 11:59:12 +00:00
Awiteb 24e8522268 chore: Move the write relays definition to the end of the commands
To make it clear, we can review exactly what was collected instead of
having it spread throughout the body of the command.

Signed-off-by: Awiteb <a@4rs.nl>
2025-05-27 19:20:42 +00:00