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
Awiteb
f670859b92
chore: Remove the vector parameter from add_{read,write}_relays
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 12:35:26 +00:00
Awiteb
bca86f115f
perf(NostrClient::send_event_to): Join the event sending
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 12:00:10 +00:00
Awiteb
a9b9a7a02a
chore: Remove unused import
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 11:04:58 +00:00
Awiteb
1abb8e3f36
feat: Events and naddrs can starts with nostr:
...
Suggested-by: DanConwayDev <DanConwayDev@protonmail.com >
Fixes: note1jwgfl095vuhduepxxpwhdqme0dnlhawzvcal0xnl0e6d82wx5jys5z92hj
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 10:48:33 +00:00
Awiteb
15d834dc0f
chore: Deduplicate tags
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 08:45:20 +00:00
Awiteb
ea862dac5f
chore: Add a newline after the naddr
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 08:29:36 +00:00
Awiteb
55a4868813
fix(utils-repo_naddr): Create a valid naddr string
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 08:29:13 +00:00
Awiteb
60978f43b5
chore: Add a header to nostr-address file
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 08:02:37 +00:00
Awiteb
37cf601c01
refactor: Support more than one naddr instead of one
...
This commit supports multiple naddrs for sending issues to and searching
for repositories by extracting the embedded relays, and appending to the
address file instead of overwriting its previous contents. A header has
also been added to the `nostr-address` file to clarify its purpose.
This enhancement accommodates maintainers who distribute issue tracking
across multiple repositories, preventing confusion if the primary
maintainer steps down. Now, issues and patches will reference all
relevant repositories, not just one.
Note that repositories won't automatically include all maintainers'
addresses unless explicitly specified. Maintainers may manage a
repository under a project-specific public key rather than individual
keys. Addresses are only added to issues and patches when explicitly
provided via the command or written to the address file. This prevents
unintended inclusions and ensures clarity.
Suggested-by: DanConwayDev <DanConwayDev@protonmail.com >
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-27 07:05:13 +00:00
Awiteb
87da5035da
chore(todo): Some tasks
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-24 14:08:25 +00:00
Awiteb
ddea5028ee
feat: Make the relays list optional
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-24 12:30:40 +00:00
Awiteb
de68d61c3f
feat: Enter repository as nip5
...
For example, `4rs.nl/n34` and `_@4rs.nl/n34`
Signed-off-by: Awiteb <a@4rs.nl>
2025-05-24 11:00:37 +00:00
Awiteb
f7e837e3ab
deps: Enable nip05 feature of nostr crate
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-24 10:57:15 +00:00
Awiteb
02070c2868
feat: A --quote-to flag to quote the replied to content in the editor
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-24 06:06:32 +00:00
Awiteb
998ef8f4b1
deps: Add chrono@0.4.41 to the dependencies
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-24 06:03:17 +00:00
Awiteb
6fdf0dbcf5
feat: Read the nostr-address file in reply command
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-23 13:38:21 +00:00
Awiteb
15c0eaa5dc
chore: Make commands module
...
Signed-off-by: Awiteb <a@4rs.nl >
2025-05-23 13:15:37 +00:00