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

Make it possible for a an http-streamed RRD to end up in follow mode #6243

Closed
jleibs opened this issue May 7, 2024 · 0 comments · Fixed by #6326
Closed

Make it possible for a an http-streamed RRD to end up in follow mode #6243

jleibs opened this issue May 7, 2024 · 0 comments · Fixed by #6326
Assignees
Labels
📺 re_viewer affects re_viewer itself
Milestone

Comments

@jleibs
Copy link
Member

jleibs commented May 7, 2024

Although this should eventually be configurable via the blueprint, an easier stop-gap is an extra parameter such as follow=True, or maybe live_streaming=True to be added to the web.rs:add_receiver(&self, url: &str) API.

This would store some info in the SmartChannel and allow us to make the right choice for the default follow mode.

@jleibs jleibs added the 📺 re_viewer affects re_viewer itself label May 7, 2024
@jleibs jleibs self-assigned this May 14, 2024
@jleibs jleibs added this to the 0.16 milestone May 15, 2024
jleibs added a commit that referenced this issue May 15, 2024
#6326)

### What
- Resolves: #6243

In the context of the Gradio integration, although we are streaming over
http, from the perspective of system operation it feels more like a
websocket. In many situations we want new data to update immediately
once computation is done, rather than playing over time abstract time
domain.

Eventually we would like to control all of this behavior through
blueprint, but moving TimeControls to blueprint is a lot more work. We
already use the SmartChannelSource to make the determination of follow
mode, so with a little bit of additional plumbing, it's possible for us
to indicate this from the js API.

This is a pretty advanced edge-case and so I haven't exposed it to the
other mechanism through which an http source might be added. I assume
this will eventually be removed again once we have TimeControls
available via blueprint.

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6326?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6326?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/6326)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
jleibs added a commit that referenced this issue May 15, 2024
#6326)

### What
- Resolves: #6243

In the context of the Gradio integration, although we are streaming over
http, from the perspective of system operation it feels more like a
websocket. In many situations we want new data to update immediately
once computation is done, rather than playing over time abstract time
domain.

Eventually we would like to control all of this behavior through
blueprint, but moving TimeControls to blueprint is a lot more work. We
already use the SmartChannelSource to make the determination of follow
mode, so with a little bit of additional plumbing, it's possible for us
to indicate this from the js API.

This is a pretty advanced edge-case and so I haven't exposed it to the
other mechanism through which an http source might be added. I assume
this will eventually be removed again once we have TimeControls
available via blueprint.

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6326?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6326?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/6326)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📺 re_viewer affects re_viewer itself
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant