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

Flutter web not working at all #3086

Open
fisforfaheem opened this issue Apr 28, 2024 · 15 comments
Open

Flutter web not working at all #3086

fisforfaheem opened this issue Apr 28, 2024 · 15 comments
Assignees

Comments

@fisforfaheem
Copy link

Launching lib\main.dart on Edge in debug mode...
Warning: In index.html:37: Local variable for "serviceWorkerVersion" is deprecated. Use "{{flutter_service_worker_version}}" template token instead.
Warning: In index.html:46: "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead.
../../../AppData/Local/Pub/Cache/hosted/pub.dev/get-5.0.0-release-candidate-5/lib/get_navigation/src/routes/get_transition_mixin.dart:374:39: Error: Member not found: 'CupertinoRouteTransitionMixin.isPopGestureInProgress'.
CupertinoRouteTransitionMixin.isPopGestureInProgress(route);
^^^^^^^^^^^^^^^^^^^^^^
Failed to compile application.

Exited (1).

@fisforfaheem
Copy link
Author

flutter 3.22

@nekomaruh
Copy link

nekomaruh commented May 14, 2024

Happens the same to me with auto_route dependency in flutter 3.22:
https://pub.dev/packages/auto_route

Update 16/05/24:
Apparently it is not a problem with the package, it is a problem with the latest version of Flutter, in my case it now always appears

Update 17/05/24:
I figured it out a solution for this warning. The problem seems to be with index.html in flutter web due to deprecated packages in Flutter 3.22:

  1. Inside <head> tag Replace:
<script>
    // The value below is injected by flutter build, do not touch.
    const serviceWorkerVersion = null;
</script>

By:

<script>
    // The value below is injected by flutter build, do not touch.
    const flutter_service_worker_version = null;
</script>
  1. And if you are using WebView embedding:

Inside <body> tag replace:

 <script>
    window.addEventListener('load', function(ev) {
      // Download main.dart.js
      _flutter.loader.loadEntrypoint({
        serviceWorker: {
          serviceWorkerVersion: serviceWorkerVersion,
        },
        onEntrypointLoaded: function(engineInitializer) {
          engineInitializer.initializeEngine().then(function(appRunner) {
            appRunner.runApp();
          });
        }
      });
    });
  </script>

By:

<script>
    window.addEventListener('load', function(ev) {
      // Download main.dart.js
      _flutter.loader.load({
        serviceWorker: {
          serviceWorkerVersion: serviceWorkerVersion,
        },
        onEntrypointLoaded: function(engineInitializer) {
          engineInitializer.initializeEngine().then(function(appRunner) {
            appRunner.runApp();
          });
        }
      });
    });
  </script>

Hope it helps :)

@aniketkhote9
Copy link

#3095

@corepuncher
Copy link

corepuncher commented May 21, 2024

My web build is busted. First I tried to address the flutter_service_worker_version error, and now when I build, in my index.html I have double quotes around the version value like this:

  <script>
    // The value below is injected by flutter build, do not touch.
    var serviceWorkerVersion = ""1234567899"";
  </script>

So then I manually delete the double quotes, and I still have the following errors:

flutter.js:3 Uncaught (in promise) FlutterLoader.load requires _flutter.buildConfig to be set

  <script>
    window.addEventListener('load', function (ev) {
      // Download main.dart.js
      _flutter.loader.load({
        serviceWorker: {
          serviceWorkerVersion: serviceWorkerVersion,
        },
        onEntrypointLoaded: function (engineInitializer) {
          engineInitializer.initializeEngine().then(function (appRunner) {
            appRunner.runApp();
          });
        }
      });
    });
  </script>

So it's like whack-a-mole at this point.

Any ideas what the root cause of this is? I used to be able to build web app fine, until upgrades.

@novaldebbyp
Copy link

@corepuncher
Copy link

Try to changed the index.html from this discussion https://stackoverflow.com/questions/78152396/how-do-i-replace-serviceworkerversion-with-flutter-service-worker-version

I had it like that basically (except had double quotes, tried changing to single...no difference).

A huge rabbit hole since trying to fix the serviceworker deprecation. I eventually reverted back to an old copy of index.html, and it works. So I will leave for now.

I wonder if I need to rebuild the web files , perhaps my files in that dir are too old (too many flutter versions ago)? And perhaps they changes several things by now.

@leferrad
Copy link

leferrad commented May 24, 2024

Inside <head> tag Replace:

@nekomaruh I tried your solution but I get this error ReferenceError: serviceWorkerVersion is not defined which makes sense given that variable is not defined.

@corepuncher
Copy link

Inside tag Replace:

@nekomaruh I tried your solution but I get this error ReferenceError: serviceWorkerVersion is not defined which makes sense given that variable is not defined.

For me the solution was to delete the contents of /web dir (backing up any mods to index.html) and then remake using:

flutter create --platforms web .

It was much easier than trying to fix all the changes that have occurred since I last made my project.

@rafaelbenedetti1
Copy link

I'm having a problem after update my flutter version to 3.22, I modify the index.html to new mode of app initialization. My application have some textfields, and after upgrade the number keyboard doesn't work, because the six and four keys moves the cursor to right and left and not show the number on field, how can i resolve this?

@ChAhmed1
Copy link

ChAhmed1 commented Jun 4, 2024

not issue resoolve

@fisforfaheem
Copy link
Author

Update your getX to v6 candidate

@dineshnagarajandev
Copy link

running flutter pub upgrade --major-versions helps to resolve.

@lualbertovargas
Copy link

lualbertovargas commented Jun 17, 2024

Me funcionó colocar lo siguiente en el body

<script src="flutter_bootstrap.js" async></script>

y

const serviceWorkerVersion = "{{flutter_service_worker_version}}";

@Martin-QPT
Copy link

Deleting the web folder (save off any changes) and then taking a Nuke and Pave approach seems to be the way to do it:

  1. Delete the web folder (save any custom stuff)
  2. run "flutter create --platforms web ."
  3. Test, Test, test your app....

@idealprogram
Copy link

Me funcionó colocar lo siguiente en el body

<script src="flutter_bootstrap.js" async></script>

y

const serviceWorkerVersion = "{{flutter_service_worker_version}}";

is work form me thanks, in doc have same things

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