Scott Lamb
028243532a
upgrade to Rust 1.70, use std::sync::OnceLock
...
The most notable part of this is that `db::auth` no longer holds a lock
during password hashing operations. That was probably never a great
idea...
2023-07-04 20:44:21 -07:00
Scott Lamb
ebcdd76084
switch from log
to tracing
...
I think this is a big improvement in readability.
I removed the `lnav` config, which is a little sad, but I don't think it
supports this structured logging format well. Still seems worthwhile on
balance.
2023-07-04 16:51:22 -07:00
Skye
db2e0f1d39
Bump minimum Rust version to 1.65
2023-07-04 16:37:36 -07:00
Skye
81ea7d8a87
Add "Copy config" option to "Add camera" dialog
2023-07-04 16:37:36 -07:00
Skye
1fde947f36
Tiny misc code improvements
2023-07-04 16:37:36 -07:00
Skye
c2d226d58e
Add myself as an author
2023-07-04 16:06:50 -07:00
Skye
be53509325
Fix formatting
2023-07-04 16:06:50 -07:00
Skye
10b61ddc5e
Use a vector instead of a boxed slice for tab completion results
2023-07-04 16:06:50 -07:00
Skye
3d40a39b93
Add tab completion to Add sample file dir dialog
2023-07-04 16:06:50 -07:00
Skye
930decc766
Make retention screen scroll on overflow
2023-07-04 15:34:45 -07:00
Scott Lamb
05562dae5b
upgrade bpaf
to nearly-0.9.1
...
* take advantage of new features to default to `--help` and to print
the defaults
* remove blank lines from argument help docstrings to avoid truncating
the output on single `--help` arg (as opposed to `--help --help`)
I'd use the actual released 0.9.1 but it looks like it's not quite out
yet. Will switch over when it is.
2023-07-04 13:55:16 -07:00
Scott Lamb
e4ecd0d853
compile and lint cleanly on latest nightly
2023-07-04 13:46:15 -07:00
Scott Lamb
53414ed903
upgrade to Retina 0.4.5
2023-07-04 13:46:15 -07:00
Skye
6acf9ad67f
Make cameras list in TUI scrollable on overflow
2023-07-03 11:15:59 -07:00
Skye
5a567da652
Fix deleting a camera with no video duplicating dialog
2023-07-03 11:15:23 -07:00
Scott Lamb
438de38202
rework WebSocket error return protocol
...
This gives much better information to the UI layer, getting rid of a
whole troubleshooting guide entry. See #119 #132 #218 #219
I also restructured the code in anticipation of a new WebSocket event
stream (#40 ).
2023-02-15 17:26:40 -08:00
Scott Lamb
0ffda11d4b
bpaf improvements
...
* use latest published crate. This is a build fix: it was broken
when the `exit_code` branch was deleted from the `bpaf` repo, even
though the commit still exists!
https://github.com/scottlamb/moonfire-nvr/pull/259
* clean up `db-dir` parsing redundancy, as suggested here:
https://github.com/pacak/bpaf/discussions/165#discussioncomment-4983158
2023-02-15 08:32:48 -08:00
Tim Small
ad48cf2e10
Fix chown in build instructions.
...
The build instructions currently fail if the user doesn't have a group
matching their user name (not a universally adopted convention). Update
the command to use the following functionality of the `chown` command:
"If a colon but no group name follows the user name, that user is made
the owner of the files and the group of the files is changed to that
user's login group."
2023-02-15 08:03:02 -08:00
Scott Lamb
2b27797f42
tweak bpaf usage message
...
As discussed here: https://github.com/pacak/bpaf/discussions/165#discussioncomment-4967176
I also snuck in a conversion from `lazy_static` to `once_cell`, rather
than adding another usage of the former.
2023-02-13 22:55:22 -08:00
Scott Lamb
015dfef9c9
fix #257
...
Apparently a `MenuItem` with a value of `undefined` is possible but
doesn't actually fire a change event. Strange. Use the string `"null"`
instead.
2023-02-13 11:05:27 -08:00
Scott Lamb
64d161d0a7
format string readability improvement
2023-02-11 12:20:36 -08:00
Scott Lamb
321c95a88c
username used to be positional; switch back
2023-02-11 12:19:59 -08:00
Scott Lamb
f7718edc7f
moonfire-nvr login --permissions
: take JSON
...
This improves usability and shrinks the binary: 12.0 MiB to 11.0 MiB
just now.
2023-02-11 12:08:50 -08:00
Scott Lamb
b1a46cfb25
use new bpaf::ParseFailure::exit_code
...
95b5db15a8
2023-02-11 11:50:26 -08:00
Scott Lamb
e21f795e93
switch from ancient clap/structopt release to bpaf
...
Improves #70 : this reduces binary size from 12.3 MiB to 11.9 MiB (3%) on
macOS/arm64.
The user experience is almost the same. (The help output's `Usage:`
lines lack the e.g. `moonfire-nvr run` prefix of argv[0] and subcommand,
which isn't ideal, but I guess it's pretty minor in the grand scheme of
things.)
2023-02-11 11:43:11 -08:00
dependabot[bot]
23c1b9404b
Bump tokio from 1.24.0 to 1.24.2 in /server
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.24.0 to 1.24.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/commits )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 17:41:41 -08:00
Scott Lamb
182f6f8a1b
support disabling/enabling users by http api
2023-01-31 06:50:29 -08:00
Scott Lamb
a9430464b6
cargo clippy --fix
...
This switches to inlining variable names into format args. clippy
now suggests this syntax, and I like it.
2023-01-29 15:01:19 -08:00
Scott Lamb
159e426943
fix unsoundness in Segment::build_index
...
Fixes #185
2023-01-29 14:58:43 -08:00
Scott Lamb
284a59b05e
clean up some clippy warnings
2023-01-28 11:59:21 -08:00
Scott Lamb
3965cbc547
rm unused var
2023-01-28 11:32:56 -08:00
Scott Lamb
6a49bffff2
CI: retry apt operations
2023-01-11 22:33:04 -08:00
Scott Lamb
098b54c9f9
upgrade to react 18
...
* new root rendering api
* components are now allowed to return undefine
* testing library changes for userEvent.type
2023-01-11 22:25:56 -08:00
Scott Lamb
fbb5e6b266
upgrade typescript and msw
2023-01-11 20:55:38 -08:00
Scott Lamb
f827c0647a
npm update
2023-01-11 20:46:59 -08:00
Scott Lamb
9060dbfe14
adjust supported node versions
2023-01-11 19:38:47 -08:00
Scott Lamb
50fa5ce6fe
update moonfire-nvr.toml desc in build.md
2023-01-11 19:35:37 -08:00
Scott Lamb
6ed23e90e8
improve docker cross-compilation
...
* support cross-compiling an x86-64 target on an arm64 host. This
it turns out is a matter of *removing* an unnecessary dependency.
(aarch64-linux-gnu-pkg-config exists but x86_64-linux-gnu-pkg-config
doesn't. Turns out neither is necessary.) Added a comment explaining
where ${gcc_target}-pkg-config comes from now.
* documentation tweaks
* improve debug output a bit
2023-01-11 19:35:37 -08:00
Scott Lamb
58e19265ef
use react-hook-form-mui for AddEditDialog too
2023-01-11 14:54:18 -08:00
Scott Lamb
dc9c62e8bb
react-hook-form-mui in ChangePassword
2023-01-09 17:16:05 -08:00
Scott Lamb
2667dd68cb
CI/build improvements
...
- use cache restore keys so that there's some caching even after deps
change
- don't install ffmpeg stuff that hasn't been needed in a while
2023-01-08 04:08:08 -06:00
Scott Lamb
dac0f44ed8
user admin UI
2023-01-08 03:30:53 -06:00
Scott Lamb
8c4e69f772
user admin api improvements
2023-01-08 03:21:42 -06:00
Scott Lamb
5248ebc51f
improve error msg on config file problems
2023-01-06 14:28:42 -06:00
Scott Lamb
a4bc7f5218
config file reference and doc reorganization
2023-01-06 14:25:13 -06:00
Scott Lamb
abcb26b281
update some config file refs in secure.md
2023-01-06 06:49:11 -06:00
Scott Lamb
e0940979e4
upgrade nix, tungstenite deps
2023-01-05 20:18:57 -06:00
Scott Lamb
689765ea97
upgrade Rust deps
2023-01-05 17:43:45 -06:00
Scott Lamb
cc34a1aef5
Retina 0.4.4
2023-01-05 16:38:13 -06:00
Scott Lamb
7fe2284cec
fix docker build (untested)
...
Forgot to update a symlink command in cdfb61f
.
I'm not able to test this right now because my build machine is down,
but this fix should work.
2023-01-05 12:45:30 -06:00