Skip to content

Commit 22570da

Browse files
authored
Misc docs cleanup and fixes (flutter#155501)
1 parent 35d5714 commit 22570da

File tree

49 files changed

+229
-109
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+229
-109
lines changed

CONTRIBUTING.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,12 @@ for how to set up your development environment, or ask in #hackers-test on Disco
9191
Developing for Flutter
9292
----------------------
9393

94-
If you would prefer to write code, you may wish to start with our list of good first issues for [Flutter](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) or for [Flutter DevTools](https://github.com/flutter/devtools/labels/good%20first%20issue). See the respective sections below for further instructions.
94+
If you prefer to write code, consider starting with the list of good
95+
first issues for [Flutter][flutter-gfi] or for [Flutter DevTools][devtools-gfi].
96+
Reference the respective sections below for further instructions.
97+
98+
[flutter-gfi]: https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
99+
[devtools-gfi]: https://github.com/flutter/devtools/labels/good%20first%20issue
95100

96101
### Framework and Engine
97102

@@ -162,7 +167,7 @@ API documentation
162167
-----------------
163168

164169
Another great area to contribute in is sample code and API documentation. If this is an area that interests you, join our
165-
[Discord](./docs/contributing/Chat.md) server and introduce yourself on the #hackers-deverl, #hackers-framework,
170+
[Discord](./docs/contributing/Chat.md) server and introduce yourself on the #hackers-devrel, #hackers-framework,
166171
or #hackers-engine channels, describing your area of interest. As our API docs are integrated into our source code, see the
167172
"developing for Flutter" section above for a guide on how to set up your developer environment.
168173

dev/conductor/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ unlock your ssh key for the session; if you do not, each time the conductor
2323
attempts to interact with a remote, the user will be prompted to enter their ssh
2424
key password.
2525

26-
** Confirm that your personal github clone of flutter/flutter is named flutter and flutter/engine is named engine. If not you will need to use flags to override the defaults.
26+
** Confirm that your personal GitHub clone of flutter/flutter is named flutter and flutter/engine is named engine. If not you will need to use flags to override the defaults.
2727

2828
## Usage
2929

dev/conductor/RELEASE_ONBOARDING.md

+18-9
Original file line numberDiff line numberDiff line change
@@ -2,61 +2,70 @@
22

33
Googler facing documentation can be found at go/flutter-release-workflow.
44

5-
### Responsiblity
5+
### Responsibility
66

77
Release engineer is responsible for:
8-
* Branch alignment and/or Sheparding cherry picks
8+
* Branch alignment and/or shepherding cherry picks
99
* Decision making related to cherry pick risk
1010
* Verification that pre and post submits pass prior to publishing
1111
* Contributor facing communication
12-
* Some public facing post release comunication
12+
* Some public facing post release communication
1313

1414
In the past (and possibly in the future) there was a distinction between a release engineer and release manager.
15-
For now the responsiblitys are the same and we will refer to the person managing the release as a release engineer.
15+
For now the responsibilities are the same and we will refer to the person managing the release as a release engineer.
1616

1717
## Onboarding
18-
One time setup instructions for new or returning relase engineers.
18+
19+
One time setup instructions for new or returning release engineers.
1920

2021
### Groups/Permissions
2122

22-
#### Join flutter-hackers on github
23+
#### Join flutter-hackers on GitHub
24+
2325
https://github.com/orgs/flutter/teams/flutter-hackers/members
2426

2527
#### [Googler only] Join mdb/flutter-infra
28+
2629
Possibly not required
2730
https://ganpati2.corp.google.com/propose_membership?parent=9147533327&child=$me.prod
2831

2932
#### Join the flutter-announce google group
33+
3034
Ping any current release engineer to add you as an owner and give you publish access.
3135
https://groups.google.com/g/flutter-announce/members?q=role:owner&pli=1
3236

3337
TODO include screenshot
3438

3539
#### [Googler only] Install tool-proxy-client
36-
From a glinux machine run
37-
`sudo apt install tool-proxy-client`
40+
41+
From a glinux machine run `sudo apt install tool-proxy-client`.
3842

3943
`tool-proxy-client` is the tool that enables/enforces 2 party authorization for controlled builds.
4044

4145
#### [Googler only] Confirm access to release calendar
46+
4247
Public and Beta releases and timelines
4348
go/dash-team-releases
4449

4550
#### [Googler only] Join release chatroom
51+
4652
Release hotline https://chat.google.com/room/AAAA6RKcK2k?cls=7
4753

4854
#### [Googler only] join mdb/flutter-release-team
55+
4956
Controls who can approve 2 party auth requests.
5057
https://ganpati2.corp.google.com/propose_membership?parent=100213927583&child=$me.prod
5158

5259
#### Setup conductor
60+
5361
Conductor is a dart command line interface for common release tasks.
5462
Its instructions are in README.md.
5563

56-
5764
#### [Googler only] Confirm access to Apple signing cert update doc
65+
5866
go/flutter-signing-apple-contracts
5967
Also confirm access to valentine entries listed in that doc.
6068

6169
#### [Googler only] Access release engineer doc
70+
6271
Confirm access to go/release-eng-retros

dev/devicelab/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ DeviceLab tests are run against physical devices in Flutter's lab (the
2828

2929
Tasks specify the type of device they are to run on (`linux_android`, `mac_ios`,
3030
`mac_android`, `windows_android`, etc). When a device in the lab is free, it
31-
will pickup tasks that need to be completed.
31+
will pick up tasks that need to be completed.
3232

3333
1. If the task succeeds, the test runner reports the success and uploads its
3434
performance metrics to Flutter's infrastructure. Not all tasks record

docs/Flutter-Self-Service-Index.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Flutter provides multiple functionality through self-service services. Most of t
126126
</td>
127127
<td>[Link](./platforms/android/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator.md)
128128
</td>
129-
<td>Flutter Github Wiki page under the “Android Development” Section.
129+
<td>Flutter GitHub Wiki page under the “Android Development” Section.
130130
</td>
131131
</tr>
132132
<tr>
@@ -285,7 +285,7 @@ Flutter provides multiple functionality through self-service services. Most of t
285285
</td>
286286
<td><a href="https://github.com/flutter/engine/security/code-scanning">Link</a>
287287
</td>
288-
<td><a href="https://github.com/flutter/engine/security">Engine github security tab</a>.
288+
<td><a href="https://github.com/flutter/engine/security">Engine GitHub security tab</a>.
289289
</td>
290290
</tr>
291291
<tr>

docs/In-case-of-emergency.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## If flutter.dev is down
22

3-
If one of our web sites is down, please ping `@emergency` on our [Discord server](./contributing/Chat.md).
3+
If one of our websites is down,
4+
please ping `@emergency` on our [Discord server](./contributing/Chat.md).
45

56
## If you find a security vulnerability
67

docs/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
This wiki is primarily aimed at engineers building or making contributions to Flutter.
22

3-
If you are new to Flutter, then you will find more general information on the Flutter project, including tutorials and samples, on our Web site at [flutter.dev](https://flutter.dev). For specific information about Flutter's APIs, consider our API reference which can be found at the [api.flutter.dev](https://api.flutter.dev/).
3+
If you are new to Flutter, then you will find more general information on the Flutter project, including tutorials and samples, on our website at [flutter.dev](https://flutter.dev). For specific information about Flutter's APIs, consider our API reference which can be found at the [api.flutter.dev](https://api.flutter.dev/).
44

55
If you want to know what we're likely to do in the future, our [roadmap](./roadmap/Roadmap.md) may be of interest.
66

docs/about/Glossary.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ Here are some terms that we use in the Flutter project and what they mean:
88

99
- **Dynamic patching**. The ability to update the Dart code of an app in the field by downloading a patch (of sorts) and providing it to the Dart VM, probably requiring a restart of the application.
1010

11-
- **Embedder**. The core of the Flutter engine is platform agnostic. But platforms that run Flutter applications need platform specific logic to wire up rendering to the native window toolkit, handle input events, etc.. This platform specific logic is referred to as the Flutter embedder. Embedders interact with the engine using a [very low level C/C++ API](https://github.com/flutter/engine/blob/043d92c48abdebdad926569bc204a59c5cf20a11/shell/platform/embedder/embedder.h). While this API exposed by the engine to its embedders is platform agnostic, it is usually not suitable for developers used to the tools, frameworks and libraries on that specific platform (UIKit using Objective-C/Swift on iOS, or, Android APIs using Java on Android). To make interacting with the engine more ergonomic to developers on a specific platform, there are platform specific embedding APIs ([iOS](https://docs.flutter.io/objcdoc/) and [Android](https://docs.flutter.io/javadoc/)). These APIs provide higher level abstractions but are optional.
11+
- **Embedder**. The core of the Flutter engine is platform agnostic. But platforms that run Flutter applications need platform specific logic to wire up rendering to the native window toolkit, handle input events, etc.. This platform specific logic is referred to as the Flutter embedder. Embedders interact with the engine using a [very low level C/C++ API](https://github.com/flutter/engine/blob/0a3423abd79c282c8a5e84a24e03733c98b31144/shell/platform/embedder/embedder.h). While this API exposed by the engine to its embedders is platform agnostic, it is usually not suitable for developers used to the tools, frameworks and libraries on that specific platform (UIKit using Objective-C/Swift on iOS, or, Android APIs using Java on Android). To make interacting with the engine more ergonomic to developers on a specific platform, there are platform specific embedding APIs ([iOS](https://api.flutter.dev/ios-embedder) and [Android](https://api.flutter.dev/javadoc/)). These APIs provide higher level abstractions but are optional.
1212

13-
- **Embedding**. Flutter provides "embedders" to port Flutter behavior to specific platforms, as defined elsewhere in this glossary. However, embedders use a [very low level C/C++ API](https://github.com/flutter/engine/blob/043d92c48abdebdad926569bc204a59c5cf20a11/shell/platform/embedder/embedder.h) which would feel unnatural to typical developers of a platform, e.g., Android or iOS. A Flutter "embedding" is a counterpart to an "embedder", which introduces common platform tools for interacting with Flutter. The Android embedding offers a `FlutterActivity`, `FlutterFragment`, `FlutterView`, etc: [Android embedding](https://docs.flutter.io/javadoc/). The iOS embedding offers a `FlutterViewController`, etc: [iOS embedding](https://docs.flutter.io/objcdoc/). An embedding + an embedder signifies the entire story of how Flutter ports to a specific platform.
13+
- **Embedding**. Flutter provides "embedders" to port Flutter behavior to specific platforms, as defined elsewhere in this glossary. However, embedders use a [very low level C/C++ API](https://github.com/flutter/engine/blob/0a3423abd79c282c8a5e84a24e03733c98b31144/shell/platform/embedder/embedder.h) which would feel unnatural to typical developers of a platform, e.g., Android or iOS. A Flutter "embedding" is a counterpart to an "embedder", which introduces common platform tools for interacting with Flutter. The Android embedding offers a `FlutterActivity`, `FlutterFragment`, `FlutterView`, etc: [Android embedding](https://api.flutter.dev/javadoc/). The iOS embedding offers a `FlutterViewController`, etc: [iOS embedding](https://api.flutter.dev/ios-embedder). An embedding + an embedder signifies the entire story of how Flutter ports to a specific platform.
1414

1515
- **Engine**. The C++ (and Java and ObjectiveC and...) side of Flutter. Defined in the `engine` repository. Includes Skia, Dart, and other low-level components. Exposed as `dart:ui` and other Dart libraries to author code.
1616

docs/about/The-Engine-architecture.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ responsibility of the embedder to create and manage threads (and their message
8181
loops) for the Flutter engine. The embedder gives the Flutter engine task
8282
runners for the threads it manages. In addition to the threads managed by the
8383
embedder for the engine, the Dart VM also has its own thread pool. Neither the
84-
Flutter engine or the embedder have any access to the threads in this pool.
84+
Flutter engine nor the embedder have any access to the threads in this pool.
8585

8686
### Task Runner Configuration
8787

@@ -122,7 +122,7 @@ Interacting with the Flutter engine in any way must happen on the platform
122122
thread. Interacting with the engine on any other thread will trip assertions in
123123
unoptimized builds and is not thread safe in release builds. There are numerous
124124
components in the Flutter engine that are not thread safe. Once the Flutter
125-
engine is setup and running, the embedder does not have to post tasks to any of
125+
engine is set up and running, the embedder does not have to post tasks to any of
126126
the task runners used to configure the engine as long as all accesses to the
127127
embedder API are made on the platform thread.
128128

docs/contributing/Chat.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<img src="https://github.com/flutter/flutter/assets/551196/1381071b-e482-4e07-b096-60e9219d3ff7" width=300 align=right alt="">
44

5-
The Flutter team uses a [Discord server](https://discord.com/channels/608014603317936148). [This is invite link for Flutter's Discord server](https://discord.gg/ht477J5PyH). Please do not share either link directly, instead share links to this page.
5+
The Flutter team uses a [Discord server](https://discord.com/channels/608014603317936148). [This is the invite link for Flutter's Discord server](https://discord.gg/ht477J5PyH). Please do not share either link directly, instead share links to this page.
66

77
The server is open to the public, though some channels are intended only for people who are actively contributing. **See the #welcome channel for instructions on posting to the server (you won't be able to see the channels until you acknowledge the rules there).**
88

docs/contributing/Setting-up-the-Framework-development-environment.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
## Preqrequisites
1+
## Prerequisites
22

3-
* Linux, Mac OS X, or Windows
3+
* Linux, macOS, or Windows
44

55
* `git` (used for source version control)
66

docs/contributing/Style-guide-for-Flutter-repo.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ Unfortunately, the reality is that everyone starts knowing nothing, and we do no
477477

478478
For this reason, avoid using terms without first defining them, unless you are linking to more fundamental documentation that defines that term without reference to the API you are documenting.
479479

480-
For example, a fancy widget in the Material library can refer to the `StatefulWidget` documentation and assume that the reader either knows about the `StatefulWidget` class, or can learn about it by following the link and then later returning to the documentation for the fancy widget. However, the documentation for the `StatefulWidget` class should avoid assuming that the reader knows what a `State` class is, and should avoid defering to it for its definition, because `State` could is likely to defer back to `StatefulWidget` and the reader would be stuck in a loop unable to grasp the basic principles. This is the documentation equivalent of a bootstrapping problem.
480+
For example, a fancy widget in the Material library can refer to the `StatefulWidget` documentation and assume that the reader either knows about the `StatefulWidget` class, or can learn about it by following the link and then later returning to the documentation for the fancy widget. However, the documentation for the `StatefulWidget` class should avoid assuming that the reader knows what a `State` class is, and should avoid deferring to it for its definition, because `State` could is likely to defer back to `StatefulWidget` and the reader would be stuck in a loop unable to grasp the basic principles. This is the documentation equivalent of a bootstrapping problem.
481481

482482
Another way to express this is that API documentation should follow a similar layering philosophy as code. The goal of documentation is not just to act as a refresher for experts, but to act as a tutorial for new developers.
483483

@@ -834,7 +834,7 @@ than "lasagna" code (where each section of the code is cleanly layered and separ
834834
### Avoid using `extension`.
835835

836836
Extension methods are confusing to document and discover. To an end developer,
837-
they appear no different than the built in API of the class, and discovering
837+
they appear no different than the built-in API of the class, and discovering
838838
the documentation and implementation of an extension is more challenging than
839839
for class members.
840840

@@ -1169,7 +1169,7 @@ documented top-level library intended to be imported by users.
11691169

11701170
The definition of "New" changes as code grows and time passes. If the code
11711171
needed a replacement version the odds of needing another replacement in the
1172-
future is higher. Instead find a name that represents the idea being being used
1172+
future is higher. Instead find a name that represents the idea being used
11731173
or replaced.
11741174

11751175

@@ -1205,7 +1205,7 @@ Example:
12051205

12061206
TODOs should include the string TODO in all caps, followed by the GitHub username of
12071207
the person with the best _context_ about the problem referenced by the TODO in
1208-
parenthesis. A TODO is not a commitment that the person referenced will fix the
1208+
parentheses. A TODO is not a commitment that the person referenced will fix the
12091209
problem, it is intended to be the person with enough context to explain the problem.
12101210
Thus, when you create a TODO, it is almost always your username that is given.
12111211

docs/contributing/issue_hygiene/Making-animated-GIFs-of-Flutter-apps.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Animated GIFs are useful for documentating animations. Heres how to make them:
1+
Animated GIFs are useful for documenting animations. Here's how to make them:
22

33
## Capturing video of an Android device
44

docs/contributing/issue_hygiene/Popular-issues.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ When deciding what to work on, we usually focus on issues that have a lot of thu
22

33
Some popular issues are topics on which we cannot find a good way to make progress. Since those issues where we _do_ make progress get closed, the result is that [the list of most-popular issues](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) is now full of issues where we have conspicuously not made progress!
44

5-
In the interests of transparency, this wiki page discusses the status of the ten most popular issues. It is only updated occasionally and so may not be entirely up to date; for the most up to date information, please see the latest comments on the relevant issue. (Please avoid asking for an update on issues, otherwise they become full of people asking for updates and nobody can find the actual updates.)
5+
In the interests of transparency, this wiki page discusses the status of the ten most popular issues. It is only updated occasionally and so may not be entirely up to date; for the most up-to-date information, please see the latest comments on the relevant issue. (Please avoid asking for an update on issues, otherwise they become full of people asking for updates and nobody can find the actual updates.)
66

77
_See also: [the list of popular issues including closed issues](https://github.com/flutter/flutter/issues?q=is%3Aissue+sort%3Areactions-%2B1-desc), which shows that popular issues do get closed. 😅_
88

docs/contributing/testing/Flutter-Test-Fonts.md

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Thanks to that, the `FlutterTest` font generally provides more precise and font-
1818
**Example**
1919

2020
You can expect this test to pass on all platforms (currently with the exception of the web HTML renderer):
21+
2122
```dart
2223
final painter = TextPainter(
2324
text: const TextSpan(
@@ -35,6 +36,7 @@ expect(lineMetrics.descent, 3.5); // 0.25em * 14.0pt
3536
// 'text' is 4 glyphs. Most glyphs are as wide as they are tall.
3637
expect(lineMetrics.width, 14.0 * 4);
3738
```
39+
3840
While with the `Ahem` font you would get [slightly different metrics on different platforms](https://github.com/flutter/flutter/issues/62819), since they use different font engines to scale the font.
3941

4042
### Glyphs

0 commit comments

Comments
 (0)