[package_info_plus]: Use Flutter's compile-time build name/number on web instead of version.json
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Start in the package_info_plus web implementation and review its current version.json loading path. Verify the compile-time build values are preferred when available, version.json remains the fallback, and native behavior is unchanged; the linked PR #3990 indicates work is already underway.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Plugin
package_info_plus
Use case
On the web, PackageInfo.fromPlatform() reads version / buildNumber from version.json, fetched from the server at runtime. That file describes the currently deployed bundle, not the one running. A client on a stale cached bundle therefore reports the new version, so update gates and "running version" displays fail for exactly the users they exist for (#2675, closed as not planned). The fetch can also fail outright (#456, #3028).
Since Flutter 3.47.0 (flutter/flutter#187935), flutter_tools injects the app's pubspec version (or --build-name / --build-number) as the dart-defines FLUTTER_BUILD_NAME / FLUTTER_BUILD_NUMBER, exposed as appBuildName / appBuildNumber in package:flutter/services.dart. They are compiled into the bundle, so they always describe the code that is executing.
Proposal
In the web implementation, prefer the compile-time values when present and keep version.json as the fallback:
const _buildName = bool.hasEnvironment('FLUTTER_BUILD_NAME')
? String.fromEnvironment('FLUTTER_BUILD_NAME')
: null;
const _buildNumber = bool.hasEnvironment('FLUTTER_BUILD_NUMBER')
? String.fromEnvironment('FLUTTER_BUILD_NUMBER')
: null;
Reading the defines through bool.hasEnvironment (instead of importing appBuildName) keeps the current minimum Flutter version: older SDKs just don't define them, and behaviour is unchanged. On native platforms nothing changes.
This fixes #2675 transparently for every consumer, including SDKs that derive their release from package_info_plus (for example sentry_flutter's release name).
PR: #3990 (replaces the opt-in approach of #3874, which I closed once the Flutter side landed).
- Vorherrschende Sprache
- Dart
- Sterne
- 1.9k
- Forks
- 1.3k
- Ø Merge
- 8 Std. 43 Min.
- Gemergte PRs (30 T.)
- 13
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus fluttercommunity/plus_plugins
-
enhancement triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
fluttercommunity/plus_plugins#4004 · 2 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: (share_plus) iOS drops the subject when sharing a uriEvtl. vergeben @kaluli123123 hat das vor 21 Tagen übernommen. Offenbug triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
fluttercommunity/plus_plugins#3994 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: package_info_plus web throws StateError when the engine assetBase is relativeEvtl. vergeben @nmloc hat das vor 8 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
fluttercommunity/plus_plugins#4005 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: share_plus decodes full-resolution images on the main thread when preparing iOS share previewsEvtl. vergeben @ananya-kaul hat das vor 11 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
fluttercommunity/plus_plugins#4001 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Request]: network_info_plus: use ConnectivityManager for getWifiIP and getWifiGatewayIP from Android 7 (N), so ethernet works below Android 12Evtl. vergeben @redge-munch hat das vor 20 Tagen übernommen. Offenenhancement triage
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 22/100
fluttercommunity/plus_plugins#3998 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in fluttercommunity/plus_plugins
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
fossasia/badgemagic-app#2016 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug P3 ux
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
QueryaHub/Querya-Desktop#1837 ·
Maintainer antworten meist innerhalb von 1 Tag
-
direct-code
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
aaronified/fluenough#849 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
PATILYASHH/XPENC#179 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag