Skip to content

fix: rerun viewer not auto-opening#1922

Open
jeff-hykin wants to merge 6 commits intodevfrom
jeff/fix/rerun
Open

fix: rerun viewer not auto-opening#1922
jeff-hykin wants to merge 6 commits intodevfrom
jeff/fix/rerun

Conversation

@jeff-hykin
Copy link
Copy Markdown
Member

misc rerun fix

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-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 27, 2026

Greptile Summary

This PR adds an explicit register_colormap_annotation("turbo") call in bridge.py after rerun_init and also commits an internal pr_responses.yaml tracking file. The annotation call is redundant because rerun_init (in init.py) already invokes it — resulting in rr.log being called twice with 256 annotation entries on every viewer start.

Confidence Score: 5/5

Safe 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

Filename Overview
dimos/visualization/rerun/bridge.py Adds an explicit register_colormap_annotation("turbo") call after rerun_init, but rerun_init already invokes this function internally — resulting in a duplicate rr.log call on every start().
pr_responses.yaml New file that is an internal draft PR-response tracking artifact; should not be committed to the source tree.

Sequence Diagram

sequenceDiagram
    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)
Loading

Reviews (5): Last reviewed commit: "fix: resolve merge conflict with dev in ..." | Re-trigger Greptile

Comment thread dimos/visualization/rerun/bridge.py
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Comment thread dimos/visualization/rerun/bridge.py Outdated

rerun_init("dimos")
rr.init("dimos")

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't use rerun_init because we need to do the grpc work before register_colormap_annotation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to init rerun without a bridge for memory stuff, which "grpc work" do you need to do? what's the issue?

@jeff-hykin jeff-hykin closed this Apr 28, 2026
@jeff-hykin jeff-hykin reopened this Apr 28, 2026
paul-nechifor
paul-nechifor previously approved these changes Apr 28, 2026
@paul-nechifor paul-nechifor enabled auto-merge (squash) April 28, 2026 04:31
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.
paul-nechifor
paul-nechifor previously approved these changes Apr 28, 2026
Copy link
Copy Markdown
Contributor

@leshy leshy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need info here

Comment thread dimos/visualization/rerun/bridge.py Outdated

rerun_init("dimos")
rr.init("dimos")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to init rerun without a bridge for memory stuff, which "grpc work" do you need to do? what's the issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants