Commit graph

131 commits

Author SHA1 Message Date
eca556f976 feat(tui): use moving heart emoji as liveness indicator
The heart moves between two positions every second as long as the ui is
being updated.
2024-08-31 08:56:43 +01:00
a3dd82705f fix(test): give actix more time to process message 2024-08-31 08:56:43 +01:00
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
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
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
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
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
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
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
1690e1bff6 docs: document Notifications to user 2024-07-23 20:37:08 +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
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
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
dfc0c1dc80 refactor: only start actor system when server starts 2024-07-01 06:54:07 +01:00
ffab1986a7 refactor: repo-actor: rewrite tests using mockall 2024-06-27 18:58:47 +01:00
94ad2c441c refactor: create a RepositoryFactory trait 2024-06-20 18:28:01 +01:00
58e991b2b7 test(git): make repository more testable
Adds a layer around Repository to allow the use of a mock.

Mock has still to be implemented.
2024-05-18 20:37:03 +01:00
a7e7d12928 test(cli): add tests 2024-05-14 07:58:28 +01:00
740419ffb8 refactor: specify server dependency in workspace 2024-05-11 19:29:38 +01:00
87c762c59a chore: clean up dependencies for split crates 2024-05-11 19:14:06 +01:00
3a112ddd8b refactor: extract server crate 2024-05-11 18:57:18 +01:00
834dff4370 chore: convert project into a cargo workspace 2024-05-11 16:33:18 +01:00