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

Svelte update (3.5.1 > 3.5.2) and BOOOM! (problems, not joys) #3054

Closed
frederikhors opened this issue Jun 19, 2019 · 9 comments · Fixed by #3110
Closed

Svelte update (3.5.1 > 3.5.2) and BOOOM! (problems, not joys) #3054

frederikhors opened this issue Jun 19, 2019 · 9 comments · Fixed by #3110
Labels

Comments

@frederikhors
Copy link

frederikhors commented Jun 19, 2019

Taking https://codesandbox.io/s/reverent-tesla-c0kq0 from lukeed/navaid#13.

FIRST PROBLEM

I cannot navigate anymore.

Until 3.5.1 you can navigate like this:

  1. Being in Home ("/")
  2. click on "Go to Teams Page" ("/teams")
  3. click on "Go to Team 1 Page" ("team/1")

With 3.5.2 you can't.

You can do 1 and 2 but at the step 3 you see nothing.

If you are on the page "team/1" and reload using codesandbox's preview icon it works.

SECOND PROBLEM

In one of my projects the error is even more frightening:

TypeError: Cannot read property '$$' of undefined
@frederikhors
Copy link
Author

Maybe related: #3055

@lukeed
Copy link
Member

lukeed commented Jun 19, 2019

The problem is the "second problem" – that runtime error appears, killing the route/display.

The error appears in two forms:

function flush() {
    const seen_callbacks = new Set();
    do {
        // first, call beforeUpdate functions
        // and update components
        while (dirty_components.length) {
            const component = dirty_components.shift();
            set_current_component(component);
            update(component.$$); //<~ here
        }
        // ...
}

And here:

i: function intro(local) {
      if (current) return;
      (0, _internal.transition_in)(switch_instance.$$.fragment, local);
      current = true;
    },

They both seem to stem from a transition_in

function transition_in(block, local) {
    if (block && block.i) {
        outroing.delete(block);
        block.i(local);
    }
}

@Conduitry
Copy link
Member

Can you try with v3.5.3?

@Rich-Harris
Copy link
Member

I just tried it — still broken

@Conduitry Conduitry added the bug label Jun 21, 2019
@Rich-Harris
Copy link
Member

Am I right in thinking this was Navaid-related, and is fixed with Navaid 1.0.5?

@lukeed
Copy link
Member

lukeed commented Jun 25, 2019

Nope 😬 still happens with latest versions of each

@Rich-Harris
Copy link
Member

@Rich-Harris
Copy link
Member

Fixed in 3.6.0! thanks

@frederikhors
Copy link
Author

frederikhors commented Jun 25, 2019

Fixed in 3.6.0! thanks

Thanks only to you actually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants