Skip to content

fix: visualization and dashboard scalability for large datasets#17

Open
Jovonni wants to merge 6 commits intomainfrom
fix/scalability-viz
Open

fix: visualization and dashboard scalability for large datasets#17
Jovonni wants to merge 6 commits intomainfrom
fix/scalability-viz

Conversation

@Jovonni
Copy link
Contributor

@Jovonni Jovonni commented Mar 14, 2026

Summary

Fixes critical performance and rendering issues when working with large numbers of visualizations (2000+).

  • Lightweight list endpoint: API list query now excludes heavy rendered_output and code blobs, returning a
    VisualizationSummary instead — response dropped from ~100MB to ~900KB
  • Server-side pagination: Added page and per_page query params with LIMIT/OFFSET to the visualizations
    list endpoint (default 24 per page)
  • Frontend pagination controls: Visualizations list page now shows paginated results with page navigation
    instead of rendering 2000+ animated cards simultaneously (which caused a 2+ minute browser freeze from stagger
    animations)
  • WebGL context fix: Dashboard panels now lazy-render via IntersectionObserver — only visible panels mount
    their VizRenderer, preventing browser WebGL context exhaustion (gl-shader: Error compiling shader: null) when
    dashboards have many 3D Plotly charts
  • Placeholder chart fix: Fixed bug where notebook-generated visualizations showed a template Plotly chart
    instead of their actual rendered output on the detail page
  • Dashboard compat: Updated dashboard viz picker to handle the new paginated API response format

Test plan

  • Open /visualizations with 2000+ visualizations — page loads instantly with pagination controls
  • Navigate between pages — cards load quickly with stagger animation
  • Open /dashboards/:id with many 3D Plotly panels — no WebGL shader errors, panels lazy-load on scroll
  • Open a notebook-created visualization — shows actual rendered output, not placeholder template
  • Dashboard "Add Panel" picker still lists available visualizations correctly

@Jovonni Jovonni self-assigned this Mar 14, 2026
@Jovonni Jovonni added the enhancement New feature or request label Mar 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant