Commit bec7e51
fix: (@vue/apollo-option) memory leak in wrapped ssrRender
Fixes #1550
Two leaks were fixed:
1) Prevents repeatedly wrapping `ssrRender` by checking if it's already
been wrapped. Added a `__IS_VUE_APOLLO_WRAPPED` boolean to track this.
I verified that this was actually happening by throwing an error if
it was already wrapped, and I observed the error.
2) `this.$options.ssrRender` doesn't always exist, but this.$apollo
does. When the new wrapped `ssrRender` was called, it would throw,
which prevented the `destroy.call(this)` line from running. The fix
here was to not create a wrapped `ssrRender` if there isn't an original
one.1 parent f236070 commit bec7e51
1 file changed
+3
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
115 | 115 | | |
116 | 116 | | |
117 | 117 | | |
| 118 | + | |
| 119 | + | |
118 | 120 | | |
119 | 121 | | |
120 | 122 | | |
121 | 123 | | |
122 | 124 | | |
| 125 | + | |
123 | 126 | | |
124 | 127 | | |
125 | 128 | | |
| |||
0 commit comments