Skip to content

Fix/wide tsfile table and chart rendering#24

Merged
HTHou merged 2 commits into
apache:mainfrom
CritasWang:fix/wide-tsfile-table-and-chart-rendering
Jun 17, 2026
Merged

Fix/wide tsfile table and chart rendering#24
HTHou merged 2 commits into
apache:mainfrom
CritasWang:fix/wide-tsfile-table-and-chart-rendering

Conversation

@CritasWang

Copy link
Copy Markdown
Contributor

No description provided.

…crash

Wide table-model TsFiles (thousands of measurements) crashed the browser in
both the Data Preview and Chart views by rendering every column/series at once.

Data Preview (DataTable.vue):
- Paginate field columns (default 50/page) with a column search box; render
  only the current column window and flatten only visible columns per row.
- Enable virtual row scrolling.

Chart (ChartPanel.vue, TableFilterPanel.vue, TreeFilterPanel.vue):
- Default-select only the first 8 numeric fields instead of all fields on load.
- Refuse to render and show a warning when a query returns more than 50 series.

Backend (DataService.java):
- Hard-cap chart series at 200 per request as a performance safety net.

i18n: add column-pagination and chart-series-limit strings (zh-CN, en-US).
The /view/** resource handler applied max-age=3600 uniformly, so index.html
(the entry point referencing content-hashed asset filenames) was cached for
up to an hour. After a deploy, browsers kept loading the old index.html and
thus the old asset references, masking the new build.

Split the caching:
- /view/assets/** (content-hashed build output): max-age=1y, public, immutable.
- index.html and SPA routes: no-cache (revalidate every load) so a new
  deployment is picked up immediately.
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