Commit Graph

1007 Commits

Author SHA1 Message Date
Scott Lamb
bee5b387a5 WIP: use jiff crate
TODO:
* use a released Retina
* look over `base/time.rs` changes
2024-08-23 21:51:13 -07:00
Scott Lamb
f9e3fb56b3 update some deps 2024-08-23 21:37:21 -07:00
Scott Lamb
6c587c1b2e correct iphone bug number in changelog 2024-08-21 22:10:16 -07:00
Scott Lamb
04b49f06db make iphone live view play in line
Fixes #133
2024-08-21 21:52:05 -07:00
Scott Lamb
140f625a80 clippy 2024-08-19 08:13:35 -07:00
Scott Lamb
dad664c244 upgrade to retina 0.4.9
This is a step toward H.265 recording support (#33) by using Retina
for the `VisualSampleEncoding` instead of the prior H.264-specific
logic. The only further change to Moonfire itself needed for H.265 is to
add `| "h265"` to the check for the right video stream.

This also adds support for recording MJPEG, although browser playback
almost certainly won't work.
2024-08-19 08:13:32 -07:00
Scott Lamb
89f230004e avoid unbounded channels in live streams
It's cleaner anyway to use `tokio::broadcast::channel` than the list
of callbacks.

Also make it send pings only on long pauses between frames, as when
the camera is disconnected.
2024-08-15 17:32:08 -07:00
Scott Lamb
d43e09d959 build fixes 2024-08-15 16:12:04 -07:00
Scott Lamb
0422593ec6 ui list view: tool tip to see why recording ended
Users are often puzzled why there are short recordings. Previously
the only way to see this was to examine Moonfire's logs. This should
be a much better experience to find it right in the UI where you're
wondering, and without the potential the logs are gone.

Fixes #302
2024-06-01 07:46:11 -07:00
Scott Lamb
adf73a2da1 .cargo/config -> .cargo/config.toml
This addresses a deprecation warning. The latter filename has been
supported since Rust 1.39, well under our MSRV.
2024-06-01 06:01:27 -07:00
Scott Lamb
c20c644747 fix some Rust 1.78.0 clippy warnings 2024-06-01 06:00:28 -07:00
Scott Lamb
6c227ec0f5 improve build error on git failure
This tells folks what to do if they are trying to build from a release
source archive, as in the following discussion:
<https://github.com/scottlamb/moonfire-nvr/discussions/318>
2024-06-01 05:38:04 -07:00
Scott Lamb
e6c7b800fe tolerate bad sps/pps, continued 2024-05-30 18:19:58 -07:00
Scott Lamb
1ae61b4c64 fix some warnings 2024-05-30 18:19:16 -07:00
Scott Lamb
eb97e618fd prep 0.7.15 w/ Retina updates 2024-05-26 10:25:13 -07:00
Scott Lamb
93a9ad9af3 attempt at iPhone support (#121) 2024-04-16 21:20:07 -07:00
Scott Lamb
9acb095a5d prep v0.7.14 2024-04-16 21:07:34 -07:00
Scott Lamb
8b5f2b4b0d work on Firefox!
Fixes #286.

I dug into Firefox code a bit to understand this but got a lost. But
I guess there are different policies for what's accessible via
`video.src = ""` than for `<video src="">`. This works for now, matches
what other players such as `mpegts.js` do, and is closer to what Safari
MME (required on iPhone) needs anyway. (With MME, apparently you have to
use `video.srcObject`, or the `MediaSource`'s `sourceopen` event will
never fire.)
2024-04-16 17:08:16 -07:00
Scott Lamb
a65994ba71 match VS Code extension rename 2024-04-16 16:44:36 -07:00
Scott Lamb
ef98f60241 mention michioxd's #315 changes 2024-04-16 16:43:57 -07:00
Scott Lamb
7f4b04ee8a list ui selector layout fixes
* The `DisplaySelector` wasn't getting the correct flex layout.
  Before this was done by a manual style on a `Paper` element. That
  broke when adding the inner `<CardContent>` to because that's the
  container that needs the `display: "flex"`. But really, it's clearer
  to do this with `<FormGroup>` anyway, so do that.

* Switch from `<Card><CardContent>` to `<Paper sx={{ padding: ... }}>`.
  The card content has extra padding (16 px in general, 24 at the bottom
  of the last element to fit with an action). I'm not quite sure the
  best way to remove it, and the simpler `<Paper>` seems fine for this
  use anyway.
2024-04-15 21:46:22 -07:00
michioxd
9ede361b25 switch to pnpm 2024-04-13 21:53:59 -07:00
michioxd
8036aa40b7 prettify code 2024-04-13 21:53:59 -07:00
michioxd
a787703a31 added jsdom to dev deps 2024-04-13 21:53:59 -07:00
michioxd
3f4cee7ead Switch to pnpm 2024-04-13 21:53:59 -07:00
michioxd
c67a5ffba5 Added more dark background for select camera and fullscreen button. 2024-04-13 21:53:59 -07:00
michioxd
305deaa1e7 Set default theme mode to based on system color scheme 2024-04-13 21:53:59 -07:00
michioxd
29cafc2f82 Fixed code that didn't meet the eslint rule. 2024-04-13 21:53:59 -07:00
michioxd
60c6247ef9 Fixed TypeError: window.matchMedia is not a function during testing via vitest. 2024-04-13 21:53:59 -07:00
michioxd
317b8e9484 Resolved know problem. 2024-04-13 21:53:59 -07:00
michioxd
91e02eba7a Add copyright/license header for each components 2024-04-13 21:53:59 -07:00
michioxd
5b5822900d Update lock file for npm 2024-04-13 21:53:59 -07:00
michioxd
b46d3acabb force color white in camera selector due to light theme 2024-04-13 21:53:59 -07:00
michioxd
6e81b27d1a Extra change for Moonfire WebUI 2024-04-13 21:53:59 -07:00
Scott Lamb
dbf6c2f476 prepare v0.7.13 2024-02-12 18:15:56 -08:00
Scott Lamb
eef18372cc fix inverted cond in combining 2024-02-12 18:04:47 -08:00
Scott Lamb
1f7c4c184a seamlessly merge minor VSE changes
Improves #302.
2024-02-12 17:35:27 -08:00
Scott Lamb
f385215d6e clippy 2024-02-12 17:32:37 -08:00
dependabot[bot]
f3da22fc5c Bump vite from 5.0.10 to 5.0.12 in /ui
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.10 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 22:49:25 -08:00
dependabot[bot]
65b3d54466 Bump follow-redirects from 1.15.3 to 1.15.4 in /ui
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 22:49:11 -08:00
dependabot[bot]
7beff8e1c9 Bump h2 from 0.3.22 to 0.3.24 in /server
---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 22:48:14 -08:00
Scott Lamb
9592fe24e8 small tweaks to docker instructions
* strongly encourage the single-binary approach and say why.
* fix a broken link in troubleshooting guide (and regenerate toc).
* add a couple more comments to the docker compose snippet
2024-01-31 20:15:11 -08:00
Scott Lamb
b47310644d update gitignore to reflect webpack->vi move 2024-01-31 20:15:04 -08:00
Scott Lamb
6f472256ab mention ui development proxy too 2024-01-31 17:12:44 -08:00
Scott Lamb
d1c033b46d fix docs to mention UI bundling
see #305
2024-01-31 17:07:11 -08:00
Scott Lamb
223da03e36 v0.7.12: update Retina 2024-01-08 21:21:09 -08:00
Scott Lamb
4d4d786cde update indexmap 2024-01-06 11:54:33 -08:00
Scott Lamb
86816e862a update some Rust dependencies
I didn't go to quite the latest version of everything, in an effort to
minimize duplicates in the cargo tree.
2024-01-06 11:41:28 -08:00
Scott Lamb
2bcee02ea6 use recommended userEvent style
Noticed this while looking at these `act` warnings. I didn't manage to
solve those, but at least this makes the tests more consistent with
current docs.
2023-12-30 12:26:29 -08:00
Scott Lamb
77720a09e3 fix vitest busy loops 2023-12-30 11:59:24 -08:00