622e144986
feat(tui): (experimental) tui option
...
When the 'tui' feature is enabled, then server start accepts an optional
--ui parameter. When specified a ratatui ui will display, showing
liveness and a ping update when a valid config is loaded.
2024-08-12 10:01:35 +01:00
0632225752
build: test all feature combinations
2024-08-12 10:01:32 +01:00
08d2377404
fix: file_watcher runs on own thread
...
Closes kemitix/git-next#142
2024-08-11 13:55:38 +01:00
f0daac76b4
feat: make forge and repo alias more prominent in email
...
Closes kemitix/git-next#141
2024-08-10 18:12:00 +01:00
60d05c8b3b
fix: invalid config section typo in README
2024-08-08 09:44:54 +01:00
ef24cb583c
feat: add short git log graph to notifications
...
Closes kemitix/git-next#133
2024-08-08 08:39:01 +01:00
8c19680056
refactor: macros use a more common syntax
...
Parameters were separated by ':', but are now separated by ','.
2024-08-06 20:06:39 +01:00
ad358ad7c2
refactor: cleanup pedantic clippy in forge-github crate
2024-08-06 16:21:25 +01:00
067296ffab
refactor: cleanup pedantic clippy in forge-forgejo crate
2024-08-06 16:15:56 +01:00
6acefda5d3
refactor: cleanup pedantic clippy in core crate
2024-08-06 16:07:25 +01:00
24251f0c9c
refactor: cleanup pedantic clippy in cli crate
2024-08-06 07:10:14 +01:00
281c07c849
fix: remove dependcy on clang & mold
...
This was only added to try and improve compile times.
Re-measuring the difference after months of work and refactoring, the
gain from the additional requirements was marginal (39.8s -> 37.5s).
So, to simplify the requirement, clang and mold have been removed.
Closes : kemitix/git-next#131
2024-08-04 20:41:38 +01:00
3895246b72
fix: shout.desktop should be optional
...
If the value isn't present, then it is treated as false
2024-08-04 16:02:06 +01:00
5d64692f31
test: timing test waits longer than expiry
2024-08-04 10:03:52 +01:00
58d9a993e9
chore: release 0.13.1
2024-08-04 08:09:15 +01:00
6de8e4f988
feat: prevent duplicate alerts
...
Closes kemitix/git-next#128
2024-08-03 23:07:56 +01:00
850e990ab4
refactor: remove unused dependencies
2024-08-03 22:50:18 +01:00
421e85cb0b
refactor: extract alerts into own actor
2024-08-03 12:59:40 +01:00
9a2fa2e8a5
feat: add support for desktop notifications
...
Closes : kemitix/git-next#119
2024-08-03 12:59:40 +01:00
dc3c55f570
docs: add example to readme for listen, shout & storage
2024-08-02 19:06:39 +01:00
637abb50cd
fix: add example email config to server default template
2024-08-02 19:06:39 +01:00
6bc4b7b143
docs: add config details for sending emails
2024-08-02 18:47:05 +01:00
9fb70f98d6
test: update tests to check for email config parsing
2024-08-02 18:47:05 +01:00
474a9b5aaa
chore: release
...
Signed-off-by: Paul Campbell <pcampbell@kemitix.net>
2024-08-02 08:58:19 +01:00
12a2981ab5
feat: send email notifications (sendmail/smtp)
...
Closes kemitix/git-next#114
2024-08-02 07:36:11 +01:00
538728c491
feat!: restructured server config into listen & shout sections
...
Groups 'http' and 'webhook' sections under 'listen'.
Renames 'notification' section as 'shout'.
2024-08-01 07:56:31 +01:00
8df7600053
feat: remove notification.type
...
This makes it easier to specify multiple types of notifications,
rather than a single type.
2024-07-31 06:56:04 +01:00
7b64e300b6
feat!: reduce the max commit dev can be ahead of main
...
From 50 to 25.
Aim to make this a configuration option from git-next-server.toml
2024-07-30 16:40:39 +01:00
f6bc2e1283
feat: terminate process if config file is invalid
2024-07-30 16:27:24 +01:00
1650e93920
feat: return better errors to user on server failure
2024-07-30 11:18:29 +01:00
9a9c73d929
feat: return better errors to the user on init
2024-07-30 11:18:29 +01:00
e58ba94d97
chore: remove deprecated crates
2024-07-29 08:59:32 +01:00
b7abe949e2
fix: make default server config example valid
...
Included some comments to help configure the file.
Closes kemitix/git-next#115
2024-07-29 08:16:16 +01:00
e56d6a3ebb
fix: remove requirement for RUSTFLAGS to be set
...
Closes kemitix/git-next#116
2024-07-29 08:07:39 +01:00
691a733fc3
fix: webhook secret doesn't need to be base64 encoded
...
Closes kemitix/git-next#118
2024-07-29 07:51:09 +01:00
d2ea93f05e
feat: avoid resetting next to main when dev is ahead of main
...
When dev is not based on next, next is reset to main, however, it should
reset to the next commit towards dev when when is ahead of main.
Closes kemitix/git-next#111
2024-07-28 20:32:08 +01:00
991d0d1a08
docs: add missing notification config details
2024-07-28 18:29:20 +01:00
a56c6df3f1
feat: support macOS
...
Closes kemitix/git-next#108
2024-07-28 16:26:39 +01:00
11de4efae6
docs: add missing readme for git-next-core
...
Closes kemitix/git-next#112
2024-07-28 13:54:25 +01:00
57458173d0
refactor: merge forge crate into cli crate
2024-07-28 13:35:26 +01:00
c1981d862c
refactor: merge repo-actor crate into cli crate
2024-07-28 12:18:15 +01:00
12ecc308d5
refactor: merge webhook-actor crate into cli crate
2024-07-27 19:06:20 +01:00
366930bcfc
refactor: merge file-watcher-crate into cli crate
2024-07-27 19:06:20 +01:00
9ca532a2b4
refactor: merge file-watcher-crate into cli crate
2024-07-27 18:51:05 +01:00
a679abeafc
refactor: merge server-actor crate into cli crate
2024-07-27 08:27:04 +01:00
1427284c2a
refactor: merge server crate into cli crate
2024-07-27 08:11:52 +01:00
5a595ec9ee
chore: remove deprecated crates
...
These crates have been merged into git-next-core, and tombstones
published to crates.io.
2024-07-27 08:00:06 +01:00
3ae113212a
fix: don't log content of internal messages
2024-07-27 07:03:52 +01:00
2ec5ae1d51
tests: restore unlinked test file
2024-07-26 19:18:12 +01:00
fa5fa809d9
refactor: merge git create into core crate
2024-07-26 07:59:37 +01:00
b8f4adeb50
fix: remove unused dependecy from file-watcher-actor
2024-07-25 22:46:19 +01:00
768ec6ae02
docs: update package graph
2024-07-25 22:44:11 +01:00
ab728c7364
refactor: merge config crate into core crate
2024-07-25 21:08:16 +01:00
48c968db2d
refactor: merge actor-macros into core
...
Starting to flatten the crates.
2024-07-25 07:37:29 +01:00
758ca5c2dc
docs: update message graph for repo-actor
2024-07-24 08:35:29 +01:00
9e12f5eb5d
feat: post webhook notifications to user
...
Closes kemitix/git-next#91
2024-07-23 20:40:01 +01:00
288c20c24b
feat: dispatch NotifyUser messages to server for user (2/2)
2024-07-23 20:39:02 +01:00
4978400ece
refactor: use Option<&T> over &Option<T>
2024-07-23 20:38:58 +01:00
bcf57bc728
feat: dispatch NotifyUser messages to server for user (1/2)
2024-07-23 20:38:54 +01:00
e9877ca9fa
feat: support sending messages to the user
2024-07-23 20:38:51 +01:00
c86d890c2c
feat: enable configuration of a webhook for receiving notifications
2024-07-23 20:38:29 +01:00
1690e1bff6
docs: document Notifications to user
2024-07-23 20:37:08 +01:00
8f95ae0058
refactor: extract messages and handlers modules from webhook-actor
2024-07-19 07:48:55 +01:00
ba67b1ebcb
refactor: flag internally that dev not based on main will require used intervention
...
Preparation for when we will be sending user notifications
2024-07-16 20:00:29 +01:00
92ebd45307
refactor: Reduce cognitive complexity of 'validate_position'
...
Closes kemitix/git-next#83
2024-07-16 19:59:11 +01:00
c104dfedc1
refactor: Reduce cognitive complexity of WebhookNotification
handler. 2/2
...
Closes kemitix/git-next#49
2024-07-16 18:33:45 +01:00
06292c2711
refactor: Reduce cognitive complexity of WebhookNotification
handler. 1/2
...
Closes kemitix/git-next#49
2024-07-16 18:14:32 +01:00
33907a1d32
feat: reload server config when file is touched
...
Closes kemitix/git-next#84
2024-07-16 07:14:57 +01:00
f44865fa92
docs: add UnRegisterWebhook from RepoActor
2024-07-15 07:53:14 +01:00
b715755b91
feat: unregister webhooks form forge during shutdown
...
Closes kemitix/git-next#46
2024-07-15 07:39:06 +01:00
6c92f64f8b
docs: add readmes to each crate to direct users to main crate
...
Closes kemitix/git-next#106
2024-07-14 20:58:58 +01:00
6981a7b5e3
docs: move main README into cli crate
2024-07-14 20:54:17 +01:00
69211a87a3
build: add more metadata for crates.io
2024-07-14 20:47:19 +01:00
e2b545ae39
fix: move default.toml inside crate that uses it
2024-07-14 20:22:32 +01:00
639e561be6
fix: move server-default.toml inside crate that uses it
2024-07-14 20:22:32 +01:00
adf56c1b38
revert: fix: explicitly specify version in each crate
...
This reverts commit cd93d047cb
.
2024-07-14 16:39:17 +01:00
cd93d047cb
fix: explicitly specify version in each crate
...
crates.io doesn't appear to like taking the version from the workspace
crate
2024-07-14 14:24:41 +01:00
c289617ba9
fix: typo and missing repository entry in Cargo.toml files
2024-07-14 13:32:07 +01:00
e410cfc4f1
chore: add license and descriptions for each crate
2024-07-14 10:40:34 +01:00
10e63894c2
docs: server-actor: add readme showing message paths
2024-07-13 08:16:24 +01:00
57a614bad3
fix: don't modify config of external repos
...
The git config files of external repos are read-only.
This is the only place where we make reference to a remote named
'origin', so this also closes kemitix/git-next#85 .
Closes kemitix/git-next#85
2024-07-12 18:52:57 +01:00
5f36282667
feat: recheck failed status
...
Should a status check for a transient reason and is re-run, this will
allow that to be detected without the need to restart the git-next
server or force a spurious rebase.
Closes kemitix/git-next#88
2024-07-12 08:05:41 +01:00
fd762e2bd2
feat: perform controlled shutdown on ctrl-c
...
Closes kemitix/git-next#94
Controlled shutdown includes attempting to unregister webhooks.
2024-07-11 19:19:04 +01:00
681b2c4c10
refactor: split messages and handlers for server-actor
2024-07-11 19:19:01 +01:00
7578ab3144
feat: log as an error when webhook url ends with a slash
...
Closes kemitix/git-next#87
2024-07-11 19:18:58 +01:00
7212154037
refactor: split ReceiveServerConfig handler
...
First handler, with original name, validates the server config.
The new second handler, ReceiveValidServerConfig, can then (re)start the
server without needing to validate the settings.
2024-07-11 19:18:55 +01:00
4276964f4d
refactor: split server storage creation out from startup
...
Closes kemitix/git-next#75
2024-07-11 19:18:50 +01:00
9c20e780d0
feat: update auth of interal repos when changed in config
...
Closes kemitix/git-next#100
2024-07-10 09:05:36 +01:00
df352443b7
feat: GitDir tracks when repo is cloned by git-next
2024-07-06 15:08:13 +01:00
4e60be61f7
refactor: extract git::repository::factory module
2024-07-05 20:31:16 +01:00
5ab075c181
refactor: split git::repository::tests module
2024-07-05 20:12:17 +01:00
d9feaeaa7b
chore: remove unused FakeOpenRepository
2024-07-05 20:12:17 +01:00
2e374d317a
refactor: split git::repository::open::tests module
2024-07-05 20:12:17 +01:00
694135a10b
fix: default log level is info
...
When RUST_LOG isn't set, the default log level is INFO rather than
ERROR.
Closes kemitix/git-next#104
2024-07-05 07:23:40 +01:00
c2953adba5
chore: remove unused token from github tests
2024-07-05 07:04:27 +01:00
7b19f3b66f
chore: directly re-export function and type
2024-07-05 06:59:54 +01:00
12849d5a69
refactor: server no longer depends directly on git crate
2024-07-03 07:42:11 +01:00
3dec12de20
refactor: cli don't depend directly on git crate
2024-07-03 07:35:01 +01:00
83ce95776e
fix: messages should always get delivered
...
Remove the async wrapper for sending messages as they were never being
delivered.
2024-07-02 18:51:40 +01:00
dfc0c1dc80
refactor: only start actor system when server starts
2024-07-01 06:54:07 +01:00