29760 Commits

Author SHA1 Message Date
Andrew Scott 45badde88c release: cut the v17.3.9 release 17.3.9 2024-05-15 13:43:02 -07:00
Pawel Kozlowski d0d83960f3 refactor(docs-infra): mark more components as OnPush (#55775)
Use the OnPush change detection strategy in more components to
improve performance and enable zoneless in the future.

PR Close #55775
2024-05-15 08:50:22 -07:00
Angular Robot 5a93df9f18 build: update scorecard action dependencies (#55786)
See associated pull request for more information.

PR Close #55786
2024-05-15 08:48:27 -07:00
Angular Robot 71f8bca9a7 build: update io_bazel_rules_sass digest to fcce061 (#55755)
See associated pull request for more information.

PR Close #55755
2024-05-13 11:20:28 -07:00
Doug Parker 84f70cc1f1 release: bump Angular DevTools to version 1.0.16 (#55715)
PR Close #55715
2024-05-08 11:11:36 -07:00
Doug Parker 9d36a2d998 refactor(devtools): remove --config snapshot-build and leave a note for Firefox (#55717)
We removed display of the Git SHA in Angular DevTools in https://github.com/angular/angular/pull/55694, so there is no longer a need to stamp release builds in Chrome or Firefox.

I opted to leave a `--config snapshot-build-firefox` option as a no-op which a reader could follow to a comment explaining exactly _why_ we can't stamp Firefox releases. This should hopefully make it less likely that we forget and attempt to re-add this feature in the future only to encounter the same release problems.

PR Close #55717
2024-05-08 11:08:59 -07:00
Andrew Kushnir 99bf2cd524 release: cut the v17.3.8 release 17.3.8 2024-05-08 08:46:41 -07:00
Angular Robot 7725b70a0a build: update io_bazel_rules_sass digest to 9a4a4be (#55700)
See associated pull request for more information.

PR Close #55700
2024-05-07 13:36:34 -07:00
Andrew Kushnir a5c3857a7b Revert "build: update dependency typescript to v5.4.5 (#55042)" (#55716)
This reverts commit bd4dbdd2bd.

PR Close #55716
2024-05-07 13:35:03 -07:00
Paul Gschwendtner 5e0d2bc143 docs: properly link to developer preview section (#55711)
Fixes an invalid link to the developer preview section.
PR Close #55711
2024-05-07 08:06:46 -07:00
AleksanderBodurri b86a81136d refactor(devtools): remove git sha stamping from devtools build (#55694)
This stamping is interfering with publishing to the Firefox addons store by brining in the entirety of the `.git` directory as part of the source code necessary for a reproducible build, which Firefox requires as part of it's approval process.

In it's place, we are now using the extension version pulled from the manifest.

PR Close #55694
2024-05-06 16:02:41 -07:00
Andrew Scott 0fa674ba50 refactor(router): resolve view transition promise in a timeout when unsupported (#55327)
Related to #51131, this change ensures that the router navigation exits
the current event loop before rendering the route when the view transition
feature is enabled, when the browser does not support view transitions.

PR Close #55327
2024-05-06 16:00:56 -07:00
Angular Robot bd4dbdd2bd build: update dependency typescript to v5.4.5 (#55042)
See associated pull request for more information.

PR Close #55042
2024-05-03 08:06:38 -07:00
Doug Parker 436111f661 refactor(devtools): set key in manifest.chrome.json (#55639)
This key comes from the release build of the Chrome extension. Setting it here configures the extension ID of a local build to match the extension ID of the public release. This makes Chrome recognize that local builds are the same extension leading to more intuitive behavior. It's also useful for allowlists of extension IDs to keep the local ID consistent.

PR Close #55639
2024-05-02 14:46:28 -07:00
Kristiyan Kostadinov c21b459ba6 fix(compiler): add math elements to schema (#55631) (#55645)
Fixes that we didn't have the MathML elements in the schema. Note that we can't discover which tag names are available by looking at globally-available classes, because all MathML elements are `MathMLElement` rather than something like `SVGCircleElement`. As such, I ended up having to hardcode the currently-available tags.

Fixes #55608.

PR Close #55631

PR Close #55645
2024-05-02 13:38:46 -07:00
Doug Parker ec5807cbdc release: bump Angular DevTools to 1.0.15 (#55643)
PR Close #55643
2024-05-02 13:37:39 -07:00
Angular Robot f978e9caf1 build: update io_bazel_rules_sass digest to 9f8be59 (#55602)
See associated pull request for more information.

PR Close #55602
2024-05-02 11:06:50 -07:00
Andrew Scott 760e284428 Revert "fix(core): render hooks should not specifically run outside the Angular zone (#55399)" (#55624)
This reverts commit 7e89753eef.

Running render hooks inside the zone is specifically problematic for
`afterRender` hooks. If the callback has async task, it would cause an
infinite change detection. In addition, updating state in render hooks
is generally discourages and certainly should update state in a way that
notifies Angular of the change (either via signal or with `markForCheck`) rather
than relying on ZoneJS to pick it up (which would only work if the
change is done inside an async task).

PR Close #55624
2024-05-02 11:00:34 -07:00
Kristiyan Kostadinov 3818436ebc fix(core): don't schedule timer triggers on the server (#55605)
Fixes that even though we weren't rendering the deferred block the server, we were still triggering the timeout which can delay the response.

Fixes #55475.

PR Close #55605
2024-05-01 15:10:29 -07:00
Emma Twersky c9f27b434a docs: update press kit to reduce confusion (#55611)
PR Close #55611
2024-05-01 15:09:36 -07:00
Angular Robot 0e6fbfb758 build: update actions/checkout digest to 0ad4b8f (#55537)
See associated pull request for more information.

PR Close #55537
2024-05-01 15:07:21 -07:00
Andrew Kushnir 4c50e1e7cb release: cut the v17.3.7 release 17.3.7 2024-05-01 11:39:28 -07:00
Doug Parker 82bbcde843 release: bump DevTools to 1.0.14 (#55545)
PR Close #55545
2024-04-30 17:01:57 -07:00
Andrew Scott 266ad40e62 docs: Reference page anchor scroll consistency (#55566)
The docs-viewer loads asynchronously and can happen after the scroll
event has happened and the Router has attempted to scroll to the
requested position/anchor. This commit saves the scroll event and
handles it again if the cards are loaded after scrolling happens.

PR Close #55566
2024-04-30 14:03:06 -07:00
Paul Gschwendtner 4261fd367e build: improve incremental rebuilds of compliance tests (#55594)
Currently whenever a compliance test case TS file is modified, all
compliance tests in repository are rebuilt in partial compilation mode.
This is inefficient and also slows down local development where one may
use a wildcard to run all test targets inside `/test/compliance/...`.

This commit fixes this.

PR Close #55594
2024-04-30 09:22:42 -07:00
Angular Robot 6250269f1f build: update scorecard action dependencies (#55589)
See associated pull request for more information.

PR Close #55589
2024-04-30 09:20:10 -07:00
Andrew Scott 3eea50da64 fix(router): Scroller should scroll as soon as change detection completes (#55105)
Using `setTimeout` to delay scrolling can result in scrolling in the
next frame and cause noticeable flicker. This commit scrolls as soon as
the next render happens (or in `setTimeout` if a render does not happen
before then).

fixes #53985

PR Close #55105
2024-04-30 09:19:09 -07:00
Matthieu Riegler e5d58d250d docs: add mention of the HTTP client for interceptors (#55551)
fixes #53911

PR Close #55551
2024-04-29 13:41:08 -07:00
Matthieu Riegler ac4e8f7bca docs: remove non existing link (#55562)
This link only exist on adev.

PR Close #55562
2024-04-26 12:36:48 -07:00
Kristiyan Kostadinov 51ac883167 fix(compiler-cli): don't type check the bodies of control flow nodes in basic mode (#55558)
Angular only checks the contents of template nodes in full type checking mode. After v17, the new control flow always had its body checked, even in basic mode, which started revealing compilation errors for apps that were using the schematic to automatically switch to the new syntax.

These changes mimic the old behavior by not checking the bodies of `if`, `switch` and `for` blocks in basic mode. Note that the expressions of the blocks are still going to be checked.

Fixes #52969.

PR Close #55558
2024-04-26 09:33:39 -07:00
Matthieu Riegler 9bb3446e35 docs: update ChangeDetectionStrategy links (#55553)
fixes #54227
fixes #50943

PR Close #55553
2024-04-26 09:31:45 -07:00
Matthieu Riegler 04d77d5a1c docs: remove mention of style sanitization. (#55553)
fixes #49566

PR Close #55553
2024-04-26 09:31:44 -07:00
Matthieu Riegler 1ca24cb936 docs: remove image (#55553)
The image was replaced by the following mermaid chart.

PR Close #55553
2024-04-26 09:31:44 -07:00
Matthieu Riegler 967bbc1e3e docs: update app-shell to reflect actual content (#55550)
fixes #55507

PR Close #55550
2024-04-26 09:29:35 -07:00
Matthieu Riegler 507d83d5ed refactor(devtools): hide hydration error when the component tree is collapsed (#54912)
This commit improves the devtools UX.

PR Close #54912
2024-04-25 14:57:21 -07:00
Matthieu Riegler 4a33efaa3e refactor(devtools): prevent dblclick on the expand arrow to show the element panel (#54912)
This will improve the UX

PR Close #54912
2024-04-25 14:57:21 -07:00
Matthieu Riegler 5530c5e505 refactor(devtools): improve signal support. (#54912)
In some cases signals weren't unwraped thus not reading the value correctly. This commit fixes this issue.

PR Close #54912
2024-04-25 14:57:20 -07:00
Matthieu Riegler ce094b227c refactor(devtools): fix issue with virtual scroll viewport in the directive forest (#54912)
In some cases the height of the viewport wasn't calculated correctly because of extension tabs quirks. This commit fixes this issue.

Fixes #53704

PR Close #54912
2024-04-25 14:57:20 -07:00
Kirk Larkin 9258160598 docs: Update di-in-action.md (#55489)
PR Close #55489
2024-04-25 12:55:15 -07:00
Alan Agius 3ee861835a refactor(core): set up framework injector profile exclusively in browser environment (#55530)
This commit modifies the setup of the injector profiler to occur solely when the application is running in a browser context. This adjustment is made because the injector profile serves no purpose when the application is running on the server.

PR Close #55530
2024-04-25 12:53:23 -07:00
Kirk Larkin 9cd633e1b8 docs: Update what-is-angular.md (#55536)
PR Close #55536
2024-04-25 12:52:33 -07:00
Matthieu Riegler 75db462d8b refactor(common): increment test coverage (#55532)
Ahead of #55283 and with what we learned from it,  let's improve our test coverage on the i18n subsystem.

PR Close #55532
2024-04-25 12:50:44 -07:00
Matthieu Riegler c3d077cca1 docs: fix the file naming for the NG05000 error (#55519)
PR Close #55519
2024-04-25 12:49:54 -07:00
Andrew Scott af0eb846a5 fix(core): render hooks should not specifically run outside the Angular zone (#55399)
The timing of render hook execution is almost entirely identical to
`ngZone.onMicrotaskEmpty`. Developers working towards zoneless
compatibility will need to migrate `onMicrotaskEmpty` calls to use
`afterNextRender`/`afterRender` instead. This, however, would lead to
confusing issues if there are promises in the callbacks because
`onMicrotaskEmpty` emits inside the Angular zone while render hooks
execute outside today. This is problematic because it's not documented
and does not produce any notification or error message when async work
is done inside the hooks that requires change detection. Instead, change detection
simply does not run, and this behavior has proven to be surprising to
developers who are used to ZoneJS change detection behavior.

fixes #55299

PR Close #55399
2024-04-25 09:06:37 -07:00
Andrew Kushnir 544aedee6f release: cut the v17.3.6 release 17.3.6 2024-04-25 08:25:55 -07:00
Alan Agius add11c6854 build: make scripts for compatibility with Node.js 18.20+ (#55526)
This commit enhances the ng-dev and other local scripts to ensure compatibility with Node.js 18.20+. This adjustment is essential for releasing this branch, as it would otherwise lack compatibility with that version.

PR Close #55526
2024-04-25 08:11:41 -07:00
Angular Robot 5083d893a9 build: update scorecard action dependencies (#55473)
See associated pull request for more information.

PR Close #55473
2024-04-23 15:17:43 -07:00
Andrew Scott 826861b1fa fix(core): DeferBlockFixture.render should not wait for stability (#55271)
The `DeferBlockFixture.render` function should not await the
`whenStable` promise of the fixture. This does not allow developers to
test any intermediate states that might occur between rendering the
initial content and the full app stability.

fixes #55235

PR Close #55271
2024-04-23 15:12:43 -07:00
Kirk Larkin 9cb003ac3d docs: Update dependency-injection.md (#55432)
PR Close #55432
2024-04-23 13:29:15 -07:00
Kirk Larkin efb9eb4fa9 docs: Update dependency-injection-context.md (#55455)
PR Close #55455
2024-04-23 13:27:17 -07:00