Hydration silently turns on Angular's HTTP transfer cache, on top of the app's own
provideClientHydration() includes withHttpTransferCache({}) unless withNoHttpTransferCache() or withHttpTransferCacheOptions() is passed (@angular/platform-browser, provideClientHydration body). Neither PR passes either. From now on every GET or HEAD request made during server rendering, without an Authorization header, is serialized into the ng-state script and replayed on the client's first matching request.
The codebase already does this by hand: src/app/modules/shared/services/cache.service.ts writes API responses into TransferState on the server and reads them back in the browser. With both layers active, public SSR pages such as the homepage, creator profiles, and post detail will carry every API response twice in the HTML payload, and two caches with different keys and lifetimes will answer the same requests.
- Either add
withNoHttpTransferCache()and keepCacheService, or keep the built-in cache and remove the customTransferStatewrites in a follow-up. The PR should state which. - Check the size of
<script id="ng-state">on/and on a creator profile before and after.