Skip to content

Made Astro Client Side Test Fairer#257

Merged
AlexanderKaran merged 1 commit into
mainfrom
astro-client-side-fixes
Jun 27, 2026
Merged

Made Astro Client Side Test Fairer#257
AlexanderKaran merged 1 commit into
mainfrom
astro-client-side-fixes

Conversation

@AlexanderKaran

Copy link
Copy Markdown
Collaborator
  • Updated Astro Client Side Methodology description
  • Remove ClientSide Router as it's not needed for client-side and just ops in view transitions. In most frameworks, you have to opt in for view transitions, so it's not fair to add it for Astro.

@dreyfus92 Please add a better description if I did a shit job above lol

Another fix for #194

Might be able to close the Astro check now

@AlexanderKaran AlexanderKaran requested a review from dreyfus92 June 27, 2026 01:40
@AlexanderKaran AlexanderKaran requested a review from 43081j as a code owner June 27, 2026 01:40
@dreyfus92

Copy link
Copy Markdown
Collaborator

quick note on why we decided to remove <Clientrouter />:

<Clientrouter /> and csr are two different things. what actually makes this test client-only is the directive client:only="react" on the table island not clientrouter. that's what keeps the table out of the initial html, and lighthouse waiting on table tbody after hydration/render is the behavior we care about.

clientrouter is basically just "hey astro, enable view transitions api". it gives mpa apps that soft spa-like navigation feel, but it's optional. it doesn't enable csr, and you don't need it for a client only island to work.

so including it here felt a bit off because:

we're benchmarking client-rendered ui, not optional navigation/transitions most other frameworks in the suite don't include transition/router behavior by default for csr (usually opt-in) keeping it would bake in an astro-specific optional feature that isn't really part of a typical csr setup

the react + client:only approach, react isn't required for client-only in astro (you could do a client <script> or another integration), but it's a reasonable default and closer to how a lot of astro apps ship interactive islands. a plain script-generated table would be more baseline html/js and less "astro-y", so imo keeping react here makes sense.

@AlexanderKaran AlexanderKaran merged commit 853fda2 into main Jun 27, 2026
3 checks passed
@AlexanderKaran AlexanderKaran deleted the astro-client-side-fixes branch June 27, 2026 02:37
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