Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Router with view transition api duplicates navigation history sometimes. #482

Open
illispi opened this issue Sep 27, 2024 · 1 comment
Open

Comments

@illispi
Copy link

illispi commented Sep 27, 2024

Describe the bug

When you click A, B or C route and then hit back navigation sometimes router navigates back to A even thought it should navigate to /. Its kind of rare behavior, so to repro you have try it multiple times. It happens more frequently on Brave browser than Chrome, so I am not sure what to make of it, maybe its some kind browser issue? Especially since on Brave android, sometimes VT api doesn't even trigger sometimes on back navigation. But my another astrojs site doesn't seem to fail on back navigation with vt api, so i can't be sure.

Your Example Website or App

https://github.com/illispi/SolidRouterVTapiIssue

Steps to Reproduce the Bug or Issue

  1. Click A
  2. Click back navigation
  3. repeat on A, B or C until issue occurs.

Expected behavior

Navigate consistently back to correct route.

Screenshots or Videos

No response

Platform

  • Windows 11
  • Chrome and Brave 129

Additional context

No response

@ryansolid
Copy link
Member

Yeah.. I can imagine there are exceptions. The truth is the best way to hook into View Transition APis would be something we exposed from core of Solid itself. The tricky part is we have our own async transition method and ideally you want to sneak the snapshot in after that is done but before we apply the render effects. We don't really expose that window right now. So you are stuck too early or too late in some cases.

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

No branches or pull requests

2 participants