Skip to content

Conversation

@arturovt
Copy link
Member

Prior to this change, the internal _states array in StateFactory could retain references after the request completes in SSR environments. While this does not affect client-side SPAs, it can prevent the garbage collector from freeing memory efficiently under high-concurrency SSR load.

This commit clears _states when the StateFactory is destroyed, helping reduce memory usage and prevent leaks in server-side rendering scenarios.

Prior to this change, the internal _states array in StateFactory could retain
references after the request completes in SSR environments. While this does not
affect client-side SPAs, it can prevent the garbage collector from freeing memory
efficiently under high-concurrency SSR load.

This commit clears _states when the StateFactory is destroyed, helping reduce
memory usage and prevent leaks in server-side rendering scenarios.
@nx-cloud
Copy link

nx-cloud bot commented Aug 25, 2025

View your CI Pipeline Execution ↗ for commit 36f0f31

Command Status Duration Result
nx run-many --target=test --all --configuration... ✅ Succeeded 2m 13s View ↗
nx run-many --target=lint --all --exclude=creat... ✅ Succeeded 1s View ↗
nx lint-types store ✅ Succeeded <1s View ↗
nx run-many --target=build --all ✅ Succeeded 1m 25s View ↗

☁️ Nx Cloud last updated this comment at 2025-08-25 22:19:14 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Aug 25, 2025

Open in StackBlitz

@ngxs/devtools-plugin

npm i https://pkg.pr.new/@ngxs/devtools-plugin@2365

@ngxs/form-plugin

npm i https://pkg.pr.new/@ngxs/form-plugin@2365

@ngxs/hmr-plugin

npm i https://pkg.pr.new/@ngxs/hmr-plugin@2365

@ngxs/router-plugin

npm i https://pkg.pr.new/@ngxs/router-plugin@2365

@ngxs/storage-plugin

npm i https://pkg.pr.new/@ngxs/storage-plugin@2365

@ngxs/store

npm i https://pkg.pr.new/@ngxs/store@2365

@ngxs/websocket-plugin

npm i https://pkg.pr.new/@ngxs/websocket-plugin@2365

commit: 36f0f31

@bundlemon
Copy link

bundlemon bot commented Aug 25, 2025

BundleMon

Files updated (1)
Status Path Size Limits
fesm2022/ngxs-store.mjs
103.44KB (+201B +0.19%) 105KB / +0.5%
Unchanged files (5)
Status Path Size Limits
fesm2022/ngxs-store-internals.mjs
13.62KB 15KB / +0.5%
fesm2022/ngxs-store-internals-testing.mjs
10.32KB 13KB / +0.5%
fesm2022/ngxs-store-operators.mjs
6.05KB 7KB / +0.5%
fesm2022/ngxs-store-plugins.mjs
2.37KB 3KB / +0.5%
fesm2022/ngxs-store-experimental.mjs
574B 2KB / +0.5%

Total files change +201B +0.14%

Groups updated (1)
Status Path Size Limits
@ngxs/store(fesm2022)[gzip]
./fesm2022/*.mjs
33.43KB (+68B +0.2%) +1%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link

bundlemon bot commented Aug 25, 2025

BundleMon (NGXS Plugins)

Unchanged files (9)
Status Path Size Limits
Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin.m
js
3.95KB +0.5%
Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin.mjs
2.93KB +0.5%
Plugins(fesm2022)[gzip]
hmr-plugin/fesm2022/ngxs-hmr-plugin.mjs
2.72KB +0.5%
Plugins(fesm2022)[gzip]
websocket-plugin/fesm2022/ngxs-websocket-plug
in.mjs
2.58KB +0.5%
Plugins(fesm2022)[gzip]
form-plugin/fesm2022/ngxs-form-plugin.mjs
2.47KB +0.5%
Plugins(fesm2022)[gzip]
devtools-plugin/fesm2022/ngxs-devtools-plugin
.mjs
2.23KB +0.5%
Plugins(fesm2022)[gzip]
logger-plugin/fesm2022/ngxs-logger-plugin.mjs
2.03KB +0.5%
Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin-i
nternals.mjs
947B +0.5%
Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin-int
ernals.mjs
453B +0.5%

No change in files bundle size

Unchanged groups (1)
Status Path Size Limits
All Plugins(fesm2022)[gzip]
./-plugin/fesm2022/.mjs
20.28KB +0.5%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link

bundlemon bot commented Aug 25, 2025

BundleMon (Integration Projects)

Unchanged files (1)
Status Path Size Limits
Main bundles(Gzip)
hello-world-ng20/dist-integration/browser/mai
n-(hash).js
67.14KB +1%

Total files change +7B +0.01%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@arturovt arturovt marked this pull request as ready for review August 25, 2025 22:26
@arturovt arturovt merged commit f7c1b9e into master Aug 25, 2025
13 checks passed
@arturovt arturovt deleted the fix/clear-states branch August 25, 2025 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants