Coder Social home page Coder Social logo

Comments (3)

sigmundch avatar sigmundch commented on June 28, 2024

@Miiite - in your investigation, did you see any DeferredLoadException messages being thrown?

The dart2js compiler currently tracks and event-log when deferred loading is taking place. Internal customers have used this log data to diagnose difficult loading errors (sometimes similar in nature of trying to figure out what brought the application to a bad state, like you did).

First thing I'd like to make sure is that this event log is already available to you. Today this event-log is attached to the error that is thrown when a deferred load fails, so we hope it is.

Second thing is to study what additional data would be sufficient to help in this kind of diagnosis. We currently log a lot of details about the state of the loading process, but I don't believe we include a reason for retries as you suggested.

from sdk.

rakudrama avatar rakudrama commented on June 28, 2024

Is the error because the second version of the app has been redeployed in the same server directory, overwriting the resources needed by running copies of the first version of the app? Typically web apps are deployed in versioned directories so that multiple versions can be executing in client browsers at the same time.

from sdk.

sigmundch avatar sigmundch commented on June 28, 2024

I should have mentioned flutter/flutter#127459, too. Other users have requested a versioning strategy directly in how the compiler generates requests (e.g. adding hashes to the file-names or to the requests somehow).

My recommendation has been to address this as a serving infrastructure solution, like @rakudrama mentions above (see also flutter/flutter#127459 (comment)). This is what many large applications using Dart do today already. It also helps them to clarefully roll out new versions incrementally and not to all users at once.

If we believe a client-based solution is preferable, my recommendation would be to first refactor the script load management logic out of the SDK and into a package attached by the application. This then allows developers to update the loading strategy more easily if they so desire.

from sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.