docs: fix inaccurate statements and broken examples across adev - #71131
Merged
Merged
Conversation
JeanMeche
reviewed
Oct 1, 2026
| - **Scoped Loading:** place the `resource` in the component that directly uses the data. This helps limit change detection cycles (especially in zoneless applications) and prevents blocking other parts of your application. If data needs to be shared across multiple components, provide the `resource` from a service. | ||
| - **SSR and Hydration:** use Server-Side Rendering (SSR) with incremental hydration to render the initial page content quickly. You can show a placeholder for the AI-generated content and defer fetching the data until the component hydrates on the client. | ||
| - **Loading State:** use the `resource` `LOADING` [status](guide/signals/resource#resource-status) to show an indicator, like a spinner, while the request is in flight. This status covers both initial loads and reloads. | ||
| - **Loading State:** use the `resource` [`isLoading`](guide/signals/resource#resource-status) signal to show an indicator, like a spinner, while the request is in flight. This signal is `true` for both initial loads and reloads. |
Member
There was a problem hiding this comment.
This sentence was correct. status() reported 'LOADING'
Contributor
Author
There was a problem hiding this comment.
You're right, I've reverted that change in 85da381.
GabeSilvaDev
force-pushed
the
docs/adev-accuracy-fixes
branch
from
October 1, 2026 23:16
ff8d54e to
85da381
Compare
JeanMeche
reviewed
Oct 1, 2026
| This is the `root` `EnvironmentInjector`. | ||
|
|
||
| The `platformBrowserDynamic()` method creates an injector configured by a `PlatformModule`, which contains platform-specific dependencies. | ||
| The `bootstrapApplication()` method also creates (or reuses) the platform injector, which contains platform-specific dependencies. |
Member
There was a problem hiding this comment.
Suggested change
| The `bootstrapApplication()` method also creates (or reuses) the platform injector, which contains platform-specific dependencies. | |
| The `bootstrapApplication()` function also creates (or reuses) the platform injector, which contains platform-specific dependencies. |
JeanMeche
approved these changes
Oct 1, 2026
JeanMeche
left a comment
Member
There was a problem hiding this comment.
Thanks for all those small fixes & improvements !
Fix code examples that don't compile or fail at runtime, wrong API names, and statements of defaults or behavior that no longer match the source, across the forms, signals, http, routing, DI, components, testing, CLI, reference, ecosystem and tutorial pages.
kirjs
force-pushed
the
docs/adev-accuracy-fixes
branch
from
October 2, 2026 15:06
85da381 to
9230181
Compare
JeanMeche
approved these changes
Oct 2, 2026
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Issue Number: N/A
Several adev pages have examples that don't compile or fail at runtime, API names that don't exist, and statements about defaults or behavior that no longer match main. I checked each case against the source, public API goldens, or the CHANGELOG.
Forms, signals and HTTP
|afterselector,constructor(): void, an undeclaredenablein a custom validator,combineLatestimported fromrxjs/operatorsbut subscribed to,mapused in an interceptor that returns nothing, a missingBasicInputimport, and afetchresult returned asPromise<User>without calling.json().HttpValidatorOptions.optionsisHttpResourceOptions, soheadersandtimeoutbelong in the request object.FormGroupNameDirectiveandFormArrayNameDirectivedon't exist; the APIs areFormGroupNameandFormArrayName.FieldContext.fieldandDisabledReason.fieldwere renamed tofieldTree(729b964), and the fetch response property isresponseType, nottype.resource.value()throws in the'error'state (Gated Resource API changes #61441);earlyReadreceives the cleanup function;submit()doesn't wait for pending validators; an in-progress submission blocks the form and its descendants, not its parents; and with the fetch backend, timeouts areTimeoutErrorDOMExceptions while network errors are the error thrown byfetch.Routing, DI and components
runInInjectionContextis a standalone function, not anInjectormethod. The root-level singleton example importedInjectablebut used@Service(), and the "class constructor" example tried to read an injected field from a field initializer.NullInjectorErroris reported as NG0201.PlatformModuledoesn't exist, andplatformBrowserDynamicis deprecated.contentChildtraverses descendants by default; onlycontentChildrendoesn't.NO_ERRORS_SCHEMAalso exists.'user/:id/'), a missing quote inredirectTo, out-of-scopequeryParamsandid(), an invalid spread insideRoutes, an untypedisActiveconfiguration, and an invalidimportstatement.ActivatedRoute.urlemitsUrlSegment[];routerLinkActivedoesn't setaria-currentwithoutariaCurrentWhenActive; and unsetrouterOutletDatagivesundefined.Testing, templates and other guides
fakeAsyncworks with Vitest throughzone.js/plugins/vitest-patch(feat(zone.js): support vitest patching in zone.js/testing #68395, docs: add information about zone.js Vitest patch in the Vitest migration guide #68422).TestBedis zoneless by default since v21 (fix(core): Remove Zone-based change provider from internals by default #63382), soautoDetectChangesdefaults totrue; the zoneless guide's TestBed section was updated accordingly.TestBed.createDirective()exists (feat(core): add utility for testing directives #70453), whileTestBed.getwas removed (feat(core): remove TestBed.get #60414).StaticProvidersdoesn't exist,initTestEnvironmenthas no compiler factory argument, andoutput()returns anOutputEmitterRef.IdleServiceexample must return anumber.input({alias})uses the alias object as the initial value, and i18n IDs depend on the source text and meaning, not the description.CLI and reference
@angular/animations,@angular/platform-browser-dynamic, orzone.jswhen using the default zoneless setup, and use@angular/build.cnpmwas removed frompackageManager, generated files areapp.ts/App,deployUrlis supported by the application builder, andng generatehas no--collectionoption.strictTemplatesis enabled by default.strictTypeChecksdoesn't exist; the relevant option isstrictNullChecks. Signal inputs were also being read without calling them in the AOT and template type-checking examples.prettier-ignore; NG8107 referenced fields that don't exist; NG8104's fixed example wasn't valid; and NG02802 used the privatewithHttpTransferCache.cli-builderexample used options rejected by the application builder, and the optimization example showedstylePreprocessorOptionsin the wrong place.Ecosystem, best practices and tutorials
VersionFailedEventwas reverted (Revert "feat(service-worker): notify clients about version failures (… #65087), so the service worker docs now list four events and the example no longer handlesVERSION_FAILED. The navigation request mode isnavigate.@angular/core/rxjs-interop;rxResource'sstreamreturns an Observable; and OnPush compares inputs withObject.is.'resolved', not'success'. The a11y example was binding a signal without calling it, the essentials guide imported'profile-photo.ts', and the tutorial examples had fixes for a missing comma,getHousingLocationById,Array.filter, and thefetchURL.What is the new behavior?
The examples now compile against main, and the statements match the current source and defaults. The changes are kept minimal; table rows were only realigned where required by Prettier.
Does this PR introduce a breaking change?
Other information
Docs-only change in
adev/src/content. No lines changed by currently open PRs were touched.