Commit graph

1496 commits

Author SHA1 Message Date
vercel-release-bot
49f646da14 v13.5.4-canary.5 2023-09-28 13:48:17 +00:00
vercel-release-bot
f5ac079e54 v13.5.4-canary.4 2023-09-27 23:17:38 +00:00
vercel-release-bot
2ff2c0b4b2 v13.5.4-canary.3 2023-09-27 21:43:46 +00:00
vercel-release-bot
778a3c55cf v13.5.4-canary.2 2023-09-27 17:29:49 +00:00
vercel-release-bot
e3a2805151 v13.5.4-canary.1 2023-09-26 13:31:19 +00:00
vercel-release-bot
df3980da88 v13.5.4-canary.0 2023-09-25 21:03:03 +00:00
vercel-release-bot
76e06d55a8 v13.5.3 2023-09-25 14:24:47 +00:00
vercel-release-bot
b98ebb2806 v13.5.3-canary.4 2023-09-25 13:16:18 +00:00
vercel-release-bot
ec671bb5f5 v13.5.3-canary.3 2023-09-23 02:02:57 +00:00
vercel-release-bot
c923257c1b v13.5.3-canary.2 2023-09-22 19:42:08 +00:00
vercel-release-bot
0d6f3ac36b v13.5.3-canary.1 2023-09-21 23:58:45 +00:00
Naru
ade8d7cdc4
fix(react-refresh-utils): avoid memory leaks caused by prevExports (#53797)
This fixes memory leaks caused by `prevExports` in react-refresh-utils.
It happens in code like the following:
```tsx
const DATA = Array.from({ length: 100000 }, (_, i) => Math.random());

export const App = () => {
  return (
    <div>
      <div>REWRITE_HERE</div>
      <div>{DATA.length}</div>
    </div>
  );
};
```

After we edit this file to trigger fast refresh, previous `DATA` will be
still retained in the memory since it forms `App(new) -> prevExports ->
App(old) -> DATA` reference chain (there is some screenshots
[here](https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/766)).
I believe there is no reason to retain the whole exports as
`prevExports`. We can just retain "signature" (`string[]`). By only
holding this, we no longer create reference to the old exports, which
fixes the memory leak here. Note that I filed a similar PR in
https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/766 and also
https://github.com/naruaway-sandbox/fast-refresh-hmr-memory-leak-demo is
a reproducible example of this issue, which also explains that
interestingly this issue is not easily solved for Vite.


## Should we fix it?
I think yes, as long as there is no unintended side effect, it's better
to fix it since we cannot predict whether users would load large payload
AND does Fast Refresh many times without reloading the browser or not.
In [this extreme
case](https://github.com/naruaway-sandbox/fast-refresh-hmr-memory-leak-demo),
it eats several hundred mega bytes of RAM.

## Verification
I confirmed that the memory leak is gone with this change by running
https://github.com/naruaway-sandbox/fast-refresh-hmr-memory-leak-demo
with the change.

I am not sure whether new tests are needed but my concern is to
accidentally break Fast Refresh behavior somehow. I believe we have
enough existing test cases 🙏 and I also tested manually.
2023-09-21 13:33:00 +02:00
vercel-release-bot
e9148eda2a v13.5.3-canary.0 2023-09-21 09:07:13 +00:00
vercel-release-bot
aea80aa53f v13.5.2 2023-09-20 16:19:18 +00:00
vercel-release-bot
0afffdd024 v13.5.2-canary.2 2023-09-20 15:29:17 +00:00
vercel-release-bot
72434c2737 v13.5.2-canary.1 2023-09-20 12:53:30 +00:00
vercel-release-bot
ac1c062f4f v13.5.2-canary.0 2023-09-20 10:49:22 +00:00
vercel-release-bot
0c1c7f847e v13.5.1 2023-09-19 17:20:54 +00:00
vercel-release-bot
974428583e v13.5.1-canary.1 2023-09-19 16:31:03 +00:00
vercel-release-bot
c652dc8811 v13.5.1-canary.0 2023-09-19 16:10:26 +00:00
vercel-release-bot
ffafad2c35 v13.5.0 2023-09-19 15:36:42 +00:00
vercel-release-bot
4a589ed83d v13.4.20-canary.41 2023-09-19 13:56:12 +00:00
vercel-release-bot
d01ab6165e v13.4.20-canary.40 2023-09-18 23:29:58 +00:00
vercel-release-bot
41c89f0cd8 v13.4.20-canary.39 2023-09-18 20:12:27 +00:00
vercel-release-bot
4f98dc6f26 v13.4.20-canary.38 2023-09-18 19:09:41 +00:00
vercel-release-bot
36e12a7415 v13.4.20-canary.37 2023-09-18 14:05:39 +00:00
vercel-release-bot
b2facf5811 v13.4.20-canary.36 2023-09-18 12:03:44 +00:00
vercel-release-bot
096d910423 v13.4.20-canary.35 2023-09-18 09:27:39 +00:00
vercel-release-bot
8fd2ad27b9 v13.4.20-canary.34 2023-09-18 06:25:35 +00:00
vercel-release-bot
981e8fa945 v13.4.20-canary.33 2023-09-16 10:38:10 +00:00
vercel-release-bot
e262627bd9 v13.4.20-canary.32 2023-09-15 19:55:16 +00:00
vercel-release-bot
15292da332 v13.4.20-canary.31 2023-09-15 06:05:22 +00:00
vercel-release-bot
18d703e0b7 v13.4.20-canary.30 2023-09-14 21:50:52 +00:00
vercel-release-bot
be38d02349 v13.4.20-canary.29 2023-09-14 20:56:41 +00:00
vercel-release-bot
800fdc11ae v13.4.20-canary.28 2023-09-13 22:47:32 +00:00
vercel-release-bot
32e066ff6c v13.4.20-canary.27 2023-09-13 17:38:35 +00:00
vercel-release-bot
366885f387 v13.4.20-canary.26 2023-09-12 13:20:27 +00:00
vercel-release-bot
8e1626851e v13.4.20-canary.25 2023-09-12 10:34:24 +00:00
vercel-release-bot
476fe4a1f6 v13.4.20-canary.24 2023-09-11 20:24:23 +00:00
vercel-release-bot
c6ce87f021 v13.4.20-canary.23 2023-09-08 21:41:11 +00:00
vercel-release-bot
d61c6ba4aa v13.4.20-canary.22 2023-09-08 21:10:48 +00:00
vercel-release-bot
904d8eed39 v13.4.20-canary.21 2023-09-07 23:18:04 +00:00
vercel-release-bot
3062462156 v13.4.20-canary.20 2023-09-07 16:06:41 +00:00
vercel-release-bot
9bb9f07e82 v13.4.20-canary.19 2023-09-07 06:36:23 +00:00
vercel-release-bot
cdfb9de498 v13.4.20-canary.18 2023-09-05 22:49:40 +00:00
vercel-release-bot
1b844600ce v13.4.20-canary.17 2023-09-05 18:20:51 +00:00
vercel-release-bot
7a1924ed6d v13.4.20-canary.16 2023-09-04 11:58:51 +00:00
vercel-release-bot
d172e7b72c v13.4.20-canary.15 2023-08-31 22:23:23 +00:00
vercel-release-bot
e1cc97f3e4 v13.4.20-canary.14 2023-08-31 17:24:11 +00:00
vercel-release-bot
fe191f8e54 v13.4.20-canary.13 2023-08-31 01:53:14 +00:00
Max Leiter
387a8ff01a
Server actions: support relative URLs in redirect() (#54736)
slack ref: https://vercel.slack.com/archives/C03S8ED1DKM/p1693331432057499
2023-08-29 21:08:56 +00:00
vercel-release-bot
928c4c097c v13.4.20-canary.12 2023-08-29 10:42:17 +00:00
vercel-release-bot
5b62f15586 v13.4.20-canary.11 2023-08-28 14:27:50 +00:00
vercel-release-bot
1491d4c2ed v13.4.20-canary.10 2023-08-28 13:30:48 +00:00
vercel-release-bot
529a1be6c1 v13.4.20-canary.9 2023-08-25 21:26:50 +00:00
vercel-release-bot
dbfcfd75b7 v13.4.20-canary.8 2023-08-25 14:28:07 +00:00
vercel-release-bot
d8b1ad41a7 v13.4.20-canary.7 2023-08-25 13:43:11 +00:00
vercel-release-bot
96f571218b v13.4.20-canary.6 2023-08-24 22:34:30 +00:00
vercel-release-bot
9bcd570bc1 v13.4.20-canary.5 2023-08-24 16:38:19 +00:00
vercel-release-bot
80e6f07f01 v13.4.20-canary.4 2023-08-23 23:32:02 +00:00
vercel-release-bot
93e4e6d438 v13.4.20-canary.3 2023-08-23 13:13:36 +00:00
vercel-release-bot
8bbf674a4d v13.4.20-canary.2 2023-08-22 12:43:03 +00:00
vercel-release-bot
1a56fb9483 v13.4.20-canary.1 2023-08-21 22:41:53 +00:00
vercel-release-bot
f1c286fff2 v13.4.20-canary.0 2023-08-20 12:56:16 +00:00
vercel-release-bot
d96e0258de v13.4.19 2023-08-19 00:23:31 +00:00
vercel-release-bot
1cf4aa6e51 v13.4.19-canary.0 2023-08-18 23:39:41 +00:00
vercel-release-bot
87b66f64e5 v13.4.18 2023-08-18 00:16:08 +00:00
vercel-release-bot
89ed4dd105 v13.4.18-canary.0 2023-08-17 22:11:33 +00:00
vercel-release-bot
236075362a v13.4.17 2023-08-17 09:32:20 +00:00
vercel-release-bot
645ba004d6 v13.4.17-canary.2 2023-08-17 08:55:11 +00:00
vercel-release-bot
fc3bf373c5 v13.4.17-canary.1 2023-08-17 07:33:02 +00:00
vercel-release-bot
93259caac4 v13.4.17-canary.0 2023-08-16 21:11:24 +00:00
vercel-release-bot
2fac86480c v13.4.16 2023-08-15 01:03:24 +00:00
vercel-release-bot
33d9bf2a8f v13.4.16-canary.1 2023-08-15 00:42:45 +00:00
vercel-release-bot
4d0aaafdef v13.4.16-canary.0 2023-08-14 22:26:27 +00:00
vercel-release-bot
6306ec1c1d v13.4.15 2023-08-14 16:40:09 +00:00
vercel-release-bot
242cdca8e0 v13.4.15-canary.0 2023-08-14 16:01:53 +00:00
vercel-release-bot
4ee4458d46 v13.4.14 2023-08-14 10:46:46 +00:00
vercel-release-bot
e53f3af934 v13.4.14-canary.5 2023-08-14 07:58:37 +00:00
vercel-release-bot
df6ec96ab2 v13.4.14-canary.4 2023-08-14 04:47:55 +00:00
vercel-release-bot
261db496f7 v13.4.14-canary.3 2023-08-12 21:41:13 +00:00
vercel-release-bot
9229f74b86 v13.4.14-canary.2 2023-08-11 12:02:35 +00:00
vercel-release-bot
d7405b0c28 v13.4.14-canary.1 2023-08-08 14:11:47 +00:00
vercel-release-bot
5ea372d642 v13.4.14-canary.0 2023-08-07 12:49:08 +00:00
vercel-release-bot
498692b698 v13.4.13 2023-08-07 06:57:47 +00:00
vercel-release-bot
1e02a92a94 v13.4.13-canary.18 2023-08-07 01:06:01 +00:00
vercel-release-bot
bc8deab6ef v13.4.13-canary.17 2023-08-06 20:38:12 +00:00
vercel-release-bot
f47081f15b v13.4.13-canary.16 2023-08-05 00:20:47 +00:00
vercel-release-bot
324814f2ae v13.4.13-canary.15 2023-08-04 19:13:19 +00:00
vercel-release-bot
f04dc5ad51 v13.4.13-canary.14 2023-08-04 09:02:27 +00:00
vercel-release-bot
be457445b8 v13.4.13-canary.13 2023-08-03 15:51:26 +00:00
vercel-release-bot
480e3a3939 v13.4.13-canary.12 2023-08-02 17:19:31 +00:00
vercel-release-bot
b1bf7aeefa v13.4.13-canary.11 2023-08-02 11:15:46 +00:00
vercel-release-bot
e757cac3f4 v13.4.13-canary.10 2023-08-02 09:49:13 +00:00
vercel-release-bot
3a3030882c v13.4.13-canary.9 2023-08-01 16:30:58 +00:00
vercel-release-bot
caf5ee80be v13.4.13-canary.8 2023-07-31 20:06:20 +00:00
vercel-release-bot
82e3d5126a v13.4.13-canary.7 2023-07-31 17:31:05 +00:00
vercel-release-bot
e575179b3e v13.4.13-canary.6 2023-07-28 12:32:12 +00:00
vercel-release-bot
0814c82d0b v13.4.13-canary.5 2023-07-28 00:50:18 +00:00
vercel-release-bot
127c5bbf80 v13.4.13-canary.4 2023-07-27 00:17:07 +00:00