Skip to content

Move dashboard row processing to a web worker - #447

Merged
pelikhan merged 3 commits into
mainfrom
copilot/update-dashboard-add-web-worker
Sep 1, 2026
Merged

Move dashboard row processing to a web worker#447
pelikhan merged 3 commits into
mainfrom
copilot/update-dashboard-add-web-worker

Conversation

Copilot AI commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Moves data-intensive filtering and sorting off the UI thread while introducing a small, serializable tidy-style processing language for dashboard rows.

Changes

  • Data processing

    • Adds dependency-free filter, summarize, arrange, and slice operators.
    • Supports grouped count, distinct-count, sum, mean, min, and max reductions.
  • Worker integration

    • Adds module-worker RPC with request correlation, stale-response protection, and synchronous fallback.
    • Routes interactive table filtering and sorting through the worker.
  • Specification

    • Documents operator shapes, execution order, aggregation semantics, structured-clone constraints, and response consistency requirements.
const operators = [
  { op: 'filter', predicates: [{ field: 'status', equals: 'open' }] },
  {
    op: 'summarize',
    by: ['repository'],
    values: [{ field: 'score', as: 'mean-score', reducer: 'mean' }]
  },
  { op: 'arrange', by: [{ field: 'mean-score', direction: 'desc' }] },
  { op: 'slice', limit: 10 }
];

Copilot AI and others added 3 commits September 1, 2026 13:33
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan September 1, 2026 13:41
@pelikhan
pelikhan marked this pull request as ready for review September 1, 2026 14:30
@pelikhan
pelikhan merged commit f6c46fa into main Sep 1, 2026
5 checks passed
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.

2 participants