Part of the PyQt → Dash/Plotly migration. See cytoflowweb/PLAN.md for full context.
Estimated effort: 1–2 weeks
Depends on: Phase 1 (#1)
Tasks
WebSocket message schema
{"type": "status", "step": 3, "state": "estimating", "progress": 0.42}
{"type": "plot_ready","step": 3}
{"type": "error", "step": 3, "message": "..."}
Milestone
Long-running operations (tSNE, SOM, Gaussian mixture) show live progress in the sidebar. Users can cancel a running computation without refreshing the page.
Part of the PyQt → Dash/Plotly migration. See
cytoflowweb/PLAN.mdfor full context.Estimated effort: 1–2 weeks
Depends on: Phase 1 (#1)
Tasks
/ws/{session_id})dash-extensionsWebSocket client (ordcc.Intervalpolling as fallback)dbc.BadgeWebSocket message schema
{"type": "status", "step": 3, "state": "estimating", "progress": 0.42} {"type": "plot_ready","step": 3} {"type": "error", "step": 3, "message": "..."}Milestone
Long-running operations (tSNE, SOM, Gaussian mixture) show live progress in the sidebar. Users can cancel a running computation without refreshing the page.