Go to file
George Kalpakas 504500de50 fix(aio): activate ServiceWorker updates asap (#17699)
Previouly, whenever a new ServiceWorker update was detected the user was
prompted to update (with a notification). This turned out to be more distracting
than helpful. Also, one would get notifications on all open browser tabs/windows
and had to manually reload each one in order for the whole content (including
the app) to be updated.

This commit changes the update strategy as follows:
- Whenever a new update is detected, it is immediately activated (and all
  tabs/windows will be notified).
- Once an update is activated (regardless of whether the activation was
  initiated by the current tab/window or not), a flag will be set to do a
  "full page navigation" the next time the user navigates to a document.

Benefits:
- All tabs/windows are updated asap.
- The updates are applied authomatically, without the user's needing to do
  anything.
- The updates are applied in a way that:
  a. Ensures that the app and content versions are always compatible.
  b. Does not distract the user from their usual workflow.

NOTE:
The "full page navigation" may cause a flash (while the page is loading from
scratch), but this is expected to be minimal, since at that point almost all
necessary resources are cached by and served from the ServiceWorker.

Fixes #17539
2017-07-07 11:17:19 -07:00
.circleci ci: add npm postinstall back to the lint step so node_modules doesn't get out of date 2017-06-26 17:12:06 -07:00
.github ci: update github templates (#17466) 2017-06-13 14:49:13 -07:00
aio fix(aio): activate ServiceWorker updates asap (#17699) 2017-07-07 11:17:19 -07:00
docs docs(aio): update punctuation mark added in TOOLS guide 2017-06-29 09:33:12 -07:00
integration refactor(compiler): don’t always compile `.ngfactory.ts` files by default 2017-06-12 15:27:02 -07:00
modules fix(core): don’t stop change detection because of errors 2017-05-01 18:56:25 -04:00
packages refactor(common): replace `Object.assign` with the spread operator (#17982) 2017-07-07 08:55:29 -07:00
scripts build: disable sauce connect logging (#17947) 2017-07-06 11:00:00 -07:00
tools fix(tsc-wrapped): emit exports metadata in flat modules (#17893) 2017-07-07 08:46:42 -07:00
.bazelrc build: Introduce Bazel build rules 2017-06-05 11:18:20 -07:00
.bowerrc chore(dgeni): clean up legacy typings bundle creation 2015-10-29 21:19:59 +00:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig chore(.editorconfig): include markdown config 2015-01-27 00:14:48 -08:00
.gitattributes chore: force lf EOL for ts files (#11143) 2016-08-29 12:41:58 -07:00
.gitignore build: Introduce Bazel build rules 2017-06-05 11:18:20 -07:00
.nvmrc ci: bump node version to 6.9.5 and npm to 3.10.7 2017-02-02 23:28:00 -08:00
.pullapprove.yml ci: allow chuck to approve animations (#17940) 2017-07-06 11:49:44 -07:00
.travis.yml ci(aio): avoid printing too large PWA report (and restore `print-logs.sh`) 2017-07-01 14:40:36 +01:00
BUILD build(bazel): fix the typescript path in the BUILD file (#17316) 2017-06-09 18:32:36 -07:00
CHANGELOG.md docs(changelog): Correct typos (#16966) 2017-07-05 14:33:47 -07:00
CONTRIBUTING.md docs: add animations package to CONTRIBUTING.md (#15413) 2017-07-05 14:34:13 -07:00
LICENSE style(docs): update copyright years (#13736) 2017-01-27 20:47:14 -08:00
README.md docs: README - use correctly encoded link for npm badge (#17707) 2017-07-05 14:33:25 -07:00
WORKSPACE build: No longer need to bazel build twice 2017-06-23 11:54:51 -07:00
bower.json docs: branding fixes (#14132) 2017-01-27 15:03:11 -06:00
browser-providers.conf.js ci: disable Android 4.1, 4.2 and 4.3 in SauceLabs (#14461) 2017-03-16 09:13:07 -07:00
build.sh refactor(compiler): change `bundle` to `flatModuleIndex` in the code (#17028) 2017-05-26 09:13:28 -07:00
gulpfile.js build: fix public-api:update gulp task (#16859) 2017-05-22 11:07:21 -06:00
karma-js.conf.js feat(animations): introduce routeable animation support 2017-05-19 13:45:22 -07:00
npm-shrinkwrap.clean.json feat(core): update zone.js to 0.8.12 2017-06-16 12:13:14 -07:00
npm-shrinkwrap.json feat(core): update zone.js to 0.8.12 2017-06-16 12:13:14 -07:00
npm-shrinkwrap.readme.md chore(lint): replace gulp check-task with tslint no-jasmine-focus rule 2016-10-28 15:53:15 -07:00
package.json release: cut the 4.3.0-beta.1 release 2017-06-29 14:38:52 -07:00
protractor-e2e.conf.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
protractor-examples-e2e.conf.js refactor: format and lint code 2016-12-12 11:30:25 -08:00
protractor-perf.conf.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07: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-main.js fix: fix path locally to empty.js (#15073) 2017-03-15 13:40:24 -07:00
test.sh build: build modules and examples for karma 2017-03-08 17:35:20 -08:00
tslint.json build(tslint): enable no-inner-declarations (#13316) 2016-12-08 13:46:08 -08:00

README.md

Build Status CircleCI Join the chat at https://gitter.im/angular/angular Issue Stats Issue Stats npm version )

Sauce Test Status Safari (7+), iOS (7+), Edge (14) and IE mobile (11) are tested on BrowserStack.

Angular

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

Quickstart

Get started in 5 minutes.

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.