fryette / webview_cookie_manager

MIT License
48 stars 52 forks source link

Remove references to deprecated v1 Android embedding #74

Open reidbaker opened 3 months ago

reidbaker commented 3 months ago

Remove references to deprecated v1 Android embedding

To ensure this plugin will work with users running the next stable version of Flutter remove references to the v1 embedding.

The v1 embedding was deprecated around 6 and a half years ago. In Flutter 3.22, the Flutter tool dropped support for building v1 apps entirely. Flutter plans to delete version one of it's Android embedding in the next stable release, per https://medium.com/flutter/whats-new-in-flutter-3-22-fbde6c164fe3 (in the "Removal of v1 Android embedding" section).

When that deletion happens, any apps using plugins that still have references to the removed classes will fail to build when updating to the next stable version (probably Flutter 3.26).

As a part of this deprecation, the Flutter Android team is doing community outreach by filing bugs and submitting some pull requests to update plugins to minimize the impact this removal has on the community.

Some example PRs:

Consequences:

If this change doesn't land, this plugin will instead be broken for all apps building on the next stable version of Flutter and beyond.

Is there a way to support both v1 and v2 embedding apps in the next stable version of Flutter?

No.

This is the PR where we are removing the deprecated engine classes: https://github.com/flutter/engine/pull/52022

reidbaker commented 1 month ago

https://github.com/flutter/engine/pull/52022 has been merged. Users targeting Flutter master and beta/stable releases after (but not including) 3.27 will fail to compile if the plugin has references any v1 embedding classes.

To aid in identifying these classes here is a search query you can run in github on your repo.

("io.flutter.view.FlutterMain" OR "io.flutter.view.FlutterNativeView" OR "io.flutter.view.FlutterView" OR "io.flutter.embedding.engine.plugins.shim" OR "io.flutter.app" OR "PluginRegistry.Registrar")

Milimeter commented 3 weeks ago

Still no response. @reidbaker do you have a fork?

reidbaker commented 3 weeks ago

I do not have a fork and will not be creating one.

rekire commented 2 weeks ago

I think the main problem with this plugin is that no updates are pushed out. E.g. a fix from me https://github.com/fryette/webview_cookie_manager/pull/66 was merged in march and is still not published.

Milimeter commented 1 week ago

I guess we just have to use your git reference then. @rekire

Milimeter commented 1 week ago

@rekire the fork that you made. Was it the v1 to v2 embedding migration?

rekire commented 1 week ago

I am not sure, I would need to review what is actually required and what I did in the past. My guess is no. My comment was more about that this package seems to be unmaintained at the moment.

Update: I looked for the keyword from the second comment. There is just one hit (in my fork). Which looks IMHO like a legacy support, which can be removed, but should not break anything. However please review the requirements yourself. I won't touch my fork until I get compile errors in the future. I am not maintaining this package.