Repository navigation
Closed
Labels
a.rn.breaking-changesRelates to breaking changes on a Flutter releaseRelates to breaking changes on a Flutter releasea.rn.release-notesRelates to Flutter release notes found on docs.flutter.devRelates to Flutter release notes found on docs.flutter.devd.enhancementImproves docs with specific askImproves docs with specific askdev.deploymentRelates to deploying Flutter app section of Flutter.devRelates to deploying Flutter app section of Flutter.devdev.integrationRelates to platform integrationRelates to platform integratione1-hoursEffort: < 8 hrsEffort: < 8 hrsfrom.teamReported by Dash docs team memberReported by Dash docs team memberp1-highMajor but not urgent concern: Resolve in months. Update each month.Major but not urgent concern: Resolve in months. Update each month.target.webTarget apps on the web platformTarget apps on the web platform
Description
Page URL
- https://docs.flutter.dev/deployment/web
- https://docs.flutter.dev/release/breaking-changes
- https://docs.flutter.dev/platform-integration/web
- https://docs.flutter.dev/resources/architectural-overview
Describe the problem
Flutter 3.50 includes two web platform behavior changes (viewport-fit=cover SafeArea support and URL percent-encoding preservation) plus several outdated/broken web architecture statements on docs.flutter.dev (cc @parlough @sfshaza2):
viewport-fit=coverSafeAreasupport & layout breaking change: In Flutter 3.50 (flutter/flutter#191647), Flutter Web respectsviewport-fit=coverin<meta name="viewport">and populatesFlutterView.viewPadding/MediaQuery.paddingOf/SafeAreafrom CSSenv(safe-area-inset-*). Existing web apps that already hadviewport-fit=coverinweb/index.html(previously stripped by the engine) will now render edge-to-edge under notches and home indicators unless wrapped inSafeArea.- Browser history URL percent-encoding preservation: URLs passed to
SystemNavigator.routeInformationUpdatedare no longer percent-decoded before being written to browser history (flutter/flutter#189835), preserving%2F,%26,%23, and%20across page refreshes. - Outdated 2019 HTML renderer prose & broken
[hot reload behind a flag][]link:sites/docs/src/content/platform-integration/web/index.md#L30-L41still describes the removed Dart-implemented HTML drawing layer, andsites/docs/src/content/resources/architectural-overview.md#L1084contains an unresolved[hot reload behind a flag][]reference link.
Detailed page breakdown & affected targets (AI-assisted)
Expected fix
1. sites/docs/src/content/deployment/web.md & sites/docs/src/content/release/breaking-changes/
- Edge-to-edge mobile web rendering (
viewport-fit=cover):- Document how adding
viewport-fit=coverto<meta name="viewport">inweb/index.html(now included as a commented-out option influtter createtemplates) enables full-bleed edge-to-edge rendering on iOS and Android browsers and populatesFlutterView.viewPadding/SafeAreavia CSSenv(safe-area-inset-*)(flutter/flutter#191647). - Add a breaking-change migration guide page under
sites/docs/src/content/release/breaking-changes/(and index it under Flutter 3.50 insites/docs/src/content/release/breaking-changes/index.md) warning that existing web apps that already hadviewport-fit=coverinweb/index.htmlwill now render under device cutouts/notches unless UI content is wrapped inSafeArea(orviewport-fit=coveris removed).
- Document how adding
- Browser history percent-encoding:
- Note that
EngineFlutterWindow(handleNavigationMessage) no longer callsUri.decodeComponenton theuristring passed toSystemNavigator.routeInformationUpdatedbefore callingbrowserHistory.setRouteName(flutter/flutter#189835), preventing loss of percent-encoded delimiters (%2F,%26,%23,%20) in route paths and query parameters.
- Note that
2. sites/docs/src/content/platform-integration/web/index.md (https://docs.flutter.dev/platform-integration/web)
- Rewrite
## How it works(L30-L41) to remove 2019 HTML-renderer prose ("We implemented the core drawing layer completely in Dart and used Dart's optimized JavaScript compiler...") and accurately describe compilation to JavaScript (dart2js/ddc) or WebAssembly (dart2wasm) paired with hardware-accelerated WebGL/WebGPU rendering via CanvasKit and Skwasm.
3. sites/docs/src/content/resources/architectural-overview.md (https://docs.flutter.dev/resources/architectural-overview)
- Fix
L1083-L1084(and therefore allows hot restart and [hot reload behind a flag][].): remove the broken[hot reload behind a flag][]reference link and state thatdartdevcsupports both hot reload and hot restart on the web by default (--web-experimental-hot-reloadwas removed in flutter/flutter#185994). - Remove the unused
[Web renderers]: /platform-integration/web/rendererslink definitions insites/docs/src/content/deployment/web.md#L196andsites/docs/src/content/platform-integration/web/building.md#L197.
Reacted by Jagmit Singh
Metadata
Metadata
Assignees
Labels
a.rn.breaking-changesRelates to breaking changes on a Flutter releaseRelates to breaking changes on a Flutter releasea.rn.release-notesRelates to Flutter release notes found on docs.flutter.devRelates to Flutter release notes found on docs.flutter.devd.enhancementImproves docs with specific askImproves docs with specific askdev.deploymentRelates to deploying Flutter app section of Flutter.devRelates to deploying Flutter app section of Flutter.devdev.integrationRelates to platform integrationRelates to platform integratione1-hoursEffort: < 8 hrsEffort: < 8 hrsfrom.teamReported by Dash docs team memberReported by Dash docs team memberp1-highMajor but not urgent concern: Resolve in months. Update each month.Major but not urgent concern: Resolve in months. Update each month.target.webTarget apps on the web platformTarget apps on the web platform
Activity
[-][web] Document viewport-fit=cover SafeArea support, URL percent-encoding preservation, and clean up web overview docs[/-][+][web] Document viewport-fit=cover SafeArea support, URL percent-encoding preservation, and clean up web overview docs for Flutter 3.50[/+][web] Update Flutter 3.50 web caching, Wasm, and viewport-fit docs (f…