[web] Document viewport-fit=cover SafeArea support, URL percent-encoding preservation, and clean up web overview docs for Flutter 3.50
维护者通常 1 天内回复
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 56/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
调研方向
Start with the named files under sites/docs/src/content/deployment/web/, release/breaking-changes/, platform-integration/web/, and resources/architectural-overview.md; review the referenced Flutter changes and the existing surrounding documentation. Update the pages and remove the unused link definitions as specified, then run the website’s documentation checks. Done means the Flutter 3.50 behavior and migration guidance are accurate and the outdated prose and broken link are fixed.
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- Dart
- 星标
- 3.1k
- 派生
- 3.5k
- 平均合并
- 4 天 37 分钟
- 30 天内合并 PR
- 45
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
flutter/website 的其他 Issue
-
act.await-dev-pr d.enhancement e0-minutes p2-medium t.cli-tools t.i18n t.l10n
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
a.tut.codelab-google fix.code-sample fix.link fix.typo from.flutter-sdk p2-medium
难度 1/5 1 小时以内 新手友好度 65/100
flutter/website#13967 · 3 条评论 ·
维护者通常 1 天内回复
-
Missing download link on install page可能已有人在做 @conooi 于 27 天前认领。 未关闭from.page-issue p1-high
难度 2/5 1-3 小时 新手友好度 72/100
flutter/website#13540 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
At step 5th in `Get to know Firebase for Flutter` codelabs, the screenshot is not synced with code未关闭a.tut.codelab-google p2-medium
难度 2/5 1-3 小时 新手友好度 76/100
flutter/website#13816 · 5 条评论 ·
维护者通常 1 天内回复
-
act.await-dev-pr co.request d.new-feature devos.macOS e1-hours ed.xcode p2-medium t.cli-tools target.iOS target.macOS
难度 3/5 1-2 天 新手友好度 54/100
flutter/website#13998 · 1 条评论 ·
维护者通常 1 天内回复
相似的 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 68/100
ymm-oss/flutter-mobile-project-template#704 ·
维护者通常 15 天内回复
-
难度 2/5 1-3 小时 新手友好度 77/100
维护者通常 1 天内回复
-
[Bug] MCP tools/list returns a boolean JSON Schema for get_task_stats, breaking strict clients可能已有人在做 @monkeyWie 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 79/100
维护者通常 2 天内回复
-
bug | 问题
难度 2/5 1-3 小时 新手友好度 72/100
FoxSensei001/LoveIwara#137 ·
-
[dwds] WebkitDebugger.enable 5-second hardcoded timeout causes TimeoutException on large web apps未关闭package:dwds
难度 2/5 1-3 小时 新手友好度 74/100