Commit Graph

2409 Commits

Author SHA1 Message Date
George Kalpakas f16fca41d6 build(docs-infra): upgrade cli command docs sources to 3b1fe6437 (#29003)
Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master).
Relevant changes in [commit range](c91579a2e...3b1fe6437):

**Modified**
- help/generate.json
- help/new.json

PR Close #29003
2019-02-27 10:24:46 -08:00
Filipe Silva f01247f0a4 docs: add ivy opt-in docs (#28569)
PR Close #28569
2019-02-26 08:42:47 -08:00
George Kalpakas 846c431eb7 docs: re-phrase note in architecture guide for clarity (#28543)
PR Close #28543
2019-02-26 08:39:16 -08:00
Author Name 1930e8a072 docs: add Leonardo Zizzamia to GDE resources (#25935)
PR Close #25935
2019-02-25 14:07:55 -08:00
Nikita Poltoratsky 7a11242388 docs: add Nebular to UI Components section in resources (#28838)
PR Close #28838
2019-02-25 12:54:57 -08:00
nchetankumar 65de0d6d0e docs: modify the descendant spelling and remove multiple times parent's word (#27886)
PR Close #27886
2019-02-25 12:54:28 -08:00
Mikhail Tatsky ef1b9e6d71 docs: add FancyGrid to resources page (#28949)
PR Close #28949
2019-02-25 10:23:33 -08:00
Camille Roux 65d3ddabf3 docs: add Human Coders trainings in resources.json (#28840)
PR Close #28840
2019-02-25 10:23:00 -08:00
softchris 0b8aad2ca0 docs: add ngVikings 2019 to events page (#28501)
PR Close #28501
2019-02-25 10:22:28 -08:00
Rick Katka 0071048cf9 docs: Updated TOH Heros documentation (#28347)
Updated the TOH Heros documentation to specify that the ng cli now generates 4 files
PR Close #28347
2019-02-25 10:21:44 -08:00
Filipe Silva 319ed5168a ci: update aio lockfile (#28935)
PR Close #28935
2019-02-25 08:14:49 -08:00
Oscar Busk 6ccf743627 docs: clarify documentation about listening to progress events (#28892)
PR Close #28892
2019-02-22 10:50:43 -08:00
George Kalpakas 7c20bf8845 build(docs-infra): upgrade cli command docs sources to c91579a2e (#28922)
Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master).
Relevant changes in [commit range](1631f7d62...c91579a2e):

**Modified**
- help/build.json

**Removed**
- help/eject.json

Closes #28772
Closes #28795
Closes #28816
Closes #28859
Closes #28882

PR Close #28922
2019-02-22 09:52:50 -08:00
Daniel Ruf 1778bd3470 refactor: remove unused and duplicate CSS properties from styleguide examples (#28252)
PR Close #28252
2019-02-22 09:51:35 -08:00
Jeferson Duwe cbfc1f238e docs: fix ngSwitch example (#28899)
docs: fix ngSwitch example

remove the predix "app-" from the confuse emotion ngSwitchCase.
PR Close #28899
2019-02-22 08:54:00 -08:00
Igor Minar 599e2e22bc feat(docs-infra): add meta[name]=Description to angular.io's index.html (#28916)
This change makes angular.io more user and SEO friendly according to web.dev.

See: https://web.dev/discoverable/write-descriptive-text

PR Close #28916
2019-02-21 23:27:26 -08:00
Igor Minar 2df2168c0a fix(docs-infra): add [lang] attribute to index.html of angular.io (#28916)
It's the right thing to do, and improves accessiblity.

See: https://dequeuniversity.com/rules/axe/3.1/html-has-lang?application=lighthouse

PR Close #28916
2019-02-21 23:27:25 -08:00
Igor Minar 8043db570f fix(docs-infra): set the default html title to 'Angular' (#28916)
This removes the annoying flicker while the app is loading.

Also: it's just Angular.

PR Close #28916
2019-02-21 23:27:25 -08:00
Igor Minar de036d29e3 style(docs-infra): reformat using vscode html formatter (#28916)
Makes it easier to keep on editing and reformatting the file.

PR Close #28916
2019-02-21 23:27:25 -08:00
Kapunahele Wong 64e6aaa4f1 docs: edit resources description (#28764)
PR Close #28764
2019-02-21 12:34:05 -08:00
George Kalpakas 04ae1251c7 fix(docs-infra): prevent extra space at the bottom of the page in Chrome (#28864)
The supposedly visually hidden `mat-icon` creates unnecessary space at
the bottom of the page (below the footer) in recent Chrome versions.
This didn't happen before and it still doesn't happen in other browsers
(Firefox, Edge, IE).

This commit fixes it by wrapping the icon in a visually hidden `div`
container, which doesn't have other styles (such as `mat-icon` does)
that could affect the layout of the page.

Fixes #28858

PR Close #28864
2019-02-20 09:20:37 -08:00
Sharon DiOrio 295a143ae0 docs: add Sharon DiOrio to contributors (#28671)
PR Close #28671
2019-02-19 16:15:00 -08:00
Juri Strumpflohner ae16378ee7 docs: fix wrong filename in text (#28832)
This should be `ngsw.json` not `ngsw-config.json` as the latter is only the src file that gets then compiled into the `ngsw.json` and placed into the `dist` folder
PR Close #28832
2019-02-19 13:34:09 -08:00
Igor Minar 73b9cd75b9 style: reformat aio/content/marketing/contributors.json with clang-format (#28500)
without this change, it's difficult to edit this file for anyone who has IDE configured for angular/angular development.

PR Close #28500
2019-02-19 13:01:18 -08:00
sis0k0 71e64e93e6 docs: add Stanimira Vlaeva to contributors (#28500)
PR Close #28500
2019-02-19 13:01:18 -08:00
Trevor Karjanis d8ae8993d8 docs(common): fix a typo in a debounce requests example header (#28829)
Remove the extra parenthesis from a debounce requests example.

There are no associated issues.

PR Close #28829
2019-02-19 12:59:20 -08:00
George Kalpakas 80c7aff5cc build(docs-infra): improve caching configuration for Firebase hosting (#28785)
This will hopefully improve(/fix?) the errors discussed in #28114.
See there for a more detailed discussion.

PR Close #28785
2019-02-19 12:38:50 -08:00
Amadou Sall af8d58cb51 docs: capitalize karma (#28775)
PR Close #28775
2019-02-19 12:36:21 -08:00
Nikita Potapenko 9e82cebe5b docs: clarify behavior of dependency injection at root injector (#28753)
PR Close #28753
2019-02-19 12:33:48 -08:00
Jamie R. Rytlewski a17fd43fd5 docs: display the beginning label in interpolation guide example (#28602)
Updating the doc to add the beginning label.

I'm not sure if this was the way it was intended, but it looked strange with just an ending </label> tag.

PR Close #28602
2019-02-19 12:24:45 -08:00
Keilla Fernandes 0cc5804169 docs(aio): add Keilla Fernandes to GDE resources (#28437)
PR Close #28437
2019-02-19 11:24:14 -08:00
Sergej Grilborzer 980bb52d36 docs: warn that directives don't support namespaces (#25855)
PR Close #25855
2019-02-19 11:01:55 -08:00
Marc Laval 3c7ce823a3 test(ivy): add root cause for failing component-styles docs e2e tests (#28760)
PR Close #28760
2019-02-16 21:00:08 -08:00
Marc Laval 1e6ed52cba fix(docs-infra): all examples should get Ivy boilerplate (#28757)
PR Close #28757
2019-02-16 20:59:16 -08:00
George Kalpakas b41da03f00 build(docs-infra): upgrade cli command docs sources to 1631f7d62 (#28727)
Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master).
Relevant changes in [commit range](ba5120d18...1631f7d62):

**Modified**
- help/build.json

PR Close #28727
2019-02-14 19:22:53 +00:00
Marc Laval 3842dd6a6d fix(ivy): OnChanges should support updating one Input among many (#28693)
PR Close #28693
2019-02-13 19:15:44 -08:00
Kapunahele Wong 5cafd44654 fix(docs-infra): fix filtering in run-example-e2e.js (#28663)
PR Close #28663
2019-02-13 12:04:51 -08:00
SebastienBtr cb0a8b566f docs(router): change slideInDownAnimation into slideInAnimation (#28640)
In the Routing & Navigation there is a typo - slideInDownAnimation, but it should be slideInAnimation

PR Close #28572

PR Close #28640
2019-02-13 12:03:45 -08:00
Judy Bogart 644e7a28d8 docs: add di-related api doc (#27731)
PR Close #27731
2019-02-13 11:57:37 -08:00
Marc Laval f8b9e61469 test(ivy): enable more docs examples e2e tests (#28688)
PR Close #28688
2019-02-13 09:53:13 -08:00
George Kalpakas 2ca77da4ca build(docs-infra): upgrade cli command docs sources to ba5120d18 (#28629)
Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master).
Relevant changes in [commit range](e758c4174...ba5120d18):

**Modified**
- help/e2e.json

PR Close #28629
2019-02-11 14:51:49 -08:00
Brandon 1e64f37257 fix(docs-infra): add progression files to exclude list for docs examples (#28650)
Also disables Http guide under Ivy tests with documented error

PR Close #28650
2019-02-11 13:26:39 -08:00
Brandon 99e3a04ea2 ci(docs-infra): test docs examples with Ivy (#28463)
PR Close #28463
2019-02-11 17:16:52 +00:00
Judy Bogart 570f735a2a docs: clarify library types integration (#28410)
PR Close #28410
2019-02-11 17:13:44 +00:00
Brandon 9ec8aa5eb7 docs: re-enable E2E tests for Http guide (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon 5f2ae784da docs: run component-interaction and DI in JiT mode (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon 0a95f8af9f docs: add more files to be ignored during app compilation (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon 531aa5f8db docs: make method arguments optional in template syntax example (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon bfee33edb9 docs: remove unused files in styleguide example (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon 1941d7c743 docs: ignore initial components for app compilation in router example (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon 21b5940abd docs: ignore files from app compilation for ngmodule-faq example (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon 2852beaded docs: make method arguments optional for event-binding example (#28592)
PR Close #28592
2019-02-11 17:09:25 +00:00
Brandon 206a21704d docs: ignore component for app compilation for displaying data example (#28592)
PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon 46e6363686 docs: add insert remove component to AppModule for animations example (#28592)
PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon 457e07ccb1 docs: make toggleImage arguments optional in AngularJS quick reference (#28592)
PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon 05a14f8a8b docs: make parent finder functions compatible with AoT (#28592)
PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon 19f13b1ad4 docs: remove unused StringSafeDatePipe from AngularJS Quick Ref example (#28592)
PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon d29f781685 docs: ignore progression filenames from compilation (#28592)
PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon 0770978dfb docs: enable E2E test for setup example (#28592)
This guide is not being shown publicly, and its test is currently being ignored.
Instead of deleting this test and guide, it may be repurposed in the future for a local development guide.

PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon 863dbeeb7c docs: remove quickstart example and copy tsconfig.1.json into TS config guide (#28592)
This example has long been replaced by the cli-quickstart, but was never deleted.

PR Close #28592
2019-02-11 17:09:24 +00:00
Brandon 425e0ee416 ci(docs-infra): run docs examples tests in production mode (#28592)
PR Close #28592
2019-02-11 17:09:23 +00:00
Nikita Potapenko 2c00cb8f0f docs(core): fixed code snippets (#28619)
PR Close #28619
2019-02-08 09:27:23 -08:00
Nikita Potapenko d91ea2c499 docs(core): fixed typo (#28618)
PR Close #28618
2019-02-08 09:19:39 -08:00
Sebastian Dorn faf0b255d0 docs(aio): add Happy Angular Podcast to resources (#28407)
PR Close #28407
2019-02-07 21:57:07 -08:00
George Kalpakas 3de06dd794 build(docs-infra): use pinned dependencies when possible in `ng-packages-installer` (#28510)
Previously, `ng-packages-installer` would replace the version ranges for
all dependencies that were peer dependencies of an Angular package with
the version range used in the Angular package. This effectively meant
that the pinned version (from `yarn.lock`) for that dependency was
ignored (even if the pinned version satisfied the new version range).

This commit reduces non-determinism in CI jobs using the locally built
Angular packages by always using pinned versions of dependencies for
Angular package peer dependencies if possible.

For example, assuming the following versions for the RxJS dependency:

- **aio/package.json**: `rxjs: ^6.3.0`
- **aio/yarn.lock**: `rxjs@^6.3.0: 6.3.3`
- **@angular/core#peerDependencies**: `rxjs: ^6.0.0`

...the following versions would be used with `ng-packages-installer`:

- Before this commit:
  - **aio/package.json**: `rxjs: ^6.0.0`
  - **node_modules/rxjs/**: `6.4.0` (latest version satisfying `^6.0.0`)
- After this commit:
  - **aio/package.json**: `rxjs: ^6.3.0`
  - **node_modules/rxjs/**: `6.3.3` (because it satisfies `^6.0.0`)

PR Close #28510
2019-02-06 21:23:02 -08:00
George Kalpakas 9ce0c23c77 build(docs-infra): keep other dependencies pinned when installing local Angular packages (#28510)
`ng-packages-installer` can be used to replace Angular packages with
locally built ones (from `dist/packages-dist/`) along with their peer
dependencies.

Previously, in order to achieve this, `yarn install` was called with the
`--no-lockfile` option, which resulted in installing the latest versions
of all dependencies (including transitive ones) permitted by the
corresponding version ranges in `package.json` files. As a result, newly
released versions would be picked, resulting in unexpected,
non-deterministic breakages in CI.

This commit calls `yarn install` with the `--pure-lockfile` option
instead. As a result, only the Angular packages (for which the locally
built ones are used) and their peer dependencies are unpinned; the
pinned versions from `yarn.lock` are used for all other (direct and
transitive) dependencies.

While this does not eliminate non-determinism across builds, it
significantly reduces it.

PR Close #28510
2019-02-06 21:23:02 -08:00
George Kalpakas 08f55b35a5 perf(docs-infra): avoid unnecessary I/O operation in `ng-packages-installer` (#28510)
PR Close #28510
2019-02-06 21:23:02 -08:00
George Kalpakas 2b9811dad4 refactor(docs-infra): format `package.json` for readability in `ng-packages-installer` (#28510)
PR Close #28510
2019-02-06 21:23:02 -08:00
George Kalpakas df74da02c6 build(docs-infra): remove unnecessary workaround for RxJS in `ng-packages-installer` (#28510)
Since b43f8bc7d, RxJS does not need to be patched any more in the
top-level `node_modules/`, so we don't need to special-case RxJS in
`ng-package-installer` and use `node_modules/rxjs/`.

PR Close #28510
2019-02-06 21:23:02 -08:00
cexbrayat 851cf16134 docs(service-worker): note about isStable/setInterval (#28102)
The docs don't mention that the app will never be stable if a `setInterval` is running somewhere, and that it will prevent the servcie worker to be registered too.

PR Close #28102
2019-02-06 15:13:19 -05:00
Stephen Fluin ed032e08c1 feat(aio): show developer survey 2019 (#28552)
PR Close #28552
2019-02-06 02:33:39 -05:00
WilliamKoza eed59b713a fix(docs-infra): avoid a race-condition with navigating forward/back and immediately reloading (#28368)
This can result in an inconsistent state

PR Close #28368
2019-02-05 23:44:56 -05:00
WilliamKoza b2a6bf2a80 fix(docs-infra): remove the try catch in the test of the browser's capacities (#28368)
PR Close #28368
2019-02-05 23:44:56 -05:00
WilliamKoza 0709f8411d feat(docs-infra): add debouncing in storing scroll position (#28368)
There is no debouncing when we store the scroll Position.
Currently, we have a message in the console after a while:
>Throttling history state changes to prevent the browser from hanging
see: https://bugs.chromium.org/p/chromium/issues/detail?id=786211 for more informations

PR Close #28368
2019-02-05 23:44:55 -05:00
Paul Gschwendtner 8d11627e6c build: update yarn to v1.13.0 (#28546)
Currently our version of Yarn is installed through
the "circleci/node" docker image. This is problematic
because in order to be able to update Yarn, we always
need to update the docker image to a version that
comes with the desired Yarn version. Sometimes there
is no docker image with the desired latest Yarn version,
and therefore we cannot easily update the Yarn version.

Additionally updating the docker image also means that
we need to update our version of NodeJS, as well as the
version of `openssl` might have changed (meaning that
our encrypted credential files may not be decodable with
the new version of `openssl`)

PR Close #28546
2019-02-05 16:48:56 -05:00
LHearen 1e5012b2cc docs: fix shadow variable in tutorial example (#28499)
PR Close #28499
2019-02-04 14:54:53 -05:00
WilliamKoza 3d522716c4 fix(docs-infra): remove polyfill web-animations since we use Angular > 6 and we don't use `AnimationBuilder` (#28514)
PR Close #28514
2019-02-04 14:54:25 -05:00
Filipe Silva 4dfcbc6afa build(docs-infra): update terser version in lockfile (#28512)
See https://github.com/angular/angular-cli/issues/13582#issuecomment-460261055.

PR Close #28512
2019-02-04 10:52:07 -05:00
George Kalpakas 72c36956de ci: pin ChromeDriver to a version compatible with docker image's Chrome (#28494)
By default, `webdriver-manager update` will download the latest
ChromeDriver version, which might not be compatible with the Chrome
version included in the [docker image used on CI], causing CI failures.
Previously, we used to pin the ChromeDriver version on CI in
[ngcontainer's Dockerfile][2]. This was accidentally broken in #26691,
while moving from ngcontainer to default CircleCI docker images.

This commit fixes the issue by pinning ChromeDriver to a known
compatible version.

[1]: bfd48d156d/.circleci/config.yml (L16)
[2]: bfd48d156d/tools/ngcontainer/Dockerfile (L63)

PR Close #28494
2019-02-01 20:22:03 -05:00
George Kalpakas 814ee260f5 ci(docs-infra): reduce output verbosity to improve log readability (#28494)
PR Close #28494
2019-02-01 20:22:03 -05:00
George Kalpakas bfd48d156d build(docs-infra): upgrade cli command docs sources to e758c4174 (#28466)
Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master).
Relevant changes in [commit range](fd4e960d6...e758c4174):

**Modified**
- help/add.json

PR Close #28466
2019-02-01 15:51:40 -05:00
Jeremy Elbourn ec6e7303dd perf: pngcrush all pngs (#28479)
This is the result of running
```sh
find ./ -iname "*.png" -exec pngcrush -brute -ow --  {} \;
```

[Summary of size reductions](https://docs.google.com/spreadsheets/d/12Qgx7DfKabWw0PJza6ozC1kCHTofi6wyBLWGtwLW7G4/preview)

Last done in July, 2017 in #18243

PR Close #28479
2019-02-01 13:56:02 -05:00
Jeff Cross 0eef958735 docs: add Jeff Cross to contributors (#28432)
PR Close #28432
2019-01-29 16:41:31 -08:00
jithil-kore ad499628cb docs: fix typo for Browserslist in build guide (#28328)
PR Close #28328
2019-01-29 16:35:26 -08:00
Matti Järvinen 24f5428187 docs: fix typo for Browserslist in file structure guide (#28312)
PR Close #28312
2019-01-29 16:33:18 -08:00
Nazar Nasirzada a228d65412 docs: fix typo in lifecycle-hooks.md (#28206)
## PR Checklist
Please check if your PR fulfills the following requirements:
 
* [x]  The commit message follows our guidelines: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit
* [ ]  Tests for the changes have been added (for bug fixes / features)
* [x]  Docs have been added / updated (for bug fixes / features)
 
## PR Type
What kind of change does this PR introduce?

* [ ]  Bugfix
* [ ]  Feature
* [ ]  Code style update (formatting, local variables)
* [ ]  Refactoring (no functional changes, no api changes)
* [ ]  Build related changes
* [ ]  CI related changes
* [x]  Documentation content changes
* [ ]  angular.io application / infrastructure changes
* [ ]  Other... Please describe:

## What is the current behavior?
Issue Number: N/A

## What is the new behavior?
## Does this PR introduce a breaking change?
* [ ]  Yes
* [x]  No

## Other information
PR Close #28206
2019-01-29 16:32:02 -08:00
Janghyun Han dc8e461303 docs: angular.kr link added (#28113)
PR Close #28113
2019-01-29 16:31:37 -08:00
onlyflix 41e68f7a7a style: change to American English (#27266)
PR Close #27266
2019-01-29 16:30:25 -08:00
jithil-kore ec414b432e perf: yarn version upgrade (#28360)
PR Close #28360
2019-01-29 11:58:47 -08:00
WilliamKoza b87bf39eb4 fix(docs-infra): add hamburger button to CLI COMMANDS section (#28418)
Currently, when we navigate in the `CLI COMMANDS` section, the "hamburger button" isn't present because the class css `folder-cli` is missing.
This PR add this class in order to show this button when we are in this section.

PR Close #28418
2019-01-29 11:48:33 -08:00
Alan Agius d940b5541f fix(docs-infra): boolean options default value is incorrect when it's undefined (#27024)
In the CLI when it's undefined it can mean `false`, or sometimes it will be overwritten by a runtime value.

PR Close #27024
2019-01-28 20:43:15 -08:00
Dhananjay Kumar 8e75a40735 docs(docs-infra): add ng-India to events list (#28119)
docs: add ng-India to events list
PR Close #28119
2019-01-28 20:18:51 -08:00
George Kalpakas e98d508df2 ci(docs-infra): compile with Ivy (#26947)
Jira: FW-552

PR Close #26947
2019-01-28 14:01:13 -08:00
George Kalpakas 5639891e90 build(docs-infra): upgrade @angular/cli to 7.2.1 (#26947)
PR Close #26947
2019-01-28 14:01:13 -08:00
George Kalpakas 9d81bd39ca refactor(docs-infra): get rid of `on` component input (#26947)
Compiling with Ivy doesn't seem to allow input names starting with `on`.

PR Close #26947
2019-01-28 14:01:12 -08:00
WilliamKoza f7c551e16b fix(docs-infra): upgrade codelyzer to 4.5.0 (#28389)
PR Close #28389
2019-01-28 11:51:56 -08:00
George Kalpakas 7496630a94 test(docs-infra): increase timeout for redirection tests more (#28290)
Occasionally, external URLs take even longer than the previously set 60s
to load, which causes CI flakes.

PR Close #28290
2019-01-25 12:51:36 -08:00
George Kalpakas 6e949f9e98 test(docs-infra): unregister the SW after each test (#28290)
This ensures that the SW is cleaned up, even in cases where
synchronization is disabled (and thus the clean-up inside `goTo()`
happens without waiting for Angular).

PR Close #28290
2019-01-25 12:51:36 -08:00
George Kalpakas 6ad1c47df8 test(docs-infra): unregister the SW after `waitForAngular()` (#28290)
This increases the chances that the clean-up will take place _after_ the
SW has been registered.

PR Close #28290
2019-01-25 12:51:36 -08:00
George Kalpakas 76144f156c test(docs-infra): properly report errors if `page.init()` fails/rejects (#28290)
For asynchronous callbacks, this can be done either by calling
`done.fail()` or by returning the promise directly (without requesting a
`done` callback). (Using the latter, because it is shorter.)

PR Close #28290
2019-01-25 12:51:36 -08:00