Repository navigation
Fix live chart connection with Reflex 0.10 - #527
Conversation
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (6)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merging this PR will improve performance by 17.4%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ ℹ️ | test_zone_maps_pair |
37 ms | 27.9 ms | +32.89% |
| ⚡ ℹ️ | test_zone_maps |
19.6 ms | 15.2 ms | +29.31% |
| ⚡ ℹ️ | test_first_payload_scatter_medium |
5.2 ms | 4.3 ms | +21.17% |
| ⚡ ℹ️ | test_build_scatter_medium_raw |
5.4 ms | 4.5 ms | +20.35% |
| ⚡ ℹ️ | test_first_payload_polar_line |
5.5 ms | 4.6 ms | +20.01% |
| ⚡ ℹ️ | test_first_payload_area_core_2d |
9.5 ms | 8.1 ms | +16.83% |
| ⚡ ℹ️ | test_build_scatter_medium_pyplot |
6.6 ms | 5.7 ms | +16.06% |
| ⚡ ℹ️ | test_build_payload |
70.2 ms | 61 ms | +15.1% |
| ⚡ ℹ️ | test_first_payload_line_large |
70.1 ms | 60.9 ms | +15.06% |
| ⚡ ℹ️ | test_build_line_large_raw |
70.3 ms | 61.1 ms | +15.02% |
| ⚡ ℹ️ | test_first_payload_ingest_flavors[datetime64] |
7.9 ms | 7 ms | +13.77% |
| ⚡ ℹ️ | test_first_payload_errorbar_large |
516.2 ms | 453.8 ms | +13.75% |
| ⚡ ℹ️ | test_build_line_large_pyplot |
86.8 ms | 77.6 ms | +11.8% |
| ⚡ ℹ️ | test_first_payload_density_large |
90.4 ms | 81 ms | +11.66% |
| ⚡ ℹ️ | test_histogram2d_weighted_arbitrary_edges |
98.9 ms | 89.4 ms | +10.56% |
Tip
Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.
Comparing fix/xy-reflex-010-namespace-526 (08518ea) with main (72a069f)
Footnotes
-
2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
|
Fixes #526.
Reflex 0.10 pre-creates the shared Socket.IO manager with
autoConnect: false. XY inherits that setting, leaving/_xyinactive and live charts empty.Activate the namespace explicitly when
sharedSocket.activeis false. The active guard matters: an already-open legacy manager can have its namespace handshake in flight, so an unconditionalconnect()sends a duplicate CONNECT. The cached-socket path stays unchanged, preserving app-owned reconnect timing.Tests
node js/build.mjs, full-worktree Ruff check/format, and all pre-commit hooks pass.The regression tests use real Socket.IO peers with React/DOM/ChartView stubs. Local browser painting and the full Python suite were blocked by Chromium's Unix socket restriction and the missing native Rust core, respectively. CI has since passed the repository's native and browser suites; a full compiled Reflex 0.10 app is not part of the new regression test.
CI results
All workflows passed on
08518ea7f75359117d8524703457846aae8c3210: CI, Docs, changelog, and CodSpeed.Includes the design contract and a news fragment. Socket.IO test dependencies are development-only.