Skip to content
This repository was archived by the owner on Sep 25, 2021. It is now read-only.
This repository was archived by the owner on Sep 25, 2021. It is now read-only.

visitRendered is called twice after initial request #165

@gearoidoceallaigh

Description

@gearoidoceallaigh

It looks as though visitRendered is being triggered twice after an initial load when a page is loaded using the Turbolinks.visit method.

I've been able to reproduce using a clean Rails 6 project and the a clean Turbolinks Demo app.

To reproduce:

  1. Create a new Rails 6 (I'm using 6.0.2) app and some new view/controller you can visit. Start the server.
  2. Download the turbolinks-ios library and run the TurbolinksDemo project.
  3. Update the URL in the iOS project to hit your local server.
  4. Open the web inspector in Safari and access the console
  5. Add a breakpoint to visitRendered in the injected script (user-script)
  6. Run Turbolinks.visit('/')
  7. visitRendered is triggered once (correctly)
  8. Run Turbolinks.visit('/') again
  9. visitRendered is triggered twice
  10. Interestingly, only one HTTP request is made.

This results in two visitableDidRender calls in the iOS app which is negatively impacting my application as I do some additional view controller configuration post render.

Would appreciate it if someone could try the above and report if they are able to reproduce.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions