7504ab5a2d
fix(tui): improve reliability of status updates
2024-08-31 07:03:58 +01:00
126d5d3ef5
fix: create git graph log to after doing a fetch
2024-08-30 09:12:57 +01:00
4f6669548c
feat(tui): add scrolling when overflow screen
2024-08-29 09:40:16 +01:00
52bd9cc30b
feat(tui): forge widgets only use required lines
...
Rather than filling all the space available, the ForgeWidget now only
uses as many lines as it needs to show its contents.
2024-08-28 22:25:31 +01:00
2959bdfad4
feat(tui): repo widgets only use required lines
...
Rather than filling all the space available, the RepoWidget now only
uses as many lines as it needs to show its contents.
2024-08-28 09:14:02 +01:00
f85cbce4c6
refactor(tui): child widget can provide constraint to container
2024-08-28 07:53:56 +01:00
4517fe62e4
feat(tui): move forge alias to left and add prefix
2024-08-27 19:15:36 +01:00
c6bf287ed1
feat(tui): remove count of forges
2024-08-27 19:15:21 +01:00
35e3676930
fix(tui): remove logging of tui updates
2024-08-27 07:20:05 +01:00
95e9209e17
feat(tui): remove duplicate messages from repo body
...
The latest message is still displayed in the repo header
2024-08-26 08:39:33 +01:00
d1a685ae34
feat(tui): highlight user interventions in red
2024-08-26 08:21:31 +01:00
e489fb36e9
refactor(tui): merge repo widgets into one
2024-08-26 08:03:52 +01:00
5d9915bdbd
feat(tui): (experimental) show repo state, messages and git log
2024-08-25 15:59:42 +01:00
7a4f9a45a6
fix(github): register webhook with valid callback url
2024-08-22 19:55:32 +01:00
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