Skip to content

Performance: Request only visible row fields#242

Merged
priethor merged 4 commits into
mainfrom
priethor/add/rows-fields-param
May 22, 2026
Merged

Performance: Request only visible row fields#242
priethor merged 4 commits into
mainfrom
priethor/add/rows-fields-param

Conversation

@priethor

@priethor priethor commented May 22, 2026

Copy link
Copy Markdown
Collaborator

What

Closes #172.

When a table view hides custom columns, row requests now send a fields[] list so the API only formats the fields the view needs. Full/default views still fetch the full row, and client-mode views keep the full payload because local filters and calculations may need hidden fields.

Why

Hidden rollups and relations can still be expensive to format. Skipping them keeps table loads cheaper without changing what the user sees.

How

  • The rows endpoint accepts fields[] and ignores stale or system keys.
  • The editor sends a sorted field list only when it is a real subset.
  • The perf bench now measures full heavy-rollup rows separately from a rollup-only projection.

Testing Instructions

  1. Open a collection table with several custom fields, including a relation or rollup.
  2. Hide one of the custom fields and reload the table.
  3. Confirm the visible cells still render correctly.
  4. Reorder visible columns and confirm the table does not refetch just because the order changed.
  5. Show all custom fields again and confirm the table loads normally.

Screen recording

Grabacion.de.pantalla.2026-05-22.a.las.16.57.29.mov

@priethor priethor marked this pull request as ready for review May 22, 2026 15:00
@priethor priethor merged commit b7d6c66 into main May 22, 2026
10 checks passed
@priethor priethor deleted the priethor/add/rows-fields-param branch May 22, 2026 15:24
@priethor priethor added this to the 0.1.0 milestone May 28, 2026
@priethor priethor added type: enhancement Improvement to existing behavior. area: performance Performance budgets, profiling, benchmarks, and regressions. labels May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: performance Performance budgets, profiling, benchmarks, and regressions. type: enhancement Improvement to existing behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Project columns in the rows endpoint

1 participant