Commit Graph

792 Commits

Author SHA1 Message Date
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
Stefanie Fluin e1174f3774 fix(aio): home & marketing styles cleanup (#17926) 2017-07-07 11:16:51 -07:00
Jesús Rodríguez 70981c601e feat(aio): serve-and-sync command (#17850) 2017-07-06 11:51:58 -07:00
Ward Bell 1bb2476804 docs(aio): add instructions for example e2e tests to README (#17819) 2017-07-06 11:15:31 -07:00
George Kalpakas ec58246a1b docs(aio): add DevExtreme to the UI Components section of resources.json (#17939) 2017-07-06 11:15:15 -07:00
Peter Bacon Darwin 71ee0c5b03 ci(aio): raise polyfill payload limits 2017-07-06 14:46:53 +01:00
Igor Minar e9b67243ed build(aio): upgrade to angular@4.2.4 and zone.js 2017-07-05 15:26:27 -07:00
Shefali Sinha 92d7ecf627 docs: shefali edits to Authors Style Guide (#17853) 2017-07-05 14:33:06 -07:00
Yuan Gao 9263da570f ci(aio): Fix the payload script only check for changes in aio/scripts 2017-07-03 10:40:19 +01:00
Jesus Rodriguez dc88e0a881 docs(aio): update quickstart to latest cli 2017-07-03 08:25:19 +01:00
Georgios Kalpakas fa34ed8bf3 ci(aio): use valid database path for Firebase payload size upload
Firebase does not allow `.` in the path, so when trying to upload payload size
data for branches like `4.2.x`, the following error is thrown:

```
HTTP Error: 400, Invalid path: Invalid token in path
```

This commit fixes it by replacing `.` with `_` in branch names.
2017-07-03 08:19:59 +01:00
Artem Petrosian f54a901b8d docs(aio): fix visual-studio-2015 typo
This fixes #17283
2017-07-03 08:12:28 +01:00
Georgios Kalpakas d5dc53ead8 ci(aio): avoid printing too large PWA report (and restore `print-logs.sh`)
There have been some issues lately with Travis jobs failing due to
`print-log.sh`. This is likely due to trying to print the Lighthouse PWA report,
which is too large.
This commit stops printing that report (since it was rarely used and is pretty
easy to acquire when needed) and restores the `print-logs.sh` script (that was
temporarily removed with dfcca66fd).
2017-07-01 14:40:36 +01:00
Stephen Fluin 8e00161601 docs(aio): Add resources contributor info 2017-07-01 14:38:26 +01:00
Georgios Kalpakas 01d4eae984 ci(aio): use correct URL for preview in PWA score test
In 4268c8289, the preview URLs were changed to not use the whole SHA, but just
the 7 first characters.
2017-06-30 13:02:28 +01:00
Artem Petrosian 154154dde2 docs(aio): fix quickstart-cli bad HTML escape chars 2017-06-30 12:23:11 +01:00
Ward Bell 4459e0c1c8 fix(aio): restore visible sidenav keyboard focus; shift TOC up
closes #17665
Restores keyboard focus that was removed by commit b8b91d3.
Raises the right-TOC by 20px (96px->76px) because was too far down.

To prevent keyboard focus on hidden child nodes,
also collapses inner expanded nodes when parent node is collapsed.
The implicit parent node of top nodes is always expanded.
2017-06-30 11:58:10 +01:00
Georgios Kalpakas b052ef5f1e fix(aio): do not include hidden content in window title
The window title is derived based on the current document's `<h1>` heading. Such
headings may contain hidden/non-visible content (e.g. textual name of font
ligatures: `<i class="material-icons">link</i>`) that should not be included in
the title.

This commit fixes this by using `innerText` (instead of `textContent`) to
extract the visible text from the `<h1>` heading. It will still fall back to
`textContent` on browsers that do not support `innerText` (e.g. Firefox 44).

Fixes #17732
2017-06-30 11:54:01 +01:00
Brandon Roberts 8d01db4638 docs: Updated router guide content and examples for paramMap
and queryParamMap, tracing, and incidental improvements.
closes #16991 and #16259 which it also fixes.
2017-06-29 09:35:39 -07:00
Georgios Kalpakas 4268c82898 feat(aio): use shorter URLs for previews
Use the 7 first characters of the 40-chars long SHAs for shorter/cleaner URLs.
The collision probability is extremely low (since all SHAs are further
"namespaced" under the corresponding PR). In case of a collision, the second PR
will not be deployed, in order to avoid overwriting the original build.

(This is a design decision to keep the implementation simple. It can be changed
later if necessary.)
2017-06-29 09:35:22 -07:00
Georgios Kalpakas 3c4eef99be fix(aio): clean up non-public previews
The previous clean-up code for PR directories on the preview server assumed that
all directories were named after the PR number. With the changes introduced
in #17640 it is possible to have PR directories that do not follow that naming
convention (e.g. "non-public" directories).

This PR ensures that both public and non-public directories are removed when
cleaning up.
2017-06-29 09:35:22 -07:00
Ward Bell 96b17034e1 feat(aio): cross reference readme and docs styleguide 2017-06-29 09:35:04 -07:00
Georgios Kalpakas f1626574dd fix(aio): build `scripts-js` before creating a new docker image for the preview server
When creating a new docker image for the preview server, the TypeScript source
code in `scripts-js/` is not copied over. Instead only the generated JavaScript
core in `scripts-js/dist/` are. Because of that, it is necessary to have run
`yarn build` before running `docker build`, so that the new docker image
contains the latest changes in `scripts-js/`.

This was previously part of the `create-image.sh` script, but was accidentally
removed in 21d213dfc.
2017-06-27 10:11:06 -07:00
Jesus Rodriguez 8786ba95fb build(aio): boilerplate wont be removed by default now 2017-06-26 11:05:34 -07:00
David Herges 97bb374218 fix(aio): Typo in Setup Anatomy documentation page
Solves #17076
2017-06-26 11:04:46 -07:00
swseverance 233044e337 docs(aio): fix typo 2017-06-26 11:04:32 -07:00
Victor Berchet b754e600e3 feat(compiler): add support `::ng-deep`
- /deep/ is deprecated and being removed from Chrome
- >>> is semantically invalid in a stylesheet
- sass will no longer support either in any version of sass

-> use ::ng-deep in emulated shadow DOM mode

Because the deep combinator is deprecated in the CSS spec,
`/deep/`, `>>>` and `::ng-deep` are also deprecated in emulated shadow DOM mode
and will be removed in the future.

see https://www.chromestatus.com/features/6750456638341120
2017-06-23 14:43:42 -07:00
Anthony Van de Gejuchte 30f4fe26e0 docs(aio): cleanup rollup-config script 2017-06-23 11:55:55 -07:00
Yuan Gao d6265dfcbe ci(aio): Change the firebase token 2017-06-23 11:55:20 -07:00
Yuan Gao d51f86291f ci(aio): address comments 2017-06-23 11:55:20 -07:00
Yuan Gao 97ace57d39 ci(aio): fix test 2017-06-23 11:55:20 -07:00
Yuan Gao 86949e0c20 ci(aio): remove umd 2017-06-23 11:55:20 -07:00
Yuan Gao 6924780ae9 ci(aio): debug 2017-06-23 11:55:20 -07:00
Yuan Gao 1b0b69eeec ci(aio): add back deploy-preview 2017-06-23 11:55:20 -07:00
Yuan Gao fa85389f62 ci(aio): updated limits 2017-06-23 11:55:20 -07:00
Yuan Gao 2e55857c82 ci(aio): rename limits file and address comments 2017-06-23 11:55:20 -07:00
Yuan Gao ca970f5ee5 ci(aio): Also track umd.min.js file size 2017-06-23 11:55:20 -07:00
Yuan Gao 204a2cf942 ci(aio): Add payload size limit file 2017-06-23 11:55:20 -07:00
Yuan Gao 0440251919 ci(aio): upload aio payload size to firebase
ci(aio): Add timestamp and change data
2017-06-23 11:55:20 -07:00
Georgios Kalpakas 979bfd07e1 refactor(aio): provide fallback values for secrets (useful during dev) 2017-06-23 11:54:20 -07:00
Georgios Kalpakas b6ce814279 refactor(aio): enable `-u` flag on preview server scripts 2017-06-23 11:54:20 -07:00
Georgios Kalpakas 66088fef1a docs(aio): document preview server HTTP status codes 2017-06-23 11:54:20 -07:00
Georgios Kalpakas 808bd4af41 ci(aio): deploy previews for all PRs
PRs that could not be automatically verified will not be publicly accessible,
until manually verified.
2017-06-23 11:54:20 -07:00
Georgios Kalpakas f90b35a85e test(aio): add e2e tests for non-public previews 2017-06-23 11:54:20 -07:00
Georgios Kalpakas 8ae0eec230 feat(aio): enable previews for any PR
This commit introduces the ability to show previews for PRs by any author. It works as follows:

- The build artifacts of all PRs are uploaded to the preview server.
- Automatically verified PRs (i.e. from trusted authors or having a specific label) are deployed and
  publicly accessible as usual.
- PRs that could not be automatically verified are stored for later use (after re-verification).
- A PR can be marked as "trusted" and make its preview publicly accessible by adding the GitHub
  label specified in the `AIO_TRUSTED_PR_LABEL` env var of the preview server.

At the moment, there is no automatic mechanism for notifying the preview server about changes to the
PR's verification status. The PR's "visibility" will be checked and updated every time a new build
is uploaded.
2017-06-23 11:54:20 -07:00
Georgios Kalpakas 0fe685102f refactor(aio): simplify preview server build events 2017-06-23 11:54:20 -07:00
Georgios Kalpakas a98440bb85 test(aio): add missing unit test for preview server 2017-06-23 11:54:20 -07:00
Georgios Kalpakas 3112311134 test(aio): fix preview server tests on Windows 2017-06-23 11:54:20 -07:00
Georgios Kalpakas 1b13bdea4b build(aio): upgrade preview server dependencies 2017-06-23 11:54:20 -07:00
Ward Bell 3ce9d51a9c fix(aio): prefix `location.assign` with `window.`
No practical effect but clears the TS compiler warning.
2017-06-23 11:53:53 -07:00