fix: rerun viewer not auto-opening#1922
Conversation
register_colormap_annotation logs data via rr.log before serve_grpc starts the gRPC server, which deadlocks in the worker subprocess. Move rr.init before serve_grpc and colormap registration after. Also add missing local rerun imports after top-level imports were removed.
Greptile SummaryThis PR adds an explicit Confidence Score: 5/5Safe to merge after removing the duplicate annotation call and the accidental pr_responses.yaml commit. Both findings are P2: the duplicate rr.log call is wasteful but not incorrect (static annotations are idempotent), and the yaml file is an errant process artifact. No P0/P1 issues found. pr_responses.yaml should be removed; bridge.py line 311 duplicate call should be cleaned up. Important Files Changed
Sequence DiagramsequenceDiagram
participant B as bridge.py start()
participant RI as rerun_init()
participant RCA as register_colormap_annotation()
participant RR as rerun (rr)
participant V as Viewer
B->>RI: rerun_init("dimos")
RI->>RR: rr.init(app_id)
RI->>RCA: register_colormap_annotation("turbo") [call #1]
RCA->>RR: rr.log("/", AnnotationContext[256], static=True)
RI-->>B: return
B->>RCA: register_colormap_annotation("turbo") [call #2 — duplicate]
RCA->>RR: rr.log("/", AnnotationContext[256], static=True)
RCA-->>B: return
B->>V: spawn() / connect_grpc() / serve_grpc()
RR-->>V: flush buffered data (including duplicate annotations)
Reviews (5): Last reviewed commit: "fix: resolve merge conflict with dev in ..." | Re-trigger Greptile |
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
|
|
||
| rerun_init("dimos") | ||
| rr.init("dimos") | ||
|
|
There was a problem hiding this comment.
Can't use rerun_init because we need to do the grpc work before register_colormap_annotation
There was a problem hiding this comment.
I need to init rerun without a bridge for memory stuff, which "grpc work" do you need to do? what's the issue?
mypy --no-untyped-def flagged the inner closure. Annotate its msg/return and bind pipe()'s Any result to a typed local to drop the no-any-return leak.
|
|
||
| rerun_init("dimos") | ||
| rr.init("dimos") | ||
|
|
There was a problem hiding this comment.
I need to init rerun without a bridge for memory stuff, which "grpc work" do you need to do? what's the issue?
misc rerun fix