Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

event stream #40

Open
scottlamb opened this issue Mar 9, 2018 · 1 comment
Open

event stream #40

scottlamb opened this issue Mar 9, 2018 · 1 comment
Labels
enhancement rust Rust backend work required
Milestone

Comments

@scottlamb
Copy link
Owner

scottlamb commented Mar 9, 2018

I'd like to have an API endpoint which streams events as they happen, such as:

  • segment of recording was deleted
  • segment of recording was created. (with an additional flag to indicate the next segment of recording for that stream is in progress, so you can assume it has video from then to approximately now.)
  • a signal was changed

With this, the frontend UI could update itself without requiring the user to hit refresh.

It could be a multipart/mixed WebSockets stream (like the live view) of JSON events that happened in the current "open", each with a sequence number.

Other API calls like /api/?days=true or /api/camera/<uuid>/<stream>/recordings would have a HTTP header showing the matching sequence number. The frontend could use those together to compute the contents at any later point.

@scottlamb scottlamb added this to the 1.0? milestone Mar 9, 2018
@dolfs
Copy link
Contributor

dolfs commented Mar 9, 2018 via email

@scottlamb scottlamb added the rust Rust backend work required label Jun 6, 2020
scottlamb added a commit that referenced this issue Jul 18, 2020
This is a quick fix to a problem that gives a confusing/poor initial
experience, as in this thread:
https://groups.google.com/g/moonfire-nvr-users/c/WB-TIW3bBZI/m/Gqh-L6I9BgAJ

I don't think it's a permanent solution. In particular, when we
implement an event stream (#40), I don't want to have a separate event
for every frame, so having the days map change that often won't work.
The client side will likely manipulate the days map then to include a
special entry for a growing recording, representing "from this time to
now".
scottlamb added a commit that referenced this issue Feb 16, 2023
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).
scottlamb added a commit that referenced this issue Feb 16, 2023
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement rust Rust backend work required
Projects
None yet
Development

No branches or pull requests

2 participants