Go to file
George Kalpakas 0e201ea9d8 fix(docs-infra): fix scroll position restoration error in `ScrollService` (#29658)
Based on Google Analytics error report, the following error happens
occasionally (15% or total errors for 2019-03):

```
Cannot read property '0' of null TypeError: at t.scrollToPosition@main.js
```

This was a result of calling [ViewportScroller#scrollToPosition()][1]
with `null`, which in turn happens when calling
[ScrollService#scrollToPosition()][2] while `this.scrollPosition` is
`null`. This can be a result of a `popstate` event without an associated
history state.

This commit fixes the error by checking whether `this.scrollPosition` is
`null`, before using it with `scrollToPosition()`.

(It also refactors away the unneeded internal `popStateFired` property.)

[1]: https://github.com/angular/angular/blob/deca6a60d/packages/common/src/viewport_scroller.ts#L101-L105
[2]: https://github.com/angular/angular/blob/deca6a60d/aio/src/app/shared/scroll.service.ts#L158-L161

PR Close #29658
2019-04-02 10:26:49 -07:00
.buildkite ci: update buildkite provision instructions (#28273) 2019-02-07 12:36:27 -08:00
.circleci ci: cache Material `node_modules` based on the lockfile checksum (#29417) 2019-03-20 13:13:27 -04:00
.codefresh build: Remove --watchfs from bazelrc file (#29635) 2019-04-01 14:57:30 -07:00
.github docs: add Web Worker guide (#29633) 2019-04-01 15:31:47 -07:00
.vscode build: make VSCode settings opt-in (#29504) 2019-03-29 10:26:55 -07:00
aio fix(docs-infra): fix scroll position restoration error in `ScrollService` (#29658) 2019-04-02 10:26:49 -07:00
docs docs: update developer guide for testing and IntelliJ (#29048) 2019-03-22 13:05:40 -07:00
integration fix(bazel): Update schematics to support routing (#29548) 2019-03-27 12:35:52 -07:00
modules build: rules_nodejs 0.26.0 & use @npm instead of @ngdeps now that downstream angular build uses angular bundles (#28871) 2019-02-28 12:06:36 -08:00
packages fix(ivy): support finding the import of namespace-imported identifiers (#27675) 2019-04-01 16:06:14 -07:00
scripts build: add pre-release check that validates the version name (#29551) 2019-03-27 12:26:13 -07:00
third_party build: update bazel to 0.24 (#29530) 2019-03-27 13:45:29 -07:00
tools build: add pre-release check that validates the version name (#29551) 2019-03-27 12:26:13 -07:00
.bazelignore ci: share data between jobs using workspaces (#28928) 2019-02-22 13:24:11 -08:00
.bazelrc build: Remove --watchfs from bazelrc file (#29635) 2019-04-01 14:57:30 -07:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig build: use https link to editorconfig.org in .editorconfig (#27664) 2018-12-18 09:30:09 -08:00
.gitattributes chore: force lf EOL for ts files (#11143) 2016-08-29 12:41:58 -07:00
.gitignore build: make VSCode settings opt-in (#29504) 2019-03-29 10:26:55 -07:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.nvmrc build: update .nvmrc file to correct node version (#25992) 2018-09-18 13:11:58 -07:00
BUILD.bazel build: rules_nodejs 0.26.0 & use @npm instead of @ngdeps now that downstream angular build uses angular bundles (#28871) 2019-02-28 12:06:36 -08:00
CHANGELOG.md docs: fix broken changelog link (#29471) 2019-04-01 11:01:39 -07:00
CODE_OF_CONDUCT.md docs: fix community tab in GitHub by copying CoC 2018-02-27 19:02:30 -08:00
CONTRIBUTING.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00
LICENSE build: bump year (#27880) 2019-01-11 11:15:59 -08:00
README.md docs: update link for CircleCI badge to point workflow 2019-02-07 14:14:59 -08:00
WORKSPACE build(bazel): update to nodejs rules 0.27.8 (#29508) 2019-03-27 09:41:11 -07:00
browser-providers.conf.js ci: lock chrome and firefox versions for saucelabs (#29529) 2019-03-27 12:38:13 -07:00
gulpfile.js refactor: remove extra line break in gulpfile (#29489) 2019-03-25 09:22:37 -07:00
karma-js.conf.js build: rules_nodejs 0.26.0 & use @npm instead of @ngdeps now that downstream angular build uses angular bundles (#28871) 2019-02-28 12:06:36 -08:00
package.json build: update bazel to 0.24 (#29530) 2019-03-27 13:45:29 -07:00
protractor-perf.conf.js build: remove legacy e2e tests job (#28645) 2019-02-13 12:15:02 -08:00
renovate.json ci: update packageFiles to be renovated (#29071) 2019-03-05 09:43:23 -08:00
shims_for_IE.js Revert "refactor: add license header to JS files & format files (#12035)" 2016-10-04 14:06:41 -07:00
test-events.js fix(platform-browser): run BLACK_LISTED_EVENTS outside of ngZone (#18993) 2017-09-05 15:33:22 -05:00
test-main.js refactor(core): remove withBody from public testing API (#25171) 2018-07-31 15:09:32 -07:00
tslint.json build: remove unused rollup.config.js files (#28646) 2019-02-14 19:28:08 +00:00
yarn.lock build: update bazel to 0.24 (#29530) 2019-03-27 13:45:29 -07:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

README.md

CircleCI BrowserStack Status Join the chat at https://gitter.im/angular/angular npm version

Angular

Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.

Quickstart

Get started in 5 minutes.

Changelog

Learn about the latest improvements.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.